From 7564b6fd75f3f3344620241e9dd5107103f1198d Mon Sep 17 00:00:00 2001 From: sleidig Date: Thu, 8 Aug 2024 07:48:55 +0000 Subject: [PATCH] deploy: 84ccc22026620988a8c7e10ad5ab78a97f11055d --- .nojekyll | 0 .../additional-documentation/concepts.html | 180 + .../concepts/configuration.html | 597 ++ .../concepts/documentation-structure.html | 212 + .../concepts/entity-system.html | 185 + ...ng,-anonymizing-and-deleting-entities.html | 214 + .../concepts/entity-system/entity-schema.html | 218 + .../extendability-and-plugin-approach.html | 229 + .../concepts/infrastructure.html | 212 + .../concepts/overall-architecture.html | 186 + .../concepts/security.html | 202 + .../session-and-authentication-system.html | 319 + .../concepts/user-roles-and-permissions.html | 357 + .../concepts/ux-guidelines.html | 187 + .../how-to-guides.html | 180 + .../build-localizable-(translatable)-ui.html | 355 + .../add-another-language.html | 252 + .../work-with-xlf.html | 259 + .../configure-and-customize-a-system.html | 184 + .../create-a-custom-view-component.html | 224 + .../how-to-guides/create-a-new-datatype.html | 228 + .../create-a-new-entity-type.html | 248 + .../how-to-guides/create-a-report.html | 279 + .../create-an-entity-details-panel.html | 202 + .../how-to-guides/development-processes.html | 208 + .../development-processes/document-code.html | 199 + .../review-a-pull-request.html | 268 + .../write-automated-unit-tests.html | 194 + .../write-e2e-tests.html | 299 + .../display-dialogs-and-notifications.html | 210 + .../display-related-entities.html | 243 + .../how-to-guides/format-data-export.html | 281 + .../how-to-guides/generate-demo-data.html | 244 + .../how-to-guides/load-and-save-data.html | 225 + .../how-to-guides/log-errors.html | 194 + .../navigate-the-code-structure.html | 189 + .../use-queries-and-indices.html | 226 + .../additional-documentation/overview.html | 194 + .../prerequisites.html | 182 + .../additional-documentation/tutorial.html | 190 + .../tutorial/diving-into-the-code.html | 201 + .../tutorial/overview-of-technologies.html | 228 + .../tutorial/setting-up-the-project.html | 189 + .../using-aam-digital-(as-a-user).html | 198 + .../classes/AbstractViewComponent.html | 415 + documentation/classes/ActivityAttendance.html | 2889 ++++++ documentation/classes/Aser.html | 711 ++ documentation/classes/BooleanFilter.html | 898 ++ .../classes/CascadingActionResult.html | 586 ++ .../classes/CascadingEntityAction.html | 539 ++ documentation/classes/Changelog.html | 496 + documentation/classes/Child.html | 1310 +++ .../classes/ChildSchoolRelation.html | 614 ++ documentation/classes/ComponentRegistry.html | 583 ++ documentation/classes/Config.html | 541 ++ documentation/classes/ConfigurableEnum.html | 529 ++ .../classes/ConfigurableEnumFilter.html | 893 ++ documentation/classes/CustomFaker.html | 601 ++ documentation/classes/DashboardWidget.html | 356 + documentation/classes/Database.html | 1255 +++ documentation/classes/DatabaseException.html | 768 ++ documentation/classes/DateFilter.html | 795 ++ documentation/classes/DateWithAge.html | 360 + documentation/classes/DefaultDatatype.html | 1194 +++ documentation/classes/DemoChildConfig.html | 366 + documentation/classes/DemoDataGenerator.html | 491 + .../classes/DemoDataServiceConfig.html | 384 + .../classes/DemoEducationMaterialConfig.html | 391 + documentation/classes/DemoEventsConfig.html | 388 + .../classes/DemoHistoricalDataConfig.html | 379 + documentation/classes/DemoNoteConfig.html | 508 ++ documentation/classes/DemoSchoolConfig.html | 350 + documentation/classes/DemoTodoConfig.html | 419 + documentation/classes/DiscreteDatatype.html | 1064 +++ .../classes/DuplicateEnumOptionException.html | 357 + .../classes/EducationalMaterial.html | 654 ++ documentation/classes/Entity.html | 2291 +++++ documentation/classes/EntityFilter.html | 891 ++ documentation/classes/EntityRegistry.html | 690 ++ documentation/classes/EventAttendance.html | 605 ++ documentation/classes/EventAttendanceMap.html | 386 + documentation/classes/EventNote.html | 358 + documentation/classes/FileService.html | 895 ++ documentation/classes/Filter.html | 693 ++ documentation/classes/HealthCheck.html | 768 ++ .../classes/HistoricalEntityData.html | 408 + documentation/classes/ImportMetadata.html | 534 ++ .../classes/InvalidFormFieldError.html | 263 + documentation/classes/LatestEntityLoader.html | 538 ++ documentation/classes/LoggingService.html | 1381 +++ .../classes/MarkedRendererCustom.html | 485 + .../classes/MockEntityMapperService.html | 1692 ++++ .../classes/NotAvailableOfflineError.html | 301 + documentation/classes/Note.html | 2050 +++++ .../classes/ObservableMatchersImpl.html | 393 + documentation/classes/ObservableQueue.html | 351 + .../classes/ProgressDashboardConfig.html | 429 + documentation/classes/PublicFormConfig.html | 462 + documentation/classes/QueryDataSource.html | 757 ++ documentation/classes/RecurringActivity.html | 1060 +++ documentation/classes/Registry.html | 641 ++ .../classes/RemoteLoginNotAvailableError.html | 263 + documentation/classes/ReportConfig.html | 481 + .../classes/SchemaEmbedDatatype.html | 1109 +++ documentation/classes/School.html | 585 ++ documentation/classes/SelectableFilter.html | 1017 +++ documentation/classes/SiteSettings.html | 880 ++ documentation/classes/SqsSchema.html | 543 ++ documentation/classes/TimeInterval.html | 414 + .../classes/TimeIntervalDatatype.html | 1060 +++ documentation/classes/TimePeriod.html | 644 ++ documentation/classes/Todo.html | 1065 +++ documentation/classes/UpdateMetadata.html | 470 + documentation/classes/User.html | 503 ++ .../classes/ViewComponentContext.html | 436 + .../components/AccountPageComponent.html | 671 ++ .../ActivitiesOverviewComponent.html | 1194 +++ .../ActivityAttendanceSectionComponent.html | 1209 +++ .../components/ActivityCardComponent.html | 653 ++ .../components/AddDayAttendanceComponent.html | 1074 +++ .../components/AddressEditComponent.html | 1039 +++ .../components/AddressSearchComponent.html | 1094 +++ documentation/components/AdminComponent.html | 1202 +++ ...dminEditDescriptionOnlyFieldComponent.html | 701 ++ .../components/AdminEntityComponent.html | 1074 +++ .../AdminEntityDetailsComponent.html | 702 ++ .../components/AdminEntityFieldComponent.html | 1672 ++++ .../components/AdminEntityFormComponent.html | 1846 ++++ .../AdminEntityGeneralSettingsComponent.html | 1269 +++ .../components/AdminEntityListComponent.html | 1359 +++ .../AdminEntityPanelComponentComponent.html | 419 + .../components/AdminEntityTypesComponent.html | 858 ++ .../AdminSectionHeaderComponent.html | 714 ++ .../components/AdminTabsComponent.html | 965 ++ .../AlertStoriesHelperComponent.html | 427 + .../components/AnonymizeOptionsComponent.html | 488 + documentation/components/AppComponent.html | 459 + .../components/AppVersionComponent.html | 554 ++ .../ApplicationLoadingComponent.html | 346 + .../components/AttendanceBlockComponent.html | 745 ++ .../AttendanceCalendarComponent.html | 1484 +++ .../AttendanceDayBlockComponent.html | 471 + .../AttendanceDetailsComponent.html | 867 ++ .../AttendanceManagerComponent.html | 561 ++ .../AttendanceStatusSelectComponent.html | 605 ++ .../AttendanceSummaryComponent.html | 647 ++ .../AttendanceWeekDashboardComponent.html | 1033 +++ ...ackgroundProcessingIndicatorComponent.html | 806 ++ .../BasicAutocompleteComponent.html | 3662 ++++++++ .../components/BetaFeatureComponent.html | 355 + .../BirthdayDashboardComponent.html | 786 ++ .../components/BooleanInputComponent.html | 1966 ++++ .../components/ChangelogComponent.html | 848 ++ .../components/ChildBlockComponent.html | 689 ++ .../ChildBlockTooltipComponent.html | 611 ++ .../ChildSchoolOverviewComponent.html | 1445 +++ .../components/ChildrenListComponent.html | 2426 +++++ .../components/ComingSoonComponent.html | 805 ++ .../components/CompareRevComponent.html | 1321 +++ .../components/ConfigImportComponent.html | 774 ++ ...onfigureEntityFieldValidatorComponent.html | 771 ++ .../ConfigureEnumPopupComponent.html | 947 ++ .../ConfirmationDialogComponent.html | 654 ++ .../ConflictResolutionListComponent.html | 665 ++ .../components/CustomIntervalComponent.html | 612 ++ .../components/DashboardComponent.html | 703 ++ .../DashboardListWidgetComponent.html | 1017 +++ .../components/DashboardWidgetComponent.html | 713 ++ .../components/DateImportConfigComponent.html | 815 ++ .../components/DateRangeFilterComponent.html | 731 ++ .../DateRangeFilterPanelComponent.html | 1078 +++ .../DefaultValueOptionsComponent.html | 1136 +++ ...DataGeneratingProgressDialogComponent.html | 325 + .../components/DialogButtonsComponent.html | 1037 +++ .../components/DialogCloseComponent.html | 444 + .../components/DialogViewComponent.html | 717 ++ .../components/DisabledWrapperComponent.html | 637 ++ .../DiscreteImportConfigComponent.html | 807 ++ .../components/DisplayAgeComponent.html | 634 ++ .../components/DisplayCheckmarkComponent.html | 574 ++ .../DisplayConfigurableEnumComponent.html | 680 ++ .../components/DisplayDateComponent.html | 646 ++ .../DisplayDynamicPercentageComponent.html | 661 ++ .../components/DisplayEntityComponent.html | 692 ++ .../components/DisplayImgComponent.html | 607 ++ .../components/DisplayMonthComponent.html | 578 ++ .../DisplayParticipantsCountComponent.html | 696 ++ .../DisplayPercentageComponent.html | 735 ++ .../DisplayRecurringIntervalComponent.html | 609 ++ .../components/DisplayTextComponent.html | 572 ++ .../DisplayTodoCompletionComponent.html | 720 ++ .../components/DisplayUnitComponent.html | 562 ++ .../components/EditAgeComponent.html | 863 ++ .../components/EditAttendanceComponent.html | 1318 +++ .../components/EditBooleanComponent.html | 743 ++ .../EditConfigurableEnumComponent.html | 799 ++ .../components/EditDateComponent.html | 747 ++ .../EditDescriptionOnlyComponent.html | 388 + .../components/EditEntityComponent.html | 862 ++ .../components/EditFileComponent.html | 1493 +++ .../components/EditLocationComponent.html | 754 ++ .../components/EditLongTextComponent.html | 722 ++ .../components/EditMonthComponent.html | 923 ++ .../components/EditNumberComponent.html | 742 ++ .../components/EditPhotoComponent.html | 1537 ++++ .../EditProgressDashboardComponent.html | 1121 +++ .../EditRecurringIntervalComponent.html | 1120 +++ .../components/EditTextComponent.html | 735 ++ .../EditTextWithAutocompleteComponent.html | 1505 ++++ .../components/EntitiesTableComponent.html | 3023 +++++++ .../EntityActionsMenuComponent.html | 970 ++ .../EntityArchivedInfoComponent.html | 562 ++ .../components/EntityBlockComponent.html | 776 ++ .../EntityCountDashboardComponent.html | 1133 +++ .../EntityCreateButtonComponent.html | 628 ++ .../components/EntityDetailsComponent.html | 912 ++ .../components/EntityFieldEditComponent.html | 683 ++ .../components/EntityFieldLabelComponent.html | 568 ++ .../components/EntityFieldViewComponent.html | 639 ++ .../components/EntityFieldsMenuComponent.html | 846 ++ .../components/EntityFormComponent.html | 784 ++ .../EntityImportConfigComponent.html | 746 ++ .../EntityInlineEditActionsComponent.html | 779 ++ .../components/EntityListComponent.html | 2522 ++++++ .../components/EntitySelectComponent.html | 1520 ++++ .../components/EnumDropdownComponent.html | 1022 +++ .../components/ErrorHintComponent.html | 404 + .../components/FaDynamicIconComponent.html | 738 ++ documentation/components/FilterComponent.html | 995 ++ .../components/FilterOverlayComponent.html | 504 ++ documentation/components/FormComponent.html | 846 ++ .../GroupedChildAttendanceComponent.html | 598 ++ .../components/HelpButtonComponent.html | 432 + .../components/HistoricalDataComponent.html | 1342 +++ .../components/ImagePopupComponent.html | 474 + .../ImportAdditionalActionsComponent.html | 1085 +++ .../ImportColumnMappingComponent.html | 1239 +++ documentation/components/ImportComponent.html | 1401 +++ .../ImportConfirmSummaryComponent.html | 689 ++ .../components/ImportEntityTypeComponent.html | 751 ++ .../components/ImportFileComponent.html | 643 ++ .../components/ImportHistoryComponent.html | 777 ++ .../components/ImportReviewDataComponent.html | 904 ++ .../ImportantNotesDashboardComponent.html | 725 ++ .../components/InputFileComponent.html | 766 ++ .../components/LanguageSelectComponent.html | 657 ++ .../components/ListFilterComponent.html | 566 ++ .../components/ListPaginatorComponent.html | 759 ++ .../components/LocationInputComponent.html | 2070 +++++ documentation/components/LoginComponent.html | 926 ++ documentation/components/MapComponent.html | 1358 +++ .../components/MapPopupComponent.html | 908 ++ .../MapPropertiesPopupComponent.html | 609 ++ .../components/MarkdownPageComponent.html | 400 + .../components/MatchingEntitiesComponent.html | 1747 ++++ .../components/NavigationComponent.html | 683 ++ .../components/NotFoundComponent.html | 423 + .../NoteAttendanceCountBlockComponent.html | 483 + .../components/NoteDetailsComponent.html | 1284 +++ .../components/NotesDashboardComponent.html | 1179 +++ .../components/NotesManagerComponent.html | 1042 +++ .../NotesRelatedToEntityComponent.html | 1523 ++++ .../components/ObjectTableComponent.html | 593 ++ documentation/components/PillComponent.html | 344 + .../components/PrimaryActionComponent.html | 579 ++ .../components/ProgressComponent.html | 462 + .../ProgressDashboardComponent.html | 841 ++ .../components/ProgressDialogComponent.html | 466 + .../components/PublicFormComponent.html | 870 ++ .../components/PwaInstallComponent.html | 799 ++ .../components/ReadonlyFunctionComponent.html | 574 ++ .../RecentAttendanceBlocksComponent.html | 647 ++ .../components/RelatedEntitiesComponent.html | 1393 +++ .../RelatedEntitiesWithSummaryComponent.html | 1415 +++ .../RelatedTimePeriodEntitiesComponent.html | 1405 +++ .../components/ReportRowComponent.html | 731 ++ .../components/ReportingComponent.html | 1043 +++ .../components/RollCallComponent.html | 1875 ++++ .../components/RollCallSetupComponent.html | 1577 ++++ .../components/RollCallTabComponent.html | 636 ++ .../components/RoutedViewComponent.html | 628 ++ .../components/RowDetailsComponent.html | 718 ++ documentation/components/SearchComponent.html | 1214 +++ .../components/SelectReportComponent.html | 887 ++ .../SetupWizardButtonComponent.html | 591 ++ .../components/SetupWizardComponent.html | 826 ++ .../ShortcutDashboardComponent.html | 829 ++ .../components/ShowFileComponent.html | 498 + .../components/SupportComponent.html | 1349 +++ .../components/SyncStatusComponent.html | 552 ++ .../components/TemplateTooltipComponent.html | 749 ++ .../components/TodoCompletionComponent.html | 499 + .../components/TodoDetailsComponent.html | 803 ++ .../components/TodoListComponent.html | 2712 ++++++ .../components/TodosDashboardComponent.html | 818 ++ .../TodosRelatedToEntityComponent.html | 1492 +++ documentation/components/UiComponent.html | 1091 +++ .../components/UserAccountComponent.html | 733 ++ .../components/UserSecurityComponent.html | 1337 +++ .../components/ViewActionsComponent.html | 488 + .../components/ViewDistanceComponent.html | 736 ++ .../components/ViewFileComponent.html | 799 ++ .../components/ViewLocationComponent.html | 583 ++ .../components/ViewTitleComponent.html | 936 ++ .../components/WidgetContentComponent.html | 333 + documentation/contributing.html | 225 + documentation/coverage.html | 8001 +++++++++++++++++ documentation/dependencies.html | 278 + .../AbstractEntityDetailsComponent.html | 693 ++ .../directives/AdminTabTemplateDirective.html | 430 + .../directives/BorderHighlightDirective.html | 729 ++ .../directives/ConfigurableEnumDirective.html | 629 ++ .../CustomFormControlDirective.html | 2009 +++++ .../DisableEntityOperationDirective.html | 479 + .../directives/DynamicComponentDirective.html | 530 ++ documentation/directives/EditComponent.html | 616 ++ .../directives/ExportDataDirective.html | 632 ++ .../directives/TabStateMemoDirective.html | 414 + .../directives/TemplateTooltipDirective.html | 705 ++ documentation/directives/ViewDirective.html | 458 + documentation/fonts/ionicons.eot | Bin 0 -> 112650 bytes documentation/fonts/ionicons.svg | 2090 +++++ documentation/fonts/ionicons.ttf | Bin 0 -> 112472 bytes documentation/fonts/ionicons.woff | Bin 0 -> 65912 bytes documentation/fonts/ionicons.woff2 | Bin 0 -> 50632 bytes documentation/fonts/roboto-v15-latin-300.eot | Bin 0 -> 16205 bytes documentation/fonts/roboto-v15-latin-300.svg | 314 + documentation/fonts/roboto-v15-latin-300.ttf | Bin 0 -> 32664 bytes documentation/fonts/roboto-v15-latin-300.woff | Bin 0 -> 18520 bytes .../fonts/roboto-v15-latin-300.woff2 | Bin 0 -> 14524 bytes documentation/fonts/roboto-v15-latin-700.eot | Bin 0 -> 16208 bytes documentation/fonts/roboto-v15-latin-700.svg | 310 + documentation/fonts/roboto-v15-latin-700.ttf | Bin 0 -> 32500 bytes documentation/fonts/roboto-v15-latin-700.woff | Bin 0 -> 18568 bytes .../fonts/roboto-v15-latin-700.woff2 | Bin 0 -> 14552 bytes .../fonts/roboto-v15-latin-italic.eot | Bin 0 -> 17534 bytes .../fonts/roboto-v15-latin-italic.svg | 323 + .../fonts/roboto-v15-latin-italic.ttf | Bin 0 -> 33404 bytes .../fonts/roboto-v15-latin-italic.woff | Bin 0 -> 19880 bytes .../fonts/roboto-v15-latin-italic.woff2 | Bin 0 -> 11500 bytes .../fonts/roboto-v15-latin-regular.eot | Bin 0 -> 16227 bytes .../fonts/roboto-v15-latin-regular.svg | 308 + .../fonts/roboto-v15-latin-regular.ttf | Bin 0 -> 32652 bytes .../fonts/roboto-v15-latin-regular.woff | Bin 0 -> 18520 bytes .../fonts/roboto-v15-latin-regular.woff2 | Bin 0 -> 14584 bytes documentation/graph/dependencies.svg | 894 ++ .../guards/AbstractPermissionGuard.html | 637 ++ .../guards/EntityPermissionGuard.html | 443 + documentation/images/CICD-Flow.svg | 3 + .../images/architecture_concrete-project.png | Bin 0 -> 68517 bytes documentation/images/architecture_core.png | Bin 0 -> 70254 bytes documentation/images/cascading-delete.png | Bin 0 -> 68023 bytes .../images/compodoc-vectorise-inverted.png | Bin 0 -> 21782 bytes .../images/compodoc-vectorise-inverted.svg | 201 + documentation/images/compodoc-vectorise.png | Bin 0 -> 21325 bytes documentation/images/compodoc-vectorise.svg | 201 + documentation/images/config_service.png | Bin 0 -> 40818 bytes .../images/coverage-badge-documentation.svg | 9 + documentation/images/domain-model.png | Bin 0 -> 54662 bytes .../images/entity-details-panels.png | Bin 0 -> 87625 bytes documentation/images/favicon.ico | Bin 0 -> 1150 bytes documentation/images/login-flow-new-user.svg | 3 + .../new-session-flows/initial__offline.svg | 4 + .../initial__online_correct_pwd.svg | 4 + .../initial__online_wrong_pwd.svg | 4 + .../initial__sync_failed.svg | 4 + .../new-session-flows/new-session-flows.md | 551 ++ .../new-session-flows/normal__right_pwd.svg | 4 + .../new-session-flows/normal__wrong_pwd.svg | 4 + .../new-session-flows/offline__right_pwd.svg | 4 + .../new-session-flows/offline__wrong_pwd.svg | 4 + .../pwd_changed__new_pwd.svg | 4 + .../pwd_changed__old_pwd.svg | 4 + .../sync_failed__local_login_failure.svg | 4 + .../sync_failed__local_login_success.svg | 4 + documentation/images/routed-views.png | Bin 0 -> 79709 bytes documentation/images/session-uml.svg | 3 + documentation/images/session_classes.png | Bin 0 -> 134582 bytes documentation/images/session_state.png | Bin 0 -> 45360 bytes documentation/images/state_handler.png | Bin 0 -> 24511 bytes documentation/images/system_overview.png | Bin 0 -> 97037 bytes documentation/images/tech-stack.png | Bin 0 -> 67101 bytes documentation/index.html | 247 + documentation/injectables/AbilityService.html | 684 ++ .../injectables/AdminEntityService.html | 427 + documentation/injectables/AlertService.html | 851 ++ .../injectables/AnalyticsService.html | 723 ++ .../injectables/AttendanceService.html | 1235 +++ .../injectables/AutoResolutionService.html | 455 + documentation/injectables/BackupService.html | 574 ++ .../injectables/BooleanDatatype.html | 949 ++ .../injectables/ChildrenService.html | 1149 +++ .../injectables/ComingSoonDialogService.html | 405 + .../ConfigImportParserService.html | 857 ++ documentation/injectables/ConfigService.html | 1062 +++ .../injectables/ConfigurableEnumDatatype.html | 1089 +++ .../injectables/ConfigurableEnumService.html | 596 ++ .../ConfirmationDialogService.html | 656 ++ .../injectables/CouchdbFileService.html | 1104 +++ .../injectables/CurrentUserSubject.html | 267 + .../injectables/DataAggregationService.html | 535 ++ .../DataTransformationService.html | 775 ++ .../injectables/DatabaseIndexingService.html | 1290 +++ .../DateAdapterWithFormatting.html | 418 + documentation/injectables/DateDatatype.html | 1002 +++ .../injectables/DateOnlyDatatype.html | 1007 +++ .../injectables/DateWithAgeDatatype.html | 957 ++ .../injectables/DefaultValueService.html | 426 + .../DemoActivityEventsGeneratorService.html | 759 ++ .../DemoActivityGeneratorService.html | 712 ++ .../injectables/DemoAserGeneratorService.html | 623 ++ .../injectables/DemoChildGenerator.html | 756 ++ .../DemoChildSchoolRelationGenerator.html | 638 ++ .../DemoConfigGeneratorService.html | 485 + .../DemoConfigurableEnumGeneratorService.html | 477 + .../DemoDataInitializerService.html | 537 ++ .../injectables/DemoDataService.html | 527 ++ ...moEducationalMaterialGeneratorService.html | 635 ++ .../DemoHealthCheckGeneratorService.html | 612 ++ .../DemoHistoricalDataGenerator.html | 624 ++ .../injectables/DemoNoteGeneratorService.html | 743 ++ .../DemoPermissionGeneratorService.html | 485 + ...ogressDashboardWidgetGeneratorService.html | 549 ++ .../DemoPublicFormGeneratorService.html | 482 + .../DemoReportConfigGeneratorService.html | 612 ++ .../injectables/DemoSchoolGenerator.html | 636 ++ .../DemoSiteSettingsGeneratorService.html | 486 + .../injectables/DemoTodoGeneratorService.html | 671 ++ .../injectables/DemoUserGeneratorService.html | 598 ++ .../injectables/DownloadService.html | 922 ++ .../injectables/DuplicateRecordService.html | 559 ++ .../injectables/DynamicValidatorsService.html | 602 ++ documentation/injectables/EntityAbility.html | 590 ++ .../injectables/EntityActionsService.html | 1094 +++ .../injectables/EntityAnonymizeService.html | 634 ++ .../injectables/EntityConfigService.html | 1068 +++ documentation/injectables/EntityDatatype.html | 1052 +++ .../injectables/EntityDeleteService.html | 595 ++ .../injectables/EntityFormService.html | 1110 +++ .../injectables/EntityMapperService.html | 1300 +++ .../injectables/EntitySchemaService.html | 1331 +++ .../injectables/EventAttendanceDatatype.html | 1129 +++ .../EventAttendanceMapDatatype.html | 1121 +++ documentation/injectables/FileDatatype.html | 996 ++ .../injectables/FilterGeneratorService.html | 603 ++ documentation/injectables/FilterService.html | 710 ++ .../injectables/FormDialogService.html | 765 ++ documentation/injectables/GeoService.html | 603 ++ .../HandleDefaultValuesUseCase.html | 621 ++ .../injectables/HistoricalDataService.html | 408 + .../injectables/HorizontalHammerConfig.html | 572 ++ .../ImportColumnMappingService.html | 396 + documentation/injectables/ImportService.html | 848 ++ .../injectables/KeycloakAuthService.html | 1291 +++ .../injectables/LanguageService.html | 461 + .../LatestChangesDialogService.html | 602 ++ .../injectables/LatestChangesService.html | 647 ++ .../injectables/LocalAuthService.html | 408 + .../injectables/LocationDatatype.html | 1058 +++ .../injectables/LoginStateSubject.html | 283 + .../injectables/LongTextDatatype.html | 976 ++ .../injectables/MockFileService.html | 841 ++ documentation/injectables/MonthDatatype.html | 980 ++ documentation/injectables/NumberDatatype.html | 989 ++ .../PermissionEnforcerService.html | 647 ++ documentation/injectables/PouchDatabase.html | 2194 +++++ .../injectables/PwaInstallService.html | 600 ++ documentation/injectables/QueryService.html | 1079 +++ .../injectables/RoutePermissionsService.html | 429 + documentation/injectables/RouterService.html | 566 ++ .../injectables/ScreenWidthObserver.html | 666 ++ documentation/injectables/SearchService.html | 528 ++ .../injectables/SessionManagerService.html | 993 ++ documentation/injectables/SessionSubject.html | 300 + .../injectables/SiteSettingsService.html | 939 ++ .../injectables/SqlReportService.html | 742 ++ documentation/injectables/StringDatatype.html | 994 ++ documentation/injectables/SyncService.html | 696 ++ .../injectables/SyncStateSubject.html | 283 + documentation/injectables/TodoService.html | 521 ++ .../injectables/UnsavedChangesService.html | 448 + .../injectables/UpdateManagerService.html | 635 ++ .../injectables/UpdateMetadataDatatype.html | 1071 +++ documentation/injectables/UserRoleGuard.html | 431 + .../AcceptLanguageInterceptor.html | 400 + .../interfaces/AdditionalImportAction.html | 330 + .../interfaces/AdminTabTemplateContext.html | 343 + documentation/interfaces/Aggregation.html | 553 ++ .../interfaces/AggregationReport.html | 394 + documentation/interfaces/AlertConfig.html | 402 + documentation/interfaces/AttendanceInfo.html | 861 ++ .../interfaces/AttendanceReport.html | 945 ++ .../interfaces/AttendanceStatusType.html | 534 ++ .../interfaces/AttendanceWeekRow.html | 543 ++ .../interfaces/AverageAttendanceStats.html | 481 + .../interfaces/BackgroundProcessState.html | 511 ++ .../interfaces/BasicFilterConfig.html | 524 ++ .../interfaces/BirthdayDashboardConfig.html | 432 + .../interfaces/BooleanFilterConfig.html | 434 + .../interfaces/CalculateReportOptions.html | 432 + .../interfaces/ColumnGroupsConfig.html | 493 + documentation/interfaces/ColumnMapping.html | 410 + documentation/interfaces/ConfigFieldRaw.html | 607 ++ .../ConfigurableEnumFilterConfig.html | 395 + .../interfaces/ConfigurableEnumValue.html | 546 ++ .../interfaces/ConfirmationDialogButton.html | 503 ++ .../interfaces/ConfirmationDialogConfig.html | 554 ++ .../ConflictResolutionStrategy.html | 356 + documentation/interfaces/Coordinates.html | 323 + documentation/interfaces/DashboardConfig.html | 368 + documentation/interfaces/DatabaseRules.html | 403 + .../interfaces/DateRangeFilterConfig.html | 395 + .../DateRangeFilterConfigOption.html | 479 + .../interfaces/DefaultValueConfig.html | 479 + .../interfaces/DetailsComponentData.html | 483 + documentation/interfaces/DialogViewData.html | 463 + .../interfaces/DynamicComponentConfig.html | 434 + .../EditProgressDashboardComponentData.html | 434 + documentation/interfaces/EntityConfig.html | 765 ++ .../EntityCountDashboardConfig.html | 471 + .../interfaces/EntityDetailsConfig.html | 414 + .../interfaces/EntityListConfig.html | 713 ++ .../interfaces/EntityPropertyMap.html | 351 + .../interfaces/EntitySchemaField.html | 1210 +++ .../interfaces/EntityWithBirthday.html | 471 + .../interfaces/EntityWithRecentNoteInfo.html | 555 ++ .../interfaces/ExportColumnConfig.html | 484 + documentation/interfaces/ExportRow.html | 466 + documentation/interfaces/ExportingReport.html | 406 + .../interfaces/ExtendedAlertConfig.html | 307 + documentation/interfaces/FieldGroup.html | 341 + .../interfaces/FilterOverlayData.html | 460 + .../interfaces/FilterSelectionOption.html | 573 ++ .../interfaces/FlattenedReportRow.html | 372 + documentation/interfaces/FormConfig.html | 380 + documentation/interfaces/FormFieldConfig.html | 622 ++ documentation/interfaces/GeoLocation.html | 392 + documentation/interfaces/GeoResult.html | 406 + .../interfaces/GroupByDescription.html | 358 + documentation/interfaces/GroupConfig.html | 428 + documentation/interfaces/HasOrdinal.html | 354 + .../interfaces/ImportDialogData.html | 396 + documentation/interfaces/ImportSettings.html | 407 + documentation/interfaces/InteractionType.html | 321 + documentation/interfaces/KeycloakUser.html | 666 ++ documentation/interfaces/MapConfig.html | 367 + documentation/interfaces/MapPopupConfig.html | 739 ++ .../interfaces/MappingDialogData.html | 517 ++ .../interfaces/MarkdownPageConfig.html | 297 + .../interfaces/MatchingEntitiesConfig.html | 626 ++ documentation/interfaces/MatchingSide.html | 1005 +++ .../interfaces/MatchingSideConfig.html | 514 ++ documentation/interfaces/MenuItem.html | 411 + .../interfaces/NavigationMenuConfig.html | 310 + documentation/interfaces/NewMatchAction.html | 497 + .../interfaces/NotesDashboardConfig.html | 605 ++ .../interfaces/NotesManagerConfig.html | 468 + .../interfaces/ObservableMatchers.html | 367 + documentation/interfaces/Panel.html | 415 + documentation/interfaces/PanelComponent.html | 472 + documentation/interfaces/PanelConfig.html | 473 + documentation/interfaces/ParsedData.html | 452 + documentation/interfaces/ParsedJWT.html | 432 + .../interfaces/PrebuiltFilterConfig-1.html | 395 + .../interfaces/PrebuiltFilterConfig.html | 395 + .../interfaces/ProgressDashboardPart.html | 385 + .../interfaces/ReportCalculation.html | 697 ++ documentation/interfaces/ReportData.html | 580 ++ documentation/interfaces/ReportRow.html | 358 + documentation/interfaces/Role.html | 588 ++ .../interfaces/SelectableOption.html | 781 ++ .../interfaces/SentryBreadcrumbHint.html | 786 ++ documentation/interfaces/SessionInfo.html | 541 ++ .../interfaces/SetupWizardConfig.html | 486 + documentation/interfaces/SetupWizardStep.html | 468 + .../interfaces/SimpleDropdownValue-1.html | 637 ++ .../interfaces/SimpleDropdownValue.html | 491 + documentation/interfaces/SqlReport.html | 400 + documentation/interfaces/TableRow.html | 708 ++ documentation/interfaces/TodoCompletion.html | 399 + documentation/interfaces/UpdatedEntity.html | 404 + .../interfaces/UsageAnalyticsConfig.html | 402 + documentation/interfaces/ViewConfig.html | 376 + .../interfaces/ViewDistanceConfig.html | 425 + documentation/js/compodoc.js | 14 + documentation/js/lazy-load-graphs.js | 44 + documentation/js/libs/EventDispatcher.js | 5 + documentation/js/libs/bootstrap-native.js | 2 + documentation/js/libs/clipboard.min.js | 7 + .../js/libs/custom-elements-es5-adapter.js | 15 + documentation/js/libs/custom-elements.min.js | 38 + documentation/js/libs/d3.v3.min.js | 2 + documentation/js/libs/deep-iterator.js | 2 + documentation/js/libs/es6-shim.min.js | 12 + documentation/js/libs/htmlparser.js | 23 + documentation/js/libs/innersvg.js | 9 + documentation/js/libs/lit-html.js | 1 + documentation/js/libs/prism.js | 46 + documentation/js/libs/promise.min.js | 6 + documentation/js/libs/svg-pan-zoom.min.js | 3 + documentation/js/libs/tablesort.min.js | 6 + documentation/js/libs/tablesort.number.min.js | 6 + documentation/js/libs/vis.min.js | 47 + documentation/js/libs/zepto.min.js | 2 + documentation/js/menu-wc.js | 2023 +++++ documentation/js/menu-wc_es5.js | 40 + documentation/js/menu.js | 270 + documentation/js/routes.js | 301 + documentation/js/search/lunr.min.js | 6 + documentation/js/search/search-lunr.js | 67 + documentation/js/search/search.js | 283 + documentation/js/search/search_index.js | 4 + documentation/js/sourceCode.js | 58 + documentation/js/svg-pan-zoom.controls.js | 53 + documentation/js/tabs.js | 21 + documentation/js/tree.js | 147 + documentation/license.html | 748 ++ documentation/miscellaneous/enumerations.html | 765 ++ documentation/miscellaneous/functions.html | 4898 ++++++++++ documentation/miscellaneous/typealiases.html | 1234 +++ documentation/miscellaneous/variables.html | 6175 +++++++++++++ documentation/modules.html | 710 ++ documentation/modules/AdminModule.html | 362 + .../modules/AdminModule/dependencies.svg | 62 + documentation/modules/AppModule.html | 917 ++ .../modules/AppModule/dependencies.svg | 386 + documentation/modules/AttendanceModule.html | 272 + .../BirthdayDashboardWidgetModule.html | 240 + documentation/modules/ChildrenModule.html | 263 + documentation/modules/ConfigSetupModule.html | 240 + .../modules/ConfigurableEnumModule.html | 318 + .../modules/ConflictResolutionModule.html | 233 + documentation/modules/CoreModule.html | 367 + .../modules/CoreModule/dependencies.svg | 62 + documentation/modules/CoreTestingModule.html | 401 + .../CoreTestingModule/dependencies.svg | 90 + documentation/modules/DatabaseModule.html | 320 + .../modules/DatabaseModule/dependencies.svg | 50 + .../modules/DatabaseTestingModule.html | 352 + .../DatabaseTestingModule/dependencies.svg | 50 + documentation/modules/DemoDataModule.html | 540 ++ .../modules/DemoDataModule/dependencies.svg | 94 + .../EntityCountDashboardWidgetModule.html | 247 + documentation/modules/FileModule.html | 339 + .../modules/FileModule/dependencies.svg | 62 + .../modules/HistoricalDataModule.html | 236 + documentation/modules/ImportModule.html | 345 + .../modules/ImportModule/dependencies.svg | 50 + documentation/modules/LanguageModule.html | 350 + .../modules/LanguageModule/dependencies.svg | 50 + .../modules/LatestChangesModule.html | 402 + .../LatestChangesModule/dependencies.svg | 78 + documentation/modules/LocationModule.html | 239 + documentation/modules/MarkdownPageModule.html | 285 + .../modules/MatchingEntitiesModule.html | 233 + .../modules/MockedTestingModule.html | 514 ++ .../MockedTestingModule/dependencies.svg | 50 + documentation/modules/NotesModule.html | 236 + documentation/modules/PermissionsModule.html | 349 + .../PermissionsModule/dependencies.svg | 74 + .../ProgressDashboardWidgetModule.html | 243 + documentation/modules/ReportingModule.html | 233 + documentation/modules/SchoolsModule.html | 236 + documentation/modules/SessionModule.html | 392 + .../modules/SessionModule/dependencies.svg | 86 + .../ShortcutDashboardWidgetModule.html | 247 + .../modules/StorybookBaseModule.html | 470 + .../StorybookBaseModule/dependencies.svg | 50 + documentation/modules/TabStateModule.html | 331 + .../modules/TabStateModule/dependencies.svg | 66 + documentation/modules/TodosModule.html | 286 + documentation/overview.html | 1157 +++ documentation/pipes/DynamicComponentPipe.html | 349 + documentation/pipes/EntityFunctionPipe.html | 343 + documentation/pipes/EntityTypeLabelPipe.html | 350 + documentation/pipes/FlattenArrayPipe.html | 328 + documentation/properties.html | 185 + documentation/styles/bootstrap-card.css | 219 + documentation/styles/bootstrap.min.css | 6 + documentation/styles/compodoc.css | 1124 +++ documentation/styles/dark.css | 121 + documentation/styles/ionicons.min.css | 11 + documentation/styles/laravel.css | 113 + documentation/styles/material.css | 131 + documentation/styles/original.css | 51 + documentation/styles/postmark.css | 238 + documentation/styles/prism.css | 301 + documentation/styles/readthedocs.css | 117 + documentation/styles/reset.css | 129 + documentation/styles/stripe.css | 106 + documentation/styles/style.css | 7 + documentation/styles/tablesort.css | 33 + documentation/styles/vagrant.css | 130 + 693 files changed, 417006 insertions(+) create mode 100644 .nojekyll create mode 100644 documentation/additional-documentation/concepts.html create mode 100644 documentation/additional-documentation/concepts/configuration.html create mode 100644 documentation/additional-documentation/concepts/documentation-structure.html create mode 100644 documentation/additional-documentation/concepts/entity-system.html create mode 100644 documentation/additional-documentation/concepts/entity-system/archiving,-anonymizing-and-deleting-entities.html create mode 100644 documentation/additional-documentation/concepts/entity-system/entity-schema.html create mode 100644 documentation/additional-documentation/concepts/extendability-and-plugin-approach.html create mode 100644 documentation/additional-documentation/concepts/infrastructure.html create mode 100644 documentation/additional-documentation/concepts/overall-architecture.html create mode 100644 documentation/additional-documentation/concepts/security.html create mode 100644 documentation/additional-documentation/concepts/session-and-authentication-system.html create mode 100644 documentation/additional-documentation/concepts/user-roles-and-permissions.html create mode 100644 documentation/additional-documentation/concepts/ux-guidelines.html create mode 100644 documentation/additional-documentation/how-to-guides.html create mode 100644 documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui.html create mode 100644 documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/add-another-language.html create mode 100644 documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/work-with-xlf.html create mode 100644 documentation/additional-documentation/how-to-guides/configure-and-customize-a-system.html create mode 100644 documentation/additional-documentation/how-to-guides/create-a-custom-view-component.html create mode 100644 documentation/additional-documentation/how-to-guides/create-a-new-datatype.html create mode 100644 documentation/additional-documentation/how-to-guides/create-a-new-entity-type.html create mode 100644 documentation/additional-documentation/how-to-guides/create-a-report.html create mode 100644 documentation/additional-documentation/how-to-guides/create-an-entity-details-panel.html create mode 100644 documentation/additional-documentation/how-to-guides/development-processes.html create mode 100644 documentation/additional-documentation/how-to-guides/development-processes/document-code.html create mode 100644 documentation/additional-documentation/how-to-guides/development-processes/review-a-pull-request.html create mode 100644 documentation/additional-documentation/how-to-guides/development-processes/write-automated-unit-tests.html create mode 100644 documentation/additional-documentation/how-to-guides/development-processes/write-e2e-tests.html create mode 100644 documentation/additional-documentation/how-to-guides/display-dialogs-and-notifications.html create mode 100644 documentation/additional-documentation/how-to-guides/display-related-entities.html create mode 100644 documentation/additional-documentation/how-to-guides/format-data-export.html create mode 100644 documentation/additional-documentation/how-to-guides/generate-demo-data.html create mode 100644 documentation/additional-documentation/how-to-guides/load-and-save-data.html create mode 100644 documentation/additional-documentation/how-to-guides/log-errors.html create mode 100644 documentation/additional-documentation/how-to-guides/navigate-the-code-structure.html create mode 100644 documentation/additional-documentation/how-to-guides/use-queries-and-indices.html create mode 100644 documentation/additional-documentation/overview.html create mode 100644 documentation/additional-documentation/prerequisites.html create mode 100644 documentation/additional-documentation/tutorial.html create mode 100644 documentation/additional-documentation/tutorial/diving-into-the-code.html create mode 100644 documentation/additional-documentation/tutorial/overview-of-technologies.html create mode 100644 documentation/additional-documentation/tutorial/setting-up-the-project.html create mode 100644 documentation/additional-documentation/tutorial/using-aam-digital-(as-a-user).html create mode 100644 documentation/classes/AbstractViewComponent.html create mode 100644 documentation/classes/ActivityAttendance.html create mode 100644 documentation/classes/Aser.html create mode 100644 documentation/classes/BooleanFilter.html create mode 100644 documentation/classes/CascadingActionResult.html create mode 100644 documentation/classes/CascadingEntityAction.html create mode 100644 documentation/classes/Changelog.html create mode 100644 documentation/classes/Child.html create mode 100644 documentation/classes/ChildSchoolRelation.html create mode 100644 documentation/classes/ComponentRegistry.html create mode 100644 documentation/classes/Config.html create mode 100644 documentation/classes/ConfigurableEnum.html create mode 100644 documentation/classes/ConfigurableEnumFilter.html create mode 100644 documentation/classes/CustomFaker.html create mode 100644 documentation/classes/DashboardWidget.html create mode 100644 documentation/classes/Database.html create mode 100644 documentation/classes/DatabaseException.html create mode 100644 documentation/classes/DateFilter.html create mode 100644 documentation/classes/DateWithAge.html create mode 100644 documentation/classes/DefaultDatatype.html create mode 100644 documentation/classes/DemoChildConfig.html create mode 100644 documentation/classes/DemoDataGenerator.html create mode 100644 documentation/classes/DemoDataServiceConfig.html create mode 100644 documentation/classes/DemoEducationMaterialConfig.html create mode 100644 documentation/classes/DemoEventsConfig.html create mode 100644 documentation/classes/DemoHistoricalDataConfig.html create mode 100644 documentation/classes/DemoNoteConfig.html create mode 100644 documentation/classes/DemoSchoolConfig.html create mode 100644 documentation/classes/DemoTodoConfig.html create mode 100644 documentation/classes/DiscreteDatatype.html create mode 100644 documentation/classes/DuplicateEnumOptionException.html create mode 100644 documentation/classes/EducationalMaterial.html create mode 100644 documentation/classes/Entity.html create mode 100644 documentation/classes/EntityFilter.html create mode 100644 documentation/classes/EntityRegistry.html create mode 100644 documentation/classes/EventAttendance.html create mode 100644 documentation/classes/EventAttendanceMap.html create mode 100644 documentation/classes/EventNote.html create mode 100644 documentation/classes/FileService.html create mode 100644 documentation/classes/Filter.html create mode 100644 documentation/classes/HealthCheck.html create mode 100644 documentation/classes/HistoricalEntityData.html create mode 100644 documentation/classes/ImportMetadata.html create mode 100644 documentation/classes/InvalidFormFieldError.html create mode 100644 documentation/classes/LatestEntityLoader.html create mode 100644 documentation/classes/LoggingService.html create mode 100644 documentation/classes/MarkedRendererCustom.html create mode 100644 documentation/classes/MockEntityMapperService.html create mode 100644 documentation/classes/NotAvailableOfflineError.html create mode 100644 documentation/classes/Note.html create mode 100644 documentation/classes/ObservableMatchersImpl.html create mode 100644 documentation/classes/ObservableQueue.html create mode 100644 documentation/classes/ProgressDashboardConfig.html create mode 100644 documentation/classes/PublicFormConfig.html create mode 100644 documentation/classes/QueryDataSource.html create mode 100644 documentation/classes/RecurringActivity.html create mode 100644 documentation/classes/Registry.html create mode 100644 documentation/classes/RemoteLoginNotAvailableError.html create mode 100644 documentation/classes/ReportConfig.html create mode 100644 documentation/classes/SchemaEmbedDatatype.html create mode 100644 documentation/classes/School.html create mode 100644 documentation/classes/SelectableFilter.html create mode 100644 documentation/classes/SiteSettings.html create mode 100644 documentation/classes/SqsSchema.html create mode 100644 documentation/classes/TimeInterval.html create mode 100644 documentation/classes/TimeIntervalDatatype.html create mode 100644 documentation/classes/TimePeriod.html create mode 100644 documentation/classes/Todo.html create mode 100644 documentation/classes/UpdateMetadata.html create mode 100644 documentation/classes/User.html create mode 100644 documentation/classes/ViewComponentContext.html create mode 100644 documentation/components/AccountPageComponent.html create mode 100644 documentation/components/ActivitiesOverviewComponent.html create mode 100644 documentation/components/ActivityAttendanceSectionComponent.html create mode 100644 documentation/components/ActivityCardComponent.html create mode 100644 documentation/components/AddDayAttendanceComponent.html create mode 100644 documentation/components/AddressEditComponent.html create mode 100644 documentation/components/AddressSearchComponent.html create mode 100644 documentation/components/AdminComponent.html create mode 100644 documentation/components/AdminEditDescriptionOnlyFieldComponent.html create mode 100644 documentation/components/AdminEntityComponent.html create mode 100644 documentation/components/AdminEntityDetailsComponent.html create mode 100644 documentation/components/AdminEntityFieldComponent.html create mode 100644 documentation/components/AdminEntityFormComponent.html create mode 100644 documentation/components/AdminEntityGeneralSettingsComponent.html create mode 100644 documentation/components/AdminEntityListComponent.html create mode 100644 documentation/components/AdminEntityPanelComponentComponent.html create mode 100644 documentation/components/AdminEntityTypesComponent.html create mode 100644 documentation/components/AdminSectionHeaderComponent.html create mode 100644 documentation/components/AdminTabsComponent.html create mode 100644 documentation/components/AlertStoriesHelperComponent.html create mode 100644 documentation/components/AnonymizeOptionsComponent.html create mode 100644 documentation/components/AppComponent.html create mode 100644 documentation/components/AppVersionComponent.html create mode 100644 documentation/components/ApplicationLoadingComponent.html create mode 100644 documentation/components/AttendanceBlockComponent.html create mode 100644 documentation/components/AttendanceCalendarComponent.html create mode 100644 documentation/components/AttendanceDayBlockComponent.html create mode 100644 documentation/components/AttendanceDetailsComponent.html create mode 100644 documentation/components/AttendanceManagerComponent.html create mode 100644 documentation/components/AttendanceStatusSelectComponent.html create mode 100644 documentation/components/AttendanceSummaryComponent.html create mode 100644 documentation/components/AttendanceWeekDashboardComponent.html create mode 100644 documentation/components/BackgroundProcessingIndicatorComponent.html create mode 100644 documentation/components/BasicAutocompleteComponent.html create mode 100644 documentation/components/BetaFeatureComponent.html create mode 100644 documentation/components/BirthdayDashboardComponent.html create mode 100644 documentation/components/BooleanInputComponent.html create mode 100644 documentation/components/ChangelogComponent.html create mode 100644 documentation/components/ChildBlockComponent.html create mode 100644 documentation/components/ChildBlockTooltipComponent.html create mode 100644 documentation/components/ChildSchoolOverviewComponent.html create mode 100644 documentation/components/ChildrenListComponent.html create mode 100644 documentation/components/ComingSoonComponent.html create mode 100644 documentation/components/CompareRevComponent.html create mode 100644 documentation/components/ConfigImportComponent.html create mode 100644 documentation/components/ConfigureEntityFieldValidatorComponent.html create mode 100644 documentation/components/ConfigureEnumPopupComponent.html create mode 100644 documentation/components/ConfirmationDialogComponent.html create mode 100644 documentation/components/ConflictResolutionListComponent.html create mode 100644 documentation/components/CustomIntervalComponent.html create mode 100644 documentation/components/DashboardComponent.html create mode 100644 documentation/components/DashboardListWidgetComponent.html create mode 100644 documentation/components/DashboardWidgetComponent.html create mode 100644 documentation/components/DateImportConfigComponent.html create mode 100644 documentation/components/DateRangeFilterComponent.html create mode 100644 documentation/components/DateRangeFilterPanelComponent.html create mode 100644 documentation/components/DefaultValueOptionsComponent.html create mode 100644 documentation/components/DemoDataGeneratingProgressDialogComponent.html create mode 100644 documentation/components/DialogButtonsComponent.html create mode 100644 documentation/components/DialogCloseComponent.html create mode 100644 documentation/components/DialogViewComponent.html create mode 100644 documentation/components/DisabledWrapperComponent.html create mode 100644 documentation/components/DiscreteImportConfigComponent.html create mode 100644 documentation/components/DisplayAgeComponent.html create mode 100644 documentation/components/DisplayCheckmarkComponent.html create mode 100644 documentation/components/DisplayConfigurableEnumComponent.html create mode 100644 documentation/components/DisplayDateComponent.html create mode 100644 documentation/components/DisplayDynamicPercentageComponent.html create mode 100644 documentation/components/DisplayEntityComponent.html create mode 100644 documentation/components/DisplayImgComponent.html create mode 100644 documentation/components/DisplayMonthComponent.html create mode 100644 documentation/components/DisplayParticipantsCountComponent.html create mode 100644 documentation/components/DisplayPercentageComponent.html create mode 100644 documentation/components/DisplayRecurringIntervalComponent.html create mode 100644 documentation/components/DisplayTextComponent.html create mode 100644 documentation/components/DisplayTodoCompletionComponent.html create mode 100644 documentation/components/DisplayUnitComponent.html create mode 100644 documentation/components/EditAgeComponent.html create mode 100644 documentation/components/EditAttendanceComponent.html create mode 100644 documentation/components/EditBooleanComponent.html create mode 100644 documentation/components/EditConfigurableEnumComponent.html create mode 100644 documentation/components/EditDateComponent.html create mode 100644 documentation/components/EditDescriptionOnlyComponent.html create mode 100644 documentation/components/EditEntityComponent.html create mode 100644 documentation/components/EditFileComponent.html create mode 100644 documentation/components/EditLocationComponent.html create mode 100644 documentation/components/EditLongTextComponent.html create mode 100644 documentation/components/EditMonthComponent.html create mode 100644 documentation/components/EditNumberComponent.html create mode 100644 documentation/components/EditPhotoComponent.html create mode 100644 documentation/components/EditProgressDashboardComponent.html create mode 100644 documentation/components/EditRecurringIntervalComponent.html create mode 100644 documentation/components/EditTextComponent.html create mode 100644 documentation/components/EditTextWithAutocompleteComponent.html create mode 100644 documentation/components/EntitiesTableComponent.html create mode 100644 documentation/components/EntityActionsMenuComponent.html create mode 100644 documentation/components/EntityArchivedInfoComponent.html create mode 100644 documentation/components/EntityBlockComponent.html create mode 100644 documentation/components/EntityCountDashboardComponent.html create mode 100644 documentation/components/EntityCreateButtonComponent.html create mode 100644 documentation/components/EntityDetailsComponent.html create mode 100644 documentation/components/EntityFieldEditComponent.html create mode 100644 documentation/components/EntityFieldLabelComponent.html create mode 100644 documentation/components/EntityFieldViewComponent.html create mode 100644 documentation/components/EntityFieldsMenuComponent.html create mode 100644 documentation/components/EntityFormComponent.html create mode 100644 documentation/components/EntityImportConfigComponent.html create mode 100644 documentation/components/EntityInlineEditActionsComponent.html create mode 100644 documentation/components/EntityListComponent.html create mode 100644 documentation/components/EntitySelectComponent.html create mode 100644 documentation/components/EnumDropdownComponent.html create mode 100644 documentation/components/ErrorHintComponent.html create mode 100644 documentation/components/FaDynamicIconComponent.html create mode 100644 documentation/components/FilterComponent.html create mode 100644 documentation/components/FilterOverlayComponent.html create mode 100644 documentation/components/FormComponent.html create mode 100644 documentation/components/GroupedChildAttendanceComponent.html create mode 100644 documentation/components/HelpButtonComponent.html create mode 100644 documentation/components/HistoricalDataComponent.html create mode 100644 documentation/components/ImagePopupComponent.html create mode 100644 documentation/components/ImportAdditionalActionsComponent.html create mode 100644 documentation/components/ImportColumnMappingComponent.html create mode 100644 documentation/components/ImportComponent.html create mode 100644 documentation/components/ImportConfirmSummaryComponent.html create mode 100644 documentation/components/ImportEntityTypeComponent.html create mode 100644 documentation/components/ImportFileComponent.html create mode 100644 documentation/components/ImportHistoryComponent.html create mode 100644 documentation/components/ImportReviewDataComponent.html create mode 100644 documentation/components/ImportantNotesDashboardComponent.html create mode 100644 documentation/components/InputFileComponent.html create mode 100644 documentation/components/LanguageSelectComponent.html create mode 100644 documentation/components/ListFilterComponent.html create mode 100644 documentation/components/ListPaginatorComponent.html create mode 100644 documentation/components/LocationInputComponent.html create mode 100644 documentation/components/LoginComponent.html create mode 100644 documentation/components/MapComponent.html create mode 100644 documentation/components/MapPopupComponent.html create mode 100644 documentation/components/MapPropertiesPopupComponent.html create mode 100644 documentation/components/MarkdownPageComponent.html create mode 100644 documentation/components/MatchingEntitiesComponent.html create mode 100644 documentation/components/NavigationComponent.html create mode 100644 documentation/components/NotFoundComponent.html create mode 100644 documentation/components/NoteAttendanceCountBlockComponent.html create mode 100644 documentation/components/NoteDetailsComponent.html create mode 100644 documentation/components/NotesDashboardComponent.html create mode 100644 documentation/components/NotesManagerComponent.html create mode 100644 documentation/components/NotesRelatedToEntityComponent.html create mode 100644 documentation/components/ObjectTableComponent.html create mode 100644 documentation/components/PillComponent.html create mode 100644 documentation/components/PrimaryActionComponent.html create mode 100644 documentation/components/ProgressComponent.html create mode 100644 documentation/components/ProgressDashboardComponent.html create mode 100644 documentation/components/ProgressDialogComponent.html create mode 100644 documentation/components/PublicFormComponent.html create mode 100644 documentation/components/PwaInstallComponent.html create mode 100644 documentation/components/ReadonlyFunctionComponent.html create mode 100644 documentation/components/RecentAttendanceBlocksComponent.html create mode 100644 documentation/components/RelatedEntitiesComponent.html create mode 100644 documentation/components/RelatedEntitiesWithSummaryComponent.html create mode 100644 documentation/components/RelatedTimePeriodEntitiesComponent.html create mode 100644 documentation/components/ReportRowComponent.html create mode 100644 documentation/components/ReportingComponent.html create mode 100644 documentation/components/RollCallComponent.html create mode 100644 documentation/components/RollCallSetupComponent.html create mode 100644 documentation/components/RollCallTabComponent.html create mode 100644 documentation/components/RoutedViewComponent.html create mode 100644 documentation/components/RowDetailsComponent.html create mode 100644 documentation/components/SearchComponent.html create mode 100644 documentation/components/SelectReportComponent.html create mode 100644 documentation/components/SetupWizardButtonComponent.html create mode 100644 documentation/components/SetupWizardComponent.html create mode 100644 documentation/components/ShortcutDashboardComponent.html create mode 100644 documentation/components/ShowFileComponent.html create mode 100644 documentation/components/SupportComponent.html create mode 100644 documentation/components/SyncStatusComponent.html create mode 100644 documentation/components/TemplateTooltipComponent.html create mode 100644 documentation/components/TodoCompletionComponent.html create mode 100644 documentation/components/TodoDetailsComponent.html create mode 100644 documentation/components/TodoListComponent.html create mode 100644 documentation/components/TodosDashboardComponent.html create mode 100644 documentation/components/TodosRelatedToEntityComponent.html create mode 100644 documentation/components/UiComponent.html create mode 100644 documentation/components/UserAccountComponent.html create mode 100644 documentation/components/UserSecurityComponent.html create mode 100644 documentation/components/ViewActionsComponent.html create mode 100644 documentation/components/ViewDistanceComponent.html create mode 100644 documentation/components/ViewFileComponent.html create mode 100644 documentation/components/ViewLocationComponent.html create mode 100644 documentation/components/ViewTitleComponent.html create mode 100644 documentation/components/WidgetContentComponent.html create mode 100644 documentation/contributing.html create mode 100644 documentation/coverage.html create mode 100644 documentation/dependencies.html create mode 100644 documentation/directives/AbstractEntityDetailsComponent.html create mode 100644 documentation/directives/AdminTabTemplateDirective.html create mode 100644 documentation/directives/BorderHighlightDirective.html create mode 100644 documentation/directives/ConfigurableEnumDirective.html create mode 100644 documentation/directives/CustomFormControlDirective.html create mode 100644 documentation/directives/DisableEntityOperationDirective.html create mode 100644 documentation/directives/DynamicComponentDirective.html create mode 100644 documentation/directives/EditComponent.html create mode 100644 documentation/directives/ExportDataDirective.html create mode 100644 documentation/directives/TabStateMemoDirective.html create mode 100644 documentation/directives/TemplateTooltipDirective.html create mode 100644 documentation/directives/ViewDirective.html create mode 100644 documentation/fonts/ionicons.eot create mode 100644 documentation/fonts/ionicons.svg create mode 100644 documentation/fonts/ionicons.ttf create mode 100644 documentation/fonts/ionicons.woff create mode 100644 documentation/fonts/ionicons.woff2 create mode 100644 documentation/fonts/roboto-v15-latin-300.eot create mode 100644 documentation/fonts/roboto-v15-latin-300.svg create mode 100644 documentation/fonts/roboto-v15-latin-300.ttf create mode 100644 documentation/fonts/roboto-v15-latin-300.woff create mode 100644 documentation/fonts/roboto-v15-latin-300.woff2 create mode 100644 documentation/fonts/roboto-v15-latin-700.eot create mode 100644 documentation/fonts/roboto-v15-latin-700.svg create mode 100644 documentation/fonts/roboto-v15-latin-700.ttf create mode 100644 documentation/fonts/roboto-v15-latin-700.woff create mode 100644 documentation/fonts/roboto-v15-latin-700.woff2 create mode 100644 documentation/fonts/roboto-v15-latin-italic.eot create mode 100644 documentation/fonts/roboto-v15-latin-italic.svg create mode 100644 documentation/fonts/roboto-v15-latin-italic.ttf create mode 100644 documentation/fonts/roboto-v15-latin-italic.woff create mode 100644 documentation/fonts/roboto-v15-latin-italic.woff2 create mode 100644 documentation/fonts/roboto-v15-latin-regular.eot create mode 100644 documentation/fonts/roboto-v15-latin-regular.svg create mode 100644 documentation/fonts/roboto-v15-latin-regular.ttf create mode 100644 documentation/fonts/roboto-v15-latin-regular.woff create mode 100644 documentation/fonts/roboto-v15-latin-regular.woff2 create mode 100644 documentation/graph/dependencies.svg create mode 100644 documentation/guards/AbstractPermissionGuard.html create mode 100644 documentation/guards/EntityPermissionGuard.html create mode 100644 documentation/images/CICD-Flow.svg create mode 100644 documentation/images/architecture_concrete-project.png create mode 100644 documentation/images/architecture_core.png create mode 100644 documentation/images/cascading-delete.png create mode 100644 documentation/images/compodoc-vectorise-inverted.png create mode 100644 documentation/images/compodoc-vectorise-inverted.svg create mode 100644 documentation/images/compodoc-vectorise.png create mode 100644 documentation/images/compodoc-vectorise.svg create mode 100644 documentation/images/config_service.png create mode 100644 documentation/images/coverage-badge-documentation.svg create mode 100644 documentation/images/domain-model.png create mode 100644 documentation/images/entity-details-panels.png create mode 100644 documentation/images/favicon.ico create mode 100644 documentation/images/login-flow-new-user.svg create mode 100644 documentation/images/new-session-flows/initial__offline.svg create mode 100644 documentation/images/new-session-flows/initial__online_correct_pwd.svg create mode 100644 documentation/images/new-session-flows/initial__online_wrong_pwd.svg create mode 100644 documentation/images/new-session-flows/initial__sync_failed.svg create mode 100644 documentation/images/new-session-flows/new-session-flows.md create mode 100644 documentation/images/new-session-flows/normal__right_pwd.svg create mode 100644 documentation/images/new-session-flows/normal__wrong_pwd.svg create mode 100644 documentation/images/new-session-flows/offline__right_pwd.svg create mode 100644 documentation/images/new-session-flows/offline__wrong_pwd.svg create mode 100644 documentation/images/new-session-flows/pwd_changed__new_pwd.svg create mode 100644 documentation/images/new-session-flows/pwd_changed__old_pwd.svg create mode 100644 documentation/images/new-session-flows/sync_failed__local_login_failure.svg create mode 100644 documentation/images/new-session-flows/sync_failed__local_login_success.svg create mode 100644 documentation/images/routed-views.png create mode 100644 documentation/images/session-uml.svg create mode 100644 documentation/images/session_classes.png create mode 100644 documentation/images/session_state.png create mode 100644 documentation/images/state_handler.png create mode 100644 documentation/images/system_overview.png create mode 100644 documentation/images/tech-stack.png create mode 100644 documentation/index.html create mode 100644 documentation/injectables/AbilityService.html create mode 100644 documentation/injectables/AdminEntityService.html create mode 100644 documentation/injectables/AlertService.html create mode 100644 documentation/injectables/AnalyticsService.html create mode 100644 documentation/injectables/AttendanceService.html create mode 100644 documentation/injectables/AutoResolutionService.html create mode 100644 documentation/injectables/BackupService.html create mode 100644 documentation/injectables/BooleanDatatype.html create mode 100644 documentation/injectables/ChildrenService.html create mode 100644 documentation/injectables/ComingSoonDialogService.html create mode 100644 documentation/injectables/ConfigImportParserService.html create mode 100644 documentation/injectables/ConfigService.html create mode 100644 documentation/injectables/ConfigurableEnumDatatype.html create mode 100644 documentation/injectables/ConfigurableEnumService.html create mode 100644 documentation/injectables/ConfirmationDialogService.html create mode 100644 documentation/injectables/CouchdbFileService.html create mode 100644 documentation/injectables/CurrentUserSubject.html create mode 100644 documentation/injectables/DataAggregationService.html create mode 100644 documentation/injectables/DataTransformationService.html create mode 100644 documentation/injectables/DatabaseIndexingService.html create mode 100644 documentation/injectables/DateAdapterWithFormatting.html create mode 100644 documentation/injectables/DateDatatype.html create mode 100644 documentation/injectables/DateOnlyDatatype.html create mode 100644 documentation/injectables/DateWithAgeDatatype.html create mode 100644 documentation/injectables/DefaultValueService.html create mode 100644 documentation/injectables/DemoActivityEventsGeneratorService.html create mode 100644 documentation/injectables/DemoActivityGeneratorService.html create mode 100644 documentation/injectables/DemoAserGeneratorService.html create mode 100644 documentation/injectables/DemoChildGenerator.html create mode 100644 documentation/injectables/DemoChildSchoolRelationGenerator.html create mode 100644 documentation/injectables/DemoConfigGeneratorService.html create mode 100644 documentation/injectables/DemoConfigurableEnumGeneratorService.html create mode 100644 documentation/injectables/DemoDataInitializerService.html create mode 100644 documentation/injectables/DemoDataService.html create mode 100644 documentation/injectables/DemoEducationalMaterialGeneratorService.html create mode 100644 documentation/injectables/DemoHealthCheckGeneratorService.html create mode 100644 documentation/injectables/DemoHistoricalDataGenerator.html create mode 100644 documentation/injectables/DemoNoteGeneratorService.html create mode 100644 documentation/injectables/DemoPermissionGeneratorService.html create mode 100644 documentation/injectables/DemoProgressDashboardWidgetGeneratorService.html create mode 100644 documentation/injectables/DemoPublicFormGeneratorService.html create mode 100644 documentation/injectables/DemoReportConfigGeneratorService.html create mode 100644 documentation/injectables/DemoSchoolGenerator.html create mode 100644 documentation/injectables/DemoSiteSettingsGeneratorService.html create mode 100644 documentation/injectables/DemoTodoGeneratorService.html create mode 100644 documentation/injectables/DemoUserGeneratorService.html create mode 100644 documentation/injectables/DownloadService.html create mode 100644 documentation/injectables/DuplicateRecordService.html create mode 100644 documentation/injectables/DynamicValidatorsService.html create mode 100644 documentation/injectables/EntityAbility.html create mode 100644 documentation/injectables/EntityActionsService.html create mode 100644 documentation/injectables/EntityAnonymizeService.html create mode 100644 documentation/injectables/EntityConfigService.html create mode 100644 documentation/injectables/EntityDatatype.html create mode 100644 documentation/injectables/EntityDeleteService.html create mode 100644 documentation/injectables/EntityFormService.html create mode 100644 documentation/injectables/EntityMapperService.html create mode 100644 documentation/injectables/EntitySchemaService.html create mode 100644 documentation/injectables/EventAttendanceDatatype.html create mode 100644 documentation/injectables/EventAttendanceMapDatatype.html create mode 100644 documentation/injectables/FileDatatype.html create mode 100644 documentation/injectables/FilterGeneratorService.html create mode 100644 documentation/injectables/FilterService.html create mode 100644 documentation/injectables/FormDialogService.html create mode 100644 documentation/injectables/GeoService.html create mode 100644 documentation/injectables/HandleDefaultValuesUseCase.html create mode 100644 documentation/injectables/HistoricalDataService.html create mode 100644 documentation/injectables/HorizontalHammerConfig.html create mode 100644 documentation/injectables/ImportColumnMappingService.html create mode 100644 documentation/injectables/ImportService.html create mode 100644 documentation/injectables/KeycloakAuthService.html create mode 100644 documentation/injectables/LanguageService.html create mode 100644 documentation/injectables/LatestChangesDialogService.html create mode 100644 documentation/injectables/LatestChangesService.html create mode 100644 documentation/injectables/LocalAuthService.html create mode 100644 documentation/injectables/LocationDatatype.html create mode 100644 documentation/injectables/LoginStateSubject.html create mode 100644 documentation/injectables/LongTextDatatype.html create mode 100644 documentation/injectables/MockFileService.html create mode 100644 documentation/injectables/MonthDatatype.html create mode 100644 documentation/injectables/NumberDatatype.html create mode 100644 documentation/injectables/PermissionEnforcerService.html create mode 100644 documentation/injectables/PouchDatabase.html create mode 100644 documentation/injectables/PwaInstallService.html create mode 100644 documentation/injectables/QueryService.html create mode 100644 documentation/injectables/RoutePermissionsService.html create mode 100644 documentation/injectables/RouterService.html create mode 100644 documentation/injectables/ScreenWidthObserver.html create mode 100644 documentation/injectables/SearchService.html create mode 100644 documentation/injectables/SessionManagerService.html create mode 100644 documentation/injectables/SessionSubject.html create mode 100644 documentation/injectables/SiteSettingsService.html create mode 100644 documentation/injectables/SqlReportService.html create mode 100644 documentation/injectables/StringDatatype.html create mode 100644 documentation/injectables/SyncService.html create mode 100644 documentation/injectables/SyncStateSubject.html create mode 100644 documentation/injectables/TodoService.html create mode 100644 documentation/injectables/UnsavedChangesService.html create mode 100644 documentation/injectables/UpdateManagerService.html create mode 100644 documentation/injectables/UpdateMetadataDatatype.html create mode 100644 documentation/injectables/UserRoleGuard.html create mode 100644 documentation/interceptors/AcceptLanguageInterceptor.html create mode 100644 documentation/interfaces/AdditionalImportAction.html create mode 100644 documentation/interfaces/AdminTabTemplateContext.html create mode 100644 documentation/interfaces/Aggregation.html create mode 100644 documentation/interfaces/AggregationReport.html create mode 100644 documentation/interfaces/AlertConfig.html create mode 100644 documentation/interfaces/AttendanceInfo.html create mode 100644 documentation/interfaces/AttendanceReport.html create mode 100644 documentation/interfaces/AttendanceStatusType.html create mode 100644 documentation/interfaces/AttendanceWeekRow.html create mode 100644 documentation/interfaces/AverageAttendanceStats.html create mode 100644 documentation/interfaces/BackgroundProcessState.html create mode 100644 documentation/interfaces/BasicFilterConfig.html create mode 100644 documentation/interfaces/BirthdayDashboardConfig.html create mode 100644 documentation/interfaces/BooleanFilterConfig.html create mode 100644 documentation/interfaces/CalculateReportOptions.html create mode 100644 documentation/interfaces/ColumnGroupsConfig.html create mode 100644 documentation/interfaces/ColumnMapping.html create mode 100644 documentation/interfaces/ConfigFieldRaw.html create mode 100644 documentation/interfaces/ConfigurableEnumFilterConfig.html create mode 100644 documentation/interfaces/ConfigurableEnumValue.html create mode 100644 documentation/interfaces/ConfirmationDialogButton.html create mode 100644 documentation/interfaces/ConfirmationDialogConfig.html create mode 100644 documentation/interfaces/ConflictResolutionStrategy.html create mode 100644 documentation/interfaces/Coordinates.html create mode 100644 documentation/interfaces/DashboardConfig.html create mode 100644 documentation/interfaces/DatabaseRules.html create mode 100644 documentation/interfaces/DateRangeFilterConfig.html create mode 100644 documentation/interfaces/DateRangeFilterConfigOption.html create mode 100644 documentation/interfaces/DefaultValueConfig.html create mode 100644 documentation/interfaces/DetailsComponentData.html create mode 100644 documentation/interfaces/DialogViewData.html create mode 100644 documentation/interfaces/DynamicComponentConfig.html create mode 100644 documentation/interfaces/EditProgressDashboardComponentData.html create mode 100644 documentation/interfaces/EntityConfig.html create mode 100644 documentation/interfaces/EntityCountDashboardConfig.html create mode 100644 documentation/interfaces/EntityDetailsConfig.html create mode 100644 documentation/interfaces/EntityListConfig.html create mode 100644 documentation/interfaces/EntityPropertyMap.html create mode 100644 documentation/interfaces/EntitySchemaField.html create mode 100644 documentation/interfaces/EntityWithBirthday.html create mode 100644 documentation/interfaces/EntityWithRecentNoteInfo.html create mode 100644 documentation/interfaces/ExportColumnConfig.html create mode 100644 documentation/interfaces/ExportRow.html create mode 100644 documentation/interfaces/ExportingReport.html create mode 100644 documentation/interfaces/ExtendedAlertConfig.html create mode 100644 documentation/interfaces/FieldGroup.html create mode 100644 documentation/interfaces/FilterOverlayData.html create mode 100644 documentation/interfaces/FilterSelectionOption.html create mode 100644 documentation/interfaces/FlattenedReportRow.html create mode 100644 documentation/interfaces/FormConfig.html create mode 100644 documentation/interfaces/FormFieldConfig.html create mode 100644 documentation/interfaces/GeoLocation.html create mode 100644 documentation/interfaces/GeoResult.html create mode 100644 documentation/interfaces/GroupByDescription.html create mode 100644 documentation/interfaces/GroupConfig.html create mode 100644 documentation/interfaces/HasOrdinal.html create mode 100644 documentation/interfaces/ImportDialogData.html create mode 100644 documentation/interfaces/ImportSettings.html create mode 100644 documentation/interfaces/InteractionType.html create mode 100644 documentation/interfaces/KeycloakUser.html create mode 100644 documentation/interfaces/MapConfig.html create mode 100644 documentation/interfaces/MapPopupConfig.html create mode 100644 documentation/interfaces/MappingDialogData.html create mode 100644 documentation/interfaces/MarkdownPageConfig.html create mode 100644 documentation/interfaces/MatchingEntitiesConfig.html create mode 100644 documentation/interfaces/MatchingSide.html create mode 100644 documentation/interfaces/MatchingSideConfig.html create mode 100644 documentation/interfaces/MenuItem.html create mode 100644 documentation/interfaces/NavigationMenuConfig.html create mode 100644 documentation/interfaces/NewMatchAction.html create mode 100644 documentation/interfaces/NotesDashboardConfig.html create mode 100644 documentation/interfaces/NotesManagerConfig.html create mode 100644 documentation/interfaces/ObservableMatchers.html create mode 100644 documentation/interfaces/Panel.html create mode 100644 documentation/interfaces/PanelComponent.html create mode 100644 documentation/interfaces/PanelConfig.html create mode 100644 documentation/interfaces/ParsedData.html create mode 100644 documentation/interfaces/ParsedJWT.html create mode 100644 documentation/interfaces/PrebuiltFilterConfig-1.html create mode 100644 documentation/interfaces/PrebuiltFilterConfig.html create mode 100644 documentation/interfaces/ProgressDashboardPart.html create mode 100644 documentation/interfaces/ReportCalculation.html create mode 100644 documentation/interfaces/ReportData.html create mode 100644 documentation/interfaces/ReportRow.html create mode 100644 documentation/interfaces/Role.html create mode 100644 documentation/interfaces/SelectableOption.html create mode 100644 documentation/interfaces/SentryBreadcrumbHint.html create mode 100644 documentation/interfaces/SessionInfo.html create mode 100644 documentation/interfaces/SetupWizardConfig.html create mode 100644 documentation/interfaces/SetupWizardStep.html create mode 100644 documentation/interfaces/SimpleDropdownValue-1.html create mode 100644 documentation/interfaces/SimpleDropdownValue.html create mode 100644 documentation/interfaces/SqlReport.html create mode 100644 documentation/interfaces/TableRow.html create mode 100644 documentation/interfaces/TodoCompletion.html create mode 100644 documentation/interfaces/UpdatedEntity.html create mode 100644 documentation/interfaces/UsageAnalyticsConfig.html create mode 100644 documentation/interfaces/ViewConfig.html create mode 100644 documentation/interfaces/ViewDistanceConfig.html create mode 100644 documentation/js/compodoc.js create mode 100644 documentation/js/lazy-load-graphs.js create mode 100644 documentation/js/libs/EventDispatcher.js create mode 100644 documentation/js/libs/bootstrap-native.js create mode 100644 documentation/js/libs/clipboard.min.js create mode 100644 documentation/js/libs/custom-elements-es5-adapter.js create mode 100644 documentation/js/libs/custom-elements.min.js create mode 100644 documentation/js/libs/d3.v3.min.js create mode 100644 documentation/js/libs/deep-iterator.js create mode 100644 documentation/js/libs/es6-shim.min.js create mode 100644 documentation/js/libs/htmlparser.js create mode 100644 documentation/js/libs/innersvg.js create mode 100644 documentation/js/libs/lit-html.js create mode 100644 documentation/js/libs/prism.js create mode 100644 documentation/js/libs/promise.min.js create mode 100644 documentation/js/libs/svg-pan-zoom.min.js create mode 100644 documentation/js/libs/tablesort.min.js create mode 100644 documentation/js/libs/tablesort.number.min.js create mode 100644 documentation/js/libs/vis.min.js create mode 100644 documentation/js/libs/zepto.min.js create mode 100644 documentation/js/menu-wc.js create mode 100644 documentation/js/menu-wc_es5.js create mode 100644 documentation/js/menu.js create mode 100644 documentation/js/routes.js create mode 100644 documentation/js/search/lunr.min.js create mode 100644 documentation/js/search/search-lunr.js create mode 100644 documentation/js/search/search.js create mode 100644 documentation/js/search/search_index.js create mode 100644 documentation/js/sourceCode.js create mode 100644 documentation/js/svg-pan-zoom.controls.js create mode 100644 documentation/js/tabs.js create mode 100644 documentation/js/tree.js create mode 100644 documentation/license.html create mode 100644 documentation/miscellaneous/enumerations.html create mode 100644 documentation/miscellaneous/functions.html create mode 100644 documentation/miscellaneous/typealiases.html create mode 100644 documentation/miscellaneous/variables.html create mode 100644 documentation/modules.html create mode 100644 documentation/modules/AdminModule.html create mode 100644 documentation/modules/AdminModule/dependencies.svg create mode 100644 documentation/modules/AppModule.html create mode 100644 documentation/modules/AppModule/dependencies.svg create mode 100644 documentation/modules/AttendanceModule.html create mode 100644 documentation/modules/BirthdayDashboardWidgetModule.html create mode 100644 documentation/modules/ChildrenModule.html create mode 100644 documentation/modules/ConfigSetupModule.html create mode 100644 documentation/modules/ConfigurableEnumModule.html create mode 100644 documentation/modules/ConflictResolutionModule.html create mode 100644 documentation/modules/CoreModule.html create mode 100644 documentation/modules/CoreModule/dependencies.svg create mode 100644 documentation/modules/CoreTestingModule.html create mode 100644 documentation/modules/CoreTestingModule/dependencies.svg create mode 100644 documentation/modules/DatabaseModule.html create mode 100644 documentation/modules/DatabaseModule/dependencies.svg create mode 100644 documentation/modules/DatabaseTestingModule.html create mode 100644 documentation/modules/DatabaseTestingModule/dependencies.svg create mode 100644 documentation/modules/DemoDataModule.html create mode 100644 documentation/modules/DemoDataModule/dependencies.svg create mode 100644 documentation/modules/EntityCountDashboardWidgetModule.html create mode 100644 documentation/modules/FileModule.html create mode 100644 documentation/modules/FileModule/dependencies.svg create mode 100644 documentation/modules/HistoricalDataModule.html create mode 100644 documentation/modules/ImportModule.html create mode 100644 documentation/modules/ImportModule/dependencies.svg create mode 100644 documentation/modules/LanguageModule.html create mode 100644 documentation/modules/LanguageModule/dependencies.svg create mode 100644 documentation/modules/LatestChangesModule.html create mode 100644 documentation/modules/LatestChangesModule/dependencies.svg create mode 100644 documentation/modules/LocationModule.html create mode 100644 documentation/modules/MarkdownPageModule.html create mode 100644 documentation/modules/MatchingEntitiesModule.html create mode 100644 documentation/modules/MockedTestingModule.html create mode 100644 documentation/modules/MockedTestingModule/dependencies.svg create mode 100644 documentation/modules/NotesModule.html create mode 100644 documentation/modules/PermissionsModule.html create mode 100644 documentation/modules/PermissionsModule/dependencies.svg create mode 100644 documentation/modules/ProgressDashboardWidgetModule.html create mode 100644 documentation/modules/ReportingModule.html create mode 100644 documentation/modules/SchoolsModule.html create mode 100644 documentation/modules/SessionModule.html create mode 100644 documentation/modules/SessionModule/dependencies.svg create mode 100644 documentation/modules/ShortcutDashboardWidgetModule.html create mode 100644 documentation/modules/StorybookBaseModule.html create mode 100644 documentation/modules/StorybookBaseModule/dependencies.svg create mode 100644 documentation/modules/TabStateModule.html create mode 100644 documentation/modules/TabStateModule/dependencies.svg create mode 100644 documentation/modules/TodosModule.html create mode 100644 documentation/overview.html create mode 100644 documentation/pipes/DynamicComponentPipe.html create mode 100644 documentation/pipes/EntityFunctionPipe.html create mode 100644 documentation/pipes/EntityTypeLabelPipe.html create mode 100644 documentation/pipes/FlattenArrayPipe.html create mode 100644 documentation/properties.html create mode 100644 documentation/styles/bootstrap-card.css create mode 100644 documentation/styles/bootstrap.min.css create mode 100644 documentation/styles/compodoc.css create mode 100644 documentation/styles/dark.css create mode 100644 documentation/styles/ionicons.min.css create mode 100644 documentation/styles/laravel.css create mode 100644 documentation/styles/material.css create mode 100644 documentation/styles/original.css create mode 100644 documentation/styles/postmark.css create mode 100644 documentation/styles/prism.css create mode 100644 documentation/styles/readthedocs.css create mode 100644 documentation/styles/reset.css create mode 100644 documentation/styles/stripe.css create mode 100644 documentation/styles/style.css create mode 100644 documentation/styles/tablesort.css create mode 100644 documentation/styles/vagrant.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000000..e69de29bb2 diff --git a/documentation/additional-documentation/concepts.html b/documentation/additional-documentation/concepts.html new file mode 100644 index 0000000000..cd2efbb6f2 --- /dev/null +++ b/documentation/additional-documentation/concepts.html @@ -0,0 +1,180 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + +

Concepts & Architecture

+

This section provides some deeper insights and background about the project's architecture.

+

Please use the menu on the left to jump to the relevant section.

+ +
+
+

results matching ""

+
    +
    +
    +

    No results matching ""

    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/configuration.html b/documentation/additional-documentation/concepts/configuration.html new file mode 100644 index 0000000000..f4eccaf4a1 --- /dev/null +++ b/documentation/additional-documentation/concepts/configuration.html @@ -0,0 +1,597 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + +

    Configuration System

    +

    The config is a json object containing information about how the user interface for a specific project is displayed. +The config is stored in the database and can be updated for a user without changing the code base. +The default config is part of the repository in the config-fix.json file.

    +

    Config data is loaded by the ConfigService and then distributed to the relevant modules. +This document aims to explain how cofiguration defines the rest of the application and all options that can be changed through the config.

    +
    + + + +

    +

    Config Service

    +

    +

    The ConfigService is an Angular service that you can inject anywhere in the code if you need to access configuration values. +It loads the configuration from the database (or the default file if no entry is available) first thing when starting the application.

    +

    Some core services use the ConfigService to dynamically set up parts of the application on startup. +For example the NavigationItemsService creates the menu items as configured +and the RouterService sets up Angular routing defining what components users see. +The config service provides a behavior subject which will notify all subscribers when a new configuration was uploaded. +This can be used for core tasks like setting up the routes or creating the navigation bar.

    +

    Top-level "view" components (i.e. components that are used to define a whole page, not just some building block for a part or section) +receive their config data automatically assigned as @Input() properties mapped from config object property name to an identical component class property. +This is handled by the RoutedViewComponent internally. +(If needed for special cases, you can also access it through the standard Angular router and can access it by injecting ActivatedRoute.)

    +

    Storing config in DB

    +

    Config is currently stored in the normal app database with the fixed _id "_id": "Config:CONFIG_ENTITY". +This document in the database has to contain a single property data that holds the config object whose parts are described here.

    +

    Example:

    +Example :
    {
    +  "_id": "Config:CONFIG_ENTITY",
    +  "data": {
    +    "navigationMenu": {
    +      "items": [ ...],
    +    }
    +    ...
    +  }
    +}

    Uploading and downloading the configuration can be done by admins inside the admin view.

    +
    +

    Config File

    +

    The config file is a json object containing information about what and how things are displayed in the application. +On the top level of the config file, there are four different kinds of entries:

    +
      +
    1. The main navigation menu (navigationMenu)
    2. +
    3. Views defining the UI of each page (view:<path>)
    4. +
    5. Lists of select options for dropdown fields (enum:<category-id>, including available Note categories, etc.)
    6. +
    7. Entity configuration to define [schemas](./entity-schema.html (entity:<entity-id>)
    8. +
    +

    also see User Roles & Permissions

    +

    Navigation Menu

    +

    The top level entry navigationMenu builds the visible and clickable items for the navigation menu on the left hand side of the app. Right now, the navigationMenu has the only subentry items. items contains an array of objects, each object representing one item within the navigation menu. The order of the entries reflects how the navigation menu items are shown in the app.

    +

    Each navigation menu item object has to have the three properties name, icon and link. name hold the inscription of the item in the navigation menu in the app, icon indicates the little icon picture that is shown before the textual inscription of the item in the navigation menu and link contains the URL or view that the user is directed to when clicking on the navigation menu item. For every link given, there necessarily has to be a corresponding view-entry on the top level of the config file.

    +

    Example:

    +Example :
      "navigationMenu": {
    +    "items": [
    +      {
    +        "name": "Dashboard",
    +        "icon": "home",
    +        "link": "/"
    +      },
    +      {
    +        "name": "Children",
    +        "icon": "child",
    +        "link": "/child"
    +      },
    +      ...
    +      {
    +        "name": "Help",
    +        "icon": "question-circle",
    +        "link": "/help"
    +      }
    +    ]
    +  },

    Views

    +

    The largest part of the config file are the views. Each view entry starts with view:. +The part that comes after the colon is what comes after the top level / in the URL of the app. +There has to be one view entry with nothing after the colon, thus directing to the root path that is used as a default one when the user opens the app. +Paths can have multiple parts, e.g. view:admin/conflicts. +If we append :id, then this is used as a parameter directly from the app, e.g. view:child/:id is the path for the child details view where the app provides the child entity id to be viewed to the component.

    +

    The only mandatory field for each view is "component": telling the app which component to use for the respective view. +The component part has to refer to an existing angular component within the app. Components that are valid and may +be used for the view have the @DynamicComponent decorator present

    +

    The two optional fields of each view are "config": and "permittedUserRoles":. +"permittedUserRoles" expects an array of user role strings. +If one or more roles are specified, only users with these roles are able to see this menu item and visit this page in the app.

    +

    What comes within the "config": object depends on the component being used. +The Dashboard-Component for example takes as "widgets:" an array of subcomponents, where every entry has to have a "component:" and may have an own "config:" object. +(This "config" is passed to the component, which receives and handles it by implementing the OnInitDynamicComponent interface)

    +

    Example:

    +Example :
    "view:": {
    +  "component": "Dashboard",
    +  "config": {
    +    "widgets": [
    +      {
    +        "component": "ChildrenCountDashboard"
    +      },
    +      {
    +        "component": "RecentNotesDashboard"
    +      },
    +      {
    +        "component": "NoRecentNotesDashboard",
    +        "config": {
    +          "sinceDays": 28,
    +          "fromBeginningOfWeek": false
    +      }
    +      },
    +      ...

    List components

    +

    List components showing data in a table (such as ChildrenList oder SchoolsList) usually have the four config objects "title", "columns", "columnGroup" (optional) and "filters" (optional). +(These are implemented by the EntityListComponent.)

    +

    The "title" is the text shown in the heading of the component.

    +

    "columns" contains an array of the columns to be displayed. +The configuration for the columns happens with the FormFieldConfiguration interface. +If all the information is available on the schema or through the datatype of a property, it is sufficient to put a string with the name of the property into the columns array.

    +

    Example:

    +Example :
    "view:child": {
    +  "component": "ChildrenList",
    +  "config": {
    +    "title": "Children List",
    +    "columns": [
    +      "projectNumber",
    +      {
    +        "viewComponent": "ChildBlock",
    +        "label": "Name",
    +        "id": "name"
    +      },
    +        ...

    The "columnGroup" object holds the three properties "default", "mobile" and "groups". +"default" and "mobile" hold the names of the group of columns being displayed by default or on a mobile device. +If the "columnGroup" property is not defined, all columns will be displayed. +If "default" or "mobile" is not defined, the first entry of "groups" will be used. +"groups" consists of an array of groups of columns, where every entry has a "name" and an array of column ids within "columns". +Properties that are listed in any of the groups arrays and don't require further configurations, can be omitted from the columns array, the EntityListComponent will automatically add them.

    +

    Example:

    +Example :
    "columnGroup": {
    +  "default": "School Info",
    +  "mobile": "Mobile",
    +  "groups": [
    +  {
    +    "name": "Basic Info",
    +    "columns": [
    +      "projectNumber",
    +      "name",
    +      ...
    +      "status"
    +    ]
    +  },
    +  {
    +    "name": "School Info",
    +    "columns": [
    +      "projectNumber",
    +      "name",
    +      ...
    +    ]
    +  },
    +

    The object "filters" within the config of a list component can be used to create filter options for the list data. +The type of filter will be automatically determined by the datatype of that property. +The filters allow to filter the table by the possible values of a property. +This will create a filter for boolean values with three buttons (all, true, false). +The names of these buttons can be specified using the "true", "false" and "all" option. +The prebuilt option is used to enable or disable filters that contain more logic and are implemented inside the component which is displayed. +This option requires the fields "type" and "id", where "id" matched the id of a prebuilt filter inside a component.

    +

    Example:

    +Example :
    "filters": [
    +  {
    +    "id": "language"
    +  },
    +  {
    +    "id": "privateSchool",
    +    "default": "all",
    +    "true": "Private School",
    +    "false": "Government School",
    +    "all": "All"
    +  },
    +  {
    +    "id": "date",
    +    "type": "prebuilt"
    +  },
    +]

    Detail components

    +

    Detail components can show data of a single entity presented in multiple sections and forms. +(These are implemented by the EntityDetailsModule, in particular the EntityDetailsComponent.)

    +

    You can find details on the config format and its sub-sections from API reference section: EntityDetailsConfig

    +

    The detail component requires three attributes: "icon", "entity" and "panels". +"icon" indicates a little icon that will be rendered on the top of the page. +"entity" expects the name of an entity for which the details page should be created. +This has to match exactly the name of the entity defined by the @DatabaseEntity() annotation. +The entity will then be loaded using the entity name and the id which is read from the URL. +The "panels" field expects an array of panel definitions. +Each panel has a "title" and an array of "components". +The component configuration requires another "title", the "component" that should be rendered (the component has to be defined here OnInitDynamicComponent) and a configuration ("config") which is passed to this component.

    +Example :
        "config": {
    +      "icon": "child",
    +      "entity": "Child",
    +      "panels": [
    +        {
    +          "title": "Basic Information",
    +          "components": [
    +            {
    +              "title": "",
    +              "component": "Form",
    +              "config": { }
    +            }
    +          ]
    +        },
    +        {
    +          "title": "Education",
    +          "components": [
    +            {
    +              "title": "School History",
    +              "component": "PreviousSchools"
    +            },
    +            {
    +              "title": "Literacy Test Results",
    +              "component": "RelatedEntities",
    +              "config": {}
    +            }
    +          ]
    +        }
    +      ]
    +    }

    The Form Component

    +

    The form component is a flexible component that can be used inside the details component. +It allows to dynamically create a form through configuration. +The configuration for this component expects a single field, the "fieldGroups".

    +

    The fieldGroups should be an array of logically related fields and optionally a header displayed above the group of fields. +Each field group is rendered next to each other (as columns). +You can also define only a single field in each fieldGroups entry, to display them next to each other instead of one field taking up full width. +The definitions for the fields is defined by the FormFieldConfiguration +However, the schema definitions of the entity should be sufficient so that only the names of the properties which should be editable in the form have to be provided. +This means instead of placing an object in the fields array, simple strings do the same job.

    +Example :
      "config": {
    +    "fieldGroups": [
    +      { "fields": ["photo"] },
    +      { "fields": ["name", "projectNumber"] }
    +      {
    +        "fields": ["dateOfBirth"],
    +        "header": "Demographics"
    +      }
    +    ]
    +  }

    The PreviousSchools Component

    +

    This component shows a list of ChildSchoolRelations of a child in table. +It can be configured which attributes of the ChildSchoolRelation are shown in the table and how the columns are named. +Possible configurations are single and columns which are both optional. +single is a boolean and if is set to true the component will show which (if any) school the child is currently attending. +This should only be set to true, when the use-case only allows one active school per child. +columns is an object and determines which columns of the ChildSchoolRelation are shown. +The configuration is according to the EntitySubrecordComponent;

    +

    Example:

    +Example :
      "config": {
    +    "single": true,
    +    "columns": [
    +      "schoolId",
    +      "schoolClass",
    +      "start",
    +      "end",
    +      "result",
    +    ],
    +  }

    Entity

    +

    The entity object within the config file can be used to extend and configure existing entities. +The name of the entity to which this config refers comes after the colon in this case "child".

    +

    Attributes

    +

    The attribute field allows to add attributes to an entity: +Configure this as a key-value object with the property name as key and the schema as value, which refers to the entity schemas.

    +

    Example:

    +Example :
    "entity:Child": {
    +    "attributes": {
    +        "address": { "dataType": "string", "label": "Address" },
    +        "phone": { "dataType": "string", "label": "Phone number" },
    +        ...
    +        "health_lastDeworming": { "dataType": "Date", "label": "Last deworming" }
    +    }
    +}
    +

    String representation

    +

    It is possible to overwrite, how an entity is converted to a string using the optional toStringAttributes key. +This expects an array of strings referring to properties of that child which should be printed out. +The order of these strings is also the order in which the property values are printed.

    +

    E.g. while some projects use a name property on a child, others might use firstname and lastname. +In this case they probably want to show both the first and the last name in the app. +To achieve this, the configuration of the Child entity can be extended like this:

    +Example :
    "entity:Child": {
    +    "toStringAttributes": ["firstname", "lastname"],
    +    "attributes": {
    +        "firstname": { ... },
    +        "lastname": { ... },
    +        ...
    +    ]
    +}
    +

    Icons and labels

    +

    For different organisations, entities might refer to different real life objects. +In other words, it is not always suitable to call the entities Child or School and the icon might also be +misleading. +Therefore, the names and icons of entities can be changed through the config. +This allows to change a text like Participants with unhealthy BMI to Patients with unhealthy BMI. +To achieve this a label and labelPlural can be defined in the entity config. +Additionally, the icon property allows to exchange the icon to another one from +the FontAwesome Icon Library.

    +

    This also has to be adjusted when configuring in a different language.

    +

    E.g.

    +Example :
    "entity:Child": {
    +  "label": "Patient",
    +  "labelPlural": "Patients",
    +  "icon": "bed",
    +  ...
    +}

    Option Lists

    +

    Option lists or ConfigurableEnumValues can provide a pre-set list of options for a field +to allow users to easily select an option from a dropdown and ensure that users are not entering random, invalid values.

    +

    Config entries for this purpose have a prefix enum: followed by an id you can freely define (e.g. enum:project-status).

    +

    The value is an array of objects defining the options. Mandatory fields for each option are "id" and "label". +"id" should be written in uppercase letters without spaces (user underscore _ instead). +The "id" should always stay the same as it is written to the database and identifies the value even if you rename the label shown to users. +"label" holds the human-readable text for the dropdown entry or wherever the value is shown to the user. +This text may be changed without any negative effect to data consistency and the change will instantly be visible in all saved entries of this type.

    +

    Example:

    +Example :
    "enum:project-status": [
    +    {
    +        "id": "ACTIVE",
    +        "label": "active"
    +    },
    +    {
    +        "id": "COMPLETED",
    +        "label": "completed the programme"
    +    },
    +    {
    +        "id": "DROPPED",
    +        "label": "dropped out of the programme"
    +    }
    +]

    Defining configurable enum properties

    +

    In order to use such an "enum" in entity fields, you need to set the schema datatype and the form type in the according config objects:

    +

    In the entity, set the dataType to "configurable-enum" and the "additional" to the id of the enum config:

    +Example :
    "entity:Child": {
    +  "attritubtes": { "status": { "dataType": "configurable-enum", "additional": "project-status"  } }
    +  ...

    Display a configurable enum property in the list view

    +

    In the List View columns config, use the "DisplayConfigurableEnum" component for the field:

    +Example :
    "columns": [
    +  {
    +    "component": "DisplayConfigurableEnum",
    +    "title": "Status",
    +    "id": "status"
    +  },
    +  ...
    +]

    Allowing multi select

    +

    A property can also be defined in a way that multiple values can be selected. +To allow multiple selection, additionally isArray should be true. +The following example creates a property materials where multiple values from the materials configurable enum can be selected.

    +Example :
    {
    +  "name": "materials",
    +  "schema": {
    +    "dataType": "configurable-enum",
    +    "isArray": true,
    +    "additional": "materials",
    +    "label": "Materials"
    +  }
    +}

    Defining Note interaction types

    +

    There are a few specially built-in types of enums. +The interaction types available for Notes are configured as the enum:interaction-type.

    +

    In addition to id and label for the interaction types you can optionally also configure "color"and "isMeeting". +"color"can contain a background color for the entry in the form of the hexadecimal code, e.g. #E1F5FE. +"isMeeting" is of the type boolean and tells whether the interaction type refers to a meeting or not.

    +

    Example:

    +Example :
    "enum:interaction-type": [
    +    {
    +        "id": "",
    +        "label": ""
    +    },
    +    {
    +        "id": "HOME_VISIT",
    +        "label": "Home Visit"
    +    },
    +    {
    +        "id": "ANNUAL_SURVEY",
    +        "label": "Annual Survey",
    +        "color": "#FFFDE7"
    +    },
    +    {
    +        "id": "RATION_DISTRIBUTION",
    +        "label": "Ration Distribution",
    +        "color": "#E1F5FE",
    +        "isMeeting": true
    +    }
    +}

    Defining attendance status types

    +

    Another specially built-in type of enums is the attendance status options that can be tracked. +These are configured as the enum:attendance-type.

    +

    Apart from to id and label attendance status types have to also define a few additional properties:

    +
      +
    • shortName: a one letter representation to display to the user
    • +
    • label: a longer, human-readable name of the status
    • +
    • style: string defining a css class to style this attendance status (especially the background-color)
    • +
    • countAs: the logical type of this status for analysis, there are three categories for this: "PRESENT", "ABSENT" and "IGNORE"
    • +
    +

    Example:

    +Example :
    "enum:attendance-status": [
    +
    +    {
    +      "id": "PRESENT",
    +      "shortName": "P",
    +      "label": "Present",
    +      "style": "attendance-P",
    +      "countAs": "PRESENT"
    +    },
    +    {
    +      "id": "ABSENT",
    +      "shortName": "A",
    +      "label": "Absent",
    +      "style": "attendance-A",
    +      "countAs": "ABSENT"
    +    },
    +    {
    +      "id": "EXCUSED",
    +      "shortName": "E",
    +      "label": "Excused",
    +      "style": "attendance-E",
    +      "countAs": "IGNORE"
    +    }
    +
    +
    +

    results matching ""

    +
      +
      +
      +

      No results matching ""

      +
      +
      +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/documentation-structure.html b/documentation/additional-documentation/concepts/documentation-structure.html new file mode 100644 index 0000000000..f5eaad76d7 --- /dev/null +++ b/documentation/additional-documentation/concepts/documentation-structure.html @@ -0,0 +1,212 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
      +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + +

      Documentation Structure

      +

      Our documentation is structured into four different approaches, +following the concept laid out at www.divio.com/blog/documentation:

      +
        +
      1. TUTORIALS
          +
        • learning-oriented
        • +
        • allow the newcomer to get started
        • +
        • are lessons
        • +
        • Analogy: teaching a small child how to cook
        • +
        +
      2. +
      3. HOW-TO GUIDES
          +
        • goal-oriented
        • +
        • show how to solve a specific problem
        • +
        • are a series of steps
        • +
        • Analogy: a recipe in a cookery book
        • +
        +
      4. +
      5. CONCEPTS
          +
        • understanding-oriented
        • +
        • explain
        • +
        • provide background and context
        • +
        • Analogy: an article on culinary social history
        • +
        +
      6. +
      7. REFERENCE
          +
        • information-oriented
        • +
        • describe the machinery
        • +
        • accurate and complete
        • +
        • Analogy: a reference encyclopaedia article
        • +
        +
      8. +
      +

      A good reference and repository of documentation templates also is +The Good Docs Project.

      + +
      +
      +

      results matching ""

      +
        +
        +
        +

        No results matching ""

        +
        +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/entity-system.html b/documentation/additional-documentation/concepts/entity-system.html new file mode 100644 index 0000000000..72617ada24 --- /dev/null +++ b/documentation/additional-documentation/concepts/entity-system.html @@ -0,0 +1,185 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
        +
        + + +
        +
        + + + + + + + + + + + + + + + + + + + + + +

        Entities & Entity Schema

        +
        +

        For us, an "Entity" is an object in the database (and a representation of something in the user's real world, e.g. a "Child" or "School"). +Entities are at the core of the Aam Digital platform and the primary way to customize the system is to adapt and add new entity types.

        +

        The Entity Schema defines the data structure as well as how it is displayed in the UI. +Entity instances also have some generic functionality inherited from the Entity base class.

        +
        +

        see the sub-pages here for details of the various concepts related to the Entity system

        + +
        +
        +

        results matching ""

        +
          +
          +
          +

          No results matching ""

          +
          +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/entity-system/archiving,-anonymizing-and-deleting-entities.html b/documentation/additional-documentation/concepts/entity-system/archiving,-anonymizing-and-deleting-entities.html new file mode 100644 index 0000000000..486c2979a8 --- /dev/null +++ b/documentation/additional-documentation/concepts/entity-system/archiving,-anonymizing-and-deleting-entities.html @@ -0,0 +1,214 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
          +
          + + +
          +
          + + + + + + + + + + + + + + + + + + + + + +

          Archive / Anonymize Entities

          +
          +

          Any entity can be archived (i.e. marked as inactive and hidden from UI by default) or anonymized (i.e. discarding most data and keeping a few selected properties for statistical reports). +This is often preferable to deleting a record completely. Deleting data also affects statistical reports, even for previous time periods. +By anonymizing records, all personal identifiable data can be removed and the remaining stub record can be stored indefinitely, as it is not subject to data protection regulations like GDPR anymore.

          +

          Anonymization is configured as part of the entity schema. +Data of fields that are not explicitly marked to be retained during anonymization is always deleted (anonymization by default).

          +

          To keep some data even after the user "anonymized" a record, configure the anonymize property of the @DatabaseField decorator:

          +
            +
          • anonymize: "retain" will keep this field unchanged and prevent it from being deleted
          • +
          • anonymize: "retain-anonymized" will trigger a special "partial" deletion that depends on the dataType (e.g. date types will be changed to 1st July of the given year, thereby largely removing details but keeping data to calculate a rough age)
          • +
          +

          Cascading anonymization / deletion

          +

          Relationships between entities are automatically handled when the user anonymizes or deletes an entity. +Any related entities that reference the anonymized/deleted entity are checked +and - depending on their configured role - may be updated or anonymized as well.

          +

          The logic follows the scenarios shown below: +

          +

          Data Protection & GDPR regarding anonymization / pseudonomyzation

          +

          The "anonymize" function is implemented specifically for data protection rules requiring to delete personal data. +According to the EU's "General Data Protection Regulation" (GDPR) "anonymous" data does not fall under its regulations:

          +
            +
          • GDPR is not applicable to anonymous data: "The principles of data protection should therefore not apply to [...] personal data rendered anonymous in such a manner that the data subject is not or no longer identifiable." GDPR Recital 26
              +
            • "To determine whether a natural person is identifiable, account should be taken of all the means reasonably likely to be used, such as singling out, either by the controller or by another person to identify the natural person directly or indirectly."
            • +
            • "To ascertain whether means are reasonably likely to be used to identify the natural person, account should be taken of all objective factors, such as the costs of and the amount of time required for identification, taking into consideration the available technology at the time of the processing and technological developments."
            • +
            +
          • +
          • "Pseudonymisation enables the personal data to become unidentifiable unless more information is available whereas anonymization allows the processing of personal data to irreversibly prevent re-identification." source
          • +
          • also see this good overview of anonymization misunderstandings and considerations
          • +
          +

          In the case of records being retained "anonymized" in Aam Digital, we provide a context that makes re-identification even harder:

          +
            +
          • only authorized users of the system can access even the anonymized record (where only a few properties have been retained). Unless the organisation actively shares the data, it remains as securely protected as the personal data managed in Aam Digital.
          • +
          • those authorized users with access to the anonymized records (and therefor a theoretical chance to attempt re-identification) are team members of an organization. They have been screened to be responsible persons and are usually legally bound to keep information confidential.
          • +
          • by default only a few, explicitly selected properties in anonymized records are retained (data minimization by default). As such, both re-identification likelihood and the impact in case of re-identification are reduced as far as possible.
          • +
          +

          --> If our anonymization process is configured thoughfully on a case by case basis to only retain a few data fields that are not easy indirect identifiers, it seems reasonably unlikely that the person can be identified after the anonymization process. Therefore, GDPR should not apply to these records and it is legitimate to retain these for statistical reporting.

          + +
          +
          +

          results matching ""

          +
            +
            +
            +

            No results matching ""

            +
            +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/entity-system/entity-schema.html b/documentation/additional-documentation/concepts/entity-system/entity-schema.html new file mode 100644 index 0000000000..a18cf9a847 --- /dev/null +++ b/documentation/additional-documentation/concepts/entity-system/entity-schema.html @@ -0,0 +1,218 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
            +
            + + +
            +
            + + + + + + + + + + + + + + + + + + + + + +

            Entity Schema

            +
            +

            The Entity Schema defines details of the properties of an entity type. +We define an entity type and its schema in code through a plain TypeScript class and some custom annotations. +Read more on the background and practical considerations in How to create a new Entity Type.

            +

            An example of a schema definition:

            +Example :
            @DatabaseEntity('Child') // configures the database prefix to be used by the Schema system
            +class Note extends Entity {
            +  @DatabaseField() children: Child[];
            +  @DatabaseField() text: string = 'default text';
            +  @DatabaseField() date: Date; // dataType is inferred from the Typescript type
            +  @DatabaseField({dataType: 'month'}) reportingMonth: Date; // sets a specific dataType how this value will be written to the database
            +}

            +

            The logical flow looks something like this:

            +
              +
            1. Entities are requested through the EntityMapperService (entityMapper.load(...))
            2. +
            3. The EntitySchemaService functions as a helper to the EntityMapperService +and takes care of data transformations based on the schema of that entity type.
            4. +
            5. Data from the database is "loaded" into an entity instance to combine the raw data +with its entity class by the EntityMapperService together with the EntitySchemaService.
            6. +
            7. The entity classes themselves only define the schema through the @DatabaseEntity and @DatabaseField decorators +and are otherwise simple Typescript objects.
            8. +
            +

            The process of saving an entity to the database works similarly with EntitySchemaService +supporting the EntityMapperService and transforming the entity object into the desired format to be persisted into the database.

            +
            +

            EntitySchemaService manages a registry of "data types", +i.e. transformation functions that will be called for a specific schema field's dataType.

            +

            Basic data transformations for string, number, date and month are supported by default. +You can register your own types by implementing services extending DefaultDatatype and +providing these through Angular dependency injection using multi: true.

            +

            Also see: How to create a new Datatype.

            +

            Schema options

            +

            The schema definitions contains information regarding the schema transformation as well as how a property can be displayed. +The EntitySchemaField interface shows all configuration options. +If the editComponent and the viewComponent are not set, the default components of this property's datatype will be used. +The description field allows adding further explanation which will be displayed as a tooltip.

            +

            Generic Entity functionalities

            +

            Metadata (created, updated)

            +

            Each record automatically holds basic data of timestamp and user who created and last updated the record. +(see Entity class)

            + +
            +
            +

            results matching ""

            +
              +
              +
              +

              No results matching ""

              +
              +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/extendability-and-plugin-approach.html b/documentation/additional-documentation/concepts/extendability-and-plugin-approach.html new file mode 100644 index 0000000000..fdb1848929 --- /dev/null +++ b/documentation/additional-documentation/concepts/extendability-and-plugin-approach.html @@ -0,0 +1,229 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
              +
              + + +
              +
              + + + + + + + + + + + + + + + + + + + + + +

              Extendability and Plugin Approach

              +

              Aam Digital is designed to be an extendable platform. +We try to define core interfaces that can be implemented in additional feature modules +to implement further functionality in a modular way.

              +

              The following aspects are specifically designed to be extended:

              +
                +
              • DataTypes
                  +
                • transformation functions how data is stored in / read from database
                • +
                • editComponent how data is displayed and edited in forms
                • +
                • viewComponent how data is displayed in tables
                • +
                • importValueMapping to support smart import into the data type
                • +
                • also see How to create a new Datatype
                • +
                +
              • +
              • Entity Types
                  +
                • pre-define a data structure with various fields and custom logic that may be interconnected. This mostly is useful if you implement very specialized UI components for a specific data structure.
                • +
                • any entity type can be extended through config for individual clients (e.g. adding further properties at runtime)
                • +
                • demo data generator to automatically provide useful sample records
                • +
                • also see How to create a new Entity Type
                • +
                +
              • +
              • Views
                  +
                • defining a screen completely, including data loaded, etc. and hook it into the platforms navigation and overall layout
                • +
                +
              • +
              • Sub-Views
                  +
                • defining a screen to display custom details for the entity currently loaded in the active route. The core platform takes care of passing the current entity and config details to the view as inputs.
                • +
                • also see How to create an Entity Details Panel
                • +
                +
              • +
              • Dashboard Widgets
                  +
                • filling the given card template with custom data and visualization
                • +
                +
              • +
              • Filters
                  +
                • specialized logic and UIs to filter list data
                • +
                +
              • +
              • Technical "Backend" Implementations
                  +
                • less common to change, but possible to implement integrations with different technical systems are
                    +
                  • Authentication Services (e.g. switch between native CouchDB users and more advance Keycloak)
                  • +
                  • Database / Local Storage (e.g. switch between PouchDB using IndexedDB and purely in-memory, discardable data storage - or possibly implement an integration with a different system)
                  • +
                  +
                • +
                +
              • +
              +

              The folder structure of the code base (while containing some intertwined legacy structures) also reflects this architecture:

              +
                +
              • src/app/core: generic structures and platform code
              • +
              • src/app/features: more specialized, modular features that plug into the core code (e.g. a location / map integration type)
              • +
              + +
              +
              +

              results matching ""

              +
                +
                +
                +

                No results matching ""

                +
                +
                +
                + +
                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/infrastructure.html b/documentation/additional-documentation/concepts/infrastructure.html new file mode 100644 index 0000000000..8917a86d2e --- /dev/null +++ b/documentation/additional-documentation/concepts/infrastructure.html @@ -0,0 +1,212 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                +
                + + +
                +
                + + + + + + + + + + + + + + + + + + + + + +

                Infrastructure

                +

                Aam Digital is an Angular application and can be deployed on a simple webserver. +To do so we are using Docker and some other tools.

                +

                The following diagram show the actions that are performed when new code changes are published.

                +

                CI/CD Flow

                +

                Dockerfile

                +

                The Dockerfile can be found in /build/Dockerfile. +It provides a stable environment where the application is build, tested and packaged. +It consists of two stages. +The first stage is build on top of a node image and builds the application for production usage and optionally runs tests and uploads the test coverage. +The second stage is build on top of a nginx image and only copies the files from the previous stage, which are necessary for deploying the application. +This process makes the final image as small as possible. +nginx is used to run a lightweight webserver. +The configuration for nginx can be found in /build/default.conf.

                +

                Pull Requests

                +

                Whenever a new pull request is created, GitHub creates a new app on Heroku and posts the link to this app in the PR. +For each new commit of a PR, GitHub then builds the Docker image for this branch. +This includes building the application in production mode, linting the sourcecode and running the tests. +If all these stages pass, GitHub will upload the newly created image to Heroku. +Once this is done, a version of Aam Digital with the new changes included can be visited through the posted link.

                +

                Master Updates

                +

                After approving a PR and merging it into the master, semantic release automatically creates a new tag for this change. +For each new tag a tagged Docker image is uploaded to DockerHub.

                +

                Deploying Aam Digital

                +

                The Docker image from DockerHub can then be downloaded and run via Docker using the following command:

                +
                +

                docker pull aamdigital/ndb-server && docker run -p=80:80 aamdigital/ndb-server

                +
                +

                However, this will only run Aam Digital in demo-mode. +To run Aam Digital with a real database, a new config.json file has to be mounted into the image. +This should have a structure equal to config.default.json (/src/assets/config.default.json). +It holds the information about where to find the remote database, what the name of the app is and in which mode the app is being run.

                +

                The ndb-setup project provides a clear workflow for how to deploy a new instance of Aam Digital and CouchDB. +It extends the Docker image with a docker-compose.yml file which handles all the dependencies. +For further information checkout the README.

                + +
                +
                +

                results matching ""

                +
                  +
                  +
                  +

                  No results matching ""

                  +
                  +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/overall-architecture.html b/documentation/additional-documentation/concepts/overall-architecture.html new file mode 100644 index 0000000000..b3a2945dcc --- /dev/null +++ b/documentation/additional-documentation/concepts/overall-architecture.html @@ -0,0 +1,186 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                  +
                  + + +
                  +
                  + + + + + + + + + + + + + + + + + + + + + +

                  Overall Structure

                  +

                  This is a rough sketch of the architecture of the core system under discussion. The modules and classes shown here are included in the ndb-core repository. +

                  +

                  An actual, specific software system to be used will be based on the core and extend it: +

                  +

                  Folder Structure

                  +

                  The application code is split within the src/app/ directory into modules providing +general features and abstract components (core) and +concrete feature modules for users' use cases (currently only child-dev-project).

                  + +
                  +
                  +

                  results matching ""

                  +
                    +
                    +
                    +

                    No results matching ""

                    +
                    +
                    +
                    + +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/security.html b/documentation/additional-documentation/concepts/security.html new file mode 100644 index 0000000000..1926144718 --- /dev/null +++ b/documentation/additional-documentation/concepts/security.html @@ -0,0 +1,202 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                    +
                    + + +
                    +
                    + + + + + + + + + + + + + + + + + + + + + +

                    Security

                    +

                    We have made both technical and design choices to develop a secure platform. +The Angular framework itself has some in-built protection against common security issues like cross-site scripting attacks (see Angular > Security). +Beyond this, the following measures are implemented:

                    +
                      +
                    • If deployed including our "replication-backend", that server-side API also ensures authenticated users can only access and sync data their account has permissions for.
                    • +
                    • Password policy enforces users to set a strong password including special characters (either via Keycloak or the platforms user profile form)
                    • +
                    • Content Security Policy (CSP) headers restrict connections to and execution of code from sources that are not whitelisted.
                    • +
                    +

                    Content Security Policy (CSP)

                    +

                    CSP headers are set in the nginx server being built from the code base to serve the Angular app. +The whitelisted CSP sources can be overwritten and adapted using a docker environment variable CSP (the default whitelist is defined in the Dockerfile).

                    +
                    +

                    CSP is currently running in "report-only" mode for testing. +Scripts and connections are not yet blocked by default.

                    +
                    +

                    Allowing PouchDB to function under CSP

                    +

                    The browser-side database system PouchDB uses map-reduce functions for indexing which are defined as strings. +It is therefore requiring 'unsafe-eval' in the CSP.

                    +

                    Whitelisting the index.html

                    +

                    To whitelist a specific script section (currently only in the index.html) a CSP hash can be used. +Updating the hash should be necessary only rarely, when that script section changes.

                    +

                    The easiest and most reliable way to get the correct hash is to deploy a production build image and check the browser console. +It states something like "Refused to execute inline script because it violates the following Content Security Policy directive: "...". Either the 'unsafe-inline' keyword, a hash ('sha256-<RELEVANT HASH>')" or a nonce is required." from where you can copy the given hash and include/update it in the CSP headers. +Generating the hash by pasting the script into an online generator does not seem to work, probably because code is minified during the build process.

                    + +
                    +
                    +

                    results matching ""

                    +
                      +
                      +
                      +

                      No results matching ""

                      +
                      +
                      +
                      + +
                      +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/session-and-authentication-system.html b/documentation/additional-documentation/concepts/session-and-authentication-system.html new file mode 100644 index 0000000000..f7e052ca2f --- /dev/null +++ b/documentation/additional-documentation/concepts/session-and-authentication-system.html @@ -0,0 +1,319 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                      +
                      + + +
                      +
                      + + + + + + + + + + + + + + + + + + + + + +

                      Session Handling, Authentication & Synchronisation

                      +

                      This document aims at describing the architecture of the offline-first session handling, focussing on the (Synced)SessionService.

                      + + + + + +

                      Components

                      +

                      The following diagram show which components are involved in managing the session.

                      +

                      class diagram.

                      +

                      There are three implementations of the SessionService interface: LocalSession, RemoteSession and the SyncedSession. +They are described in more detail in the SessionServices section.

                      +

                      State

                      +

                      Lets talk about state for a second. With an offline-first synced session, there is lots of state involved needing to be synced. The following enums are used to define the possible states.

                      +
                        +
                      • LoginState At the beginning or after logout the state is LOGGED_OUT. After successful login, the state changes to LOGGED_IN. Entering wrong credentials will result in LOGIN_FAILED. If login is not possible at the moment (due to bad or no internet) the state is UNAVAILABLE.
                      • +
                      • SyncState At the beginning or without internet the state is UNSYNCED. Once the user logs in the state changes to STARTED. If no problems occur, the state will change to COMPLETED, once all data is synced. If an error occurs the state changes to FAILED.
                      • +
                      +

                      Database User

                      +

                      The DatabaseUser interface mirrors parts of the user documents as it is used by CouchDB (see here). +The most important properties are the name which is equivalent to the username and the roles which is an array of roles the user has. +The name can be used to assign e.g. notes to a user or find the User entity in the database. +The roles are used to check whether the user has permissions to visit certain pages or edit certain entities.

                      +

                      Local User

                      +

                      The LocalUser interface is used by the LocalSession to store user information in the local storage. +Additionally to the fields of the DatabaseUser interface it holds the encrypted password together with information how the password is encrypted. +This can be used to verify the password later on.

                      +

                      Session Services

                      +

                      The SessionService interface provides methods for login, logout and user access. +These methods need to be implemented to create a working session.

                      +

                      Local Session

                      +

                      The LocalSession manages a session without internet. It can be used for demo purposes or when no network connection is available. +The session loads LocalUser objects from the local storage and uses the encrypted password to validate login credentials. +It provides an additional method to save DatabaseUser objects together with the password to the local storage. +If the password matches, it returns LoginState.LOGGED_IN. +If the username matches an existing username but the password is wrong, it returns LoginState.LOGIN_FAILED. +If the username does not match any saved users, it returns LoginState.UNAVAILABLE.

                      +

                      Remote Session

                      +

                      The RemoteSession directly authenticates against a CouchDB instance. +It uses the _session endpoint of the CouchDB API for cookie-authentication. +Once successfully logged in, a cookie is stored and sent with any further request to CouchDB. +This cookie is valid for 10 minutes and renewed by CouchDB if regular requests occur. +If the password matches, it returns LoginState.LOGGED_IN. +If CouchDB returns are 401 error (unauthorized), it returns LoginState.LOGIN_FAILED. +If the requests fails with an error message other thatn 401, it returns LoginState.UNAVAILABLE.

                      +

                      Synced Session

                      +

                      The SyncedSession combines the LocalSession and the RemoteSession. +It starts the login workflow of both the RemoteSession and the LocalSession at the same time. +It first only waits for the LocalSession because this is faster and also works without internet. +Only if the local login fails the SyncedSession waits for the remote login. +If the remote login succeeds, the returned user object is saved through the LocalSession to allow a local login next time.

                      +

                      The following table shows all possible return values of the local and the remote session and the handling of the synced session. +The error message is shown in the LoginComponent

                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      Remote LoginLocal LoginSynced LoginError Message
                      LOGGED_INLOGGED_INlogin + sync-
                      LOGGED_INLOGIN_FAILEDsync + login-
                      LOGGED_INUNAVAILABLEsync + login-
                      LOGIN_FAILEDLOGGED_INlogin -> logout-
                      LOGIN_FAILEDLOGIN_FAILEDLOGIN_FAILEDUsername and/or password incorrect
                      LOGIN_FAILEDUNAVAILABLELOGIN_FAILEDUsername and/or password incorrect
                      UNAVAILABLELOGGED_INlogin + retry-
                      UNAVAILABLELOGIN_FAILEDLOGIN_FAILEDUsername and/or password incorrect
                      UNAVAILABLEUNAVAILABLEUNAVAILABLEPlease connect to the internet and try again
                      +

                      To illustrate this table, the following flow-diagram shows what happens in the case RemoteLogin: LOGGED_IN and LocalLogin: LoginFailed. +This case happens when the password of a user has been changed on the server, but not locally and the users logs in with the new password.

                      +

                      class diagram.

                      +

                      The flow starts by the user entering a username and a password in the LoginComponent. +First the user credentials are validated against the local session. +This fails possible because the saved password does not match the user-entered one. +Then the synced session waits for the remote login to finish. +In this case the remote login succeeds and the DatabaseUser object can be retrieved from the remote session. +The synced session then stores the DatabaseUser in the local session and after that tries to log in against the local session. +Now that the DatabaseUser has been saved with the new password the local log in succeeds and returns LoginState.LOGGED_IN.

                      + +
                      +
                      +

                      results matching ""

                      +
                        +
                        +
                        +

                        No results matching ""

                        +
                        +
                        +
                        + +
                        +
                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/user-roles-and-permissions.html b/documentation/additional-documentation/concepts/user-roles-and-permissions.html new file mode 100644 index 0000000000..8d90efa369 --- /dev/null +++ b/documentation/additional-documentation/concepts/user-roles-and-permissions.html @@ -0,0 +1,357 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                        +
                        + + +
                        +
                        + + + + + + + + + + + + + + + + + + + + + +

                        User Roles and Permissions

                        +

                        User Roles

                        +

                        User roles are used to restrict what components a user can see and what data a user can access and edit. +These roles are stored in the backend and are available in the frontend after a successful login. +At the moment there are two places, depending on your system setup, where the roles can be defined.

                        +

                        CouchDB

                        +

                        When using CouchDB as authenticator, then the roles are directly stored on the org.couchdb.user document of a user. +A new role can be added to a user by simply adding the name of the role to the user document. +After the next login, the role will be available in the frontend.

                        +

                        Keycloak

                        +

                        When using Keycloak as an authenticator, the roles are assigned through so called Role-Mappings. +To assign a new role to a user, this role first has to be created in the realm. +To do this go to the Keycloak admin console, select the realm for which you want to create a role and go to the Realm +roles menu item. +Here a new role can be created and also a description can be provided for it. +This description should explain non-technical users, what this role is there for. +Default roles that are always available are user_app, admin_app and account_manager. +After a role has been created, the role can be assigned to a user. +This can either be done in the frontend using the UserSecurityComponent or via the Keycloak admin console under _ +Users_ +-> <select user> -> Role mapping -> Assign role.

                        +

                        Permissions

                        +

                        Aam Digital allows to specify permissions to restrict access of certain user roles to the various entity types. +Permissions are defined using the CASL JSON syntax +. +The permissions are stored in a config object which is persisted together with other +entities in the database.

                        +

                        Permission structure

                        +

                        As an example, we will define a permission object which allows users with the role user_app not to create, read +, update and delete HealthCheck entities and not create and delete School and Child entities. +Besides that, the role is allowed to do everything. +A second role admin_app is allowed to do everything. +Additionally, we add a default rule which allows each user (independent of role) to read the Config entities. +Default rules are prepended to the rules of any user and allow to configure user-agnostic permissions. +The default rules can be overwritten in the role-specific rules.

                        +Example :
                        {
                        +  "_id": "Config:Permissions",
                        +  "data": {
                        +    "default": [
                        +      {
                        +        "subject": "Config",
                        +        "action": "read"
                        +      }
                        +    ],
                        +    "user_app": [
                        +      {
                        +        "subject": "all",
                        +        "action": "manage"
                        +      },
                        +      {
                        +        "subject": "HealthCheck",
                        +        "action": "manage",
                        +        "inverted": true
                        +      },
                        +      {
                        +        "subject": [
                        +          "School",
                        +          "Child"
                        +        ],
                        +        "action": [
                        +          "create",
                        +          "delete"
                        +        ],
                        +        "inverted": true
                        +      }
                        +    ],
                        +    "admin_app": [
                        +      {
                        +        "subject": "all",
                        +        "action": "manage"
                        +      }
                        +    ]
                        +  }
                        +}

                        The _id property needs to be exactly as displayed here, as there is only one permission object allowed in a single +database. +In data, the permissions for each of the user role are defined. +In this example we have permissions defined for two roles: user_app and admin_app. +The permissions for a given role consist of an array of rules.

                        +

                        In case of the user_app, we first define that the user is allowed to do everything. +subject refers to the type of entity and all is a wildcard, that matches any entity. +action refers to the operation that is allowed or permitted on the given subject. +In this case manage is also a wildcard which means any operation is allowed. +So the first rule states any operation is allowed on any entity.

                        +

                        The second and third rule for user_app restrict this through the "inverted": true keyword. +While the first rule defined what this role is allowed to do, when "inverted": true is specified, this rule +defines what the role is not allowed to do. +This allows us to easily take permissions away from a certain role. +In this case we don't allow users with this role to perform any operation on the HealhCheck entity and no create +and update on Child and School entities. +Other possible actions are read and update following the CRUD concept.

                        +

                        The admin_app role simpy allows user with this role to do everything, without restrictions.

                        +

                        To learn more about how to define rules, have a look at +the CASL documentation.

                        +

                        It is also possible to access information of the user sending the request. E.g.:

                        +Example :
                        {
                        +  "subject": "org.couchdb.user",
                        +  "action": "update",
                        +  "fields": [
                        +    "password"
                        +  ],
                        +  "conditions": {
                        +    "name": "${user.name}",
                        +    "projects": {
                        +      "$in": "${user.projects}"
                        +    }
                        +  }
                        +}

                        This allows users to update the password property of their own document in the _users database. +Placeholders can currently access properties that the replication-backend explicitly adds to the auth user object. +Other available values are ${user.roles} (array of roles of the user) and ${user.projects} (the "projects" attribute of the user's entity that is linked to the account through the "exact_username" in Keycloak).

                        +

                        For more information on how to write rules have a look at the CASL documentation.

                        +

                        Implementing components with permissions

                        +

                        This section is about code using permissions to read and edit entities. +If you want to change the menu items which are shown in the navigation bar have a look at the views section in +the Configuration Guide.

                        +

                        The permission object is automatically fetched whenever a user logs in. +The permissions disable certain buttons based on the users overall permissions. +This is done in the app through +the DisableEntityOperationDirective, which connects certain +buttons with their operation.

                        +

                        As an example lets say we have a class variable called note which holds an object of the Note entity. +We want to create a button which allows to edit this note. +In the HTML template we could write the following in order to automatically connect it to the permission system:

                        +Example :
                        
                        +<button
                        +  *appDisabledEntityOperation="{
                        +        entity: note,
                        +        operation: 'update'
                        +    }"
                        +>
                        +  Edit Note
                        +</button>

                        This will automatically disable the button if the user is not allowed to update this specific note.

                        +

                        To check permissions inside a *.ts file, you can inject the EntityAbility:

                        +Example :
                        import { Note } from "./note";
                        +import { Injectable } from "@angular/core";
                        +import { EntityAbility } from "./permission-types";
                        +
                        +@Injectable()
                        +export class SomeService {
                        +  constructor(private ability: EntityAbility) {
                        +    if (this.ability.can("create", Note)) {
                        +      // I have permissions to create notes
                        +      const note = new Note();
                        +    } else {
                        +      // I don't have permissions to create notes
                        +      throw Error("Missing permissions");
                        +    }
                        +  }
                        +}

                        In this example the EntityAbility service is used to check whether the currently logged in user is allowed to create +new objects of the Note entity. +In this case a constructor is provided to check for the permissions, +in other cases it might make more sense to use an instance of an object like this.ability.can('read', new Note()).

                        +

                        Permissions in production

                        +

                        As permissions cannot directly be created and edited from within the app at the moment, you can use the following steps +to define permissions for a deployed system:

                        +
                          +
                        1. using CouchDB Fauxton GUI to edit database documents directly: +Look for or create the document with "_id": "Config:Permissions" and define the permissions as described above.
                        2. +
                        3. After saving the new permissions document, update the replication backend about the updated permissions: +Visit https://<your-system-domain>/db/api/ to use the OpenAPI interface for this.
                        4. +
                        5. There in Servers select /db deployed.
                        6. +
                        7. Click on Authorize enter valid user credentials and click Login.
                        8. +
                        9. Make a request to the POST /rules/{db}/reload endpoint, where {db} is the active database, e.g. app. If +successful, the response will show the newly fetched rules.
                        10. +
                        11. In case some users might have gained access to documents to which they did not have access before, +also trigger the POST /{db}/clear_local endpoint, where {db} again is the active database. +The /{db}/clear_local endpoint will ensure that each client re-checks whether new objects are available for +synchronization. +This should also be used in case an existing user has gotten a new, more powerful role. +In case a user lost permissions for objects that were already synced, this users local DB will automatically be +destroyed and the user has to synchronize all data again.
                        12. +
                        +

                        The roles assigned to users are specified in the user documents in the _users database of CouchDB.

                        +

                        Permissions in development

                        +

                        When trying to test out things with the permissions, +the DemoPermissionGeneratorService can be modified to change the +permission object which is created in the demo data. +These changes should not be committed however, as this demo data is also used in the publicly available demo.

                        +

                        The demo data comes with two user: demo and demo-admin. +The demo user has the role user_app, the demo-admin has the roles user_app and admin_app. +The permissions of the latter overwrite the permissions of the former.

                        + +
                        +
                        +

                        results matching ""

                        +
                          +
                          +
                          +

                          No results matching ""

                          +
                          +
                          +
                          + +
                          +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/concepts/ux-guidelines.html b/documentation/additional-documentation/concepts/ux-guidelines.html new file mode 100644 index 0000000000..115b1442e5 --- /dev/null +++ b/documentation/additional-documentation/concepts/ux-guidelines.html @@ -0,0 +1,187 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                          +
                          + + +
                          +
                          + + + + + + + + + + + + + + + + + + + + + +

                          UX Guidelines

                          +

                          The user should have a consistent experience across all areas of the app +(i.e. whether editing needs to be enabled, how changes can be undone, how and how long notifications are displayed). +More and more these actions will be generalized by components and services that we will use for our implementation of a specific form or page. +Until then, our UX "policy" is loosely documented below:

                          +
                            +
                          • Deleting an entity is always possible to undo by a simple SnackBar Action in the related SnackBar notification, shown for 8 seconds.
                          • +
                          • Views/Forms are by default not editable and have to be enabled through an "Edit" button.
                          • +
                          • Changes in forms are not saved automatically and have to be confirmed through a "Save" button.
                          • +
                          + +
                          +
                          +

                          results matching ""

                          +
                            +
                            +
                            +

                            No results matching ""

                            +
                            +
                            +
                            + +
                            +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides.html b/documentation/additional-documentation/how-to-guides.html new file mode 100644 index 0000000000..57bc1b4ba6 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides.html @@ -0,0 +1,180 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                            +
                            + + +
                            +
                            + + + + + + + + + + + + + + + + + + + + + +

                            How-To Guides

                            +

                            This section gives you concrete step-by-step manuals to implement common requirements.

                            +

                            Please use the menu on the left to jump to the relevant section.

                            + +
                            +
                            +

                            results matching ""

                            +
                              +
                              +
                              +

                              No results matching ""

                              +
                              +
                              +
                              + +
                              +
                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui.html b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui.html new file mode 100644 index 0000000000..b4fbfba6c5 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui.html @@ -0,0 +1,355 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                              +
                              + + +
                              +
                              + + + + + + + + + + + + + + + + + + + + + +

                              How to build components that can be localized

                              +

                              Short Answer

                              +
                                +
                              1. In your html-components, mark any text that should be translated +using the i18n directive:

                                +Example :
                                <button i18n-title="<meaning>|<description>" title="I am a button" i18n="<meaning>|<description>">Click me!</button>
                              2. +
                              3. In your other components, mark strings that may be translated +using the localize function:

                                +Example :
                                const notification = $localize`I have eaten all ${number} Muffins`;
                              4. +
                              +

                              Elaborate Answer

                              +

                              The i18n-directive

                              +

                              The i18n directive allows up to three optional arguments. The first two - +meaning and description - are used to aid translators while analyzing the +texts. The third one is an optional ID. This ID is generated by angular and +does not have to be provided.

                              +

                              If different components have the same content and the same meaning, they will +be merged automatically, it is therefore not required (and will, in fact, +generate a warning) to assign a custom id to components that should be +translated in the same way. To enable this behavior, the same content and +meaning should be provided.

                              +

                              The meaning of a text message is important so that translators can understand +what the text should represent, even without having to see the actual website. +Take this example:

                              +Example :
                              <span i18n>Address of {{user}}: {{user.address}}</span>

                              Without further knowledge, what does address refer to? The physical address +of the user, or his internet-address? +It is therefore always good practice including a meaning and further description +like so:

                              +Example :
                              <span i18n="Address field|The address that a user lives at"> Address of {{user}} </span>

                              The i18n directive can also be used to translate tooltips, titles and other +attributes of the element. This is done by writing i18n-title, +i18n-matTooltip, e.t.c. The rules are the same as for the regular directive.

                              +

                              The localize-function

                              +

                              While html-elements can be marked for translation using the i18n directive, +the same is not true for strings in non-html components. To enable localization +here, the function $localize() is used. It is comparable to the directive, +however some small changes have to be taken into account:

                              +
                                +
                              1. Meaning and description of the string to translate are in front of the actual +string and are marked using two colons (:).
                              2. +
                              3. The translate-function is special in that it conceptually does not have +parameters. Instead, the string is directly written after the identifier
                              4. +
                              +

                              Example:

                              +Example :
                              alertService.warn($localize`:Illegal input warning:Please provide the correct input for ${field}`);

                              Variables inside the string can be of arbitrary complexity and are escaped using the +${} syntax.

                              +

                              Generate translation files

                              +

                              This is just a quick overiew.For more information, refer to the +How to add another language guide +and the How to edit, update and work with XLF files guide.

                              +

                              Once content with the process of marking fields as translatable and providing +good and understandable meaning to these fields, translation-files can be +generated. This is done using the extract-i18n-script (Can be found in the +file package.json). This script will generate one +"Base file" and will also generate and update existing translation files +for all locales given in the script. These will be located in the +locale directory. +XLF files are standardized and can be read using standard tools such as +the Online XLIFF Editor

                              +

                              The translation files are in xml-format. After some preambles, there are +characteristic blocks that follow all the same schema; blocks like this:

                              +Example :
                              <trans-unit id="947fb7a14ab3d88dbe2ab508622f33bfcae44ad5" datatype="html">
                              +  <source> Change Password </source>
                              +  <context-group purpose="location">
                              +    <context context-type="sourcefile">src/app/core/user/user-account/user-account.component.html</context>
                              +    <context context-type="linenumber">126,127</context>
                              +  </context-group>
                              +  <note priority="1" from="description">Change password button</note>
                              +</trans-unit>

                              The <source> section is this the original string that we defined in code or html. +If you are not in the messages.xlf file but in any other messages.<locale>.xlf file, +you can provide translations. for the locale. For a list of common and standardized locales, +see the ISO-639-2 standard.

                              +

                              To provide a translation, add the <target> tag inside the <trans-unit> +tag (assuming we are inside messages.de.xlf and therefore looking for a +german translation):

                              +Example :
                              <trans-unit id="947fb7a14ab3d88dbe2ab508622f33bfcae44ad5" datatype="html">
                              +  <source> Change Password </source>
                              +  <target> Passwort ändern </target>
                              +  <context-group purpose="location">
                              +    <context context-type="sourcefile">src/app/core/user/user-account/user-account.component.html</context>
                              +    <context context-type="linenumber">126,127</context>
                              +  </context-group>
                              +  <note priority="1" from="description">Change password button</note>
                              +</trans-unit>

                              If all source tags are processed, the translation-process is done!

                              +

                              The building process

                              +

                              To build the app for a specific locale, enter that locale inside +angular.json at

                              +Example :
                              {
                              +  ...
                              +  "options": {
                              +    "localize": ["<your locale>"]
                              +  }
                              +}

                              For the German version for example, just add

                              +Example :
                              {
                              +  "localize": ["de"]
                              +}

                              at the end of "projects" --> "ndb-core" --> "architect" --> "build" before the "configuration"-section starts.

                              +

                              Since the build process is fairly complex, only one locale is allowed during +development. The locale must be inside the locale-folder and be of type +messages.<your locale>.xlf

                              +

                              Angular will not translate the components on the fly. Instead, it will +generate a separate app for each and every component provided in the +localize array.

                              +

                              Other types of localization

                              +

                              Texts are not the only thing characterizing an international app. Other data +has a different expression in different cultures. To enable this, several pipes +can be used to transform that data automatically. For example:

                              +Example :
                              <span>It's a nice day {{today | date}}</span>

                              Will transform the date to different locales. +Pre-built pipes are

                              +
                                +
                              • DatePipe: Formats a date
                              • +
                              • CurrencyPipe: Transforms a number to a currency string
                              • +
                              • DecimalPipe: Transforms a number into a decimal string with given accuracy
                              • +
                              • PercentPipe: Transforms a number to a percent-string
                              • +
                              +

                              ICU-Components

                              +

                              ICU is another standard that Angular uses to localize strings. There +are two ICU-standards of interest: Pluralization and Selection

                              +

                              Pluralization

                              +

                              Some phrases contain plurals, such as

                              +Example :
                              <span>The game starts in {{minutesTillStart}} minutes</span>

                              This can produce the incorrect result of "The game starts in 1 minutes". To +improve this, one should use plural forms. These have the following syntax:

                              +Example :
                              { amount, plural, =0 {none} =1 {one} other {other cases} }

                              amount is the selector - how much actually exists. Following this, +the plural selector follows, indicating that this is a pluralized form. +Finally, the different values that one can pluralize are described. Legal +values are

                              +
                                +
                              • =x matches, when the amount is exactly that value
                              • +
                              • one
                              • +
                              • two
                              • +
                              • few
                              • +
                              • many
                              • +
                              • others
                              • +
                              +

                              others matches all amounts that cannot be matched by anything else. So the +text above could be pluralized like this:

                              +Example :
                              <span>The game starts { minutesTillStart, plural,
                              +  =0 {right now}
                              +  one {in one minute}
                              +  others {in {{minutesTillStart}} minutes} }
                              +</span>

                              Selection

                              +

                              Selection selects one option of a set of selections. A suitable example +for this is the gender of a person:

                              +Example :
                              This is {{person}}. {gender, select, male {He} female {She}} is a nice person.

                              Can be translated to the variants "This is Tom. He is a nice person" as well as +"This is Nancy. She is a nice person". The syntax is:

                              +Example :
                              {variable, select optionA {value_optionA} optionB {value_optionB} ...}

                              The variable's type is arbitrary, however the options have to make sense. +Types that are known to work well are the standard types of strings, numbers +and booleans.

                              +

                              Do's and dont's

                              +
                                +
                              • Try to keep your translatable texts as simple as possible concerning the +amount of string-interpolation or computation inside the {{}}-Blocks. This +makes it easier for translators

                                +
                              • +
                              • It may be tempting sometimes to do a 'string-in string' interpolation like so:

                                +Example :
                                <div>
                                +My cat likes milk {{catLikesCheese ? "and cheese" : ""}}
                                +</div>

                                This must not be done. It is hard for translators to understand what's +going on inside the interpolation, and the translated text might not +be accepted by Angular's localize-package. Instead, you could use a +custom getter:

                                +Example :
                                get catYumYum(): string {
                                +  return $localize`My cat likes milk${andMore}`;
                                +}
                                +get andMore(): string {
                                +  return catLikesCheese ? " " + $localize`and cheese` : "";
                                +}
                                Example :
                                <div>{{catYumYum}}</div>

                                where both parts can be localized individually. It is important +to provide a good description here.

                                +

                                Another possibility is to use the ICU selection syntax:

                                +Example :
                                <div>
                                +My cat likes milk { catLikesCheese, select, true {And Cheese} false {} }
                                +</div>
                              • +
                              • Using the $localize function, the placeholders can accept id's that +might simplify the translation process:

                                +Example :
                                $localize`Hello, ${v123}:HELLO_VAR:`;

                                In this example, HELLO_VAR is the id for the variable-substitution +v123. A descriptive id might aid in the translation process.

                                +

                                This is not possible using the i18n tag. In this case, the id +will implicitly be INTERPOLATION and cannot be changed

                                +
                              • +
                              + +
                              +
                              +

                              results matching ""

                              +
                                +
                                +
                                +

                                No results matching ""

                                +
                                +
                                +
                                + +
                                +
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/add-another-language.html b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/add-another-language.html new file mode 100644 index 0000000000..173887fafe --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/add-another-language.html @@ -0,0 +1,252 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                +
                                + + +
                                +
                                + + + + + + + + + + + + + + + + + + + + + +

                                How to add another language to the project

                                +

                                Abstract

                                +

                                This guide depicts the workflow one needs to go through to add another language +(such as hindi, bengali, french e.t.c.) to the project

                                +

                                1) Find the correct language code

                                +

                                You first need the correct ISO-639-2 Language-Code. To find this code for a given +language, go to their website +and find the code that corresponds to your language (look in the ISO 639-1 Code column). +For example, for french, this would be fr, for hindi, this would be hi

                                +

                                In addition to a language code, you might consider specifying a country if the spoken language can +differ based on where the app should be shipped to. For example, English is spoken differently +in the US (en-US), Great-Britain (en-GB) or Australia (en-AU). +A list of available country codes can be found here. +Once you have the language and country code, the resulting code is language code-country code.

                                +

                                2) Let xliffmerge know about the new language

                                +

                                xliffmerge is a tool that helps in the translation process. Especially, it is needed to +update the language files while retaining old translations.

                                +

                                Go to xliffmerge.json and add your language code to the languages section. +Again, for french, this could look like this:

                                +Example :
                                {
                                +  ...
                                +  "languages": [
                                +    // other languages
                                +    "fr"
                                +  ]
                                +}

                                3) Create a localization-file

                                +

                                In order to allow the actual translation process to take place, you need to create a +standardized file that translators can work with. The standard that we use is xlf.

                                +

                                To generate a file, simply use the script extract-i18n located inside the package.json +file. This will automatically generate the needed file if none exists

                                +

                                4) Add language icon

                                +

                                Go to the LanguageService and add the language to the list of availableLocales. +This allows the app to show the langauge icon in the language select component.

                                +

                                5) Include language in bundle

                                +

                                To reduce the bundle size, only supported languages are shipped with the production build. +To support a language by Angular (dates, units etc.) add the language to the webpack include in the main.ts +file:

                                +Example :
                                const localeModule = await import(
                                +  /* webpackInclude: /(fr|de)\.mjs/ <-- add language between the brackets sepreated by a pipe symbol */
                                +  `../node_modules/@angular/common/locales/${locale}`
                                +);

                                6) Test your build

                                +

                                Run the app. +You can change the language in the top right corner. +If you have not added translations, the app will be in english. +Try to translate some units.

                                +

                                In order to do this, go to the newly created src/locale/messages.<locale>.xlf file. +Inside this file, you will find a lot of"trans-units". These mark single texts that +you can translate. Translate one or more of these units by replacing the content of +the target. For example:

                                +Example :
                                
                                +<trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48" datatype="html">
                                +  <source>Username</source>
                                +  <target state="translated">Nom d'utilisateur</target>
                                +  <context-group purpose="location">
                                +    <context context-type="sourcefile">src/app/core/admin/user-list/user-list.component.html</context>
                                +    <context context-type="linenumber">7,8</context>
                                +  </context-group>
                                +  <context-group purpose="location">
                                +    <context context-type="sourcefile">src/app/core/session/login/login.component.html</context>
                                +    <context context-type="linenumber">32</context>
                                +  </context-group>
                                +  <context-group purpose="location">
                                +    <context context-type="sourcefile">src/app/core/user/user-account/user-account.component.html</context>
                                +    <context context-type="linenumber">26</context>
                                +  </context-group>
                                +</trans-unit>

                                You can change the state to "translated" as shown in the picture (but this is not required). +Leave everything else as it is and test the app again. Translations should appear for each +trans-unit that you have translated.

                                +

                                A more detailed overview can be found in Guide +How to edit, update and work with XLF files.

                                +

                                Conclusion

                                +

                                You have now successfully added the capability to translate the app into the target +language. You can now take the translation file ("src/locale/messages.<your locale>.xlf") and +send it to a translator to have it translated. Once this process is done, replace the +preliminary translation file with the one that comes back from a translator.

                                + +
                                +
                                +

                                results matching ""

                                +
                                  +
                                  +
                                  +

                                  No results matching ""

                                  +
                                  +
                                  +
                                  + +
                                  +
                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/work-with-xlf.html b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/work-with-xlf.html new file mode 100644 index 0000000000..2ba78aa84d --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/build-localizable-(translatable)-ui/work-with-xlf.html @@ -0,0 +1,259 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                  +
                                  + + +
                                  +
                                  + + + + + + + + + + + + + + + + + + + + + +

                                  How to edit, update and work with XLF files

                                  +

                                  "xlf-files" are the files generated by the extract-i18n script. They conform to the +XLIFF Standard (Version 1.2)

                                  +

                                  How to create XLF files

                                  +

                                  You create XLF files automatically when you specify a new language. For details on how +this works, have a look at the Add another Language guide.

                                  +

                                  How to update XLF files

                                  +

                                  Angular does not natively support updating old files. To do this, +xliffmerge is used. This process takes into account old translations and +merges them with new translations so that the number of items to translate +stays at a minimum. Various configuration-options can be found at +xliffmerge.json with the most interesting being

                                  +
                                    +
                                  • allowIdChange - whether the tool is allowed to merge translation-units +with different ID's. This can be desired if two units have the same meaning and +text, but differ in - for example - the amount of leading whitespaces.

                                    +
                                  • +
                                  • autotranslate - experimental feature, can automatically translate the english +file using Google Translate

                                    +
                                  • +
                                  • beautifyOutput - makes the output more human-readable

                                    +
                                  • +
                                  +

                                  Updating language files has several implications:

                                  +
                                    +
                                  • When a message is obsolete (you deleted the message from the code) it gets removed
                                  • +
                                  • Multiple messages (messages with the same description and meaning) are merged +automatically
                                  • +
                                  • New messages will be added to the list automatically. These will have the state new
                                  • +
                                  +
                                  +

                                  Hint: If you added new texts to translate and used xliffmerge, you can find those by +searching for the string "new"

                                  +
                                  +

                                  Available Tools

                                  +

                                  There are several tools that can be used to translated in a graphically appealing way. +This is an incomplete list of some of these tools:

                                  +
                                    +
                                  • Online XLIFF Editor: A free editor that has limited +capabilities
                                  • +
                                  • PO Editor: A capable editor that you need an +acount for but is limited to 1000 strings with a free account
                                  • +
                                  • Lokalize: +A tool that highlights <x .../> tags which prevents a user to accidentally delete them +but lacks other features. Limited free version
                                  • +
                                  • OmegaT: A free tool for Windows, Mac and Linux with limited +capabilities
                                  • +
                                  +

                                  Manual Translation

                                  +

                                  You can also do this manually in the XLF Document. The process is as follows:

                                  +
                                    +
                                  1. Find the file for your locale, named messages.<locale>.xlf. They can be found +in the locale folder. This file consists of several 'trans-unit's. +Each of them consists of several sections. Here is an example of such a trans unit for german (de)Example :
                                    <trans-unit id="2c2620b14c4290b8f8c0c90abc6b6b17bff06ec6" datatype="html">
                                    +  <source>class <x id="INTERPOLATION" equiv-text="{{ entity?.schoolClass }}"/></source>
                                    +  <target state="translated">Klasse <x id="INTERPOLATION" equiv-text="{{ entity?.schoolClass }}"/></target>
                                    +  <context-group purpose="location">
                                    +    <context context-type="sourcefile">src/app/child-dev-project/children/child-block/child-block.component.html</context>
                                    +    <context context-type="linenumber">34</context>
                                    +  </context-group>
                                    +  <note priority="1" from="description">e.g. 'class 8'</note>
                                    +  <note priority="1" from="meaning">The class a child is attending</note>
                                    +</trans-unit>
                                      +
                                    • Inside the trans-unit we see the two tags id and datatype. The id is a unique id +that belongs to this trans unit. It can also be a custom, more descriptive id. In most +cases, this is a generated id that you should pay no attention to when translating.
                                    • +
                                    • The datatype is always html, disregarding regardless of whether this actually came +from an html file.
                                    • +
                                    • The source is the text that should be translated. This may not be altered.
                                    • +
                                    • The target is the translation. Any special elements, such as <x ... /> must not be +changed. The content of them can be ignored. Additionally, a state can be associated +with a translation. There are two common states: new and translated indicating that +a new message has been added and has not been translated resp. that a message has already +been translated. Additional states can be found at the website of the standard.
                                    • +
                                    • The context-group contains information where the text got extracted from. It can be +ignored and must not be changed.
                                    • +
                                    • Further notes are attached to trans units in order to ease the translation process. +You should also not change them, but they will be helpful.
                                    • +
                                    +
                                  2. +
                                  3. Translate the target of all trans units.
                                  4. +
                                  + +
                                  +
                                  +

                                  results matching ""

                                  +
                                    +
                                    +
                                    +

                                    No results matching ""

                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/configure-and-customize-a-system.html b/documentation/additional-documentation/how-to-guides/configure-and-customize-a-system.html new file mode 100644 index 0000000000..e9dd1e35be --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/configure-and-customize-a-system.html @@ -0,0 +1,184 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                    +
                                    + + +
                                    +
                                    + + + + + + + + + + + + + + + + + + + + + +

                                    Configure and Customize a System

                                    +

                                    The platform allows very flexible customization of the user interface and data structures to different use cases. +This is usually possible without changes to the code base, using the configuration system.

                                    +
                                    +

                                    This guide is currently only a "stub".

                                    +

                                    For the time being, please refer to the documentation about the Configuration.

                                    +
                                    + +
                                    +
                                    +

                                    results matching ""

                                    +
                                      +
                                      +
                                      +

                                      No results matching ""

                                      +
                                      +
                                      +
                                      + +
                                      +
                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/create-a-custom-view-component.html b/documentation/additional-documentation/how-to-guides/create-a-custom-view-component.html new file mode 100644 index 0000000000..ca576e0670 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/create-a-custom-view-component.html @@ -0,0 +1,224 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                      +
                                      + + +
                                      +
                                      + + + + + + + + + + + + + + + + + + + + + +

                                      How to create a custom View Component

                                      +

                                      We aim to build flexible, reusable components. +If you implement a custom component using the building blocks of Aam Digital's platform, this can seamlessly be displayed both in modal forms and as a fullscreen view.

                                      +

                                      Architecture & Generic wrapper components

                                      +

                                      The following architecture allows you to implement components that only have @Input properties +and do not access either Route or Dialog data directly. +Instead, the platform always uses RoutedViewComponent or DialogViewComponent to parse such context and pass it into your component as simple Angular @Inputs.

                                      +

                                      +

                                      If you implement a special view to display a single entities' details, you should also extend AbstractEntityDetailsComponent with your component. +This takes care of loading the entity from the database, in case it is passed in as an id from the URL.

                                      +

                                      Implementing a custom view Component

                                      +
                                        +
                                      1. Create a new component class
                                      2. +
                                      3. Add any @Input() properties for values that are provided from the config.
                                      4. +
                                      5. For EntityDetails views, you get access to an @Input() entity and @Input() entityConstructor via the AbstractEntityDetailsComponent automatically. Otherwise, you do not have to extend from this.
                                      6. +
                                      7. Use <app-view-title> and <app-view-actions> in your template to wrap the elements (if any) that you want to display as a header and action buttons. +These parts are automatically placed differently in the layout depending on whether your component is display as a fullscreen, routed view (actions displayed top right) or as a dialog/modal (actions displayed fixed at bottom).
                                      8. +
                                      9. Register your component under a name (string) with the ComponentRegistry (usually we do this in one of the modules), so that it can be referenced under this string form the config.
                                      10. +
                                      11. You can then use it in config, as shown below.
                                      12. +
                                      +

                                      Example template for a custom view component:

                                      +Example :
                                      <app-view-title>
                                      +  <!-- the title is specially fixed and receives a back button or dialog close -->
                                      +  My Entity {{ entity.name }}
                                      +</app-view-title>
                                      +
                                      +<!-- anything in the template not specially marked/wrapped is used as main content -->
                                      +<div>My Custom View Content</div>
                                      +
                                      +<app-view-actions>
                                      +  <!-- some action buttons, e.g. using the app-dialog-buttons or anything else -->
                                      +  <app-dialog-buttons [form]="form" [entity]="entity"></app-dialog-buttons>
                                      +</app-view-actions>

                                      An example config for the above:

                                      +Example :
                                      {
                                      +  "component": "MyView",
                                      +  "config": { "showDescription": true }
                                      +}

                                      Use the ComponentRegistry to register your component, +e.g. in its Module:

                                      +Example :
                                      export class MyModule {
                                      +  constructor(components: ComponentRegistry) {
                                      +    components.addAll([
                                      +      [
                                      +        "MyView", // this is the name to use in the config document
                                      +        () => import("./my-view/my-view.component").then((c) => c.MyViewComponent),
                                      +      ],
                                      +    ]);
                                      +  }
                                      +}
                                      +
                                      +
                                      +

                                      results matching ""

                                      +
                                        +
                                        +
                                        +

                                        No results matching ""

                                        +
                                        +
                                        +
                                        + +
                                        +
                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/create-a-new-datatype.html b/documentation/additional-documentation/how-to-guides/create-a-new-datatype.html new file mode 100644 index 0000000000..e9697bf17a --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/create-a-new-datatype.html @@ -0,0 +1,228 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                        +
                                        + + +
                                        +
                                        + + + + + + + + + + + + + + + + + + + + + +

                                        How to create a new Datatype

                                        +

                                        "Datatypes" define how a single field (i.e. entity property) is stored and displayed. +They are core building blocks for all entities and can enable advanced functionality, like displaying a streetmap for an address.

                                        +

                                        The Aam Digital core defines most commonly known datatypes already (see CoreModule). +The architecture of datatypes is designed for extension however, so you can easily add further types.

                                        +

                                        The base: DefaultDatatype and Angular Service

                                        +

                                        DefaultDatatype is the base class for all implementations of custom datatypes. +It implements default logic for all the required aspects so that you can override only those parts that are relevant for your new type.

                                        +

                                        Implementations of datatypes are normal Angular Services. +This allows you to inject and use any other service that you may need to do sophisticated data transformations.

                                        +

                                        Defining a new Datatype

                                        +
                                          +
                                        • Create a new Angular Service class (according to our file name convention it should follow the pattern my-custom.datatype.ts)
                                        • +
                                        • Use inheritance to extend the DefaultDatatype class
                                        • +
                                        • Define your datatype identifier (which is used in @DatabaseField annotations in their EntitySchemaField definitions) by setting the static dataType = "my-custom" property of your class
                                        • +
                                        • Override any of the other aspects if you want to customize them
                                        • +
                                        +

                                        This could result in a Datatype class like this:

                                        +Example :
                                        @Injectable()
                                        +export class MyCustomDatatype extends DefaultDatatype<SpecialObject, string> {
                                        +  static dataType = "my-custom";
                                        +
                                        +  constructor() {
                                        +    super();
                                        +    // use constructor to simply inject other services you need
                                        +  }
                                        +
                                        +  editComponent = "EditMyCustomFormField";
                                        +  viewComponent = "DisplayText";
                                        +  // make sure to register your new components in the ComponentRegistry
                                        +
                                        +  transformToDatabaseFormat(value: SpecialObject): string {
                                        +    // storing as string in the database for whatever reason
                                        +    return value.toString();
                                        +  }
                                        +
                                        +  transformToObjectFormat(value: string): SpecialObject {
                                        +    return transformToSpecialObject(value);
                                        +  }
                                        +
                                        +  importConfigComponent = "SpecialImportValueMapping";
                                        +
                                        +  importMapFunction(value: any, schemaField: EntitySchemaField, additional?: any) {
                                        +    return SpecialValueParserForDifferentImportFormats(value);
                                        +  }
                                        +}

                                        Please also refer to the extensive JsDoc code comments in the DefaultDatatype class.

                                        +

                                        Registering the new Datatype

                                        +

                                        Provide your datatype service using Angular dependency injection: +{ provide: DefaultDatatype, useClass: MyCustomDatatype, multi: true },

                                        +

                                        The EntitySchemaService, that handles all data transformations, and other platform modules automatically pick up your datatype +and use it for any entity properties that use the dataType identifier of your implementation.

                                        + +
                                        +
                                        +

                                        results matching ""

                                        +
                                          +
                                          +
                                          +

                                          No results matching ""

                                          +
                                          +
                                          +
                                          + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/create-a-new-entity-type.html b/documentation/additional-documentation/how-to-guides/create-a-new-entity-type.html new file mode 100644 index 0000000000..54ec9e025a --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/create-a-new-entity-type.html @@ -0,0 +1,248 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                          +
                                          + + +
                                          +
                                          + + + + + + + + + + + + + + + + + + + + + +

                                          How to create a new Entity Type

                                          +

                                          "Entities" are the objects around which our whole system is built. +Entity types specify a data structure for records in the case management system, +defining both the data object as well as some details how the records are displayed in the UI to users. +There may for example be User, Child or School classes representing the types of objects the users can view in lists and detail forms and interact with.

                                          +

                                          To adapt the platform to a certain use case, you usually want to adapt entity types or create new ones. +This defines what fields users can see and edit in forms, among other things.

                                          +

                                          There are two approaches to define entity types:

                                          + +

                                          Unless you have special requirements and write further code specifically for your entity type, +you usually should rely on the more flexible and easy approach defining them in the config.

                                          +

                                          This guide talks about the advance topic of implementing an entity type via code.

                                          +
                                          +

                                          Creating a custom Entity type in code

                                          +

                                          To extend the system with types, you can create a new module and extend the existing base class of the Entity system. +This is something you would only do if you are also implementing special components or services in the code base to handle this entity type. +Otherwise, it is easier and more flexible to define an entity type through the config system only, as shown above.

                                          +

                                          The EntityModule specifies the base class and generic features, specific entity types can extend upon it. +For an example, have a look at the User class that extends Entity.

                                          +

                                          The Entity class

                                          +

                                          Entity and any class extending it are only plain TypeScript classes defining the attributes (and possibly some "business logic" methods).

                                          +

                                          The classes should never contain code for saving/deleting or other database related code because we are keeping this separate in an EntityMapper class (see Data Mapper Pattern).

                                          +

                                          To keep them easy to understand and extend the Entity (sub-)classes also shouldn't depend on other components or services - Entity classes are not by themselves part of the Angular system and do not have dependency injection!

                                          +

                                          The EntitySchema

                                          +

                                          The EntitySchema object is defining which attributes of the class will be saved to the database. +Attributes not explicitly defined in the Entity sub-type's schema are ignored when an instance is saved.

                                          +

                                          You must annotate your Entity class with the @DatabaseEntity('ENTITY_TYPE') decorator +thereby defining a database prefix for your Entity type.

                                          +

                                          Any properties that you want to be persisted in the database when saving entities of this type +must have the @DatabaseField() decorator. +Any other properties are ignored and will be lost after saving and loading an entity of this type. +As an example look at this class' schema definition:

                                          +Example :
                                          @DatabaseEntity('Dummy')
                                          +class Dummy extends Entity {
                                          +  @DatabaseField() name: string;
                                          +  @DatabaseField() size: number = 1;
                                          +  @DatabaseField({dataType: 'month'}) month: Date;
                                          +  temp: string = 'foo';
                                          +}

                                          Only dummy.name, dummy.size and dummy.month of a Dummy class instance are saved to the database. +The dummy.temp property is available for internal processing but will be ignored when saving the entity to the database.

                                          +

                                          You can also set additional options for DatabaseFields and implement your own data transformations. +For more details see the concept of the EntitySchema System.

                                          +

                                          Other components to be implemented for a new sub-type

                                          +

                                          The following components are related to display an Entity sub-type and currently implemented for each new sub-type as Angular components:

                                          +
                                            +
                                          • EntityDetailsComponent: displays all attributes of one of the Entity's objects to the user
                                          • +
                                          • EntityListComponent: displays a list of all the Entity's objects
                                          • +
                                          • EntityBlockComponent: displays a small, inline representation of one of the Entity's objects for use in other components
                                          • +
                                          +

                                          Example: Creating a new Entity sub-type

                                          +Example :
                                          import { Entity } from '../entity/entity';
                                          +import { Gender} from './Gender';
                                          +
                                          +@DatabaseEntity('Child')
                                          +export class Child extends Entity {
                                          +  @DatabaseField() name: string;
                                          +  @DatabaseField({dataType: 'string'}) gender: Gender;
                                          +  @DatabaseField() dateOfBirth: Date;
                                          +  @DatabaseField() marks: [];
                                          +
                                          +  age(): number {
                                          +     // calculate from this.dateOfBirth
                                          +  }
                                          +
                                          +  // Override this to define a human-readable, textual summary of the instance
                                          +  toString(): string {
                                          +    return this.name + ' (' + this.age() + ')';
                                          +  }
                                          +}
                                          +
                                          +
                                          +

                                          results matching ""

                                          +
                                            +
                                            +
                                            +

                                            No results matching ""

                                            +
                                            +
                                            +
                                            + +
                                            +
                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/create-a-report.html b/documentation/additional-documentation/how-to-guides/create-a-report.html new file mode 100644 index 0000000000..ef55db4f19 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/create-a-report.html @@ -0,0 +1,279 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                            +
                                            + + +
                                            +
                                            + + + + + + + + + + + + + + + + + + + + + +

                                            Reports

                                            +

                                            The reporting module allows organizations to automatically create reports of aggregated data for a given timespan. +This can be used to track indicators and export anonymous data.

                                            +

                                            There are currently two systems available to generate reports, both using the same config documents (ReportConfig:*):

                                            +
                                              +
                                            • SQL-based queries executed server-side using the SQS server
                                            • +
                                            • (legacy) client-side generator using the aggregation & query syntax below
                                            • +
                                            +

                                            SQL Reports

                                            +

                                            For this feature, we have integrated the (optional) structured-query-service (SQS) +(this creates a read-only copy of the data in the CouchDB and allows to run Sqlite queries against it). +SQS enables the possibility to create SQL based queries in reports.

                                            +

                                            The SQS image is not available as open source and needs a licence. It is pulled from a private container registry.

                                            +

                                            Deployment

                                            +

                                            To activate it for an application, simply activate "aam-backend-service" profile (COMPOSE_PROFILES=aam-backend-service) in the applications .env file and run docker compose up -d.

                                            +

                                            Configuration

                                            +

                                            The reports can be defined as ReportConfig:* entities.

                                            +

                                            There are different modes for ReportConfig:

                                            +

                                            sql

                                            +

                                            Requirements: SQS

                                            +

                                            Simple SQL Report

                                            +Example :
                                            // app/ReportConfig:test-report
                                            +{
                                            +  "_id": "ReportConfig:test-report",
                                            +  "title": "Test Report",
                                            +  "mode": "sql",
                                            +  "aggregationDefinition": "SELECT c.name as name, c.dateOfBirth as dateOfBirth FROM Child c",
                                            +  "neededArgs": []
                                            +}

                                            SQL Report With Arguments

                                            +

                                            Additional arguments for the query (like a from and to date parameter) can be used in the SQL query directly using "?". The "neededArgs" array defines what arguments are filled for the "?" placeholders in the given order.

                                            +Example :
                                            // app/ReportConfig:test-report
                                            +{
                                            +  "_id": "ReportConfig:test-report",
                                            +  "title": "Test Report",
                                            +  "mode": "sql",
                                            +  "aggregationDefinition": "SELECT c.name as name, c.dateOfBirth as dateOfBirth FROM Child c WHERE created_at BETWEEN ? AND ?",
                                            +  "neededArgs": [
                                            +    "from",
                                            +    "to"
                                            +  ]
                                            +}

                                            JSON-Query Reports (legacy)

                                            +

                                            Aggregation structure

                                            +

                                            Inside the aggregationDefinitions an array of aggregations can be added. +The following example shows the structure of an aggregation.

                                            +Example :
                                            {
                                            +  "label": "Events",
                                            +  "query": "EventNote:toArray[*date >= ? & date <= ?]",
                                            +  "groupBy": ["category"],
                                            +  "aggregations": [
                                            +    {
                                            +      "query": ":getParticipantsWithAttendance(PRESENT):unique:addPrefix(Child):toEntities",
                                            +      "groupBy": ["gender", "religion"],
                                            +      "label": "Participants"
                                            +    }
                                            +  ]
                                            +}
                                              +
                                            • The label will be used to display the length of the query result in the final report.
                                            • +
                                            • The query defines a valid JSON-Query.
                                            • +
                                            • groupBy defines an array of properties by which the results of the query are grouped, +these results will be nested in the top-level query.
                                            • +
                                            • The aggregations array can be filled with further aggregations with the same structure. +They will be executed on the result of the query as well as on each groupBy result.
                                            • +
                                            +

                                            query syntax

                                            +

                                            A full documentation can be found here. +The most top-level aggregation has to start with the entity which should be queried. +This can be done by selecting the entity type and chaining it with :toArray: e.g. Child:toArray. +Now the array of all children is ready to be aggregated. +You could for example be interested in all the children older than 10: Child:toArray[* age > 10]. +The * tells the query language to select all the children and not just one. +The simple age call refers to the get age() function of the child entity. +If you are interested in all female children older than 10 the call would look like Child:toArray[* age>10 & gender=F]. +If you are only interested in the names of these children Child:toArray[* age>10 & gender=M].name will transform the +array of children into an array of strings.

                                            +

                                            To navigate between different entities a set of functions extends the query syntax. +The full documentation for all the available functions can be found and extended in the +QueryService. +The first function you already know :toArray which creates an object into an array of values of this object. +The following functions also exist:

                                            +
                                              +
                                            • :unique removes all duplicates from an array
                                            • +
                                            • :addPrefix(<ENTITY_TYPE>) adds the prefix <ENTITY_TYPE> to all strings in the input array. +This is necessary to use the :toEntities function. +The prefix will only be added if it is not set yet.
                                            • +
                                            • :toEntities transforms an array of entity-ids into an array of entities. +The IDs need to have the full format e.g. Child:1234-5678. +Therefore :addPrefix should always be used to add the correct entity before calling :toEntities.
                                            • +
                                            • :getRelated(<ENTITY_TYPE>, <PROPERTY_NAME>) is used to get the entity or entities which are mentioned through ids +on a property of another entity e.g., to get all children that are part of a set of notes write Note:toArray:getRelated(Child, children)
                                            • +
                                            • :getIds(<PROPERTY_NAME>) works similar to :getRelated but does not transform the ids into entities.
                                            • +
                                            • :filterByObjectAttribute(<PROPERTY_NAME>, <KEY>, <VALUE>) is used to filter by an attribute which is a complex +object like a configurable-enum. <PROPERTY_NAME> refers to the name of the property of the parent attribute, +<KEY> refers to a key of this property and <VALUE> refers to the value(s) for which should be filtered. +<VALUE> can be a string of multiple matches which are separated by |. +E.g., to get all notes which are home visits or guardian talks write: +Note:toArray:filterByObjectAttribute(category, id, HOME_VISIT|GUARDIAN_TALK)
                                            • +
                                            • :getParticipantsWithAttendance(<ATTENDANCE_STATUS>) only returns the children with the given attendance for a set +of notes. The attendance refers to the :countAs attribute. To get all present children write +Note:toArray:getParticipantsWithAttendance(PRESENT)
                                            • +
                                            • :addEntities(<ENTITY_TYPE>) can be used to create an array holding multiple entity types. +E.g., to create an array holding notes and event notes write Note:toArray:addEntities(EventNote).
                                            • +
                                            + +
                                            +
                                            +

                                            results matching ""

                                            +
                                              +
                                              +
                                              +

                                              No results matching ""

                                              +
                                              +
                                              +
                                              + +
                                              +
                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/create-an-entity-details-panel.html b/documentation/additional-documentation/how-to-guides/create-an-entity-details-panel.html new file mode 100644 index 0000000000..32266a481b --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/create-an-entity-details-panel.html @@ -0,0 +1,202 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                              +
                                              + + +
                                              +
                                              + + + + + + + + + + + + + + + + + + + + + +

                                              How to create an Entity Details Panel Component

                                              +

                                              Aam Digital as a platform takes care of loading the relevant entity and configs for an "Entity Details View", +which displays the information about a single entity (e.g. one specific student). +The EntityDetailsComponent handles this initialization from the route. +To display some details in a customized way, you can create "panel components" that receive a reference to the current entity and their config parameters as @Input() automatically.

                                              +

                                              +The tabs (in the config called "panels") within the Entity Details view can display one or more "panel components", as shown above.

                                              +

                                              To make these components as re-usable and simple as possible, we do not load config from the route here. +Instead, the components are initialized from config by the DynamicComponentDirective. +This automatically sets @Input() properties to the value with the same name in the config object.

                                              +

                                              Those background details aside, what that means for your implementation is:

                                              +

                                              Implementing a new Panel Component

                                              +
                                                +
                                              1. Create a new component class
                                              2. +
                                              3. Add an @Input() entity: Entity;. This will always contain the entity object, whose Details View is currently being displayed. You should not load this yourself from the database.
                                              4. +
                                              5. (If needed) Add more inputs for aspects that should be configurable about your component. +(e.g. @Input() showDescription: boolean;, which you can use in your template or code to adapt the component.) +These values are automatically set to whatever value is specified in the config object for your component at runtime in the database.
                                              6. +
                                              7. Register the new component in its parent module, so that it can be loaded under its name through the config. +(for details see Create a custom View Component)
                                              8. +
                                              +

                                              An example config for the above:

                                              +Example :
                                              {
                                              +  "component": "MySubView",
                                              +  "config": { "showDescription": true }
                                              +}
                                              +
                                              +
                                              +

                                              results matching ""

                                              +
                                                +
                                                +
                                                +

                                                No results matching ""

                                                +
                                                +
                                                +
                                                + +
                                                +
                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/development-processes.html b/documentation/additional-documentation/how-to-guides/development-processes.html new file mode 100644 index 0000000000..d6803b1d2e --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/development-processes.html @@ -0,0 +1,208 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                +
                                                + + +
                                                +
                                                + + + + + + + + + + + + + + + + + + + + + +

                                                How to contribute code to the project

                                                +

                                                Workflow

                                                +

                                                We are following the "GitHub Flow", using feature branches for development. +Please read through the following short guide before you get started: +Understanding the GitHub Flow.

                                                +

                                                In summary, this means each feature will be implemented on it's own branch, which will then merged back onto the master branch. If you participate in the development, either by fixing a bug or implementing a new feature, follow these steps:

                                                +
                                                  +
                                                1. Analyze the bug or feature in a GitHub issue. +Discuss possible approaches to solve it in the issue.
                                                2. +
                                                3. Create a new branch (from the current master!) for each issue/feature you are working on. Use a descriptive branch name.
                                                4. +
                                                5. Make commits on this branch. Use descriptive commit messages. If things are complex make multiple, logical commits. +Do not use the same branch for implementing multiple features or bug fixes +(instead create a separate branch from the master branch for each).
                                                6. +
                                                7. Run ng test to see if all unit tests are passed. +If possible/necessary add more unit tests related to your new code. All tests must be passed before your contribution can be accepted.
                                                8. +
                                                9. Run ng lint to see if your code passes our project's code formatting standards. +All problems must be resolved before your contribution can be accepted.
                                                10. +
                                                11. Once you have finished your work or want some feedback/discussion about it, open a new pull request (PR) on GitHub. +Any reviews, feedback and discussions about your code will take place in this PR on GitHub. Please follow it and explain or adapt your code if necessary.
                                                12. +
                                                13. A different developer will merge your PR back onto the master branch. This makes sure there was a code review and manual testing.
                                                14. +
                                                15. After merging, delete your feature branch and make sure the corresponding issue(s) and pull request are closed.
                                                16. +
                                                +

                                                Remarks

                                                +
                                                  +
                                                • Reference an issue on GitHub in your commits or comments by writing the issue number (e.g. #15 to reference issue #15)
                                                • +
                                                • Add [WIP] to the beginning of the PR title if this is still "work in progress" and should not be merged yet.
                                                • +
                                                • If you have a lot of trivial commits in your working feature branch (such as fixed typos, fixed codestyle warnings, ...) you may squash some commits for better readability of the git history. +This can be done with a git rebase on your feature branch (please never rebase the master branch). +Further information can be found in the Git Book.
                                                • +
                                                • The Angular Style Guide provides helpful principles for Angular development.
                                                • +
                                                + +
                                                +
                                                +

                                                results matching ""

                                                +
                                                  +
                                                  +
                                                  +

                                                  No results matching ""

                                                  +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/development-processes/document-code.html b/documentation/additional-documentation/how-to-guides/development-processes/document-code.html new file mode 100644 index 0000000000..d025a2eeac --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/development-processes/document-code.html @@ -0,0 +1,199 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                  +
                                                  + + +
                                                  +
                                                  + + + + + + + + + + + + + + + + + + + + + +

                                                  How to document code

                                                  +

                                                  Our Developer Documentation (which you are also currently reading here) is generated using compodoc.

                                                  +

                                                  While the How-To Guides and Concepts are explicitly written +the API Reference (what you see in the sections Modules, Classes etc.) is generated from JsDoc code comments.

                                                  +

                                                  Therefore, whenever you write new code, please also document it with appropriate code comments.

                                                  +
                                                  +

                                                  also read about our overall Documentation Structure & Approach

                                                  +
                                                  +

                                                  Instructions

                                                  +
                                                    +
                                                  • With every push to the master, travis generates this documentation of the project automatically. +All you have to do is to Comment your code with basic JSDoc! * For the correct comment format read https://compodoc.app/guides/comments.html
                                                  • +
                                                  • New code should always be documented as soon as you write or edit it. +Your Pull Request should include documentation.
                                                  • +
                                                  • If you want to add or edit separate additional documentation like this page, work on branch compodoc and edit the markdown files under doc/compodoc_sources. +If you add a new markdown file you also have to add it to summary.json.
                                                  • +
                                                  +

                                                  Additional Information

                                                  +
                                                    +
                                                  • npm run compodoc (see package.json) is used by Travis CI to generate the documentation.
                                                  • +
                                                  • You can also run npm run compodoc manually. You should better use the documentation provided online, however.
                                                  • +
                                                  + +
                                                  +
                                                  +

                                                  results matching ""

                                                  +
                                                    +
                                                    +
                                                    +

                                                    No results matching ""

                                                    +
                                                    +
                                                    +
                                                    + +
                                                    +
                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/development-processes/review-a-pull-request.html b/documentation/additional-documentation/how-to-guides/development-processes/review-a-pull-request.html new file mode 100644 index 0000000000..a22136717f --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/development-processes/review-a-pull-request.html @@ -0,0 +1,268 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                    +
                                                    + + +
                                                    +
                                                    + + + + + + + + + + + + + + + + + + + + + +

                                                    How to review a pull request

                                                    +

                                                    Every regular team member is encouraged to review other pull requests (PRs). +You don't have to be a senior programmer or an expert in that particular part of the code +to help by reviewing PRs (and possibly learn something along the way).

                                                    +

                                                    To establish best practices for our project and make reviews easier for you +we are documenting guidelines for reviews here.

                                                    +

                                                    Goals: Why do we have reviews?

                                                    +

                                                    Why do we bother to spend time on code reviews / PR reviews? +The main goals are:

                                                    +
                                                      +
                                                    1. Prevent bugs from getting into the master branch - and thereby onto users' devices.
                                                    2. +
                                                    3. Improve code quality - especially ensuring that the code is easy to understand.
                                                    4. +
                                                    +

                                                    Everybody has blind spots +and sometimes we are also tempted to take short cuts (and forget to clean them up later). +So it's essential to have a second set of eyes looking at code +regardless of whether it was written by a long contributing, experienced developer +or someone submitting their first PR.

                                                    +

                                                    Reviews are not about criticizing someone. +They are about jointly discussing how things can be improved +or even just what parts have room for improvement.

                                                    +

                                                    Definition of Done: When to accept a PR?

                                                    +

                                                    As far as possible we try to automate the must-have criteria to accept and merge a PR +with the help of GitHub and Travis CI tools. +But one of these required steps is also that the PR must have an "approving" review of another developer.

                                                    +

                                                    The following aspects are required for a PR to be merged. +These are our expectations of quality that we have set ourselves:

                                                    +

                                                    The PR's changes must be:

                                                    +
                                                      +
                                                    1. working for the user as expected
                                                    2. +
                                                    3. tested by automated unit tests
                                                    4. +
                                                    5. easy to understand in code
                                                    6. +
                                                    +

                                                    The following sections specify more details of these high-level aspects +and give you concrete steps for how you can review them.

                                                    +

                                                    (1.) Is the app working?

                                                    +

                                                    The most essential thing about any change: It should work for users running the app.

                                                    +

                                                    As a reviewer that means for you:

                                                    +
                                                      +
                                                    1. Check out the branch of the PR on your machine.
                                                    2. +
                                                    3. Run npm install to make sure you have all the right dependencies installed.
                                                    4. +
                                                    5. Run the app locally. +Put yourself in the shoes of a user and click around, testing the app: 1. Does the new feature / bugfix function as discussed and expected? 2. How are edge cases and errors handled? +_ This depends on the kind of change. If you can't think of any, just go on. 3. Does the user get feedback about what is going on in a way that is understandable for people with no technical knowledge? +(That is in case of success as well as failure.) 4. Do related features that might have been affected by the changes of this PR still work? +_ Again, this depends on the kind of PR. If you don't see anything else to test, that's absolutely okay. 5. If the change affects UI elements: How do they look in a smaller browser window?
                                                    6. +
                                                    7. Write a comment in the PR on GitHub about what any problems or ideas you encountered.
                                                    8. +
                                                    +

                                                    (2.) Is the code tested with unit tests?

                                                    +

                                                    The unit testing is checked automatically and concerns two aspects:

                                                    +
                                                      +
                                                    • Are all tests passing?
                                                        +
                                                      • That is new tests for this PR as well as all other tests to ensure no previously working function was broken.
                                                      • +
                                                      +
                                                    • +
                                                    • Are the changes of this PR covered by unit tests?
                                                        +
                                                      • We aim for a "test coverage" of at least 80% and PRs should contain new unit tests for the changes they are making.
                                                      • +
                                                      +
                                                    • +
                                                    +

                                                    The CI system reports the status of these conditions automatically and displays them in the GitHub PR.

                                                    +

                                                    You don't have to do any specific reviewing regarding this. +If some tests fail, you may want to wait with your review until the author has fixed them so that you can review a final, working state of the code. +Also, if you notice some important edge cases that are not tested by unit tests yet, do suggest these to be added.

                                                    +

                                                    (3.) Is the code understandable and well structured?

                                                    +

                                                    Reviewing a PR means reviewing code. +If you spot a logical error or have a suggestion how to rewrite some code to improve performance that's awesome. +But even more important is asking the right questions and pointing out all the parts that are hard (or impossible) to understand.

                                                    +

                                                    Rather sooner than later even the author of the code will have forgotten the hidden logic of that super complex function. +And she/he will thank your for requesting a simpler code structure or a better documentation during your review.

                                                    +

                                                    You can review the PR's code changes easily on GitHub:

                                                    +
                                                      +
                                                    1. In the GitHub PR switch to the "Files changed" tab.
                                                    2. +
                                                    3. Go through the code changes and comment on specific lines:
                                                        +
                                                      1. If you don't understand what a block of code does. +It should be possible to understand everything. +Be ruthless and ask about everything that's unclear - +code structure and/or documentation should be improved for everybody in this case.
                                                      2. +
                                                      3. If you have a suggestion to improve the code. +Whether you have an idea to structure things in a clearer way +or to solve it differently - share your suggestions.
                                                      4. +
                                                      5. You can also suggest code changes from within the GitHub UI that can be merged - without having the checkout and commit to the branch on you local machine. See Suggesting Changes on GitHub
                                                      6. +
                                                      +
                                                    4. +
                                                    5. "Finish your review" in GitHub. +If there are issues or questions remaining, set the review status "Comment" or "Request Changes" instead of "Approve".
                                                    6. +
                                                    +

                                                    Finish up

                                                    +

                                                    That's it - thank you for improving the project with your feedback through your PR review!

                                                    +

                                                    If you commented with questions or suggestions, please try to follow up quickly when you receive replies. +Otherwise, finishing and merging the PR gets delayed.

                                                    + +
                                                    +
                                                    +

                                                    results matching ""

                                                    +
                                                      +
                                                      +
                                                      +

                                                      No results matching ""

                                                      +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/development-processes/write-automated-unit-tests.html b/documentation/additional-documentation/how-to-guides/development-processes/write-automated-unit-tests.html new file mode 100644 index 0000000000..bf36869ca0 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/development-processes/write-automated-unit-tests.html @@ -0,0 +1,194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                      +
                                                      + + +
                                                      +
                                                      + + + + + + + + + + + + + + + + + + + + + +

                                                      How to write automated unit tests

                                                      +

                                                      We are trying to cover all functionality with unit tests.

                                                      +

                                                      The approach is not specific to our project so please refer the available general documentation and tutorials about testing of Angular applications.

                                                      +

                                                      The following resources may be helpful:

                                                      + +
                                                      +

                                                      Our project runs all existing tests whenever you create or update a PR on GitHub +and checks test coverage (i.e. how much of your code is actually run by the tests you have written).

                                                      +
                                                      +

                                                      Tips & Guidelines

                                                      +

                                                      Mock all dependencies

                                                      +

                                                      Unit tests for a class should usually cover that "unit" of code, +i.e. your implementation of that class but not of all the referenced other services.

                                                      +

                                                      Try to "mock" all services that your implementation depends on, e.g. using jasmine.createSpyObj.

                                                      + +
                                                      +
                                                      +

                                                      results matching ""

                                                      +
                                                        +
                                                        +
                                                        +

                                                        No results matching ""

                                                        +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/development-processes/write-e2e-tests.html b/documentation/additional-documentation/how-to-guides/development-processes/write-e2e-tests.html new file mode 100644 index 0000000000..ca4bb47325 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/development-processes/write-e2e-tests.html @@ -0,0 +1,299 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + + + + + + + + + + + + + + + + + + + + +

                                                        How to write an End-to-End (E2E) test

                                                        +

                                                        Resources and How-Tos

                                                        + +

                                                        Instructions

                                                        +

                                                        1. Create a file

                                                        +

                                                        Manually

                                                        +

                                                        All tests are located under ndb-core/e2e/integration directory. +Create a file with the ending .spec.ts or just .ts

                                                        +

                                                        With command

                                                        +

                                                        Cypress offers a command line tool that automatically creates a test file with a minimal setup for you. +In order to create a test called loging run:

                                                        +
                                                        +

                                                        ng generate @cypress/schematic:e2e --name=login --path=e2e/integration

                                                        +
                                                        +

                                                        Organizing tests

                                                        +

                                                        If you have tests that fit together, create a separate folder inside for them. +This grouping will help you navigate through them better, e.g. /../integration/child-tests/

                                                        +

                                                        2. Gherkin Template

                                                        +

                                                        What is Gherkin and how does it help writing E2E tests

                                                        +

                                                        Gherkin is a formal language that primarily serves as a communication language in agile teams for describing system behaviour based on the concrete examples and thus supports the following goals:

                                                        +
                                                          +
                                                        • Creation of understandable and executable specification for all stakeholders in agile teams.
                                                        • +
                                                        • Starting point for the automation of tests
                                                        • +
                                                        • Documentation of the system behaviour
                                                        • +
                                                        +

                                                        More about Gherkin: Gherkin

                                                        +

                                                        Example of a test description:

                                                        +Example :
                                                        Scenario: Linking a child to a school
                                                        +Given I am on the details page of a child
                                                        +When I add an entry in the 'Previous Schools' section with a specific school
                                                        +Then I can see that child in the 'Children Overview' of the details page of this school

                                                        Gherkin uses a set of special keywords to give structure and meaning to executable specifications.

                                                        +

                                                        The primary keywords are:

                                                        +
                                                          +
                                                        • Given
                                                        • +
                                                        • When
                                                        • +
                                                        • Then
                                                        • +
                                                        • And
                                                        • +
                                                        • But
                                                        • +
                                                        +

                                                        More info here: Keywords

                                                        +

                                                        Each action from Gherkin is written in the test description (e.g. it("<description>", function{})).

                                                        +

                                                        3. Write an E2E-Test

                                                        +

                                                        Some useful links

                                                        + +

                                                        Example

                                                        +Example :
                                                        describe("Scenario of the Test", () => {
                                                        +  before("Given I am at login page", function () {
                                                        +  // In the before() function we can describe our start Point and specific variables
                                                        +  //e.g.
                                                        +    cy.visit("http://localhost:4200");
                                                        +    cy.wrap("Something").as("VariableName");
                                                        +    ...
                                                        +  });
                                                        +
                                                        +  // In the it() function the single tests of the test scenario can be written
                                                        +  it("When I add an entry in the Previous School section", function () {
                                                        +    // get the specific button and click on it
                                                        +    cy.get("buttonElement")
                                                        +      .should("contain", "ButtonName")
                                                        +      .click();
                                                        +    // choose object from Dropdown menu type our Variable and click on it
                                                        +    cy.get('DropdownMenu')
                                                        +      .type(this.VariableName)
                                                        +      .click();
                                                        +      ...
                                                        +  });
                                                        +
                                                        +  //Write more test cases here by adding aditional it functions tags
                                                        +});
                                                        +

                                                        A solid test generally covers 3 phases:

                                                        +
                                                          +
                                                        1. Set up the application state.
                                                        2. +
                                                        3. Take an action.
                                                        4. +
                                                        5. Make an assertion about the resulting application state.
                                                        6. +
                                                        + +

                                                        What role does Gherkin play?

                                                        +

                                                        We take the previous Scenario as example:

                                                        +Example :
                                                        Scenario: Linking a child to a school
                                                        +Given I am on the details page of a child
                                                        +When I add an entry in the 'Previous Schools' section with a specific school
                                                        +Then I can see that child in the 'Children Overview' of the details page of this school

                                                        We can translate this into the following template:

                                                        +Example :
                                                        describe("Scenario: Linking a child to a school", () => {
                                                        +  before("Given I am on the details page of a child", function() {
                                                        +
                                                        +  });
                                                        +
                                                        +  it("When I add an entry in the 'Previous Schools' section with a specific school", function () {
                                                        +
                                                        +  });
                                                        +
                                                        +  it("Then I can see that child in the 'Children Overview' of the details page of this school", function () {
                                                        +
                                                        +  });
                                                        +
                                                        +});

                                                        Now the before(...) and it(...) blocks should be filled with the code that corresponds to the according description.

                                                        +

                                                        4. Run the E2E-Tests

                                                        +

                                                        To open Cypress in the "Open-Mode" run the following command from the project root.

                                                        +
                                                        +

                                                        npm run e2e-open

                                                        +
                                                        +

                                                        This will start the browser with the Cypress Interface. +This Interface is called Test Runner where you can select the tests to be executed and interactively follow and debug the test execution.

                                                        +

                                                        The Selector Playground is also available in the interface, which is a useful tool to write new tests by selecting items in the DOM.

                                                        +

                                                        The tests are also executed in each pull-request. +The check with the name Pipeline / run-e2e-tests (pull_request) indicates whether the E2E tests were successful.

                                                        +

                                                        Aam Digital specific best practices

                                                        +

                                                        TBD.

                                                        +

                                                        Outlook: Better Gherkin integration

                                                        +

                                                        The specification of the scenarios with Gherkin is normally stored in so-called Feature Files. +These files are human-readable text files. +It makes sense to use cypress-cucumber-preprocessor in the future. +This or a similar framework can speed up test creation because it allows Feature Files to be interpreted into Cypress code

                                                        + +
                                                        +
                                                        +

                                                        results matching ""

                                                        +
                                                          +
                                                          +
                                                          +

                                                          No results matching ""

                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/display-dialogs-and-notifications.html b/documentation/additional-documentation/how-to-guides/display-dialogs-and-notifications.html new file mode 100644 index 0000000000..2412041103 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/display-dialogs-and-notifications.html @@ -0,0 +1,210 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                          +
                                                          + + +
                                                          +
                                                          + + + + + + + + + + + + + + + + + + + + + +

                                                          How to display dialogs, notifications and log errors

                                                          +

                                                          To give users a consistent look & feel and make things easier to implement +we have generic services to help with these tasks. +You should always inject and use these rather than implement your own variant of such functionalities.

                                                          +

                                                          Display a confirmation dialog

                                                          +

                                                          Before executing an action with far-reaching consequences (e.g. deleting an entity) +you should request explicit confirmation from the user through a confirmation dialog box. +To reduce boiler-plate code for this, you can use the ConfirmationDialogService:

                                                          +Example :
                                                          constructor(private confirmationDialog: ConfirmationDialogService) {}

                                                          The service is a wrapper for MatDialog. +Use it to open a dialog box with your text:

                                                          +Example :
                                                          const confirmed = await this.confirmationDialog.getConfirmation("Delete?", "Are you sure you want to delete this Child?");

                                                          You can then react to the user action (whether "Yes" or "No" was clicked):

                                                          +Example :
                                                          if (confirmed) {
                                                          +  // do something
                                                          +}

                                                          You can also display dialogs with only one "OK" button rather than the yes/no option +by setting the optional 'buttons' parameter:

                                                          +Example :
                                                          this.confirmationDialog.getConfirmation("Info", "No options here, just some text.", OkButton);

                                                          In this case also consider whether you really want to use a "blocking" dialog box +or if a simple "alert" notification may be the better choice.

                                                          +

                                                          Check the definitions of those button presets in confirmation-dialog.component.ts to see +how you can also create fully custom choices of buttons.

                                                          +

                                                          Display a notification

                                                          +

                                                          You can display a short notification text to the user in an non-disrupting way using the AlertService. +This will show a small hovering notification box towards the bottom of the screen +(through MatSnackBar):

                                                          +Example :
                                                          constructor(private alertService: AlertService) {
                                                          +  this.alertService.addInfo('info message');
                                                          +  this.alertService.addWarning('warning message');
                                                          +  this.alertService.addDanger('important message');
                                                          +}

                                                          The different alert levels result in different styling of the notification. +More serious alert levels (warning and above) also require the user to actively dismiss the notification +while other notifications disappear automatically after some time.

                                                          +
                                                          +

                                                          If you want to log errors or other events for developers analysis and monitoring, also read the Log Errors Guide.

                                                          +
                                                          + +
                                                          +
                                                          +

                                                          results matching ""

                                                          +
                                                            +
                                                            +
                                                            +

                                                            No results matching ""

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/display-related-entities.html b/documentation/additional-documentation/how-to-guides/display-related-entities.html new file mode 100644 index 0000000000..a399f305a9 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/display-related-entities.html @@ -0,0 +1,243 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                            +
                                                            + + +
                                                            +
                                                            + + + + + + + + + + + + + + + + + + + + + +

                                                            How to display related entities

                                                            +

                                                            A common recurring requirement is to display a list of entities that are related to the current context. +For example displaying a table of all notes relating to the selected child in its detail view. +You shouldn't have to implement almost the same components again and again for this, +so we have a generic EntitySubrecordComponent for these use cases.

                                                            +

                                                            Creating a basic "subrecord" component

                                                            +

                                                            To keep code organized and separated you should create a new component that uses EntitySubrecordComponent +rather than trying to put everything into a larger component that includes other information as well +(e.g. create a ChildNotesComponent instead of putting your configuration for the EntitySubrecordComponent into the ChildDetailsComponent).

                                                            +

                                                            Best use the Angular CLI to generate a new component in the relevant module:

                                                            +Example :
                                                            ng generate component child-notes

                                                            The template remains very simple as you build on top of the generic EntitySubrecordComponent +and pass your values and configurations into it:

                                                            +Example :
                                                            <app-entity-subrecord
                                                            +    [records]="records"
                                                            +    [newRecordFactory]="generateNewRecordFactory()"
                                                            +    [columns]="columns">
                                                            +</app-entity-subrecord>

                                                            You need to set these parameters in your component class of course. +[records] simply takes an array of entities to be displayed, +e.g. in a oversimplified example (usually you would do some filtering or use a query):

                                                            +Example :
                                                            records: Note[];
                                                            +
                                                            +constructor(private entityMapper: EntityMapperService) {
                                                            +    this.records = await this.entityMapper.loadType<Note>(Note);
                                                            +}

                                                            The [newRecordFactory] is used to create a new entity of the required entity type when the user clicks the "add" button. +This has to be a function that returns a new entity instance:

                                                            +Example :
                                                            generateNewRecordFactory() {
                                                            +    // define values locally because "this" is a different scope after passing a function as input to another component
                                                            +    const childId = this.childId;
                                                            +
                                                            +    return () => {
                                                            +      const newNote = new Note(Date.now().toString());
                                                            +      newNote.date = new Date();
                                                            +      newNote.children = [childId];
                                                            +
                                                            +      return newNote;
                                                            +    };
                                                            +}

                                                            This gives you the power to already pre-fill certain values in the new entity +like in this example linking the new note with the selected child automatically. +Unfortunately the implementation has to be a little clumsy: A method that itself returns a function again.

                                                            +

                                                            Finally, the [columns] configuration allows you a lot of flexibility over +which properties of the entities are shown and how they are formatted and edited. +This takes an array of FormFieldConfigurations:

                                                            +Example :
                                                            columns: FormFieldConfig[] = [
                                                            +    { id: 'subject', label: 'Topic', viewComponent: 'DisplayText', editComponent: 'EditText', visibleFrom: 'xs'),
                                                            +    { id: 'text', label: 'Notes', viewComponent: 'DisplayText', editComponent: 'EditLongText', visibleFrom: 'md'),
                                                            +    { id: 'date', label: 'Date', viewComponent: 'DisplayDate', editComponent: 'EditDate', visibleFrom: 'xs'),
                                                            +];

                                                            Only the properties that you set here will be displayed to the user. +Use the parameters to configure transformations and form field types. +When a entity is displayed, most of the properties can be omitted and will be fetched from the schema definition

                                                            +
                                                            +

                                                            To learn about the full range of column options check out the API Reference:

                                                            + +
                                                            +

                                                            Showing details of one entity

                                                            +

                                                            The EntitySubrecordComponent allows the user to edit an entity inline in the table. +By default, clicking on a row will automatically open a form popup which shows all editable fields of the table. +What happens when a row is clicked can be overwritten with the [showEntity] parameter. +This parameter expects a function that gets the clicked entity as input.

                                                            +Example :
                                                            <app-entity-subrecord
                                                            +    [records]="children"
                                                            +    [columns]="columns"
                                                            +    [showEntity]="routeToChild.bind(this)"
                                                            +    [editable]="false"
                                                            +  ></app-entity-subrecord>
                                                            +
                                                            +
                                                            +

                                                            results matching ""

                                                            +
                                                              +
                                                              +
                                                              +

                                                              No results matching ""

                                                              +
                                                              +
                                                              +
                                                              + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/format-data-export.html b/documentation/additional-documentation/how-to-guides/format-data-export.html new file mode 100644 index 0000000000..357014f36a --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/format-data-export.html @@ -0,0 +1,281 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                              +
                                                              + + +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + + + +

                                                              Exports

                                                              +

                                                              The list views like /child, /school, /note ,... have a button to export data. +Clicking this button will create a downloadable .csv file. +The format of this file can be adjusted through the configuration for the list view.

                                                              +

                                                              Config Format

                                                              +

                                                              The configuration of the export format is part of the configuration of the EntityListComponent.

                                                              +

                                                              E.g.

                                                              +Example :
                                                                "view:child": {
                                                              +    "component": "ChildrenList",
                                                              +    "config": {
                                                              +        "exportConfig": [
                                                              +          { "label": "Child", "query": ".name" },
                                                              +          {
                                                              +            "query": ":getRelated(ChildSchoolRelation, childId)",
                                                              +            "subQueries": [
                                                              +              { "label": "School Name", "query": ".schoolId:toEntities(School).name" },
                                                              +              { "label": "From", "query": ".start" },
                                                              +              { "label": "To", "query": ".end" }
                                                              +            ]
                                                              +
                                                              +          }
                                                              +        ],
                                                              +      "title": "Children List",
                                                              +      "columns": [...],
                                                              +      "columnGroups": {...},
                                                              +      "filters": [...]
                                                              +    }
                                                              +  },

                                                              Configuring a Export

                                                              +

                                                              The structure of the exports is according to the ExportColumnConfig.

                                                              +

                                                              The label property is optional and provides a title for this column. +If nothing is provided the query (without dots) is used (e.g. for "query": ".name" the label will be name).

                                                              +

                                                              The query has to be a valid JSON-Query. +The query will be run on each entity of the list page that is visited (e.g. on each child). +For further information about the query-syntax read the Reports Guide which uses the same query language.

                                                              +

                                                              The subQueries is optional and expects an array of ExportColumnConfigs. +The queries of the subQueries will be run for each result of the parent query. +In the example above, this would mean that for each ChildSchoolRelation the name of the school, the from- and the to-date will be exported. +If subQueries is defined, each object of the parent query will lead to one row in the report. +In the example above this would mean if there are n children and each of them has m child-school-relations then the final report will have n*m rows and the columns Child, School Name, From, To (Child from the first query and the others from the sub-queries). +In case subQueries is defined, the result of the parent query will not be visible in the export. +If the results of the parent query is wanted in the report, a simple sub-query can be added that returns all values of the parent query (query: "[*]").

                                                              +

                                                              Example Output

                                                              +

                                                              Using the config from above with the following data:

                                                              +Example :
                                                              const child1 = {
                                                              +  _id: "Child:1",
                                                              +  name: "Peter",
                                                              +};
                                                              +const child2 = {
                                                              +  _id: "Child:2",
                                                              +  name: "Anna",
                                                              +};
                                                              +const relation1 = {
                                                              +  _id: "ChildSchoolRelation:1",
                                                              +  schoolId: "1",
                                                              +  childId: "1",
                                                              +  start: "01/01/2020",
                                                              +  end: "01/01/2021",
                                                              +};
                                                              +const relation2 = {
                                                              +  _id: "ChildSchoolRelation:2",
                                                              +  schoolId: "1",
                                                              +  childId: "1",
                                                              +  start: "01/01/2021",
                                                              +};
                                                              +const relation3 = {
                                                              +  _id: "ChildSchoolRelation:3",
                                                              +  schoolId: "1",
                                                              +  childId: "1",
                                                              +  start: "01/01/2021",
                                                              +};
                                                              +const school = {
                                                              +  _id: "School:1",
                                                              +  name: "High School",
                                                              +};

                                                              Would create a .csv file according to the following table:

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              ChildSchool NameFromTo
                                                              PeterHigh School01/01/202001/01/2021
                                                              PeterHigh School01/01/2021
                                                              AnnaHigh School01/01/2021
                                                              + +
                                                              +
                                                              +

                                                              results matching ""

                                                              +
                                                                +
                                                                +
                                                                +

                                                                No results matching ""

                                                                +
                                                                +
                                                                +
                                                                + +
                                                                +
                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/generate-demo-data.html b/documentation/additional-documentation/how-to-guides/generate-demo-data.html new file mode 100644 index 0000000000..e421847f5c --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/generate-demo-data.html @@ -0,0 +1,244 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                +
                                                                + + +
                                                                +
                                                                + + + + + + + + + + + + + + + + + + + + + +

                                                                How to generate demo data

                                                                +

                                                                If the app is run in the "useTemporaryDatabase" mode, realistic demo data is generated on each startup.

                                                                +

                                                                This Guide walks you through the steps to add data to this demo mode for your own Entity type.

                                                                +

                                                                The Basics

                                                                +
                                                                  +
                                                                1. Create a service that extends DemoDataGenerator.
                                                                2. +
                                                                3. Make sure you call super() in your constructor to execute the parent class' constructor.
                                                                4. +
                                                                5. Implement the generateEntities(): Entity[] method so that it returns an array of demo entities.
                                                                    +
                                                                  • Try to create objects that are similar to real data. That will make it more useful during for testing and demo.
                                                                  • +
                                                                  • The most simple implementation could be to return an array of a few hard-coded instances.
                                                                  • +
                                                                  +
                                                                6. +
                                                                7. To actually make the DemoDataModule generate your demo entities you need to add your service to its config. +In the AppModule (or wherever you import the DemoDataModule) add your service provider: +_ e.g. DemoDataModule.forRoot([{ provide: DemoUserGeneratorService, useClass: DemoUserGeneratorService }]) +_ When the DemoDataModule is loaded your generator is then also triggered.
                                                                8. +
                                                                9. Change your config.json and set demo_mode: true to start the app with in demo mode +and get your data generated on startup.
                                                                10. +
                                                                +

                                                                Creating realistic, random data

                                                                +

                                                                Your generator service is a standard Angular Service that can become as complex as you need it to be.

                                                                +
                                                                  +
                                                                • You can import our (customized) faker.js +to easily generate realistic property values like names or dates. +_ import import {faker} from '../demo-data/faker'; (Faker is not an Angular service just a simple JavaScript module) +_ use child.name = faker.name.firstName() + ' ' + faker.name.lastName() for example to generate realistic random names

                                                                  +
                                                                • +
                                                                • You can use Angular's dependency injection to inject any other services that you may rely on to generate meaningful demo data. +This way you can also inject other DemoDataGenerators if you need to generate entities related to other types of entities. +_ inject demoChildren: DemoChildGenerator in your constructor +_ use this.demoChildren.entities to access all demo child entities that have been generated by the DemoChildGenerator * generate your demo entities relating to the demo child entities as needed

                                                                  +
                                                                • +
                                                                +

                                                                Making the generator configurable

                                                                +

                                                                If you want to make your generator more flexible, an important step is to receive some configuration. +This can be passed into your service through dependency injection as well.

                                                                +

                                                                (1.) Create a simple class to hold your config. +For example:

                                                                +Example :
                                                                export class DemoChildConfig {
                                                                +  count: number;
                                                                +}

                                                                Use a real class and not an interface for this. +Interfaces only exist in TypeScript before transpilation to Javascript and are not available during runtime, +therefore an interface cannot be used as a provider key for Angular dependency injection.

                                                                +

                                                                (2.) Add your config class to the constructor of your service to make it available within your generator:

                                                                +Example :
                                                                  constructor(public config: DemoChildConfig) {
                                                                +    super();
                                                                +  }

                                                                (3.) Add a static method called provider() to your service class. +The provider method will accept an instance of your config class and return a array of Angular providers. +This makes it much easier to register your service together with its config. +(Our pattern for this is inspired by the forRoot() pattern of Angular Modules.)

                                                                +Example :
                                                                  /**
                                                                +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                +   *   `providers: [DemoUserProvider.provider({count: 150})]`
                                                                +   * @param config The configuration specifying the number of entities the service should generate.
                                                                +   */
                                                                +  static provider(config: DemoChildConfig) {
                                                                +    return [
                                                                +      { provide: DemoChildGenerator, useClass: DemoChildGenerator },
                                                                +      { provide: DemoChildConfig, useValue: config },
                                                                +    ];
                                                                +  }

                                                                (4.) Use the provider() method when registering your service with the DemoDataModule +and set your config there at the same time:

                                                                +Example :
                                                                DemoDataModule.forRoot([
                                                                +  ...DemoChildGenerator.provider({count: 150}),
                                                                +])

                                                                Note that the spread operator (the ... in front of the call to .provider()) is required. +As the provider() method returns an array of providers, the ... "flattens" that array +and simply makes all providers directly items of the primary array that is passed into DemoDataModule.forRoot().

                                                                + +
                                                                +
                                                                +

                                                                results matching ""

                                                                +
                                                                  +
                                                                  +
                                                                  +

                                                                  No results matching ""

                                                                  +
                                                                  +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/load-and-save-data.html b/documentation/additional-documentation/how-to-guides/load-and-save-data.html new file mode 100644 index 0000000000..5655d1dac3 --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/load-and-save-data.html @@ -0,0 +1,225 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  + + + + + + + + + + + + + + + + + + + + + +

                                                                  How to load and save data

                                                                  +

                                                                  One of the core actions you may need when developing new features is to interact with the database +to load data, create new entities or update existing ones. +We have a few generic services and concepts that help you do this without much overhead.

                                                                  +

                                                                  Understanding Database and Entities

                                                                  +

                                                                  Depending on the database the app is set up with, the lowest level of persisting data is the Database +that interacts with the browser's storage systems and may also be synced with a remote database.

                                                                  +

                                                                  In our code we have an abstraction layer above the database interactions implemented in the EntityModule. +You interact with a database record as an instance of the Entity class (or one of its sub types). +This way, you can use methods on these entities and benefit from the EntitySchema System for transformations as a kind of ORM.

                                                                  +

                                                                  In you code you simply treat database records as simple TypeScript objects +(instances of an Entity subclass) +and use the EntityMapperService to load and save them.

                                                                  +
                                                                  +

                                                                  Normally you should not use the Database class anywhere directly. +Use the EntityMapperService instead, which is one abstraction layer above the specific database code.

                                                                  +
                                                                  +

                                                                  Loading an entity

                                                                  +

                                                                  Use Angular's dependency injection to get the EntityMapperService in your code:

                                                                  +Example :
                                                                  constructor(private entityMapper: EntityMapperService) {  }

                                                                  You can load an individual entity by its id. +Due to restrictions of TypeScript you have to explicitly pass the Entity (sub)class as the first parameter +so that the EntityMapperService can use it to properly cast the record to the correct Entity type:

                                                                  +Example :
                                                                  let user: User;
                                                                  +const userId = '1';
                                                                  +user = await this.entityMapper.load<User>(User, userId);

                                                                  Note that load() is asynchronous, so you will need the await keyword and deal with the result as a Promise.

                                                                  +

                                                                  This will throw an error (reject the Promise) if no entity with the given id exists in the database.

                                                                  +

                                                                  You can also load all entities of an Entity type at once (e.g. if you want to display a list):

                                                                  +Example :
                                                                  let allUsers: User[];
                                                                  +allUsers = await this.entityMapper.loadType<User>(User);

                                                                  Saving an entity

                                                                  +

                                                                  Similar to the loading of data you can use the EntityMapperService to save a new or updated entity:

                                                                  +Example :
                                                                  const userId = '2';
                                                                  +const newUser = new User(userId);
                                                                  +newUser.name = 'Max';
                                                                  +await this.entityMapper.save<User>(newUser);

                                                                  IDs have to be unique for the Entity type, +i.e. if you have a Child entity with ID "2" that is not be a problem +but if there already is another User entity with this ID in the database save will fail.

                                                                  +

                                                                  To update an existing entity you can simply change the object and save it again:

                                                                  +Example :
                                                                  const user = await this.entityMapper.load<User>(User, '1');
                                                                  +user.name = 'Max';
                                                                  +await this.entityMapper.save<User>(user);

                                                                  In this case the loaded user contains an internal _rev property that allows the system to match it with the existing database record +and avoid a conflict, so the updated entity is saved to the database.

                                                                  +

                                                                  You can also force the system to overwrite an existing conflicting database record +(although you probably should only use that if you know what you are doing) +by setting the optional second parameter of save to true (forceUpdate):

                                                                  +Example :
                                                                  await this.entityMapper.save<User>(conflictingUser, true);

                                                                  Deleting an entity

                                                                  +

                                                                  Deleting an entity is similar to saving +(and the same rules about conflicts apply, so you should delete only entity instances that you actually loaded previously):

                                                                  +Example :
                                                                  const user = await this.entityMapper.load<User>(User, '1');
                                                                  +await this.entityMapper.remove<User>(user);
                                                                  +
                                                                  +
                                                                  +

                                                                  results matching ""

                                                                  +
                                                                    +
                                                                    +
                                                                    +

                                                                    No results matching ""

                                                                    +
                                                                    +
                                                                    +
                                                                    + +
                                                                    +
                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/log-errors.html b/documentation/additional-documentation/how-to-guides/log-errors.html new file mode 100644 index 0000000000..7e2c8e5b2a --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/log-errors.html @@ -0,0 +1,194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                    +
                                                                    + + +
                                                                    +
                                                                    + + + + + + + + + + + + + + + + + + + + + +

                                                                    How to log errors

                                                                    +

                                                                    This Guide considers logging of errors and information that is necessary for developers in debugging and monitoring. +Refer to the Display Dialogs or Notifications Guide +regarding ways to inform the user about errors or other events.

                                                                    +

                                                                    Logging things

                                                                    +

                                                                    Production code (whatever is merged into the master branch) should not contain any calls to console.log(). +If you need to output information for possible debugging that is not handled otherwise, use the AlertService from our AlertsModule. +This way, all logging is done in a consistent manner and can possibly be transferred to the development team or saved in some other way.

                                                                    +

                                                                    To log information for analysis and debugging (without explicit notification to the user) +use the Logging object:

                                                                    +Example :
                                                                    someFun() {
                                                                    +  Logging.error('some error information');
                                                                    +}

                                                                    Similar to the AlertService the LoggingService has multiple log levels +that control whether log messages are sent to the remote monitoring and how they are treated there.

                                                                    +

                                                                    Remote Logging

                                                                    +

                                                                    The service side logging is performed via the sentry.io logging service. +The credentials for the EWB-Account can be found in the podio workspace.

                                                                    + +
                                                                    +
                                                                    +

                                                                    results matching ""

                                                                    +
                                                                      +
                                                                      +
                                                                      +

                                                                      No results matching ""

                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/navigate-the-code-structure.html b/documentation/additional-documentation/how-to-guides/navigate-the-code-structure.html new file mode 100644 index 0000000000..28172f6e6c --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/navigate-the-code-structure.html @@ -0,0 +1,189 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + + + + + + + + + + + + + + + + + + + + + +

                                                                      How to navigate the code structure

                                                                      +

                                                                      The application code is split within the src/app/ directory into modules providing +general features and abstract components (core) and +concrete feature modules for projects' use cases (child-dev-project).

                                                                      +

                                                                      Overall the following guidelines apply:

                                                                      +
                                                                        +
                                                                      • Different functionalities are usually split into separate Angular Modules each in its own folder.
                                                                      • +
                                                                      • At least all core features are well documented with JsDoc comments +and therefore also have a complete API Reference here (see Modules).
                                                                      • +
                                                                      • If you have a certain challenge, browse the "How-To Guides" here in the documentation +reusable features and approaches are documented there.
                                                                      • +
                                                                      + +
                                                                      +
                                                                      +

                                                                      results matching ""

                                                                      +
                                                                        +
                                                                        +
                                                                        +

                                                                        No results matching ""

                                                                        +
                                                                        +
                                                                        +
                                                                        + +
                                                                        +
                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/how-to-guides/use-queries-and-indices.html b/documentation/additional-documentation/how-to-guides/use-queries-and-indices.html new file mode 100644 index 0000000000..ef3d2674ab --- /dev/null +++ b/documentation/additional-documentation/how-to-guides/use-queries-and-indices.html @@ -0,0 +1,226 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                        +
                                                                        + + +
                                                                        +
                                                                        + + + + + + + + + + + + + + + + + + + + + +

                                                                        How to use queries and indices to get data

                                                                        +

                                                                        The EntityMapperService gives you an easy way to access +all entities of an Entity type or an individual entity by its ID (see Load and Save Data for these basics). +However, for more advance features this will not be enough and you may need more powerful ways to load certain data. +This is where (persistent) queries come into play.

                                                                        +
                                                                        +

                                                                        The easiest workaround to get a specific set of entities is to load all entities of that type using the EntityMapperService +and then just use standard JavaScript/TypeScript to select the required entities. +With larger databases this is hitting its limitations however.

                                                                        +
                                                                        +

                                                                        PouchDB Queries

                                                                        +

                                                                        Our application is to some extent coupled with PouchDB/CouchDB. +As queries and database indexing is closely related to the underlying database this feature (at the moment) +directly refers to the underlying PouchDB feature.

                                                                        +

                                                                        Please read through the PouchDB documentation referring to map/reduce queries: +https://pouchdb.com/guides/queries.html

                                                                        +

                                                                        Creating a persistent query / database index

                                                                        +

                                                                        Before you can use query to load specific data you have to create the related "design document" for it in the PouchDB.

                                                                        +

                                                                        To do this, create a design document object according to the PouchDB documentation +and then use saveDatabaseIndex on the Database service:

                                                                        +Example :
                                                                        constructor(private db: Database) {}
                                                                        +
                                                                        +private createQueryIndex() {
                                                                        + const designDoc = {
                                                                        +   _id: '_design/my_index',
                                                                        +   views: {
                                                                        +     by_child: {
                                                                        +       map: `(doc) => {
                                                                        +         if (!doc._id.startsWith("${ChildSchoolRelation.ENTITY_TYPE}")) return;
                                                                        +         emit(doc.childId);
                                                                        +         }`,
                                                                        +     },
                                                                        +   },
                                                                        + };
                                                                        + this.db.saveDatabaseIndex(designDoc);
                                                                        +}

                                                                        This is one of the rare cases where you will need to inject Database directly rather than only interacting with EntityMapperService.

                                                                        +

                                                                        Beware, unfortunately the map: function has to be a string containing the javascript function (to prevent the build optimization from messing this up).

                                                                        +

                                                                        Loading data through a query

                                                                        +

                                                                        After following above steps to saveDatabaseIndex that query is now available in the database.

                                                                        +

                                                                        You can now use this query to load data through its query id, +which is combined from the design document _id (without the "_design/" prefix) and the views key:

                                                                        +Example :
                                                                        const result = await this.db.query('my_index/by_child', {key: childId, include_docs: true});

                                                                        Also note the additional options parameter with a key (the "search value") and include_docs set to true. +The query function is a direct wrapper for PouchDB's query function, please refer to their docs for details.

                                                                        +

                                                                        As the query result is not automatically parsed by our EntityMapperService you have to map them manually:

                                                                        +Example :
                                                                        let resultEntities: Note[];
                                                                        +resultEntities = result.rows.map(loadedRow => {
                                                                        +    const entity = new Note('');
                                                                        +    this.entitySchemaService.loadDataIntoEntity(entity, loadedRow.doc);
                                                                        +    return entity;
                                                                        +});
                                                                        +
                                                                        +
                                                                        +

                                                                        results matching ""

                                                                        +
                                                                          +
                                                                          +
                                                                          +

                                                                          No results matching ""

                                                                          +
                                                                          +
                                                                          +
                                                                          + +
                                                                          +
                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/overview.html b/documentation/additional-documentation/overview.html new file mode 100644 index 0000000000..3233fd3c15 --- /dev/null +++ b/documentation/additional-documentation/overview.html @@ -0,0 +1,194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                          +
                                                                          + + +
                                                                          +
                                                                          + + + + + + + + + + + + + + + + + + + + + +

                                                                          Welcome to Aam Digital's Developer Documentation!

                                                                          +

                                                                          Our Developer Documentation here is structure into the following sections:

                                                                          +
                                                                            +
                                                                          • Getting Started Tutorial: +A hands-on introduction to our project and how to make your first changes to the code.
                                                                          • +
                                                                          • How-To Guides: +Step-by-step instructions for common requirements and problems.
                                                                          • +
                                                                          • Concepts: +Background and architecture information for the project.
                                                                          • +
                                                                          • API Reference: +Technical code documentation; +see the sections in the menu for Modules, Classes and other artifacts.
                                                                          • +
                                                                          +
                                                                          +

                                                                          If you are new and want to contribute, also refer to the CONTRIBUTING page.

                                                                          +

                                                                          You may want to start with the basic tutorial +or have a look at "How to navigate the code structure".

                                                                          + +
                                                                          +
                                                                          +

                                                                          results matching ""

                                                                          +
                                                                            +
                                                                            +
                                                                            +

                                                                            No results matching ""

                                                                            +
                                                                            +
                                                                            +
                                                                            + +
                                                                            +
                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/prerequisites.html b/documentation/additional-documentation/prerequisites.html new file mode 100644 index 0000000000..8c92e0f18e --- /dev/null +++ b/documentation/additional-documentation/prerequisites.html @@ -0,0 +1,182 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                            +
                                                                            + + +
                                                                            +
                                                                            + + + + + + + + + + + + + + + + + + + + + +

                                                                            This document collects all prerequisites that are necessary to run the application without problems. This can be complex settings or just simple value initialisations.

                                                                            +
                                                                              +
                                                                            • At least one user is in the database. Create a admin user that can not be deleted, if this is possible
                                                                            • +
                                                                            • password change is only possible with internet connection. Otherwise different passwords on local and remote database are possible.
                                                                            • +
                                                                            + +
                                                                            +
                                                                            +

                                                                            results matching ""

                                                                            +
                                                                              +
                                                                              +
                                                                              +

                                                                              No results matching ""

                                                                              +
                                                                              +
                                                                              +
                                                                              + +
                                                                              +
                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/tutorial.html b/documentation/additional-documentation/tutorial.html new file mode 100644 index 0000000000..3959fda930 --- /dev/null +++ b/documentation/additional-documentation/tutorial.html @@ -0,0 +1,190 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                              +
                                                                              + + +
                                                                              +
                                                                              + + + + + + + + + + + + + + + + + + + + + +

                                                                              Tutorial: First Steps

                                                                              +
                                                                              +

                                                                              This Tutorial is still work in progress and will be further extended & improved.

                                                                              +
                                                                              +

                                                                              In this tutorial we will walk you through the first steps of getting the Aam Digital project up and running - +and writing your first little extension to it.

                                                                              +

                                                                              We will focus on things specific to our project. +But there will be links to other tutorials and resources about the basics of the technologies we use.

                                                                              +

                                                                              If anything is unclear or missing, please open an issue on GitHub. +Your questions and feedback are very welcome!

                                                                              +
                                                                              +

                                                                              Let's get started with +> An Overview of our Technologies & Framework

                                                                              + +
                                                                              +
                                                                              +

                                                                              results matching ""

                                                                              +
                                                                                +
                                                                                +
                                                                                +

                                                                                No results matching ""

                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/tutorial/diving-into-the-code.html b/documentation/additional-documentation/tutorial/diving-into-the-code.html new file mode 100644 index 0000000000..d9a0de48d7 --- /dev/null +++ b/documentation/additional-documentation/tutorial/diving-into-the-code.html @@ -0,0 +1,201 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + + + +

                                                                                Tutorial: Diving into the Code

                                                                                +
                                                                                +

                                                                                TODO: this needs a more detailed explanation of the most basic aspects of the code base

                                                                                +
                                                                                +

                                                                                Getting started with coding

                                                                                +
                                                                                  +
                                                                                1. Don't get overwhelmed by the mass of config files in the root directory. +Jump directly to the subfolder src/app/ where the actually relevant code is located.
                                                                                2. +
                                                                                3. The project is structured into several Modules, each in its own folder under src/app/core (general features) or src/app/child-ded-project (special user-facing features)
                                                                                4. +
                                                                                5. To extend upon the existing system, don't worry about the lower layer modules. +Focus on understanding the top level modules adding user features like the SchoolModule and the ChildrenModule.
                                                                                6. +
                                                                                +
                                                                                +

                                                                                Next, let's actually add something: +> Add your first field to the Child Details

                                                                                +
                                                                                +

                                                                                TODO: a short tutorial section on how to add an additional field to the Child class and the ChildDetails form?

                                                                                +
                                                                                +
                                                                                +

                                                                                Next: ??

                                                                                +
                                                                                +

                                                                                Should we end the tutorial here? +Or have another section on some more advance aspect?

                                                                                +
                                                                                + +
                                                                                +
                                                                                +

                                                                                results matching ""

                                                                                +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  No results matching ""

                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/tutorial/overview-of-technologies.html b/documentation/additional-documentation/tutorial/overview-of-technologies.html new file mode 100644 index 0000000000..5b3f212ed4 --- /dev/null +++ b/documentation/additional-documentation/tutorial/overview-of-technologies.html @@ -0,0 +1,228 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                  +
                                                                                  + + +
                                                                                  +
                                                                                  + + + + + + + + + + + + + + + + + + + + + +

                                                                                  Tutorial: An Overview of our Technologies and Framework

                                                                                  +

                                                                                  +

                                                                                  Aam Digital is based on the following technologies:

                                                                                  +
                                                                                    +
                                                                                  • Angular, +including the TypeScript programming language (a superset of JavaScript) +as well as HTML and CSS
                                                                                  • +
                                                                                  • Angular Material providing reusable UI components
                                                                                  • +
                                                                                  • PouchDB (CouchDB noSQL Database)
                                                                                  • +
                                                                                  +

                                                                                  In addition, we use Docker and nginx to deploy and run the application.

                                                                                  +

                                                                                  If you are not familiar with (some of) our tools and technologies yet, +here are some useful resources to get started. +You will need to have basic knowledge of these before you can properly start contributing to our project.

                                                                                  +

                                                                                  Git (and GitHub)

                                                                                  +

                                                                                  Git helps us track all changes to our project, allows us to revert things and is the basis for our code review process.

                                                                                  +

                                                                                  Haven't worked with git source control yet? +Work through a basic tutorial like this +Intro to Git and GitHub for Beginners (Tutorial).

                                                                                  +

                                                                                  You can also check out the official git book (chapter 1-3 are most relevant).

                                                                                  +

                                                                                  TypeScript

                                                                                  +

                                                                                  TypeScript is our primary programming language. +If you are familiar with JavaScript, learning TypeScript shouldn't be too hard for you. +All JavaScript code is also valid TypeScript. +TypeScript just adds some things on top to make development easier and less error-prone.

                                                                                  +

                                                                                  (If you don't know JavaScript yet, you can find an endless amount of online courses to learn it - go and do some of these before continuing here!)

                                                                                  +

                                                                                  If you have some experience with another "statically typed" language like Java, the additional concepts of TypeScript should feel familiar. +A quick comparison like this may be enough to get you a basic understanding: TypeScript vs. JavaScript

                                                                                  +

                                                                                  Angular

                                                                                  +

                                                                                  Angular is a powerful web development framework and the basis for our project. +It provides good structure to build complex enterprise-level web applications +with its concepts of components, services and modules.

                                                                                  +

                                                                                  It does take a while to work through Angular's core concepts. +But every minute you invest into understanding these basics now will make your development easier and cleaner forever after.

                                                                                  +

                                                                                  Follow the introductory material and tutorial: Angular - Getting started

                                                                                  +

                                                                                  You will need a solid understanding of the Angular basics of components, services, dependency injection. +The more advanced topics beyond that are things you can also learn while already working on our project. +We'll be happy to guide you!

                                                                                  +

                                                                                  Angular Material

                                                                                  +

                                                                                  We are using some standard UI components following the Material Design as building blocks.

                                                                                  +

                                                                                  Browse through the list of components to get an idea what is already available +(so that we don't reinvent the wheel): +https://material.angular.io/components/categories

                                                                                  +

                                                                                  PouchDB

                                                                                  +

                                                                                  We have built an abstraction layer of the database access. +Underneath our app is using PouchDB but you do not need any knowledge about this for most work on our project.

                                                                                  +

                                                                                  Curious or want to work on our database services? +Start here: https://pouchdb.com/learn.html

                                                                                  +
                                                                                  +

                                                                                  Next up: +> Setting up the project (and running it)

                                                                                  + +
                                                                                  +
                                                                                  +

                                                                                  results matching ""

                                                                                  +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    No results matching ""

                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/tutorial/setting-up-the-project.html b/documentation/additional-documentation/tutorial/setting-up-the-project.html new file mode 100644 index 0000000000..30f6c2caf4 --- /dev/null +++ b/documentation/additional-documentation/tutorial/setting-up-the-project.html @@ -0,0 +1,189 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                    +
                                                                                    + + +
                                                                                    +
                                                                                    + + + + + + + + + + + + + + + + + + + + + +

                                                                                    Tutorial: Setting up the Project

                                                                                    +

                                                                                    In order to work on our project you should first set up a local development environment. +That way you can run the app on your own computer and immediately see and test changes you make.

                                                                                    +

                                                                                    Setup

                                                                                    +

                                                                                    We have documented the steps to clone and set up the project in our README in the "Development" section

                                                                                    +

                                                                                    Run

                                                                                    +

                                                                                    Did you follow the steps in the README and have been able to successfully execute npm start?

                                                                                    +

                                                                                    Visit your local app in a browser at http://localhost:4200/

                                                                                    +

                                                                                    If you can see and use Aam Digital there, you are good to go. Great!

                                                                                    +
                                                                                    +

                                                                                    Next up: +> Using Aam Digital (as a user)

                                                                                    + +
                                                                                    +
                                                                                    +

                                                                                    results matching ""

                                                                                    +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      No results matching ""

                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/additional-documentation/tutorial/using-aam-digital-(as-a-user).html b/documentation/additional-documentation/tutorial/using-aam-digital-(as-a-user).html new file mode 100644 index 0000000000..537f59c7cf --- /dev/null +++ b/documentation/additional-documentation/tutorial/using-aam-digital-(as-a-user).html @@ -0,0 +1,198 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                      +
                                                                                      + + +
                                                                                      +
                                                                                      + + + + + + + + + + + + + + + + + + + + + +

                                                                                      Tutorial: Using Aam Digital (as a user)

                                                                                      +

                                                                                      Before changing things or implementing new features, you should get a basic idea of how Aam Digital currently works for our users. +Feel free to reach out to someone from our team, if you haven't already. We'll be happy to give you a demo and talk about the needs and backgrounds of our users.

                                                                                      +

                                                                                      To get a true feeling for the app, work through the following short usage scenarios yourself:

                                                                                      +

                                                                                      Basic participants & notes

                                                                                      +
                                                                                        +
                                                                                      1. Register a new participant in the system. (Hint: Go through the "Children" list)
                                                                                      2. +
                                                                                      3. Add a note about your new participant. (Hint: Either expand the "Notes & Reports" section or use the blue "primary action" button on the bottom right)
                                                                                      4. +
                                                                                      5. Find your new note in the project-wide list of notes. (Hint: Navigate to the "Notes" list using the main menu on the left)
                                                                                      6. +
                                                                                      +

                                                                                      Recording attendance

                                                                                      +
                                                                                        +
                                                                                      1. Add your new participant to a "Recurring Activity". (Hint: open the details of one activity from the "Recurring Activities" list and add the name in the "Participants" section)
                                                                                      2. +
                                                                                      3. Record today's attendance for that activity. (Hint: Use "Record Attendance" and find the activity you have just added your participant to)
                                                                                      4. +
                                                                                      5. See your participant's attendance record. (Hint: Open the details view for your participant by clicking on the relevant row in the "Children" list and then expand the "Attendance" section)
                                                                                      6. +
                                                                                      +

                                                                                      Play around

                                                                                      +

                                                                                      Try some of the other features and get a feeling for Aam Digital.

                                                                                      +
                                                                                      +

                                                                                      Next up: +> Diving into the Code

                                                                                      + +
                                                                                      +
                                                                                      +

                                                                                      results matching ""

                                                                                      +
                                                                                        +
                                                                                        +
                                                                                        +

                                                                                        No results matching ""

                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/AbstractViewComponent.html b/documentation/classes/AbstractViewComponent.html new file mode 100644 index 0000000000..70cff7edfd --- /dev/null +++ b/documentation/classes/AbstractViewComponent.html @@ -0,0 +1,415 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                        +
                                                                                        + + +
                                                                                        +
                                                                                        + + + + + + + + + + + + + + + + +
                                                                                        +
                                                                                        +

                                                                                        +

                                                                                        File

                                                                                        +

                                                                                        +

                                                                                        + src/app/core/ui/abstract-view/abstract-view.component.ts +

                                                                                        + + +

                                                                                        +

                                                                                        Description

                                                                                        +

                                                                                        +

                                                                                        +

                                                                                        Base class for wrapper components like RoutedViewComponent or DialogViewComponent

                                                                                        + +

                                                                                        + + + + +
                                                                                        +

                                                                                        Index

                                                                                        + + + + + + + + + + + + + + + +
                                                                                        +
                                                                                        Properties
                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + +
                                                                                        +

                                                                                        Constructor

                                                                                        + + + + + + + + + + + + + +
                                                                                        +constructor(injector: Injector, isDialog: boolean) +
                                                                                        + +
                                                                                        +
                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                        NameTypeOptional
                                                                                        injector + Injector + + No +
                                                                                        isDialog + boolean + + No +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + +
                                                                                        + +

                                                                                        + Properties +

                                                                                        + + + + + + + + + + + + + + +
                                                                                        + + + componentInjector + + +
                                                                                        + Type : Injector | undefined + +
                                                                                        + +
                                                                                        + + + + + + + + + + + + + + +
                                                                                        + + + viewContext + + +
                                                                                        + Type : ViewComponentContext + +
                                                                                        + +
                                                                                        +
                                                                                        + + + + + + + +
                                                                                        + + +
                                                                                        +
                                                                                        import { Injector } from "@angular/core";
                                                                                        +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                        +import { ViewActionsComponent } from "../../common-components/view-actions/view-actions.component";
                                                                                        +
                                                                                        +/**
                                                                                        + * Base class for wrapper components like RoutedViewComponent or DialogViewComponent
                                                                                        + */
                                                                                        +export abstract class AbstractViewComponent {
                                                                                        +  viewContext: ViewComponentContext;
                                                                                        +  componentInjector: Injector | undefined;
                                                                                        +
                                                                                        +  constructor(injector: Injector, isDialog: boolean) {
                                                                                        +    this.viewContext = new ViewComponentContext(isDialog);
                                                                                        +
                                                                                        +    this.componentInjector = Injector.create({
                                                                                        +      providers: [
                                                                                        +        { provide: ViewComponentContext, useValue: this.viewContext },
                                                                                        +      ],
                                                                                        +      parent: injector,
                                                                                        +    });
                                                                                        +  }
                                                                                        +}
                                                                                        +
                                                                                        +/**
                                                                                        + * Service to share context for components that can be used both
                                                                                        + * in dialogs (wrapped by DialogViewComponent) and
                                                                                        + * in full screen (wrapped by RoutedViewComponent).
                                                                                        + */
                                                                                        +export class ViewComponentContext {
                                                                                        +  title: ViewTitleComponent;
                                                                                        +  actions: ViewActionsComponent;
                                                                                        +
                                                                                        +  constructor(public isDialog: boolean) {}
                                                                                        +}
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + + + + + + + + + +
                                                                                        +
                                                                                        +

                                                                                        results matching ""

                                                                                        +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          No results matching ""

                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ActivityAttendance.html b/documentation/classes/ActivityAttendance.html new file mode 100644 index 0000000000..e07275de93 --- /dev/null +++ b/documentation/classes/ActivityAttendance.html @@ -0,0 +1,2889 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          +

                                                                                          +

                                                                                          File

                                                                                          +

                                                                                          +

                                                                                          + src/app/child-dev-project/attendance/model/activity-attendance.ts +

                                                                                          + + +

                                                                                          +

                                                                                          Description

                                                                                          +

                                                                                          +

                                                                                          +

                                                                                          Aggregate information about all events for a RecurringActivity within a given time period.

                                                                                          +

                                                                                          This object is not saved in the database but instead generated dynamically from stored Events +to avoid problems keeping all information in sync in the database.

                                                                                          + +

                                                                                          + +

                                                                                          +

                                                                                          Extends

                                                                                          +

                                                                                          +

                                                                                          + Entity +

                                                                                          + + + +
                                                                                          +

                                                                                          Index

                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          Properties
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          Methods
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          Accessors
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +

                                                                                          + Properties +

                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + activity + + +
                                                                                          + Type : RecurringActivity + +
                                                                                          + +
                                                                                          +

                                                                                          The general, recurring activity for which this instance aggregates actual events that took place within a limited time period.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + individualLogicalStatusCounts + + +
                                                                                          + Default value : new Map< + string, + { [key in AttendanceLogicalStatus]?: number } + >() +
                                                                                          + +
                                                                                          +

                                                                                          Mapping child ids to a map with all logical status as object keys and their counts as values.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + individualStatusTypeCounts + + +
                                                                                          + Default value : new Map<string, { [key: string]: number }>() +
                                                                                          + +
                                                                                          +

                                                                                          Mapping child ids to a map with all status type ids as object keys and their counts as values.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + periodFrom + + +
                                                                                          + Type : Date + +
                                                                                          + +
                                                                                          +

                                                                                          Starting date of the period this data refers to

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + periodTo + + +
                                                                                          + Type : Date + +
                                                                                          + +
                                                                                          +

                                                                                          End date of the period this data refers to

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + Readonly + THRESHOLD_URGENT + + +
                                                                                          + Type : number + +
                                                                                          + Default value : 0.6 +
                                                                                          + +
                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + Readonly + THRESHOLD_WARNING + + +
                                                                                          + Type : number + +
                                                                                          + Default value : 0.8 +
                                                                                          + +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + Optional + _isCustomizedType + + +
                                                                                          + Type : boolean + +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:69 +
                                                                                          +
                                                                                          +

                                                                                          True if this type's schema has been customized dynamically from the config.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + + _rev + + +
                                                                                          + Type : string + +
                                                                                          + Decorators : +
                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:184 +
                                                                                          +
                                                                                          +

                                                                                          internal database doc revision, used to detect conflicts by PouchDB/CouchDB

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + + anonymized + + +
                                                                                          + Type : boolean + +
                                                                                          + Decorators : +
                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:203 +
                                                                                          +
                                                                                          +

                                                                                          Whether this entity has been anonymized and therefore cannot be re-activated.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + color + + +
                                                                                          + Type : string + +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:113 +
                                                                                          +
                                                                                          +

                                                                                          color used for to highlight this entity type across the app

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + + created + + +
                                                                                          + Type : UpdateMetadata + +
                                                                                          + Decorators : +
                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:189 +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + ENTITY_TYPE + + +
                                                                                          + Type : string + +
                                                                                          + Default value : "Entity" +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:56 +
                                                                                          +
                                                                                          +

                                                                                          The entity's type. +In classes extending Entity this is usually overridden by the class annotation @DatabaseEntity('NewEntity'). +The type needs to be used as routing path in lower case. The routing path can be defined in the configuration file.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + hasPII + + +
                                                                                          + Type : boolean + +
                                                                                          + Default value : false +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:174 +
                                                                                          +
                                                                                          +

                                                                                          whether this entity type can contain "personally identifiable information" (PII) +and therefore should follow strict data protection requirements +and offer a function to anonymize records.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + icon + + +
                                                                                          + Type : IconName + +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:108 +
                                                                                          +
                                                                                          +

                                                                                          icon id used for this entity

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + + inactive + + +
                                                                                          + Type : boolean + +
                                                                                          + Decorators : +
                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:197 +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + schema + + +
                                                                                          + Type : EntitySchema + +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:64 +
                                                                                          +
                                                                                          +

                                                                                          EntitySchema defining property transformations from/to the database. +This is auto-generated from the property annotations @DatabaseField().

                                                                                          +

                                                                                          see /additional-documentation/how-to-guides/create-a-new-entity-type.html

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + toStringAttributes + + +
                                                                                          + Type : [] + +
                                                                                          + Default value : ["entityId"] +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:77 +
                                                                                          +
                                                                                          +

                                                                                          Defining which attribute values of an entity should be shown in the .toString() method.

                                                                                          +

                                                                                          The default is the ID of the entity (entityId). +This can be overwritten in subclasses or through the config.

                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + + updated + + +
                                                                                          + Type : UpdateMetadata + +
                                                                                          + Decorators : +
                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:194 +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +

                                                                                          + Methods +

                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countEventsAbsent + + +
                                                                                          +countEventsAbsent(childId: string) +
                                                                                          + +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          childId + string + + No +
                                                                                          +
                                                                                          +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countEventsPresent + + +
                                                                                          +countEventsPresent(childId: string) +
                                                                                          + +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          childId + string + + No +
                                                                                          +
                                                                                          +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countEventsTotal + + +
                                                                                          +countEventsTotal() +
                                                                                          + +
                                                                                          + +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countEventsWithUnknownStatus + + +
                                                                                          +countEventsWithUnknownStatus(forChildId?: string) +
                                                                                          + +
                                                                                          +

                                                                                          The number of events that have at least one participant with an undefined status. +This may occur when the user does not complete the full roll call or skips participants. +The count of unknown status can indicate if manual checking and corrections are required.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDescription
                                                                                          forChildId + string + + Yes + +

                                                                                          filter the calculation to only include status of the given participant id

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countTotalAbsent + + +
                                                                                          +countTotalAbsent() +
                                                                                          + +
                                                                                          + +
                                                                                          + Returns : any + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + countTotalPresent + + +
                                                                                          +countTotalPresent() +
                                                                                          + +
                                                                                          + +
                                                                                          + Returns : any + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + create + + +
                                                                                          + + create(from: Date, events: EventNote[]) +
                                                                                          + +
                                                                                          +

                                                                                          Create an instance with the given initial properties.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDefault value
                                                                                          from + Date + + No + +
                                                                                          events + EventNote[] + + No + + [] +
                                                                                          +
                                                                                          +
                                                                                          + Returns : ActivityAttendance + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + getAttendancePercentage + + +
                                                                                          +getAttendancePercentage(childId: string) +
                                                                                          + +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          childId + string + + No +
                                                                                          +
                                                                                          +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + getAttendancePercentageAverage + + +
                                                                                          +getAttendancePercentageAverage() +
                                                                                          + +
                                                                                          + +
                                                                                          + Returns : number + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Public + getColor + + +
                                                                                          + + getColor(forChildId?: string) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:219 +
                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          forChildId + string + + Yes +
                                                                                          +
                                                                                          +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Public + getWarningLevel + + +
                                                                                          + + getWarningLevel(forChildId?: string) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:200 +
                                                                                          +
                                                                                          +

                                                                                          Custom warning level for attendance thresholds - optionally for a specific child.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          forChildId + string + + Yes +
                                                                                          +
                                                                                          +
                                                                                          + Returns : WarningLevel + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + recalculateStats + + +
                                                                                          +recalculateStats() +
                                                                                          + +
                                                                                          + +
                                                                                          + Returns : void + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + assertValid + + +
                                                                                          +assertValid() +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:357 +
                                                                                          +
                                                                                          +

                                                                                          Checks if the entity is valid and if the check fails, throws an error explaining the failed check.

                                                                                          +
                                                                                          + +
                                                                                          + Returns : void + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Public + copy + + +
                                                                                          + + copy(generateNewId: boolean) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:342 +
                                                                                          +
                                                                                          +

                                                                                          Shallow copy of the entity. +The resulting entity will be of the same type as this +(taking into account subclassing)

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDefault value
                                                                                          generateNewId + boolean + + No + + false +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + createPrefixedId + + +
                                                                                          + + createPrefixedId(type: string, id: string) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:155 +
                                                                                          +
                                                                                          +

                                                                                          Create a prefixed id by adding the type prefix if it isn't already part of the given id.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDescription
                                                                                          type + string + + No + +

                                                                                          The type prefix to be added.

                                                                                          + +
                                                                                          id + string + + No + +

                                                                                          The id to be extended with a prefix.

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + extractEntityIdFromId + + +
                                                                                          + + extractEntityIdFromId(id: string) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:145 +
                                                                                          +
                                                                                          +

                                                                                          Extract entityId without prefix.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDescription
                                                                                          id + string + + No + +

                                                                                          An entity's id including prefix.

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + extractTypeFromId + + +
                                                                                          + + extractTypeFromId(id: string) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:136 +
                                                                                          +
                                                                                          +

                                                                                          Extract the ENTITY_TYPE from an id.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptionalDescription
                                                                                          id + string + + No + +

                                                                                          An entity's id including prefix.

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Static + getBlockComponent + + +
                                                                                          + + getBlockComponent() +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:165 +
                                                                                          +
                                                                                          + +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + getConstructor + + +
                                                                                          +getConstructor() +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:264 +
                                                                                          +
                                                                                          +

                                                                                          Get the class (Entity or the actual subclass of the instance) to call static methods on the correct class considering inheritance

                                                                                          +
                                                                                          + +
                                                                                          + Returns : EntityConstructor<> + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Public + getId + + +
                                                                                          + + getId(withoutPrefix) +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:283 +
                                                                                          +
                                                                                          +

                                                                                          Returns the id of this entity.

                                                                                          +

                                                                                          Note that an id is final and can't be changed after the object has been instantiated, hence there is no +setId() method.

                                                                                          +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                          NameOptionalDefault value
                                                                                          withoutPrefix + No + + false +
                                                                                          +
                                                                                          +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          +

                                                                                          the unique id of this entity

                                                                                          + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + getSchema + + +
                                                                                          +getSchema() +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:271 +
                                                                                          +
                                                                                          +

                                                                                          Get the entity schema of this class

                                                                                          +
                                                                                          + +
                                                                                          + Returns : EntitySchema + +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + Public + getType + + +
                                                                                          + + getType() +
                                                                                          +
                                                                                          Inherited from Entity +
                                                                                          +
                                                                                          +
                                                                                          Defined in Entity:294 +
                                                                                          +
                                                                                          +

                                                                                          Returns the type which is used to categorize this entity in the database.

                                                                                          +

                                                                                          Important: Do not overwrite this method! Types are handled internally.

                                                                                          +
                                                                                          + +
                                                                                          + Returns : string + +
                                                                                          +
                                                                                          +

                                                                                          the entity's type (which is the class name).

                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + +
                                                                                          +

                                                                                          + Accessors +

                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + events +
                                                                                          + getevents() +
                                                                                          + +
                                                                                          + setevents(value: EventNote[]) +
                                                                                          + +
                                                                                          + +
                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                          NameTypeOptional
                                                                                          value + EventNote[] + + No +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + Returns : void + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + +
                                                                                          +
                                                                                          import { AttendanceLogicalStatus } from "./attendance-status";
                                                                                          +import { RecurringActivity } from "./recurring-activity";
                                                                                          +import { defaultAttendanceStatusTypes } from "../../../core/config/default-config/default-attendance-status-types";
                                                                                          +import { EventNote } from "./event-note";
                                                                                          +import { getWarningLevelColor, WarningLevel } from "../../warning-level";
                                                                                          +import { Entity } from "../../../core/entity/model/entity";
                                                                                          +
                                                                                          +/**
                                                                                          + * Aggregate information about all events for a {@link RecurringActivity} within a given time period.
                                                                                          + *
                                                                                          + * This object is not saved in the database but instead generated dynamically from stored Events
                                                                                          + * to avoid problems keeping all information in sync in the database.
                                                                                          + */
                                                                                          +export class ActivityAttendance extends Entity {
                                                                                          +  static readonly THRESHOLD_URGENT = 0.6;
                                                                                          +  static readonly THRESHOLD_WARNING = 0.8;
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Create an instance with the given initial properties.
                                                                                          +   */
                                                                                          +  static create(from: Date, events: EventNote[] = []) {
                                                                                          +    const instance = new ActivityAttendance();
                                                                                          +    instance.periodFrom = from;
                                                                                          +    instance.events = events;
                                                                                          +    return instance;
                                                                                          +  }
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Starting date of the period this data refers to
                                                                                          +   */
                                                                                          +  periodFrom: Date;
                                                                                          +  /**
                                                                                          +   * End date of the period this data refers to
                                                                                          +   */
                                                                                          +  periodTo: Date;
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Events within the period relating to the activity
                                                                                          +   */
                                                                                          +  private _events: EventNote[] = [];
                                                                                          +
                                                                                          +  set events(value: EventNote[]) {
                                                                                          +    this._events = value;
                                                                                          +    this.recalculateStats();
                                                                                          +  }
                                                                                          +
                                                                                          +  get events(): EventNote[] {
                                                                                          +    return this._events;
                                                                                          +  }
                                                                                          +
                                                                                          +  /**
                                                                                          +   * The general, recurring activity for which this instance aggregates actual events that took place within a limited time period.
                                                                                          +   */
                                                                                          +  activity: RecurringActivity;
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Mapping child ids to a map with all *logical* status as object keys and their counts as values.
                                                                                          +   */
                                                                                          +  individualLogicalStatusCounts = new Map<
                                                                                          +    string,
                                                                                          +    { [key in AttendanceLogicalStatus]?: number }
                                                                                          +  >();
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Mapping child ids to a map with all status type ids as object keys and their counts as values.
                                                                                          +   */
                                                                                          +  individualStatusTypeCounts = new Map<string, { [key: string]: number }>();
                                                                                          +
                                                                                          +  countEventsTotal(): number {
                                                                                          +    return this.events.length;
                                                                                          +  }
                                                                                          +
                                                                                          +  countEventsPresent(childId: string): number {
                                                                                          +    return this.countIndividual(childId, AttendanceLogicalStatus.PRESENT);
                                                                                          +  }
                                                                                          +
                                                                                          +  countEventsAbsent(childId: string): number {
                                                                                          +    return this.countIndividual(childId, AttendanceLogicalStatus.ABSENT);
                                                                                          +  }
                                                                                          +
                                                                                          +  private countIndividual(
                                                                                          +    childId: string,
                                                                                          +    countingType: AttendanceLogicalStatus,
                                                                                          +  ) {
                                                                                          +    return this.events.filter(
                                                                                          +      (eventNote) =>
                                                                                          +        eventNote.getAttendance(childId)?.status.countAs === countingType,
                                                                                          +    ).length;
                                                                                          +  }
                                                                                          +
                                                                                          +  getAttendancePercentage(childId: string): number {
                                                                                          +    const present = this.countEventsPresent(childId);
                                                                                          +    const absent = this.countEventsAbsent(childId);
                                                                                          +
                                                                                          +    return present / (present + absent);
                                                                                          +  }
                                                                                          +
                                                                                          +  countTotalPresent() {
                                                                                          +    return this.countWithStatus(AttendanceLogicalStatus.PRESENT);
                                                                                          +  }
                                                                                          +
                                                                                          +  countTotalAbsent() {
                                                                                          +    return this.countWithStatus(AttendanceLogicalStatus.ABSENT);
                                                                                          +  }
                                                                                          +
                                                                                          +  private countWithStatus(matchingType: AttendanceLogicalStatus) {
                                                                                          +    return this.events.reduce(
                                                                                          +      (total, event) => total + event.countWithStatus(matchingType),
                                                                                          +      0,
                                                                                          +    );
                                                                                          +  }
                                                                                          +
                                                                                          +  getAttendancePercentageAverage(): number {
                                                                                          +    return this.countPercentage(AttendanceLogicalStatus.PRESENT, false);
                                                                                          +  }
                                                                                          +
                                                                                          +  private countPercentage(
                                                                                          +    matchingType: AttendanceLogicalStatus,
                                                                                          +    rounded: boolean = false,
                                                                                          +  ) {
                                                                                          +    const calculatedStats = this.events
                                                                                          +      .map((event) => {
                                                                                          +        const eventStats = {
                                                                                          +          matching: 0,
                                                                                          +          total: event.children.length,
                                                                                          +        };
                                                                                          +        for (const childId of event.children) {
                                                                                          +          const att = event.getAttendance(childId).status;
                                                                                          +          if (att.countAs === matchingType) {
                                                                                          +            eventStats.matching++;
                                                                                          +          } else if (att.countAs === AttendanceLogicalStatus.IGNORE) {
                                                                                          +            eventStats.total--;
                                                                                          +          }
                                                                                          +        }
                                                                                          +
                                                                                          +        return eventStats;
                                                                                          +      })
                                                                                          +      .reduce(
                                                                                          +        (accumulatedStats, currentEventStats) => {
                                                                                          +          accumulatedStats.total += currentEventStats.total;
                                                                                          +          accumulatedStats.matching += currentEventStats.matching;
                                                                                          +          return accumulatedStats;
                                                                                          +        },
                                                                                          +        { total: 0, matching: 0 },
                                                                                          +      );
                                                                                          +
                                                                                          +    const result = calculatedStats.matching / calculatedStats.total;
                                                                                          +    if (rounded) {
                                                                                          +      return Math.round(result * 10) / 10;
                                                                                          +    } else {
                                                                                          +      return result;
                                                                                          +    }
                                                                                          +  }
                                                                                          +
                                                                                          +  /**
                                                                                          +   * The number of events that have at least one participant with an undefined status.
                                                                                          +   * This may occur when the user does not complete the full roll call or skips participants.
                                                                                          +   * The count of unknown status can indicate if manual checking and corrections are required.
                                                                                          +   *
                                                                                          +   * @param forChildId filter the calculation to only include status of the given participant id
                                                                                          +   */
                                                                                          +  countEventsWithUnknownStatus(forChildId?: string): number {
                                                                                          +    return this.events
                                                                                          +      .filter((e) => !forChildId || e.children.includes(forChildId))
                                                                                          +      .reduce(
                                                                                          +        (count: number, e: EventNote) =>
                                                                                          +          e.hasUnknownAttendances(forChildId) ? count + 1 : count,
                                                                                          +        0,
                                                                                          +      );
                                                                                          +  }
                                                                                          +
                                                                                          +  recalculateStats() {
                                                                                          +    this.individualStatusTypeCounts = new Map();
                                                                                          +    this.individualLogicalStatusCounts = new Map();
                                                                                          +
                                                                                          +    for (const event of this.events) {
                                                                                          +      for (const participant of event.children) {
                                                                                          +        let logicalCount = this.individualLogicalStatusCounts.get(participant);
                                                                                          +        if (!logicalCount) {
                                                                                          +          logicalCount = {};
                                                                                          +          this.individualLogicalStatusCounts.set(participant, logicalCount);
                                                                                          +        }
                                                                                          +        let typeCount = this.individualStatusTypeCounts.get(participant);
                                                                                          +        if (!typeCount) {
                                                                                          +          typeCount = {};
                                                                                          +          this.individualStatusTypeCounts.set(participant, typeCount);
                                                                                          +        }
                                                                                          +
                                                                                          +        const att = event.getAttendance(participant);
                                                                                          +        logicalCount[att.status.countAs] =
                                                                                          +          (logicalCount[att.status.countAs] ?? 0) + 1;
                                                                                          +        typeCount[att.status.id] = (typeCount[att.status.id] ?? 0) + 1;
                                                                                          +      }
                                                                                          +    }
                                                                                          +  }
                                                                                          +
                                                                                          +  /**
                                                                                          +   * Custom warning level for attendance thresholds - optionally for a specific child.
                                                                                          +   */
                                                                                          +  public getWarningLevel(forChildId?: string): WarningLevel {
                                                                                          +    let attendancePercentage;
                                                                                          +    if (forChildId) {
                                                                                          +      attendancePercentage = this.getAttendancePercentage(forChildId);
                                                                                          +    } else {
                                                                                          +      attendancePercentage = this.getAttendancePercentageAverage();
                                                                                          +    }
                                                                                          +
                                                                                          +    if (!attendancePercentage) {
                                                                                          +      return WarningLevel.NONE;
                                                                                          +    } else if (attendancePercentage < ActivityAttendance.THRESHOLD_URGENT) {
                                                                                          +      return WarningLevel.URGENT;
                                                                                          +    } else if (attendancePercentage < ActivityAttendance.THRESHOLD_WARNING) {
                                                                                          +      return WarningLevel.WARNING;
                                                                                          +    } else {
                                                                                          +      return WarningLevel.OK;
                                                                                          +    }
                                                                                          +  }
                                                                                          +
                                                                                          +  public getColor(forChildId?: string): string {
                                                                                          +    return getWarningLevelColor(this.getWarningLevel(forChildId));
                                                                                          +  }
                                                                                          +}
                                                                                          +
                                                                                          +/**
                                                                                          + * Generate a event with children for the given AttendanceStatus array.
                                                                                          + *
                                                                                          + * This is particularly useful to generate simple data for demo or test purposes.
                                                                                          + *
                                                                                          + * @param participating Object where keys are string childId and values are its attendance status
                                                                                          + * @param date (Optional) date of the event; if not given today's date is used
                                                                                          + * @param activity (Optional) reference to the connected activity entity
                                                                                          + */
                                                                                          +export function generateEventWithAttendance(
                                                                                          +  participating: (
                                                                                          +    | [string, AttendanceLogicalStatus]
                                                                                          +    | [string, AttendanceLogicalStatus, string]
                                                                                          +  )[],
                                                                                          +  date = new Date(),
                                                                                          +  activity?: RecurringActivity,
                                                                                          +): EventNote {
                                                                                          +  const event = EventNote.create(date);
                                                                                          +  for (const att of participating) {
                                                                                          +    event.addChild(att[0]);
                                                                                          +    event.getAttendance(att[0]).status = defaultAttendanceStatusTypes.find(
                                                                                          +      (t) => t.countAs === att[1],
                                                                                          +    );
                                                                                          +    if (att.length === 3) {
                                                                                          +      event.getAttendance(att[0]).remarks = att[2];
                                                                                          +    }
                                                                                          +  }
                                                                                          +  event.relatesTo = activity?.getId();
                                                                                          +  return event;
                                                                                          +}
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + + + +
                                                                                          +
                                                                                          +

                                                                                          results matching ""

                                                                                          +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            No results matching ""

                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Aser.html b/documentation/classes/Aser.html new file mode 100644 index 0000000000..f6481576bf --- /dev/null +++ b/documentation/classes/Aser.html @@ -0,0 +1,711 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                            +
                                                                                            + + +
                                                                                            +
                                                                                            + + + + + + + + + + + + + + + + +
                                                                                            +
                                                                                            +

                                                                                            +

                                                                                            File

                                                                                            +

                                                                                            +

                                                                                            + src/app/child-dev-project/children/aser/model/aser.ts +

                                                                                            + + + + + + +
                                                                                            +

                                                                                            Index

                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                            +
                                                                                            Properties
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            Methods
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + + +
                                                                                            + +

                                                                                            + Properties +

                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + bengali + + +
                                                                                            + Type : SkillLevel + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'reading-levels'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + child + + +
                                                                                            + Type : string + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({dataType: 'entity', additional: undefined, entityReferenceRole: 'composite'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + date + + +
                                                                                            + Type : Date + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined, defaultValue: undefined, anonymize: 'retain-anonymized'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + english + + +
                                                                                            + Type : SkillLevel + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'reading-levels'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + +
                                                                                            + + + Static + + hasPII + + +
                                                                                            + Default value : true +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + hindi + + +
                                                                                            + Type : SkillLevel + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'reading-levels'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                            + + + + math + + +
                                                                                            + Type : SkillLevel + +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'math-levels'})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                            + + + + remarks + + +
                                                                                            + Type : string + +
                                                                                            + Default value : "" +
                                                                                            + Decorators : +
                                                                                            + + @DatabaseField({label: undefined})
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + +
                                                                                            + +

                                                                                            + Methods +

                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                            + + + getWarningLevel + + +
                                                                                            +getWarningLevel() +
                                                                                            + +
                                                                                            + +
                                                                                            + Returns : WarningLevel + +
                                                                                            +
                                                                                            +
                                                                                            + + + + + +
                                                                                            + + +
                                                                                            +
                                                                                            import { Entity } from "../../../../core/entity/model/entity";
                                                                                            +import { DatabaseField } from "../../../../core/entity/database-field.decorator";
                                                                                            +import { DatabaseEntity } from "../../../../core/entity/database-entity.decorator";
                                                                                            +import { SkillLevel } from "./skill-levels";
                                                                                            +import { WarningLevel } from "../../../warning-level";
                                                                                            +import { ConfigurableEnumDatatype } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum-datatype/configurable-enum.datatype";
                                                                                            +import { PLACEHOLDERS } from "../../../../core/entity/schema/entity-schema-field";
                                                                                            +import { Child } from "../../model/child";
                                                                                            +
                                                                                            +@DatabaseEntity("Aser")
                                                                                            +export class Aser extends Entity {
                                                                                            +  static override hasPII = true;
                                                                                            +
                                                                                            +  @DatabaseField({
                                                                                            +    dataType: "entity",
                                                                                            +    additional: Child.ENTITY_TYPE,
                                                                                            +    entityReferenceRole: "composite",
                                                                                            +  })
                                                                                            +  child: string;
                                                                                            +
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label for date of the ASER results:Date`,
                                                                                            +    defaultValue: {
                                                                                            +      mode: "dynamic",
                                                                                            +      value: PLACEHOLDERS.NOW,
                                                                                            +    },
                                                                                            +    anonymize: "retain-anonymized",
                                                                                            +  })
                                                                                            +  date: Date;
                                                                                            +
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label of the Hindi ASER result:Hindi`,
                                                                                            +    dataType: "configurable-enum",
                                                                                            +    additional: "reading-levels",
                                                                                            +  })
                                                                                            +  hindi: SkillLevel;
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label of the Bengali ASER result:Bengali`,
                                                                                            +    dataType: "configurable-enum",
                                                                                            +    additional: "reading-levels",
                                                                                            +  })
                                                                                            +  bengali: SkillLevel;
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label of the English ASER result:English`,
                                                                                            +    dataType: "configurable-enum",
                                                                                            +    additional: "reading-levels",
                                                                                            +  })
                                                                                            +  english: SkillLevel;
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label of the Math ASER result:Math`,
                                                                                            +    dataType: "configurable-enum",
                                                                                            +    additional: "math-levels",
                                                                                            +  })
                                                                                            +  math: SkillLevel;
                                                                                            +
                                                                                            +  @DatabaseField({
                                                                                            +    label: $localize`:Label for the remarks of a ASER result:Remarks`,
                                                                                            +  })
                                                                                            +  remarks: string = "";
                                                                                            +
                                                                                            +  getWarningLevel(): WarningLevel {
                                                                                            +    if (this.hasPassedEverything()) {
                                                                                            +      return WarningLevel.OK;
                                                                                            +    } else {
                                                                                            +      return WarningLevel.WARNING;
                                                                                            +    }
                                                                                            +  }
                                                                                            +
                                                                                            +  private hasPassedEverything(): boolean {
                                                                                            +    const schema = this.getSchema();
                                                                                            +    return Object.keys(this)
                                                                                            +      .filter(
                                                                                            +        (key) =>
                                                                                            +          schema.get(key)?.dataType === ConfigurableEnumDatatype.dataType,
                                                                                            +      )
                                                                                            +      .every((key) => this.isPassed(this[key]));
                                                                                            +  }
                                                                                            +
                                                                                            +  private isPassed(value: SkillLevel): boolean {
                                                                                            +    return !value || value.id === "" || value.passed;
                                                                                            +  }
                                                                                            +}
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + + + + + + + + + +
                                                                                            +
                                                                                            +

                                                                                            results matching ""

                                                                                            +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              No results matching ""

                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/BooleanFilter.html b/documentation/classes/BooleanFilter.html new file mode 100644 index 0000000000..a5f89c540e --- /dev/null +++ b/documentation/classes/BooleanFilter.html @@ -0,0 +1,898 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                              +
                                                                                              + + +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + +
                                                                                              +
                                                                                              +

                                                                                              +

                                                                                              File

                                                                                              +

                                                                                              +

                                                                                              + src/app/core/filter/filters/booleanFilter.ts +

                                                                                              + + + +

                                                                                              +

                                                                                              Extends

                                                                                              +

                                                                                              +

                                                                                              + SelectableFilter +

                                                                                              + + + +
                                                                                              +

                                                                                              Index

                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                              +
                                                                                              Properties
                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              Methods
                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + +
                                                                                              +

                                                                                              Constructor

                                                                                              + + + + + + + + + + + + + +
                                                                                              +constructor(name: string, label: string, config?: BooleanFilterConfig) +
                                                                                              + +
                                                                                              +
                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              NameTypeOptional
                                                                                              name + string + + No +
                                                                                              label + string + + No +
                                                                                              config + BooleanFilterConfig + + Yes +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + +
                                                                                              + +

                                                                                              + Properties +

                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Public + label + + +
                                                                                              + Type : string + +
                                                                                              + Default value : name +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:100 +
                                                                                              +
                                                                                              +
                                                                                              The user-friendly label describing this filter-selection +(optional, defaults to the name of the selection)
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Public + name + + +
                                                                                              + Type : string + +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:98 +
                                                                                              +
                                                                                              +
                                                                                              The name or id describing this filter
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Public + options + + +
                                                                                              + Type : FilterSelectionOption<T>[] + +
                                                                                              +
                                                                                              Inherited from SelectableFilter +
                                                                                              +
                                                                                              +
                                                                                              Defined in SelectableFilter:99 +
                                                                                              +
                                                                                              +
                                                                                              An array of different filtering variants to chose between
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + component + + +
                                                                                              + Type : Type<any> + +
                                                                                              + Default value : ListFilterComponent +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:35 +
                                                                                              +
                                                                                              +

                                                                                              The component used to display filter option to the user.

                                                                                              +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + selectedOptionChange + + +
                                                                                              + Default value : new EventEmitter<string[]>() +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:45 +
                                                                                              +
                                                                                              +

                                                                                              Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                              +

                                                                                              This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                              +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Public + selectedOptionValues + + +
                                                                                              + Type : string[] + +
                                                                                              + Default value : [] +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:37 +
                                                                                              +
                                                                                              +
                                                                                              + +
                                                                                              + +

                                                                                              + Methods +

                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Static + generateOptions + + +
                                                                                              + + generateOptions(valuesToMatchAsOptions: (string | number)[], attributeName: string) +
                                                                                              +
                                                                                              Inherited from SelectableFilter +
                                                                                              +
                                                                                              +
                                                                                              Defined in SelectableFilter:77 +
                                                                                              +
                                                                                              + Type parameters : +
                                                                                                +
                                                                                              • T
                                                                                              • +
                                                                                              +
                                                                                              +

                                                                                              Generate filter options dynamically from the given value to be matched.

                                                                                              +

                                                                                              This is a utility function to make it easier to generate FilterSelectionOptions for standard cases +if you simply want each option to filter items having the given attribute matching different values. +If you have more sophisticated filtering needs, use the constructor to set FilterSelectionOptions that +you created yourself.

                                                                                              +Example :
                                                                                                 A separate FilterSelectionOption is created for each value with a filter
                                                                                              +   that is true of a data item's property exactly matches that value.
                                                                                              + +
                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              NameTypeOptionalDescription
                                                                                              valuesToMatchAsOptions + (string | number)[] + + No + +

                                                                                              An array of values to be matched. +A separate FilterSelectionOption is created for each value with a filter +that is true of a data item's property exactly matches that value.

                                                                                              + +
                                                                                              attributeName + string + + No + +

                                                                                              The name of the property of a data item that is compared to the value in the filter function.

                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                              + Returns : FilterSelectionOption[] + +
                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + Public + getFilter + + +
                                                                                              + + getFilter() +
                                                                                              +
                                                                                              Inherited from Filter +
                                                                                              +
                                                                                              +
                                                                                              Defined in Filter:120 +
                                                                                              +
                                                                                              +

                                                                                              Get the filter query for the given option. +If the given key is undefined or invalid, the returned filter matches any elements.

                                                                                              +
                                                                                              + +
                                                                                              + Returns : DataFilter<T> + +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + getOption + + +
                                                                                              +getOption(key: string) +
                                                                                              +
                                                                                              Inherited from SelectableFilter +
                                                                                              +
                                                                                              + +
                                                                                              +

                                                                                              Get the full filter option by its key.

                                                                                              +
                                                                                              + +
                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                              NameTypeOptionalDescription
                                                                                              key + string + + No + +

                                                                                              The identifier of the requested option

                                                                                              + +
                                                                                              +
                                                                                              + +
                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                              + + + + + +
                                                                                              + + +
                                                                                              +
                                                                                              import { Entity } from "../../entity/model/entity";
                                                                                              +import { BooleanFilterConfig } from "../../entity-list/EntityListConfig";
                                                                                              +import { DataFilter, SelectableFilter } from "./filters";
                                                                                              +
                                                                                              +export class BooleanFilter<T extends Entity> extends SelectableFilter<T> {
                                                                                              +  constructor(name: string, label: string, config?: BooleanFilterConfig) {
                                                                                              +    super(
                                                                                              +      name,
                                                                                              +      [
                                                                                              +        {
                                                                                              +          key: "true",
                                                                                              +          label:
                                                                                              +            config.true ?? $localize`:Filter label default boolean true:Yes`,
                                                                                              +          filter: { [config.id]: true } as DataFilter<T>,
                                                                                              +        },
                                                                                              +        {
                                                                                              +          key: "false",
                                                                                              +          label:
                                                                                              +            config.false ?? $localize`:Filter label default boolean true:No`,
                                                                                              +          filter: {
                                                                                              +            [config.id]: { $in: [false, undefined] },
                                                                                              +          } as DataFilter<T>,
                                                                                              +        },
                                                                                              +      ],
                                                                                              +      label,
                                                                                              +    );
                                                                                              +  }
                                                                                              +}
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + + + + + + + + + +
                                                                                              +
                                                                                              +

                                                                                              results matching ""

                                                                                              +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                No results matching ""

                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/CascadingActionResult.html b/documentation/classes/CascadingActionResult.html new file mode 100644 index 0000000000..b583fb784b --- /dev/null +++ b/documentation/classes/CascadingActionResult.html @@ -0,0 +1,586 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                + + +
                                                                                                +
                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                +

                                                                                                +

                                                                                                File

                                                                                                +

                                                                                                +

                                                                                                + src/app/core/entity/entity-actions/cascading-entity-action.ts +

                                                                                                + + + + + + +
                                                                                                +

                                                                                                Index

                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                Properties
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                Methods
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + +
                                                                                                +

                                                                                                Constructor

                                                                                                + + + + + + + + + + + + + +
                                                                                                +constructor(changedEntities?: Entity[], potentiallyRetainingPII?: Entity[]) +
                                                                                                + +
                                                                                                +
                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                NameTypeOptional
                                                                                                changedEntities + Entity[] + + Yes +
                                                                                                potentiallyRetainingPII + Entity[] + + Yes +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                + +

                                                                                                + Properties +

                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                + + + originalEntitiesBeforeChange + + +
                                                                                                + Type : Entity[] + +
                                                                                                + +
                                                                                                +

                                                                                                entities that have been updated in the process, in their original state +(can be used for undo action)

                                                                                                +
                                                                                                +
                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                + + + potentiallyRetainingPII + + +
                                                                                                + Type : Entity[] + +
                                                                                                + +
                                                                                                +

                                                                                                entities that may still contain PII related to the primary entity that could not be automatically removed +(may need manual review by the user)

                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                + +

                                                                                                + Methods +

                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                + + + mergeResults + + +
                                                                                                +mergeResults(otherResult: CascadingActionResult) +
                                                                                                + +
                                                                                                + +
                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                NameTypeOptional
                                                                                                otherResult + CascadingActionResult + + No +
                                                                                                +
                                                                                                +
                                                                                                + Returns : this + +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                + + + + + +
                                                                                                + + +
                                                                                                +
                                                                                                import { Entity } from "../model/entity";
                                                                                                +import { asArray } from "../../../utils/utils";
                                                                                                +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                +
                                                                                                +export class CascadingActionResult {
                                                                                                +  /**
                                                                                                +   * entities that have been updated in the process, in their original state
                                                                                                +   * (can be used for undo action)
                                                                                                +   */
                                                                                                +  originalEntitiesBeforeChange: Entity[];
                                                                                                +
                                                                                                +  /**
                                                                                                +   * entities that may still contain PII related to the primary entity that could not be automatically removed
                                                                                                +   * (may need manual review by the user)
                                                                                                +   */
                                                                                                +  potentiallyRetainingPII: Entity[];
                                                                                                +
                                                                                                +  constructor(changedEntities?: Entity[], potentiallyRetainingPII?: Entity[]) {
                                                                                                +    this.originalEntitiesBeforeChange = changedEntities ?? [];
                                                                                                +    this.potentiallyRetainingPII = potentiallyRetainingPII ?? [];
                                                                                                +  }
                                                                                                +
                                                                                                +  mergeResults(otherResult: CascadingActionResult) {
                                                                                                +    this.originalEntitiesBeforeChange = [
                                                                                                +      ...this.originalEntitiesBeforeChange,
                                                                                                +      ...otherResult.originalEntitiesBeforeChange.filter(
                                                                                                +        (e) =>
                                                                                                +          !this.originalEntitiesBeforeChange.some(
                                                                                                +            (x) => x.getId() === e.getId(),
                                                                                                +          ),
                                                                                                +      ),
                                                                                                +    ];
                                                                                                +    this.potentiallyRetainingPII = [
                                                                                                +      ...this.potentiallyRetainingPII,
                                                                                                +      ...otherResult.potentiallyRetainingPII.filter(
                                                                                                +        (e) =>
                                                                                                +          !this.potentiallyRetainingPII.some((x) => x.getId() === e.getId()),
                                                                                                +      ),
                                                                                                +    ];
                                                                                                +
                                                                                                +    return this;
                                                                                                +  }
                                                                                                +}
                                                                                                +
                                                                                                +/**
                                                                                                + * extend this class to implement services that perform actions on an entity
                                                                                                + * that require recursive actions to related entities as well.
                                                                                                + */
                                                                                                +export abstract class CascadingEntityAction {
                                                                                                +  protected constructor(
                                                                                                +    protected entityMapper: EntityMapperService,
                                                                                                +    protected schemaService: EntitySchemaService,
                                                                                                +  ) {}
                                                                                                +
                                                                                                +  /**
                                                                                                +   * Recursively call the given actions on all related entities that contain a reference to the given entity.
                                                                                                +   *
                                                                                                +   * Returns an array of all affected related entities (excluding the given entity) in their state before the action
                                                                                                +   * to support an undo action.
                                                                                                +   *
                                                                                                +   * @param entity
                                                                                                +   * @param compositeAction
                                                                                                +   * @param aggregateAction
                                                                                                +   * @private
                                                                                                +   */
                                                                                                +  protected async cascadeActionToRelatedEntities(
                                                                                                +    entity: Entity,
                                                                                                +    compositeAction: (
                                                                                                +      relatedEntity: Entity,
                                                                                                +      refField?: string,
                                                                                                +      entity?: Entity,
                                                                                                +    ) => Promise<CascadingActionResult>,
                                                                                                +    aggregateAction: (
                                                                                                +      relatedEntity: Entity,
                                                                                                +      refField?: string,
                                                                                                +      entity?: Entity,
                                                                                                +    ) => Promise<CascadingActionResult>,
                                                                                                +  ): Promise<CascadingActionResult> {
                                                                                                +    const cascadeActionResult = new CascadingActionResult();
                                                                                                +
                                                                                                +    const entityTypesWithReferences =
                                                                                                +      this.schemaService.getEntityTypesReferencingType(entity.getType());
                                                                                                +
                                                                                                +    for (const refType of entityTypesWithReferences) {
                                                                                                +      const entities = await this.entityMapper.loadType(refType.entityType);
                                                                                                +
                                                                                                +      for (const refField of refType.referencingProperties) {
                                                                                                +        const affectedEntities = entities.filter((e) =>
                                                                                                +          asArray(e[refField]).includes(entity.getId()),
                                                                                                +        );
                                                                                                +
                                                                                                +        for (const e of affectedEntities) {
                                                                                                +          if (
                                                                                                +            refType.entityType.schema.get(refField).entityReferenceRole ===
                                                                                                +              "composite" &&
                                                                                                +            asArray(e[refField]).length === 1
                                                                                                +          ) {
                                                                                                +            // is only composite
                                                                                                +            const result = await compositeAction(e);
                                                                                                +            cascadeActionResult.mergeResults(result);
                                                                                                +          } else {
                                                                                                +            const result = await aggregateAction(e, refField, entity);
                                                                                                +            cascadeActionResult.mergeResults(result);
                                                                                                +          }
                                                                                                +        }
                                                                                                +      }
                                                                                                +    }
                                                                                                +
                                                                                                +    return cascadeActionResult;
                                                                                                +  }
                                                                                                +}
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + + + + + + + + +
                                                                                                +
                                                                                                +

                                                                                                results matching ""

                                                                                                +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  No results matching ""

                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/CascadingEntityAction.html b/documentation/classes/CascadingEntityAction.html new file mode 100644 index 0000000000..6a294edfeb --- /dev/null +++ b/documentation/classes/CascadingEntityAction.html @@ -0,0 +1,539 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                  +
                                                                                                  + + +
                                                                                                  +
                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                  +
                                                                                                  +

                                                                                                  +

                                                                                                  File

                                                                                                  +

                                                                                                  +

                                                                                                  + src/app/core/entity/entity-actions/cascading-entity-action.ts +

                                                                                                  + + +

                                                                                                  +

                                                                                                  Description

                                                                                                  +

                                                                                                  +

                                                                                                  +

                                                                                                  extend this class to implement services that perform actions on an entity +that require recursive actions to related entities as well.

                                                                                                  + +

                                                                                                  + + + + +
                                                                                                  +

                                                                                                  Index

                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                  +
                                                                                                  Methods
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + +
                                                                                                  +

                                                                                                  Constructor

                                                                                                  + + + + + + + + + + + + + +
                                                                                                  + Protected + constructor(entityMapper: EntityMapperService, schemaService: EntitySchemaService) +
                                                                                                  + +
                                                                                                  +
                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                  NameTypeOptional
                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                  schemaService + EntitySchemaService + + No +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + +

                                                                                                  + Methods +

                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                  + + + Protected + Async + cascadeActionToRelatedEntities + + +
                                                                                                  + + cascadeActionToRelatedEntities(entity: Entity, compositeAction: (relatedEntity: Entity,refField: string,entity: Entity) => void, aggregateAction: (relatedEntity: Entity,refField: string,entity: Entity) => void) +
                                                                                                  + +
                                                                                                  +

                                                                                                  Recursively call the given actions on all related entities that contain a reference to the given entity.

                                                                                                  +

                                                                                                  Returns an array of all affected related entities (excluding the given entity) in their state before the action +to support an undo action.

                                                                                                  +
                                                                                                  + +
                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                  NameTypeOptional
                                                                                                  entity + Entity + + No +
                                                                                                  compositeAction + function + + No +
                                                                                                  aggregateAction + function + + No +
                                                                                                  +
                                                                                                  + +
                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                  + + + + + +
                                                                                                  + + +
                                                                                                  +
                                                                                                  import { Entity } from "../model/entity";
                                                                                                  +import { asArray } from "../../../utils/utils";
                                                                                                  +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                  +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                  +
                                                                                                  +export class CascadingActionResult {
                                                                                                  +  /**
                                                                                                  +   * entities that have been updated in the process, in their original state
                                                                                                  +   * (can be used for undo action)
                                                                                                  +   */
                                                                                                  +  originalEntitiesBeforeChange: Entity[];
                                                                                                  +
                                                                                                  +  /**
                                                                                                  +   * entities that may still contain PII related to the primary entity that could not be automatically removed
                                                                                                  +   * (may need manual review by the user)
                                                                                                  +   */
                                                                                                  +  potentiallyRetainingPII: Entity[];
                                                                                                  +
                                                                                                  +  constructor(changedEntities?: Entity[], potentiallyRetainingPII?: Entity[]) {
                                                                                                  +    this.originalEntitiesBeforeChange = changedEntities ?? [];
                                                                                                  +    this.potentiallyRetainingPII = potentiallyRetainingPII ?? [];
                                                                                                  +  }
                                                                                                  +
                                                                                                  +  mergeResults(otherResult: CascadingActionResult) {
                                                                                                  +    this.originalEntitiesBeforeChange = [
                                                                                                  +      ...this.originalEntitiesBeforeChange,
                                                                                                  +      ...otherResult.originalEntitiesBeforeChange.filter(
                                                                                                  +        (e) =>
                                                                                                  +          !this.originalEntitiesBeforeChange.some(
                                                                                                  +            (x) => x.getId() === e.getId(),
                                                                                                  +          ),
                                                                                                  +      ),
                                                                                                  +    ];
                                                                                                  +    this.potentiallyRetainingPII = [
                                                                                                  +      ...this.potentiallyRetainingPII,
                                                                                                  +      ...otherResult.potentiallyRetainingPII.filter(
                                                                                                  +        (e) =>
                                                                                                  +          !this.potentiallyRetainingPII.some((x) => x.getId() === e.getId()),
                                                                                                  +      ),
                                                                                                  +    ];
                                                                                                  +
                                                                                                  +    return this;
                                                                                                  +  }
                                                                                                  +}
                                                                                                  +
                                                                                                  +/**
                                                                                                  + * extend this class to implement services that perform actions on an entity
                                                                                                  + * that require recursive actions to related entities as well.
                                                                                                  + */
                                                                                                  +export abstract class CascadingEntityAction {
                                                                                                  +  protected constructor(
                                                                                                  +    protected entityMapper: EntityMapperService,
                                                                                                  +    protected schemaService: EntitySchemaService,
                                                                                                  +  ) {}
                                                                                                  +
                                                                                                  +  /**
                                                                                                  +   * Recursively call the given actions on all related entities that contain a reference to the given entity.
                                                                                                  +   *
                                                                                                  +   * Returns an array of all affected related entities (excluding the given entity) in their state before the action
                                                                                                  +   * to support an undo action.
                                                                                                  +   *
                                                                                                  +   * @param entity
                                                                                                  +   * @param compositeAction
                                                                                                  +   * @param aggregateAction
                                                                                                  +   * @private
                                                                                                  +   */
                                                                                                  +  protected async cascadeActionToRelatedEntities(
                                                                                                  +    entity: Entity,
                                                                                                  +    compositeAction: (
                                                                                                  +      relatedEntity: Entity,
                                                                                                  +      refField?: string,
                                                                                                  +      entity?: Entity,
                                                                                                  +    ) => Promise<CascadingActionResult>,
                                                                                                  +    aggregateAction: (
                                                                                                  +      relatedEntity: Entity,
                                                                                                  +      refField?: string,
                                                                                                  +      entity?: Entity,
                                                                                                  +    ) => Promise<CascadingActionResult>,
                                                                                                  +  ): Promise<CascadingActionResult> {
                                                                                                  +    const cascadeActionResult = new CascadingActionResult();
                                                                                                  +
                                                                                                  +    const entityTypesWithReferences =
                                                                                                  +      this.schemaService.getEntityTypesReferencingType(entity.getType());
                                                                                                  +
                                                                                                  +    for (const refType of entityTypesWithReferences) {
                                                                                                  +      const entities = await this.entityMapper.loadType(refType.entityType);
                                                                                                  +
                                                                                                  +      for (const refField of refType.referencingProperties) {
                                                                                                  +        const affectedEntities = entities.filter((e) =>
                                                                                                  +          asArray(e[refField]).includes(entity.getId()),
                                                                                                  +        );
                                                                                                  +
                                                                                                  +        for (const e of affectedEntities) {
                                                                                                  +          if (
                                                                                                  +            refType.entityType.schema.get(refField).entityReferenceRole ===
                                                                                                  +              "composite" &&
                                                                                                  +            asArray(e[refField]).length === 1
                                                                                                  +          ) {
                                                                                                  +            // is only composite
                                                                                                  +            const result = await compositeAction(e);
                                                                                                  +            cascadeActionResult.mergeResults(result);
                                                                                                  +          } else {
                                                                                                  +            const result = await aggregateAction(e, refField, entity);
                                                                                                  +            cascadeActionResult.mergeResults(result);
                                                                                                  +          }
                                                                                                  +        }
                                                                                                  +      }
                                                                                                  +    }
                                                                                                  +
                                                                                                  +    return cascadeActionResult;
                                                                                                  +  }
                                                                                                  +}
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + + + + + + + + +
                                                                                                  +
                                                                                                  +

                                                                                                  results matching ""

                                                                                                  +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    No results matching ""

                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Changelog.html b/documentation/classes/Changelog.html new file mode 100644 index 0000000000..0b4f45d001 --- /dev/null +++ b/documentation/classes/Changelog.html @@ -0,0 +1,496 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                    +
                                                                                                    +

                                                                                                    +

                                                                                                    File

                                                                                                    +

                                                                                                    +

                                                                                                    + src/app/core/ui/latest-changes/changelog.ts +

                                                                                                    + + +

                                                                                                    +

                                                                                                    Description

                                                                                                    +

                                                                                                    +

                                                                                                    +

                                                                                                    Format of a changelog entry in the changelog.json describing one app version.

                                                                                                    + +

                                                                                                    + + + + +
                                                                                                    +

                                                                                                    Index

                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                    +
                                                                                                    Properties
                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + +

                                                                                                    + Properties +

                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + body + + +
                                                                                                    + Type : string + +
                                                                                                    + +
                                                                                                    +

                                                                                                    description of changes included in this version

                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + Optional + draft + + +
                                                                                                    + Type : boolean + +
                                                                                                    + +
                                                                                                    +

                                                                                                    whether it is a draft

                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + name + + +
                                                                                                    + Type : string + +
                                                                                                    + +
                                                                                                    +

                                                                                                    short title of the version

                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + Optional + prerelease + + +
                                                                                                    + Type : boolean + +
                                                                                                    + +
                                                                                                    +

                                                                                                    whether it is a pre-release

                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + published_at + + +
                                                                                                    + Type : string + +
                                                                                                    + +
                                                                                                    +

                                                                                                    release date

                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                    + + + tag_name + + +
                                                                                                    + Type : string + +
                                                                                                    + +
                                                                                                    +

                                                                                                    version tag, e.g. "2.1.7"

                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + +
                                                                                                    + + +
                                                                                                    +
                                                                                                    export class Changelog {
                                                                                                    +  /** short title of the version */
                                                                                                    +  name: string;
                                                                                                    +
                                                                                                    +  /** version tag, e.g. "2.1.7" */
                                                                                                    +  tag_name: string;
                                                                                                    +
                                                                                                    +  /** description of changes included in this version */
                                                                                                    +  body: string;
                                                                                                    +
                                                                                                    +  /** release date */
                                                                                                    +  published_at: string;
                                                                                                    +
                                                                                                    +  /** whether it is a pre-release */
                                                                                                    +  prerelease?: boolean;
                                                                                                    +
                                                                                                    +  /** whether it is a draft */
                                                                                                    +  draft?: boolean;
                                                                                                    +}
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + + + + + + + + +
                                                                                                    +
                                                                                                    +

                                                                                                    results matching ""

                                                                                                    +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      No results matching ""

                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Child.html b/documentation/classes/Child.html new file mode 100644 index 0000000000..c40b47293c --- /dev/null +++ b/documentation/classes/Child.html @@ -0,0 +1,1310 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                      +
                                                                                                      +

                                                                                                      +

                                                                                                      File

                                                                                                      +

                                                                                                      +

                                                                                                      + src/app/child-dev-project/children/model/child.ts +

                                                                                                      + + + + + + +
                                                                                                      +

                                                                                                      Index

                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                      +
                                                                                                      Properties
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      Methods
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      Accessors
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + +

                                                                                                      + Properties +

                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + admissionDate + + +
                                                                                                      + Type : Date + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, anonymize: 'retain-anonymized'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + center + + +
                                                                                                      + Type : Center + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({dataType: 'configurable-enum', additional: 'center', label: undefined, anonymize: 'retain'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + Static + color + + +
                                                                                                      + Type : string + +
                                                                                                      + Default value : "#1565C0" +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + dateOfBirth + + +
                                                                                                      + Type : DateWithAge + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, labelShort: undefined, anonymize: 'retain-anonymized'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + dropoutDate + + +
                                                                                                      + Type : Date + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, anonymize: 'retain-anonymized'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + dropoutRemarks + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + dropoutType + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, anonymize: 'retain'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + gender + + +
                                                                                                      + Type : ConfigurableEnumValue + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({dataType: 'configurable-enum', label: undefined, additional: 'genders', anonymize: 'retain'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + +
                                                                                                      + + + Static + + hasPII + + +
                                                                                                      + Default value : true +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + Static + icon + + +
                                                                                                      + Type : IconName + +
                                                                                                      + Default value : "child" +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + +
                                                                                                      + + + Static + label + + +
                                                                                                      + Default value : $localize`:label for entity:Participant` +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + +
                                                                                                      + + + Static + labelPlural + + +
                                                                                                      + Default value : $localize`:label (plural) for entity:Participants` +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + name + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, validators: undefined})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + phone + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + photo + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({dataType: 'file', label: undefined, editComponent: 'EditPhoto'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + projectNumber + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined, labelShort: undefined, searchable: true, anonymize: 'retain'})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + schoolClass + + +
                                                                                                      + Type : string + +
                                                                                                      + +
                                                                                                      +

                                                                                                      current class (as determined through the ChildSchoolRelation docs) set during loading through ChildrenService

                                                                                                      +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                      + + + schoolId + + +
                                                                                                      + Type : string[] + +
                                                                                                      + Default value : [] +
                                                                                                      + +
                                                                                                      +

                                                                                                      current school (as determined through the ChildSchoolRelation docs) set during loading through ChildrenService

                                                                                                      +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + + status + + +
                                                                                                      + Type : string + +
                                                                                                      + Decorators : +
                                                                                                      + + @DatabaseField({label: undefined})
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                      + + + Static + toStringAttributes + + +
                                                                                                      + Type : [] + +
                                                                                                      + Default value : ["name"] +
                                                                                                      + +
                                                                                                      +
                                                                                                      + +
                                                                                                      + +

                                                                                                      + Methods +

                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                      + + + Static + create + + +
                                                                                                      + + create(name: string) +
                                                                                                      + +
                                                                                                      + +
                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                      NameTypeOptional
                                                                                                      name + string + + No +
                                                                                                      +
                                                                                                      +
                                                                                                      + Returns : Child + +
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                      + + + Static + getBlockComponent + + +
                                                                                                      + + getBlockComponent() +
                                                                                                      + +
                                                                                                      + +
                                                                                                      + Returns : string + +
                                                                                                      +
                                                                                                      +
                                                                                                      + + + + + +
                                                                                                      +

                                                                                                      + Accessors +

                                                                                                      + + + + + + + + + + + + + + +
                                                                                                      + + isActive +
                                                                                                      + getisActive() +
                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                      + + +
                                                                                                      +
                                                                                                      import { Entity } from "../../../core/entity/model/entity";
                                                                                                      +import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                      +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                      +import { ConfigurableEnumValue } from "../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                      +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                      +import { DateWithAge } from "../../../core/basic-datatypes/date-with-age/dateWithAge";
                                                                                                      +
                                                                                                      +export type Center = ConfigurableEnumValue;
                                                                                                      +
                                                                                                      +@DatabaseEntity("Child")
                                                                                                      +export class Child extends Entity {
                                                                                                      +  static toStringAttributes = ["name"];
                                                                                                      +  static icon: IconName = "child";
                                                                                                      +  static label = $localize`:label for entity:Participant`;
                                                                                                      +  static labelPlural = $localize`:label (plural) for entity:Participants`;
                                                                                                      +  static color = "#1565C0";
                                                                                                      +  static override hasPII = true;
                                                                                                      +
                                                                                                      +  static create(name: string): Child {
                                                                                                      +    const instance = new Child();
                                                                                                      +    instance.name = name;
                                                                                                      +    return instance;
                                                                                                      +  }
                                                                                                      +
                                                                                                      +  static getBlockComponent(): string {
                                                                                                      +    return "ChildBlock";
                                                                                                      +  }
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the name of a child:Name`,
                                                                                                      +    validators: {
                                                                                                      +      required: true,
                                                                                                      +    },
                                                                                                      +  })
                                                                                                      +  name: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the project number of a child:Project Number`,
                                                                                                      +    labelShort: $localize`:Short label for the project number:PN`,
                                                                                                      +    searchable: true,
                                                                                                      +    anonymize: "retain",
                                                                                                      +  })
                                                                                                      +  projectNumber: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the date of birth of a child:Date of birth`,
                                                                                                      +    labelShort: $localize`:Short label for the date of birth:DoB`,
                                                                                                      +    anonymize: "retain-anonymized",
                                                                                                      +  })
                                                                                                      +  dateOfBirth: DateWithAge;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    dataType: "configurable-enum",
                                                                                                      +    label: $localize`:Label for the gender of a child:Gender`,
                                                                                                      +    additional: "genders",
                                                                                                      +    anonymize: "retain",
                                                                                                      +  })
                                                                                                      +  gender: ConfigurableEnumValue;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    dataType: "configurable-enum",
                                                                                                      +    additional: "center",
                                                                                                      +    label: $localize`:Label for the center of a child:Center`,
                                                                                                      +    anonymize: "retain",
                                                                                                      +  })
                                                                                                      +  center: Center;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the admission date of a child:Admission`,
                                                                                                      +    anonymize: "retain-anonymized",
                                                                                                      +  })
                                                                                                      +  admissionDate: Date;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the status of a child:Status`,
                                                                                                      +  })
                                                                                                      +  status: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the dropout date of a child:Dropout Date`,
                                                                                                      +    anonymize: "retain-anonymized",
                                                                                                      +  })
                                                                                                      +  dropoutDate: Date;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the type of dropout of a child:Dropout Type`,
                                                                                                      +    anonymize: "retain",
                                                                                                      +  })
                                                                                                      +  dropoutType: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the remarks about a dropout of a child:Dropout remarks`,
                                                                                                      +  })
                                                                                                      +  dropoutRemarks: string;
                                                                                                      +
                                                                                                      +  /** current school (as determined through the ChildSchoolRelation docs) set during loading through ChildrenService */
                                                                                                      +  schoolId: string[] = [];
                                                                                                      +  /** current class (as determined through the ChildSchoolRelation docs) set during loading through ChildrenService */
                                                                                                      +  schoolClass: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    dataType: "file",
                                                                                                      +    label: $localize`:Label for the file field of a photo of a child:Photo`,
                                                                                                      +    editComponent: "EditPhoto",
                                                                                                      +  })
                                                                                                      +  photo: string;
                                                                                                      +
                                                                                                      +  @DatabaseField({
                                                                                                      +    label: $localize`:Label for the phone number of a child:Phone Number`,
                                                                                                      +  })
                                                                                                      +  phone: string;
                                                                                                      +
                                                                                                      +  get isActive(): boolean {
                                                                                                      +    if (this.inactive !== undefined) {
                                                                                                      +      // explicit property set through UI has to take precedence
                                                                                                      +      return super.isActive;
                                                                                                      +    }
                                                                                                      +
                                                                                                      +    return (
                                                                                                      +      this.status !== "Dropout" &&
                                                                                                      +      !this["dropoutDate"] &&
                                                                                                      +      !this["exit_date"] &&
                                                                                                      +      super.isActive
                                                                                                      +    );
                                                                                                      +  }
                                                                                                      +}
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + + + + + + + + + +
                                                                                                      +
                                                                                                      +

                                                                                                      results matching ""

                                                                                                      +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        No results matching ""

                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ChildSchoolRelation.html b/documentation/classes/ChildSchoolRelation.html new file mode 100644 index 0000000000..8876b327d8 --- /dev/null +++ b/documentation/classes/ChildSchoolRelation.html @@ -0,0 +1,614 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        +
                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                        +
                                                                                                        +

                                                                                                        +

                                                                                                        File

                                                                                                        +

                                                                                                        +

                                                                                                        + src/app/child-dev-project/children/model/childSchoolRelation.ts +

                                                                                                        + + +

                                                                                                        +

                                                                                                        Description

                                                                                                        +

                                                                                                        +

                                                                                                        +

                                                                                                        Record of a school year that a Child attended a certain class in a School.

                                                                                                        + +

                                                                                                        + + + + +
                                                                                                        +

                                                                                                        Index

                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                        +
                                                                                                        Properties
                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + +

                                                                                                        + Properties +

                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + childId + + +
                                                                                                        + Type : string + +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({label: undefined, dataType: 'entity', additional: undefined, entityReferenceRole: 'composite', validators: undefined, anonymize: 'retain'})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + end + + +
                                                                                                        + Type : Date + +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({dataType: 'date-only', label: undefined, description: undefined, anonymize: 'retain'})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + + + +
                                                                                                        + + + Static + + hasPII + + +
                                                                                                        + Default value : true +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + result + + +
                                                                                                        + Type : number + +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({label: undefined, viewComponent: 'DisplayPercentage', editComponent: 'EditNumber', validators: undefined})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        +

                                                                                                        percentage achieved in the final school exams of that year

                                                                                                        +
                                                                                                        +
                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + schoolClass + + +
                                                                                                        + Type : string + +
                                                                                                        + Default value : "" +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({label: undefined})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + schoolId + + +
                                                                                                        + Type : string + +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({label: undefined, dataType: 'entity', additional: undefined, entityReferenceRole: 'aggregate', validators: undefined, anonymize: 'retain'})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                        + + + + start + + +
                                                                                                        + Type : Date + +
                                                                                                        + Decorators : +
                                                                                                        + + @DatabaseField({dataType: 'date-only', label: undefined, description: undefined, anonymize: 'retain'})
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + + + + + +
                                                                                                        + + +
                                                                                                        +
                                                                                                        import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                        +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                        +import { School } from "../../schools/model/school";
                                                                                                        +import { Child } from "./child";
                                                                                                        +import { TimePeriod } from "../../../core/entity-details/related-time-period-entities/time-period";
                                                                                                        +
                                                                                                        +/**
                                                                                                        + * Record of a school year that a Child attended a certain class in a School.
                                                                                                        + */
                                                                                                        +@DatabaseEntity("ChildSchoolRelation")
                                                                                                        +export class ChildSchoolRelation extends TimePeriod {
                                                                                                        +  static override hasPII = true;
                                                                                                        +
                                                                                                        +  @DatabaseField({
                                                                                                        +    label: $localize`:Label for the child of a relation:Child`,
                                                                                                        +    dataType: "entity",
                                                                                                        +    additional: Child.ENTITY_TYPE,
                                                                                                        +    entityReferenceRole: "composite",
                                                                                                        +    validators: {
                                                                                                        +      required: true,
                                                                                                        +    },
                                                                                                        +    anonymize: "retain",
                                                                                                        +  })
                                                                                                        +  childId: string;
                                                                                                        +
                                                                                                        +  @DatabaseField({
                                                                                                        +    label: $localize`:Label for the school of a relation:School`,
                                                                                                        +    dataType: "entity",
                                                                                                        +    additional: School.ENTITY_TYPE,
                                                                                                        +    entityReferenceRole: "aggregate",
                                                                                                        +    validators: {
                                                                                                        +      required: true,
                                                                                                        +    },
                                                                                                        +    anonymize: "retain",
                                                                                                        +  })
                                                                                                        +  schoolId: string;
                                                                                                        +
                                                                                                        +  @DatabaseField({ label: $localize`:Label for the class of a relation:Class` })
                                                                                                        +  schoolClass: string = "";
                                                                                                        +
                                                                                                        +  @DatabaseField({
                                                                                                        +    dataType: "date-only",
                                                                                                        +    label: $localize`:Label for the start date of a relation:Start date`,
                                                                                                        +    description: $localize`:Description of the start date of a relation:The date a child joins a school`,
                                                                                                        +    anonymize: "retain",
                                                                                                        +  })
                                                                                                        +  start: Date;
                                                                                                        +
                                                                                                        +  @DatabaseField({
                                                                                                        +    dataType: "date-only",
                                                                                                        +    label: $localize`:Label for the end date of a relation:End date`,
                                                                                                        +    description: $localize`:Description of the end date of a relation:The date of a child leaving the school`,
                                                                                                        +    anonymize: "retain",
                                                                                                        +  })
                                                                                                        +  end: Date;
                                                                                                        +
                                                                                                        +  /** percentage achieved in the final school exams of that year */
                                                                                                        +  @DatabaseField({
                                                                                                        +    label: $localize`:Label for the percentage result of a relation:Result`,
                                                                                                        +    viewComponent: "DisplayPercentage",
                                                                                                        +    editComponent: "EditNumber",
                                                                                                        +    validators: {
                                                                                                        +      min: 0,
                                                                                                        +      max: 100,
                                                                                                        +    },
                                                                                                        +  })
                                                                                                        +  result: number;
                                                                                                        +}
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + + + + + + + + + +
                                                                                                        +
                                                                                                        +

                                                                                                        results matching ""

                                                                                                        +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          No results matching ""

                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ComponentRegistry.html b/documentation/classes/ComponentRegistry.html new file mode 100644 index 0000000000..2c2396c720 --- /dev/null +++ b/documentation/classes/ComponentRegistry.html @@ -0,0 +1,583 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                          +
                                                                                                          +

                                                                                                          +

                                                                                                          File

                                                                                                          +

                                                                                                          +

                                                                                                          + src/app/dynamic-components.ts +

                                                                                                          + + +

                                                                                                          +

                                                                                                          Description

                                                                                                          +

                                                                                                          +

                                                                                                          +

                                                                                                          This registry hold all the loading functions for components that can be used dynamically with lazy loading.

                                                                                                          + +

                                                                                                          + +

                                                                                                          +

                                                                                                          Extends

                                                                                                          +

                                                                                                          +

                                                                                                          + Registry +

                                                                                                          + + + +
                                                                                                          +

                                                                                                          Index

                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                          +
                                                                                                          Methods
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + +
                                                                                                          + +

                                                                                                          + Methods +

                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          + + + Public + add + + +
                                                                                                          + + add(key: string, mapping: T) +
                                                                                                          +
                                                                                                          Inherited from Registry +
                                                                                                          +
                                                                                                          +
                                                                                                          Defined in Registry:17 +
                                                                                                          +
                                                                                                          + +
                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          NameTypeOptional
                                                                                                          key + string + + No +
                                                                                                          mapping + T + + No +
                                                                                                          +
                                                                                                          +
                                                                                                          + Returns : void + +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          + + + Public + addAll + + +
                                                                                                          + + addAll(tuples: []) +
                                                                                                          +
                                                                                                          Inherited from Registry +
                                                                                                          +
                                                                                                          +
                                                                                                          Defined in Registry:31 +
                                                                                                          +
                                                                                                          + +
                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                          NameTypeOptional
                                                                                                          tuples + [] + + No +
                                                                                                          +
                                                                                                          +
                                                                                                          + Returns : void + +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          + + + Public + allowDuplicates + + +
                                                                                                          + + allowDuplicates() +
                                                                                                          +
                                                                                                          Inherited from Registry +
                                                                                                          +
                                                                                                          +
                                                                                                          Defined in Registry:49 +
                                                                                                          +
                                                                                                          +

                                                                                                          Calling this will allow the same keys to be added multiple times without thrown errors. +This is useful for storybook where live-updates re-trigger the decorator while the registry is cached.

                                                                                                          +
                                                                                                          + +
                                                                                                          + Returns : void + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          + + + Public + get + + +
                                                                                                          + + get(key: string) +
                                                                                                          +
                                                                                                          Inherited from Registry +
                                                                                                          +
                                                                                                          +
                                                                                                          Defined in Registry:35 +
                                                                                                          +
                                                                                                          + +
                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                          NameTypeOptional
                                                                                                          key + string + + No +
                                                                                                          +
                                                                                                          +
                                                                                                          + Returns : T + +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                          + + + + + +
                                                                                                          + + +
                                                                                                          +
                                                                                                          import { Type } from "@angular/core";
                                                                                                          +import { Registry } from "./core/config/registry/dynamic-registry";
                                                                                                          +
                                                                                                          +export type AsyncComponent = () => Promise<Type<any>>;
                                                                                                          +
                                                                                                          +/**
                                                                                                          + * This registry hold all the loading functions for components that can be used dynamically with lazy loading.
                                                                                                          + */
                                                                                                          +export class ComponentRegistry extends Registry<AsyncComponent> {}
                                                                                                          +
                                                                                                          +// TODO make a build script that looks for annotations and creates this
                                                                                                          +export const componentRegistry = new ComponentRegistry();
                                                                                                          +
                                                                                                          +export type ComponentTuple = [string, AsyncComponent];
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + + + + + + + + + +
                                                                                                          +
                                                                                                          +

                                                                                                          results matching ""

                                                                                                          +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            No results matching ""

                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Config.html b/documentation/classes/Config.html new file mode 100644 index 0000000000..38014aff30 --- /dev/null +++ b/documentation/classes/Config.html @@ -0,0 +1,541 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                            +
                                                                                                            +

                                                                                                            +

                                                                                                            File

                                                                                                            +

                                                                                                            +

                                                                                                            + src/app/core/config/config.ts +

                                                                                                            + + +

                                                                                                            +

                                                                                                            Description

                                                                                                            +

                                                                                                            +

                                                                                                            +

                                                                                                            The class which represents the config for the application.

                                                                                                            + +

                                                                                                            + + + + +
                                                                                                            +

                                                                                                            Index

                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                            +
                                                                                                            Properties
                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            Methods
                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + +
                                                                                                            +

                                                                                                            Constructor

                                                                                                            + + + + + + + + + + + + + +
                                                                                                            +constructor(id, configuration?: T) +
                                                                                                            + +
                                                                                                            +
                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                            NameTypeOptional
                                                                                                            id + + No +
                                                                                                            configuration + T + + Yes +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            + +

                                                                                                            + Properties +

                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                            + + + Static + Readonly + CONFIG_KEY + + +
                                                                                                            + Type : string + +
                                                                                                            + Default value : "CONFIG_ENTITY" +
                                                                                                            + +
                                                                                                            +

                                                                                                            The ID for the UI and data-model config

                                                                                                            +
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                            + + + + data + + +
                                                                                                            + Type : T + +
                                                                                                            + Decorators : +
                                                                                                            + + @DatabaseField()
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            +

                                                                                                            This field contains all the configuration and does not have a predefined type.

                                                                                                            +
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                            + + + Static + Readonly + PERMISSION_KEY + + +
                                                                                                            + Type : string + +
                                                                                                            + Default value : "Permissions" +
                                                                                                            + +
                                                                                                            +

                                                                                                            The ID for the permission configuration

                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            + +

                                                                                                            + Methods +

                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                            + + + + copy + + +
                                                                                                            + + copy() +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + + + +
                                                                                                            + + +
                                                                                                            +
                                                                                                            import { Entity } from "../entity/model/entity";
                                                                                                            +import { DatabaseField } from "../entity/database-field.decorator";
                                                                                                            +import { DatabaseEntity } from "../entity/database-entity.decorator";
                                                                                                            +
                                                                                                            +/**
                                                                                                            + * The class which represents the config for the application.
                                                                                                            + */
                                                                                                            +@DatabaseEntity("Config")
                                                                                                            +export class Config<T = any> extends Entity {
                                                                                                            +  /**
                                                                                                            +   * The ID for the UI and data-model config
                                                                                                            +   */
                                                                                                            +  static readonly CONFIG_KEY = "CONFIG_ENTITY";
                                                                                                            +
                                                                                                            +  /**
                                                                                                            +   * The ID for the permission configuration
                                                                                                            +   */
                                                                                                            +  static readonly PERMISSION_KEY = "Permissions";
                                                                                                            +
                                                                                                            +  /**
                                                                                                            +   * This field contains all the configuration and does not have a predefined type.
                                                                                                            +   */
                                                                                                            +  @DatabaseField() data: T;
                                                                                                            +
                                                                                                            +  constructor(id = Config.CONFIG_KEY, configuration?: T) {
                                                                                                            +    super(id);
                                                                                                            +    this.data = configuration;
                                                                                                            +  }
                                                                                                            +
                                                                                                            +  override copy(): this {
                                                                                                            +    const newConfig = super.copy();
                                                                                                            +    newConfig.data = JSON.parse(JSON.stringify(this.data));
                                                                                                            +    return newConfig;
                                                                                                            +  }
                                                                                                            +}
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + + + + + + + + + +
                                                                                                            +
                                                                                                            +

                                                                                                            results matching ""

                                                                                                            +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              No results matching ""

                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ConfigurableEnum.html b/documentation/classes/ConfigurableEnum.html new file mode 100644 index 0000000000..767fb8e334 --- /dev/null +++ b/documentation/classes/ConfigurableEnum.html @@ -0,0 +1,529 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                              +
                                                                                                              + + +
                                                                                                              +
                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                              +
                                                                                                              +

                                                                                                              +

                                                                                                              File

                                                                                                              +

                                                                                                              +

                                                                                                              + src/app/core/basic-datatypes/configurable-enum/configurable-enum.ts +

                                                                                                              + + + + + + +
                                                                                                              +

                                                                                                              Index

                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                              +
                                                                                                              Properties
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              Methods
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + +
                                                                                                              +

                                                                                                              Constructor

                                                                                                              + + + + + + + + + + + + + +
                                                                                                              +constructor(id?: string, values: ConfigurableEnumValue[]) +
                                                                                                              + +
                                                                                                              +
                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                              NameTypeOptional
                                                                                                              id + string + + Yes +
                                                                                                              values + ConfigurableEnumValue[] + + No +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + +
                                                                                                              + +

                                                                                                              + Properties +

                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                              + + + + values + + +
                                                                                                              + Type : ConfigurableEnumValue[] + +
                                                                                                              + Default value : [] +
                                                                                                              + Decorators : +
                                                                                                              + + @DatabaseField()
                                                                                                              +
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + +
                                                                                                              + +

                                                                                                              + Methods +

                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                              + + + addOption + + +
                                                                                                              +addOption(newOptionInput: ConfigurableEnumValue | string) +
                                                                                                              + +
                                                                                                              +

                                                                                                              Add a new valid option to the enum values, if it is not a duplicate or invalid. +Returns the newly added option upon success.

                                                                                                              +
                                                                                                              + +
                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                              NameTypeOptionalDescription
                                                                                                              newOptionInput + ConfigurableEnumValue | string + + No + +

                                                                                                              String or option object to be added

                                                                                                              + +
                                                                                                              +
                                                                                                              + +
                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                              + + + + + +
                                                                                                              + + +
                                                                                                              +
                                                                                                              import { Entity } from "../../entity/model/entity";
                                                                                                              +import { DatabaseEntity } from "../../entity/database-entity.decorator";
                                                                                                              +import { ConfigurableEnumValue } from "./configurable-enum.interface";
                                                                                                              +import { DatabaseField } from "../../entity/database-field.decorator";
                                                                                                              +import { Logging } from "../../logging/logging.service";
                                                                                                              +
                                                                                                              +@DatabaseEntity("ConfigurableEnum")
                                                                                                              +export class ConfigurableEnum extends Entity {
                                                                                                              +  @DatabaseField() values: ConfigurableEnumValue[] = [];
                                                                                                              +
                                                                                                              +  constructor(id?: string, values: ConfigurableEnumValue[] = []) {
                                                                                                              +    super(id);
                                                                                                              +    this.values = values;
                                                                                                              +  }
                                                                                                              +
                                                                                                              +  /**
                                                                                                              +   * Add a new valid option to the enum values, if it is not a duplicate or invalid.
                                                                                                              +   * Returns the newly added option upon success.
                                                                                                              +   * @param newOptionInput String or option object to be added
                                                                                                              +   */
                                                                                                              +  addOption(
                                                                                                              +    newOptionInput: ConfigurableEnumValue | string,
                                                                                                              +  ): ConfigurableEnumValue | undefined {
                                                                                                              +    const option: ConfigurableEnumValue =
                                                                                                              +      typeof newOptionInput === "string"
                                                                                                              +        ? this.convertStringToOption(newOptionInput)
                                                                                                              +        : newOptionInput;
                                                                                                              +
                                                                                                              +    if (!option || !(option?.id && option?.label)) {
                                                                                                              +      Logging.debug(
                                                                                                              +        "Trying to add invalid enum option",
                                                                                                              +        newOptionInput,
                                                                                                              +        option,
                                                                                                              +      );
                                                                                                              +      return;
                                                                                                              +    }
                                                                                                              +
                                                                                                              +    // check for duplicates
                                                                                                              +    if (this.values.some((v) => v.label === option.label)) {
                                                                                                              +      throw new DuplicateEnumOptionException(newOptionInput);
                                                                                                              +    }
                                                                                                              +    if (this.values.some((v) => v.id === option.id)) {
                                                                                                              +      option.id = option.id + "_";
                                                                                                              +    }
                                                                                                              +
                                                                                                              +    this.values.push(option);
                                                                                                              +    return option;
                                                                                                              +  }
                                                                                                              +
                                                                                                              +  private convertStringToOption(
                                                                                                              +    newOption: string,
                                                                                                              +  ): ConfigurableEnumValue | undefined {
                                                                                                              +    newOption = newOption.trim();
                                                                                                              +    if (newOption.length === 0) {
                                                                                                              +      return;
                                                                                                              +    }
                                                                                                              +
                                                                                                              +    return {
                                                                                                              +      id: newOption.toUpperCase(),
                                                                                                              +      label: newOption,
                                                                                                              +    };
                                                                                                              +  }
                                                                                                              +}
                                                                                                              +
                                                                                                              +/**
                                                                                                              + * Error thrown when trying to add an option that already exists in the enum values.
                                                                                                              + */
                                                                                                              +export class DuplicateEnumOptionException extends Error {
                                                                                                              +  constructor(newOptionInput) {
                                                                                                              +    super("Enum Option already exists");
                                                                                                              +
                                                                                                              +    this["newOptionInput"] = newOptionInput;
                                                                                                              +  }
                                                                                                              +}
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + + + + + + + + + +
                                                                                                              +
                                                                                                              +

                                                                                                              results matching ""

                                                                                                              +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                No results matching ""

                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ConfigurableEnumFilter.html b/documentation/classes/ConfigurableEnumFilter.html new file mode 100644 index 0000000000..315428097d --- /dev/null +++ b/documentation/classes/ConfigurableEnumFilter.html @@ -0,0 +1,893 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                +
                                                                                                                +

                                                                                                                +

                                                                                                                File

                                                                                                                +

                                                                                                                +

                                                                                                                + src/app/core/filter/filters/configurableEnumFilter.ts +

                                                                                                                + + + +

                                                                                                                +

                                                                                                                Extends

                                                                                                                +

                                                                                                                +

                                                                                                                + SelectableFilter +

                                                                                                                + + + +
                                                                                                                +

                                                                                                                Index

                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                +
                                                                                                                Properties
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                Methods
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                + +
                                                                                                                +

                                                                                                                Constructor

                                                                                                                + + + + + + + + + + + + + +
                                                                                                                +constructor(name: string, label: string, enumValues: ConfigurableEnumValue[]) +
                                                                                                                + +
                                                                                                                +
                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                NameTypeOptional
                                                                                                                name + string + + No +
                                                                                                                label + string + + No +
                                                                                                                enumValues + ConfigurableEnumValue[] + + No +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +

                                                                                                                + Properties +

                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Public + label + + +
                                                                                                                + Type : string + +
                                                                                                                + Default value : name +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:100 +
                                                                                                                +
                                                                                                                +
                                                                                                                The user-friendly label describing this filter-selection +(optional, defaults to the name of the selection)
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Public + name + + +
                                                                                                                + Type : string + +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:98 +
                                                                                                                +
                                                                                                                +
                                                                                                                The name or id describing this filter
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Public + options + + +
                                                                                                                + Type : FilterSelectionOption<T>[] + +
                                                                                                                +
                                                                                                                Inherited from SelectableFilter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in SelectableFilter:99 +
                                                                                                                +
                                                                                                                +
                                                                                                                An array of different filtering variants to chose between
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + component + + +
                                                                                                                + Type : Type<any> + +
                                                                                                                + Default value : ListFilterComponent +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:35 +
                                                                                                                +
                                                                                                                +

                                                                                                                The component used to display filter option to the user.

                                                                                                                +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + selectedOptionChange + + +
                                                                                                                + Default value : new EventEmitter<string[]>() +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:45 +
                                                                                                                +
                                                                                                                +

                                                                                                                Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                                                +

                                                                                                                This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                                                +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Public + selectedOptionValues + + +
                                                                                                                + Type : string[] + +
                                                                                                                + Default value : [] +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:37 +
                                                                                                                +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +

                                                                                                                + Methods +

                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Static + generateOptions + + +
                                                                                                                + + generateOptions(valuesToMatchAsOptions: (string | number)[], attributeName: string) +
                                                                                                                +
                                                                                                                Inherited from SelectableFilter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in SelectableFilter:77 +
                                                                                                                +
                                                                                                                + Type parameters : +
                                                                                                                  +
                                                                                                                • T
                                                                                                                • +
                                                                                                                +
                                                                                                                +

                                                                                                                Generate filter options dynamically from the given value to be matched.

                                                                                                                +

                                                                                                                This is a utility function to make it easier to generate FilterSelectionOptions for standard cases +if you simply want each option to filter items having the given attribute matching different values. +If you have more sophisticated filtering needs, use the constructor to set FilterSelectionOptions that +you created yourself.

                                                                                                                +Example :
                                                                                                                   A separate FilterSelectionOption is created for each value with a filter
                                                                                                                +   that is true of a data item's property exactly matches that value.
                                                                                                                + +
                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                NameTypeOptionalDescription
                                                                                                                valuesToMatchAsOptions + (string | number)[] + + No + +

                                                                                                                An array of values to be matched. +A separate FilterSelectionOption is created for each value with a filter +that is true of a data item's property exactly matches that value.

                                                                                                                + +
                                                                                                                attributeName + string + + No + +

                                                                                                                The name of the property of a data item that is compared to the value in the filter function.

                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                + Returns : FilterSelectionOption[] + +
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + Public + getFilter + + +
                                                                                                                + + getFilter() +
                                                                                                                +
                                                                                                                Inherited from Filter +
                                                                                                                +
                                                                                                                +
                                                                                                                Defined in Filter:120 +
                                                                                                                +
                                                                                                                +

                                                                                                                Get the filter query for the given option. +If the given key is undefined or invalid, the returned filter matches any elements.

                                                                                                                +
                                                                                                                + +
                                                                                                                + Returns : DataFilter<T> + +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + getOption + + +
                                                                                                                +getOption(key: string) +
                                                                                                                +
                                                                                                                Inherited from SelectableFilter +
                                                                                                                +
                                                                                                                + +
                                                                                                                +

                                                                                                                Get the full filter option by its key.

                                                                                                                +
                                                                                                                + +
                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                NameTypeOptionalDescription
                                                                                                                key + string + + No + +

                                                                                                                The identifier of the requested option

                                                                                                                + +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                + + + + + +
                                                                                                                + + +
                                                                                                                +
                                                                                                                import { Entity } from "../../entity/model/entity";
                                                                                                                +import { ConfigurableEnumValue } from "../../basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                +import { DataFilter, FilterSelectionOption, SelectableFilter } from "./filters";
                                                                                                                +
                                                                                                                +export class ConfigurableEnumFilter<
                                                                                                                +  T extends Entity,
                                                                                                                +> extends SelectableFilter<T> {
                                                                                                                +  constructor(
                                                                                                                +    name: string,
                                                                                                                +    label: string,
                                                                                                                +    enumValues: ConfigurableEnumValue[],
                                                                                                                +  ) {
                                                                                                                +    const options: FilterSelectionOption<T>[] = enumValues.map(
                                                                                                                +      (enumValue: ConfigurableEnumValue) => ({
                                                                                                                +        key: enumValue.id,
                                                                                                                +        label: enumValue.label,
                                                                                                                +        color: enumValue.color,
                                                                                                                +        filter: { [name + ".id"]: enumValue.id } as DataFilter<T>,
                                                                                                                +      }),
                                                                                                                +    );
                                                                                                                +    super(name, options, label);
                                                                                                                +  }
                                                                                                                +}
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + + + + + + + + +
                                                                                                                +
                                                                                                                +

                                                                                                                results matching ""

                                                                                                                +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  No results matching ""

                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/CustomFaker.html b/documentation/classes/CustomFaker.html new file mode 100644 index 0000000000..91a95f97ba --- /dev/null +++ b/documentation/classes/CustomFaker.html @@ -0,0 +1,601 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  +
                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  +

                                                                                                                  File

                                                                                                                  +

                                                                                                                  +

                                                                                                                  + src/app/core/demo-data/faker.ts +

                                                                                                                  + + +

                                                                                                                  +

                                                                                                                  Description

                                                                                                                  +

                                                                                                                  +

                                                                                                                  +

                                                                                                                  Extension of faker.js implementing additional data generation methods.

                                                                                                                  + +

                                                                                                                  + + + + +
                                                                                                                  +

                                                                                                                  Index

                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                  +
                                                                                                                  Methods
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  Constructor

                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                  +constructor(baseFaker: Faker.FakerStatic) +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  Merge the created CustomFaker's implementation with a given faker's standard methods.

                                                                                                                  +
                                                                                                                  +
                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  NameTypeOptionalDescription
                                                                                                                  baseFaker + Faker.FakerStatic + + No + +

                                                                                                                  A standard faker.js

                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + +

                                                                                                                  + Methods +

                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                  + + + Public + dateOfBirth + + +
                                                                                                                  + + dateOfBirth(minAge: number, maxAge: number) +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  Generate a date that works as a date of birth in the given age range.

                                                                                                                  +
                                                                                                                  + +
                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  NameTypeOptionalDescription
                                                                                                                  minAge + number + + No + +

                                                                                                                  The minimum age (today) of a person with the generated random birthdate.

                                                                                                                  + +
                                                                                                                  maxAge + number + + No + +

                                                                                                                  The maximum age (today) of a person with the generated random birthdate.

                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + Returns : Date + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                  + + + geoAddress + + +
                                                                                                                  +geoAddress() +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  + Returns : GeoResult + +
                                                                                                                  +
                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                  + + + getEarlierDateOrToday + + +
                                                                                                                  +getEarlierDateOrToday(date: Date) +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  Return the given date if it is defined and earlier than today's date +otherwise return a Date representing today.

                                                                                                                  +
                                                                                                                  + +
                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  NameTypeOptionalDescription
                                                                                                                  date + Date + + No + +

                                                                                                                  The date to be compared

                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + Returns : Date + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + + + + +
                                                                                                                  + + +
                                                                                                                  +
                                                                                                                  import { fakerEN_IN as originalFaker } from "@faker-js/faker";
                                                                                                                  +import { GeoResult } from "../../features/location/geo.service";
                                                                                                                  +/**
                                                                                                                  + * Extension of faker.js implementing additional data generation methods.
                                                                                                                  + */
                                                                                                                  +class CustomFaker {
                                                                                                                  +  /**
                                                                                                                  +   * Merge the created CustomFaker's implementation with a given faker's standard methods.
                                                                                                                  +   * @param baseFaker A standard faker.js
                                                                                                                  +   */
                                                                                                                  +  constructor(
                                                                                                                  +    // @ts-ignore
                                                                                                                  +    private baseFaker: Faker.FakerStatic,
                                                                                                                  +  ) {
                                                                                                                  +    // make baseFaker methods available from instances of this class
                                                                                                                  +    Object.assign(this, baseFaker);
                                                                                                                  +  }
                                                                                                                  +
                                                                                                                  +  /**
                                                                                                                  +   * Generate a date that works as a date of birth in the given age range.
                                                                                                                  +   * @param minAge The minimum age (today) of a person with the generated random birthdate.
                                                                                                                  +   * @param maxAge The maximum age (today) of a person with the generated random birthdate.
                                                                                                                  +   */
                                                                                                                  +  public dateOfBirth(minAge: number, maxAge: number): Date {
                                                                                                                  +    const currentYear = new Date().getFullYear();
                                                                                                                  +    const latest = new Date();
                                                                                                                  +    latest.setFullYear(currentYear - minAge);
                                                                                                                  +    const earliest = new Date();
                                                                                                                  +    earliest.setFullYear(currentYear - maxAge);
                                                                                                                  +    return this.baseFaker.date.between({ from: earliest, to: latest });
                                                                                                                  +  }
                                                                                                                  +
                                                                                                                  +  /**
                                                                                                                  +   * Return the given date if it is defined and earlier than today's date
                                                                                                                  +   * otherwise return a Date representing today.
                                                                                                                  +   * @param date The date to be compared
                                                                                                                  +   */
                                                                                                                  +  getEarlierDateOrToday(date: Date): Date {
                                                                                                                  +    const today = new Date();
                                                                                                                  +
                                                                                                                  +    if (!date || date > today) {
                                                                                                                  +      return today;
                                                                                                                  +    } else {
                                                                                                                  +      return date;
                                                                                                                  +    }
                                                                                                                  +  }
                                                                                                                  +
                                                                                                                  +  geoAddress(): GeoResult {
                                                                                                                  +    const coordinates = faker.location.nearbyGPSCoordinate({
                                                                                                                  +      origin: [52.4790412, 13.4319106],
                                                                                                                  +    });
                                                                                                                  +    return {
                                                                                                                  +      lat: Number.parseFloat(coordinates[0].toString()),
                                                                                                                  +      lon: Number.parseFloat(coordinates[1].toString()),
                                                                                                                  +      display_name: faker.location.streetAddress(true),
                                                                                                                  +    } as GeoResult;
                                                                                                                  +  }
                                                                                                                  +}
                                                                                                                  +
                                                                                                                  +/**
                                                                                                                  + * Typing for faker including extended functionality.
                                                                                                                  + */
                                                                                                                  +export type Faker = typeof originalFaker & CustomFaker;
                                                                                                                  +
                                                                                                                  +originalFaker.seed(1);
                                                                                                                  +
                                                                                                                  +/**
                                                                                                                  + * (Extended) faker module
                                                                                                                  + */
                                                                                                                  +export const faker = new CustomFaker(originalFaker) as Faker;
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + + + + + + + + +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  results matching ""

                                                                                                                  +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    No results matching ""

                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DashboardWidget.html b/documentation/classes/DashboardWidget.html new file mode 100644 index 0000000000..effedbd347 --- /dev/null +++ b/documentation/classes/DashboardWidget.html @@ -0,0 +1,356 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    +
                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    +

                                                                                                                    File

                                                                                                                    +

                                                                                                                    +

                                                                                                                    + src/app/core/dashboard/dashboard-widget/dashboard-widget.ts +

                                                                                                                    + + +

                                                                                                                    +

                                                                                                                    Description

                                                                                                                    +

                                                                                                                    +

                                                                                                                    +

                                                                                                                    Abstract class for dashboard widgets

                                                                                                                    + +

                                                                                                                    + + + + +
                                                                                                                    +

                                                                                                                    Index

                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                    +
                                                                                                                    Methods
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + +
                                                                                                                    + +

                                                                                                                    + Methods +

                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                    + + + Static + getRequiredEntities + + +
                                                                                                                    + + getRequiredEntities(config: any) +
                                                                                                                    + +
                                                                                                                    +

                                                                                                                    Implement this if the dashboard depends on the user having access to a certain entity. +If an array of strings is returned, the dashboard is shown if the user has access to at least one of them.

                                                                                                                    +
                                                                                                                    + +
                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                    NameTypeOptionalDescription
                                                                                                                    config + any + + No + +

                                                                                                                    same of the normal config that will later be passed to the inputs

                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + Returns : string | [] + +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    ENTITY_TYPE which a user needs to have

                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + + + + +
                                                                                                                    + + +
                                                                                                                    +
                                                                                                                    export abstract class DashboardWidget {
                                                                                                                    +  /**
                                                                                                                    +   * Implement this if the dashboard depends on the user having access to a certain entity.
                                                                                                                    +   * If an array of strings is returned, the dashboard is shown if the user has access to at least one of them.
                                                                                                                    +   *
                                                                                                                    +   * @param config same of the normal config that will later be passed to the inputs
                                                                                                                    +   * @return ENTITY_TYPE which a user needs to have
                                                                                                                    +   */
                                                                                                                    +  static getRequiredEntities(config: any): string | string[] {
                                                                                                                    +    return;
                                                                                                                    +  }
                                                                                                                    +}
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + + + + + + + + +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    results matching ""

                                                                                                                    +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      No results matching ""

                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Database.html b/documentation/classes/Database.html new file mode 100644 index 0000000000..df58a61486 --- /dev/null +++ b/documentation/classes/Database.html @@ -0,0 +1,1255 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      +

                                                                                                                      File

                                                                                                                      +

                                                                                                                      +

                                                                                                                      + src/app/core/database/database.ts +

                                                                                                                      + + +

                                                                                                                      +

                                                                                                                      Description

                                                                                                                      +

                                                                                                                      +

                                                                                                                      +

                                                                                                                      An implementation of this abstract class provides functions for direct database access. +This interface is an extension of the PouchDB API.

                                                                                                                      + +

                                                                                                                      + + + + +
                                                                                                                      +

                                                                                                                      Index

                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                      +
                                                                                                                      Methods
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + +
                                                                                                                      + +

                                                                                                                      + Methods +

                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + allDocs + + +
                                                                                                                      + + allDocs(options?: GetAllOptions) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Load all documents (matching the given PouchDB options) from the database.

                                                                                                                      +

                                                                                                                      Normally you should rather use "getAll()" or another well typed method of this class +instead of passing PouchDB specific options here +because that will make your code tightly coupled with PouchDB rather than any other database provider.

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      options + GetAllOptions + + Yes + +

                                                                                                                      PouchDB options object as in the normal PouchDB library

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + changes + + +
                                                                                                                      + + changes(prefix: string) +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptional
                                                                                                                      prefix + string + + No +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Observable<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + destroy + + +
                                                                                                                      + + destroy() +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Closes all open connections to the database base and destroys it (clearing all data)

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + get + + +
                                                                                                                      + + get(id: string, options?: GetOptions) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Load a single document by id from the database.

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      id + string + + No + +

                                                                                                                      The primary key of the document to be loaded

                                                                                                                      + +
                                                                                                                      options + GetOptions + + Yes + +

                                                                                                                      Optional options for the database engine (PouchDB)

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + getAll + + +
                                                                                                                      +getAll(prefix: string) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Load all documents (with the given prefix) from the database.

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDefault valueDescription
                                                                                                                      prefix + string + + No + + "" + +

                                                                                                                      The string prefix of document ids that should be retrieved

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<Array<any>> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + isEmpty + + +
                                                                                                                      + + isEmpty() +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + Returns : Promise<boolean> + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      true if there are no documents in the database

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + put + + +
                                                                                                                      + + put(object: any, forceUpdate?: boolean) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Save a document to the database.

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      object + any + + No + +

                                                                                                                      The document to be saved

                                                                                                                      + +
                                                                                                                      forceUpdate + boolean + + Yes + +

                                                                                                                      (Optional) Whether conflicts should be ignored and an existing conflicting document forcefully overwritten.

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + putAll + + +
                                                                                                                      + + putAll(objects: any[], forceUpdate?: boolean) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Save a bunch of documents at once to the database

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      objects + any[] + + No + +

                                                                                                                      The documents to be saved

                                                                                                                      + +
                                                                                                                      forceUpdate + boolean + + Yes + +

                                                                                                                      (Optional) Whether conflicts should be ignored and existing conflicting documents forcefully overwritten.

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any[]> + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      array holding success responses or errors depending on the success of the operation

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + query + + +
                                                                                                                      + + query(fun: any, options?: QueryOptions) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Query data from the database based on a more complex, indexed request.

                                                                                                                      +

                                                                                                                      This is directly calling the PouchDB implementation of this function. +Also see the documentation there: https://pouchdb.com/api.html#query_database

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      fun + any + + No + +

                                                                                                                      The name of a previously saved database index

                                                                                                                      + +
                                                                                                                      options + QueryOptions + + Yes + +

                                                                                                                      Additional options for the query, like a key. See the PouchDB docs for details.

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + remove + + +
                                                                                                                      + + remove(object: any) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Delete a document from the database

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      object + any + + No + +

                                                                                                                      The document to be deleted (usually this object must at least contain the _id and _rev)

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + Abstract + saveDatabaseIndex + + +
                                                                                                                      + + saveDatabaseIndex(designDoc: any) +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Create a database index to query() certain data more efficiently in the future.

                                                                                                                      +

                                                                                                                      Also see the PouchDB documentation regarding indices and queries: https://pouchdb.com/api.html#query_database

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      NameTypeOptionalDescription
                                                                                                                      designDoc + any + + No + +

                                                                                                                      The PouchDB style design document for the map/reduce query

                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + Returns : Promise<any> + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      import { Observable } from "rxjs";
                                                                                                                      +
                                                                                                                      +/**
                                                                                                                      + * An implementation of this abstract class provides functions for direct database access.
                                                                                                                      + * This interface is an extension of the [PouchDB API](https://pouchdb.com/api.html).
                                                                                                                      + */
                                                                                                                      +export abstract class Database {
                                                                                                                      +  /**
                                                                                                                      +   * Load a single document by id from the database.
                                                                                                                      +   * @param id The primary key of the document to be loaded
                                                                                                                      +   * @param options Optional options for the database engine (PouchDB)
                                                                                                                      +   */
                                                                                                                      +  abstract get(id: string, options?: GetOptions): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Load all documents (matching the given PouchDB options) from the database.
                                                                                                                      +   *
                                                                                                                      +   * Normally you should rather use "getAll()" or another well typed method of this class
                                                                                                                      +   * instead of passing PouchDB specific options here
                                                                                                                      +   * because that will make your code tightly coupled with PouchDB rather than any other database provider.
                                                                                                                      +   *
                                                                                                                      +   * @param options PouchDB options object as in the normal PouchDB library
                                                                                                                      +   */
                                                                                                                      +  abstract allDocs(options?: GetAllOptions): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Save a document to the database.
                                                                                                                      +   * @param object The document to be saved
                                                                                                                      +   * @param forceUpdate (Optional) Whether conflicts should be ignored and an existing conflicting document forcefully overwritten.
                                                                                                                      +   */
                                                                                                                      +  abstract put(object: any, forceUpdate?: boolean): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Save a bunch of documents at once to the database
                                                                                                                      +   * @param objects The documents to be saved
                                                                                                                      +   * @param forceUpdate (Optional) Whether conflicts should be ignored and existing conflicting documents forcefully overwritten.
                                                                                                                      +   * @returns array holding success responses or errors depending on the success of the operation
                                                                                                                      +   */
                                                                                                                      +  abstract putAll(objects: any[], forceUpdate?: boolean): Promise<any[]>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Delete a document from the database
                                                                                                                      +   * @param object The document to be deleted (usually this object must at least contain the _id and _rev)
                                                                                                                      +   */
                                                                                                                      +  abstract remove(object: any): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Query data from the database based on a more complex, indexed request.
                                                                                                                      +   *
                                                                                                                      +   * This is directly calling the PouchDB implementation of this function.
                                                                                                                      +   * Also see the documentation there: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                      +   *
                                                                                                                      +   * @param fun The name of a previously saved database index
                                                                                                                      +   * @param options Additional options for the query, like a `key`. See the PouchDB docs for details.
                                                                                                                      +   */
                                                                                                                      +  abstract query(fun: any, options?: QueryOptions): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Create a database index to `query()` certain data more efficiently in the future.
                                                                                                                      +   *
                                                                                                                      +   * Also see the PouchDB documentation regarding indices and queries: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                      +   *
                                                                                                                      +   * @param designDoc The PouchDB style design document for the map/reduce query
                                                                                                                      +   */
                                                                                                                      +  abstract saveDatabaseIndex(designDoc: any): Promise<any>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Load all documents (with the given prefix) from the database.
                                                                                                                      +   * @param prefix The string prefix of document ids that should be retrieved
                                                                                                                      +   */
                                                                                                                      +  getAll(prefix = ""): Promise<Array<any>> {
                                                                                                                      +    return this.allDocs({
                                                                                                                      +      include_docs: true,
                                                                                                                      +      startkey: prefix,
                                                                                                                      +      endkey: prefix + "\ufff0",
                                                                                                                      +    });
                                                                                                                      +  }
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * @returns true if there are no documents in the database
                                                                                                                      +   */
                                                                                                                      +  abstract isEmpty(): Promise<boolean>;
                                                                                                                      +
                                                                                                                      +  /**
                                                                                                                      +   * Closes all open connections to the database base and destroys it (clearing all data)
                                                                                                                      +   */
                                                                                                                      +  abstract destroy(): Promise<any>;
                                                                                                                      +
                                                                                                                      +  abstract changes(prefix: string): Observable<any>;
                                                                                                                      +}
                                                                                                                      +
                                                                                                                      +/**
                                                                                                                      + * Basic query options supported by {@link Database}.
                                                                                                                      + *
                                                                                                                      + * also see https://pouchdb.com/guides/queries.html
                                                                                                                      + */
                                                                                                                      +export type QueryOptions = PouchDB.Query.Options<any, any>;
                                                                                                                      +
                                                                                                                      +/**
                                                                                                                      + * Basic database read options supported by {@link Database}.
                                                                                                                      + *
                                                                                                                      + * also see https://pouchdb.com/api.html#fetch_document
                                                                                                                      + */
                                                                                                                      +export type GetAllOptions =
                                                                                                                      +  | PouchDB.Core.AllDocsWithKeyOptions
                                                                                                                      +  | PouchDB.Core.AllDocsWithKeysOptions
                                                                                                                      +  | PouchDB.Core.AllDocsWithinRangeOptions
                                                                                                                      +  | PouchDB.Core.AllDocsOptions;
                                                                                                                      +
                                                                                                                      +/**
                                                                                                                      + * Basic database read options supported by {@link Database}.
                                                                                                                      + *
                                                                                                                      + * also see https://pouchdb.com/api.html#fetch_document
                                                                                                                      + */
                                                                                                                      +export type GetOptions = PouchDB.Core.GetOptions;
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + + + + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      results matching ""

                                                                                                                      +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        No results matching ""

                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DatabaseException.html b/documentation/classes/DatabaseException.html new file mode 100644 index 0000000000..601e4ffde7 --- /dev/null +++ b/documentation/classes/DatabaseException.html @@ -0,0 +1,768 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        +

                                                                                                                        File

                                                                                                                        +

                                                                                                                        +

                                                                                                                        + src/app/core/database/pouch-database.ts +

                                                                                                                        + + +

                                                                                                                        +

                                                                                                                        Description

                                                                                                                        +

                                                                                                                        +

                                                                                                                        +

                                                                                                                        This overwrites PouchDB's error class which only logs limited information

                                                                                                                        + +

                                                                                                                        + +

                                                                                                                        +

                                                                                                                        Extends

                                                                                                                        +

                                                                                                                        +

                                                                                                                        + Error +

                                                                                                                        + + + + +
                                                                                                                        +

                                                                                                                        Constructor

                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                        +constructor(error: PouchDB.Core.Error | literal type, entityId?: string) +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                        NameTypeOptional
                                                                                                                        error + PouchDB.Core.Error | literal type + + No +
                                                                                                                        entityId + string + + Yes +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + + + + + + + +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                        import { Database, GetAllOptions, GetOptions, QueryOptions } from "./database";
                                                                                                                        +import { Logging } from "../logging/logging.service";
                                                                                                                        +import PouchDB from "pouchdb-browser";
                                                                                                                        +import memory from "pouchdb-adapter-memory";
                                                                                                                        +import { PerformanceAnalysisLogging } from "../../utils/performance-analysis-logging";
                                                                                                                        +import { Injectable, Optional } from "@angular/core";
                                                                                                                        +import { firstValueFrom, Observable, Subject } from "rxjs";
                                                                                                                        +import { filter } from "rxjs/operators";
                                                                                                                        +import { HttpStatusCode } from "@angular/common/http";
                                                                                                                        +import { environment } from "../../../environments/environment";
                                                                                                                        +import { KeycloakAuthService } from "../session/auth/keycloak/keycloak-auth.service";
                                                                                                                        +
                                                                                                                        +/**
                                                                                                                        + * Wrapper for a PouchDB instance to decouple the code from
                                                                                                                        + * that external library.
                                                                                                                        + *
                                                                                                                        + * Additional convenience functions on top of the PouchDB API
                                                                                                                        + * should be implemented in the abstract {@link Database}.
                                                                                                                        + */
                                                                                                                        +@Injectable()
                                                                                                                        +export class PouchDatabase extends Database {
                                                                                                                        +  /**
                                                                                                                        +   * Small helper function which creates a database with in-memory PouchDB initialized
                                                                                                                        +   */
                                                                                                                        +  static create(): PouchDatabase {
                                                                                                                        +    return new PouchDatabase().initInMemoryDB();
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * The reference to the PouchDB instance
                                                                                                                        +   * @private
                                                                                                                        +   */
                                                                                                                        +  private pouchDB: PouchDB.Database;
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * A list of promises that resolve once all the (until now saved) indexes are created
                                                                                                                        +   * @private
                                                                                                                        +   */
                                                                                                                        +  private indexPromises: Promise<any>[] = [];
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * An observable that emits a value whenever the PouchDB receives a new change.
                                                                                                                        +   * This change can come from the current user or remotely from the (live) synchronization
                                                                                                                        +   * @private
                                                                                                                        +   */
                                                                                                                        +  private changesFeed: Subject<any>;
                                                                                                                        +
                                                                                                                        +  private databaseInitialized = new Subject<void>();
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Create a PouchDB database manager.
                                                                                                                        +   */
                                                                                                                        +  constructor(@Optional() private authService?: KeycloakAuthService) {
                                                                                                                        +    super();
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Initialize the PouchDB with the in-memory adapter.
                                                                                                                        +   * See {@link https://github.com/pouchdb/pouchdb/tree/master/packages/node_modules/pouchdb-adapter-memory}
                                                                                                                        +   * @param dbName the name for the database
                                                                                                                        +   */
                                                                                                                        +  initInMemoryDB(dbName = "in-memory-database"): PouchDatabase {
                                                                                                                        +    PouchDB.plugin(memory);
                                                                                                                        +    this.pouchDB = new PouchDB(dbName, { adapter: "memory" });
                                                                                                                        +    this.databaseInitialized.complete();
                                                                                                                        +    return this;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Initialize the PouchDB with the IndexedDB/in-browser adapter (default).
                                                                                                                        +   * See {link https://github.com/pouchdb/pouchdb/tree/master/packages/node_modules/pouchdb-browser}
                                                                                                                        +   * @param dbName the name for the database under which the IndexedDB entries will be created
                                                                                                                        +   * @param options PouchDB options which are directly passed to the constructor
                                                                                                                        +   */
                                                                                                                        +  initIndexedDB(
                                                                                                                        +    dbName = "indexed-database",
                                                                                                                        +    options?: PouchDB.Configuration.DatabaseConfiguration,
                                                                                                                        +  ): PouchDatabase {
                                                                                                                        +    this.pouchDB = new PouchDB(dbName, options);
                                                                                                                        +    this.databaseInitialized.complete();
                                                                                                                        +    return this;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Initializes the PouchDB with the http adapter to directly access a remote CouchDB without replication
                                                                                                                        +   * See {@link https://pouchdb.com/adapters.html#pouchdb_over_http}
                                                                                                                        +   * @param dbName (relative) path to the remote database
                                                                                                                        +   * @param fetch a overwrite for the default fetch handler
                                                                                                                        +   */
                                                                                                                        +  initRemoteDB(
                                                                                                                        +    dbName = `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}`,
                                                                                                                        +  ): PouchDatabase {
                                                                                                                        +    const options = {
                                                                                                                        +      adapter: "http",
                                                                                                                        +      skip_setup: true,
                                                                                                                        +      fetch: (url: string | Request, opts: RequestInit) =>
                                                                                                                        +        this.defaultFetch(url, opts),
                                                                                                                        +    };
                                                                                                                        +    this.pouchDB = new PouchDB(dbName, options);
                                                                                                                        +    this.databaseInitialized.complete();
                                                                                                                        +    return this;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  private defaultFetch: Fetch = async (url: string | Request, opts: any) => {
                                                                                                                        +    if (typeof url !== "string") {
                                                                                                                        +      const err = new Error("PouchDatabase.fetch: url is not a string");
                                                                                                                        +      err["details"] = url;
                                                                                                                        +      throw err;
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    const remoteUrl =
                                                                                                                        +      environment.DB_PROXY_PREFIX + url.split(environment.DB_PROXY_PREFIX)[1];
                                                                                                                        +    this.authService.addAuthHeader(opts.headers);
                                                                                                                        +
                                                                                                                        +    let result: Response;
                                                                                                                        +    try {
                                                                                                                        +      result = await PouchDB.fetch(remoteUrl, opts);
                                                                                                                        +    } catch (err) {
                                                                                                                        +      Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                        +      Logging.warn("Failed to fetch from DB", err);
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    // retry login if request failed with unauthorized
                                                                                                                        +    if (!result || result.status === HttpStatusCode.Unauthorized) {
                                                                                                                        +      try {
                                                                                                                        +        await this.authService.login();
                                                                                                                        +        this.authService.addAuthHeader(opts.headers);
                                                                                                                        +        result = await PouchDB.fetch(remoteUrl, opts);
                                                                                                                        +      } catch (err) {
                                                                                                                        +        Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                        +        Logging.warn("Failed to fetch from DB", err);
                                                                                                                        +      }
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    if (!result || result.status >= 500) {
                                                                                                                        +      Logging.debug("Actual DB Fetch response", result);
                                                                                                                        +      Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                        +      throw new DatabaseException({
                                                                                                                        +        error: "Failed to fetch from DB",
                                                                                                                        +        actualResponse: JSON.stringify(result.headers),
                                                                                                                        +        actualResponseBody: await result?.text(),
                                                                                                                        +      });
                                                                                                                        +    }
                                                                                                                        +    return result;
                                                                                                                        +  };
                                                                                                                        +
                                                                                                                        +  async getPouchDBOnceReady(): Promise<PouchDB.Database> {
                                                                                                                        +    await firstValueFrom(this.databaseInitialized, {
                                                                                                                        +      defaultValue: this.pouchDB,
                                                                                                                        +    });
                                                                                                                        +    return this.pouchDB;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Get the actual instance of the PouchDB
                                                                                                                        +   */
                                                                                                                        +  getPouchDB(): PouchDB.Database {
                                                                                                                        +    return this.pouchDB;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Load a single document by id from the database.
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   * @param id The primary key of the document to be loaded
                                                                                                                        +   * @param options Optional PouchDB options for the request
                                                                                                                        +   * @param returnUndefined (Optional) return undefined instead of throwing error if doc is not found in database
                                                                                                                        +   */
                                                                                                                        +  async get(
                                                                                                                        +    id: string,
                                                                                                                        +    options: GetOptions = {},
                                                                                                                        +    returnUndefined?: boolean,
                                                                                                                        +  ): Promise<any> {
                                                                                                                        +    try {
                                                                                                                        +      return await (await this.getPouchDBOnceReady()).get(id, options);
                                                                                                                        +    } catch (err) {
                                                                                                                        +      if (err.status === 404) {
                                                                                                                        +        Logging.debug("Doc not found in database: " + id);
                                                                                                                        +        if (returnUndefined) {
                                                                                                                        +          return undefined;
                                                                                                                        +        }
                                                                                                                        +      }
                                                                                                                        +
                                                                                                                        +      throw new DatabaseException(err, id);
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Load all documents (matching the given PouchDB options) from the database.
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   *
                                                                                                                        +   * Normally you should rather use "getAll()" or another well typed method of this class
                                                                                                                        +   * instead of passing PouchDB specific options here
                                                                                                                        +   * because that will make your code tightly coupled with PouchDB rather than any other database provider.
                                                                                                                        +   *
                                                                                                                        +   * @param options PouchDB options object as in the normal PouchDB library
                                                                                                                        +   */
                                                                                                                        +  async allDocs(options?: GetAllOptions) {
                                                                                                                        +    try {
                                                                                                                        +      const result = await (await this.getPouchDBOnceReady()).allDocs(options);
                                                                                                                        +      return result.rows.map((row) => row.doc);
                                                                                                                        +    } catch (err) {
                                                                                                                        +      throw new DatabaseException(
                                                                                                                        +        err,
                                                                                                                        +        "allDocs; startkey: " + options?.["startkey"],
                                                                                                                        +      );
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Save a document to the database.
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   *
                                                                                                                        +   * @param object The document to be saved
                                                                                                                        +   * @param forceOverwrite (Optional) Whether conflicts should be ignored and an existing conflicting document forcefully overwritten.
                                                                                                                        +   */
                                                                                                                        +  async put(object: any, forceOverwrite = false): Promise<any> {
                                                                                                                        +    if (forceOverwrite) {
                                                                                                                        +      object._rev = undefined;
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    try {
                                                                                                                        +      return await (await this.getPouchDBOnceReady()).put(object);
                                                                                                                        +    } catch (err) {
                                                                                                                        +      if (err.status === 409) {
                                                                                                                        +        return this.resolveConflict(object, forceOverwrite, err);
                                                                                                                        +      } else {
                                                                                                                        +        throw new DatabaseException(err, object._id);
                                                                                                                        +      }
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Save an array of documents to the database
                                                                                                                        +   * @param objects the documents to be saved
                                                                                                                        +   * @param forceOverwrite whether conflicting versions should be overwritten
                                                                                                                        +   * @returns array with the result for each object to be saved, if any item fails to be saved, this returns a rejected Promise.
                                                                                                                        +   *          The save can partially fail and return a mix of success and error states in the array (e.g. `[{ ok: true, ... }, { error: true, ... }]`)
                                                                                                                        +   */
                                                                                                                        +  async putAll(objects: any[], forceOverwrite = false): Promise<any> {
                                                                                                                        +    if (forceOverwrite) {
                                                                                                                        +      objects.forEach((obj) => (obj._rev = undefined));
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    const pouchDB = await this.getPouchDBOnceReady();
                                                                                                                        +    const results = await pouchDB.bulkDocs(objects);
                                                                                                                        +
                                                                                                                        +    for (let i = 0; i < results.length; i++) {
                                                                                                                        +      // Check if document update conflicts happened in the request
                                                                                                                        +      const result = results[i] as PouchDB.Core.Error;
                                                                                                                        +      if (result.status === 409) {
                                                                                                                        +        results[i] = await this.resolveConflict(
                                                                                                                        +          objects.find((obj) => obj._id === result.id),
                                                                                                                        +          forceOverwrite,
                                                                                                                        +          result,
                                                                                                                        +        ).catch((e) => {
                                                                                                                        +          Logging.warn(
                                                                                                                        +            "error during putAll",
                                                                                                                        +            e,
                                                                                                                        +            objects.map((x) => x._id),
                                                                                                                        +          );
                                                                                                                        +          return new DatabaseException(e);
                                                                                                                        +        });
                                                                                                                        +      }
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    if (results.some((r) => r instanceof Error)) {
                                                                                                                        +      return Promise.reject(results);
                                                                                                                        +    }
                                                                                                                        +    return results;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Delete a document from the database
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   *
                                                                                                                        +   * @param object The document to be deleted (usually this object must at least contain the _id and _rev)
                                                                                                                        +   */
                                                                                                                        +  remove(object: any) {
                                                                                                                        +    return this.getPouchDBOnceReady()
                                                                                                                        +      .then((pouchDB) => pouchDB.remove(object))
                                                                                                                        +      .catch((err) => {
                                                                                                                        +        throw new DatabaseException(err, object["_id"]);
                                                                                                                        +      });
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Check if a database is new/empty.
                                                                                                                        +   * Returns true if there are no documents in the database
                                                                                                                        +   */
                                                                                                                        +  isEmpty(): Promise<boolean> {
                                                                                                                        +    return this.getPouchDBOnceReady()
                                                                                                                        +      .then((pouchDB) => pouchDB.info())
                                                                                                                        +      .then((res) => res.doc_count === 0);
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Listen to changes to documents which have an _id with the given prefix
                                                                                                                        +   * @param prefix for which document changes are emitted
                                                                                                                        +   * @returns observable which emits the filtered changes
                                                                                                                        +   */
                                                                                                                        +  changes(prefix: string): Observable<any> {
                                                                                                                        +    if (!this.changesFeed) {
                                                                                                                        +      this.changesFeed = new Subject();
                                                                                                                        +      this.subscribeChanges();
                                                                                                                        +    }
                                                                                                                        +    return this.changesFeed.pipe(filter((doc) => doc._id.startsWith(prefix)));
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  private async subscribeChanges() {
                                                                                                                        +    (await this.getPouchDBOnceReady())
                                                                                                                        +      .changes({
                                                                                                                        +        live: true,
                                                                                                                        +        since: "now",
                                                                                                                        +        include_docs: true,
                                                                                                                        +      })
                                                                                                                        +      .addListener("change", (change) => this.changesFeed.next(change.doc))
                                                                                                                        +      .catch((err) => {
                                                                                                                        +        if (
                                                                                                                        +          err.statusCode === HttpStatusCode.Unauthorized ||
                                                                                                                        +          err.statusCode === HttpStatusCode.GatewayTimeout
                                                                                                                        +        ) {
                                                                                                                        +          Logging.warn(err);
                                                                                                                        +        } else {
                                                                                                                        +          Logging.error(err);
                                                                                                                        +        }
                                                                                                                        +
                                                                                                                        +        // retry
                                                                                                                        +        setTimeout(() => this.subscribeChanges(), 10000);
                                                                                                                        +      });
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Destroy the database and all saved data
                                                                                                                        +   */
                                                                                                                        +  async destroy(): Promise<any> {
                                                                                                                        +    await Promise.all(this.indexPromises);
                                                                                                                        +    if (this.pouchDB) {
                                                                                                                        +      return this.pouchDB.destroy();
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Reset the database state so a new one can be opened.
                                                                                                                        +   */
                                                                                                                        +  reset() {
                                                                                                                        +    this.pouchDB = undefined;
                                                                                                                        +    this.changesFeed = undefined;
                                                                                                                        +    this.databaseInitialized = new Subject();
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Query data from the database based on a more complex, indexed request.
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   *
                                                                                                                        +   * This is directly calling the PouchDB implementation of this function.
                                                                                                                        +   * Also see the documentation there: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                        +   *
                                                                                                                        +   * @param fun The name of a previously saved database index
                                                                                                                        +   * @param options Additional options for the query, like a `key`. See the PouchDB docs for details.
                                                                                                                        +   */
                                                                                                                        +  query(
                                                                                                                        +    fun: string | ((doc: any, emit: any) => void),
                                                                                                                        +    options: QueryOptions,
                                                                                                                        +  ): Promise<any> {
                                                                                                                        +    return this.getPouchDBOnceReady()
                                                                                                                        +      .then((pouchDB) => pouchDB.query(fun, options))
                                                                                                                        +      .catch((err) => {
                                                                                                                        +        throw new DatabaseException(
                                                                                                                        +          err,
                                                                                                                        +          typeof fun === "string" ? fun : undefined,
                                                                                                                        +        );
                                                                                                                        +      });
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Create a database index to `query()` certain data more efficiently in the future.
                                                                                                                        +   * (see {@link Database})
                                                                                                                        +   *
                                                                                                                        +   * Also see the PouchDB documentation regarding indices and queries: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                        +   *
                                                                                                                        +   * @param designDoc The PouchDB style design document for the map/reduce query
                                                                                                                        +   */
                                                                                                                        +  saveDatabaseIndex(designDoc: any): Promise<void> {
                                                                                                                        +    const creationPromise = this.createOrUpdateDesignDoc(designDoc);
                                                                                                                        +    this.indexPromises.push(creationPromise);
                                                                                                                        +    return creationPromise;
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  private async createOrUpdateDesignDoc(designDoc): Promise<void> {
                                                                                                                        +    const existingDesignDoc = await this.get(designDoc._id, {}, true);
                                                                                                                        +    if (!existingDesignDoc) {
                                                                                                                        +      Logging.debug("creating new database index");
                                                                                                                        +    } else if (
                                                                                                                        +      JSON.stringify(existingDesignDoc.views) !==
                                                                                                                        +      JSON.stringify(designDoc.views)
                                                                                                                        +    ) {
                                                                                                                        +      Logging.debug("replacing existing database index");
                                                                                                                        +      designDoc._rev = existingDesignDoc._rev;
                                                                                                                        +    } else {
                                                                                                                        +      // already up to date, nothing more to do
                                                                                                                        +      return;
                                                                                                                        +    }
                                                                                                                        +
                                                                                                                        +    await this.put(designDoc, true);
                                                                                                                        +    await this.prebuildViewsOfDesignDoc(designDoc);
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  @PerformanceAnalysisLogging
                                                                                                                        +  private async prebuildViewsOfDesignDoc(designDoc: any): Promise<void> {
                                                                                                                        +    for (const viewName of Object.keys(designDoc.views)) {
                                                                                                                        +      const queryName = designDoc._id.replace(/_design\//, "") + "/" + viewName;
                                                                                                                        +      await this.query(queryName, { key: "1" });
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  /**
                                                                                                                        +   * Attempt to intelligently resolve conflicting document versions automatically.
                                                                                                                        +   * @param newObject
                                                                                                                        +   * @param overwriteChanges
                                                                                                                        +   * @param existingError
                                                                                                                        +   */
                                                                                                                        +  private async resolveConflict(
                                                                                                                        +    newObject: any,
                                                                                                                        +    overwriteChanges = false,
                                                                                                                        +    existingError: any = {},
                                                                                                                        +  ): Promise<any> {
                                                                                                                        +    const existingObject = await this.get(newObject._id);
                                                                                                                        +    const resolvedObject = this.mergeObjects(existingObject, newObject);
                                                                                                                        +    if (resolvedObject) {
                                                                                                                        +      Logging.debug(
                                                                                                                        +        "resolved document conflict automatically (" + resolvedObject._id + ")",
                                                                                                                        +      );
                                                                                                                        +      return this.put(resolvedObject);
                                                                                                                        +    } else if (overwriteChanges) {
                                                                                                                        +      Logging.debug(
                                                                                                                        +        "overwriting conflicting document version (" + newObject._id + ")",
                                                                                                                        +      );
                                                                                                                        +      newObject._rev = existingObject._rev;
                                                                                                                        +      return this.put(newObject);
                                                                                                                        +    } else {
                                                                                                                        +      existingError.message = `${
                                                                                                                        +        existingError.message
                                                                                                                        +      } (unable to resolve) ID: ${JSON.stringify(newObject)}`;
                                                                                                                        +      throw new DatabaseException(existingError);
                                                                                                                        +    }
                                                                                                                        +  }
                                                                                                                        +
                                                                                                                        +  private mergeObjects(_existingObject: any, _newObject: any) {
                                                                                                                        +    // TODO: implement automatic merging of conflicting entity versions
                                                                                                                        +    return undefined;
                                                                                                                        +  }
                                                                                                                        +}
                                                                                                                        +
                                                                                                                        +/**
                                                                                                                        + * This overwrites PouchDB's error class which only logs limited information
                                                                                                                        + */
                                                                                                                        +class DatabaseException extends Error {
                                                                                                                        +  constructor(
                                                                                                                        +    error: PouchDB.Core.Error | { [key: string]: any },
                                                                                                                        +    entityId?: string,
                                                                                                                        +  ) {
                                                                                                                        +    super();
                                                                                                                        +
                                                                                                                        +    if (entityId) {
                                                                                                                        +      error["entityId"] = entityId;
                                                                                                                        +    }
                                                                                                                        +    Object.assign(this, error);
                                                                                                                        +  }
                                                                                                                        +}
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + + + + + + + + +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        results matching ""

                                                                                                                        +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          No results matching ""

                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DateFilter.html b/documentation/classes/DateFilter.html new file mode 100644 index 0000000000..13ccd0341c --- /dev/null +++ b/documentation/classes/DateFilter.html @@ -0,0 +1,795 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                          +
                                                                                                                          + + +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          +

                                                                                                                          File

                                                                                                                          +

                                                                                                                          +

                                                                                                                          + src/app/core/filter/filters/dateFilter.ts +

                                                                                                                          + + +

                                                                                                                          +

                                                                                                                          Description

                                                                                                                          +

                                                                                                                          +

                                                                                                                          +

                                                                                                                          Represents a filter for date values. +The filter can either be one of the predefined options or two manually entered dates.

                                                                                                                          + +

                                                                                                                          + +

                                                                                                                          +

                                                                                                                          Extends

                                                                                                                          +

                                                                                                                          +

                                                                                                                          + Filter +

                                                                                                                          + + + +
                                                                                                                          +

                                                                                                                          Index

                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          +
                                                                                                                          Properties
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          Methods
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +

                                                                                                                          Constructor

                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                          +constructor(name: string, label: string, rangeOptions: DateRangeFilterConfigOption[]) +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          NameTypeOptional
                                                                                                                          name + string + + No +
                                                                                                                          label + string + + No +
                                                                                                                          rangeOptions + DateRangeFilterConfigOption[] + + No +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          + +

                                                                                                                          + Properties +

                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + + component + + +
                                                                                                                          + Default value : DateRangeFilterComponent +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:15 +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + Public + label + + +
                                                                                                                          + Type : string + +
                                                                                                                          + Default value : name +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:19 +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + Public + name + + +
                                                                                                                          + Type : string + +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:18 +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                          + + + Public + rangeOptions + + +
                                                                                                                          + Type : DateRangeFilterConfigOption[] + +
                                                                                                                          + +
                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + selectedOptionChange + + +
                                                                                                                          + Default value : new EventEmitter<string[]>() +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:45 +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                                                          +

                                                                                                                          This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                                                          +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + Public + selectedOptionValues + + +
                                                                                                                          + Type : string[] + +
                                                                                                                          + Default value : [] +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:37 +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          + +

                                                                                                                          + Methods +

                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + getDateRange + + +
                                                                                                                          +getDateRange() +
                                                                                                                          + +
                                                                                                                          +

                                                                                                                          Returns the date range according to the selected option or dates

                                                                                                                          +
                                                                                                                          + +
                                                                                                                          + Returns : DateRange<Date> + +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + getFilter + + +
                                                                                                                          +getFilter() +
                                                                                                                          +
                                                                                                                          Inherited from Filter +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          Defined in Filter:41 +
                                                                                                                          +
                                                                                                                          + +
                                                                                                                          + Returns : DataFilter<T> + +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + getSelectedOption + + +
                                                                                                                          +getSelectedOption() +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + Returns : any + +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + + + + + +
                                                                                                                          + + +
                                                                                                                          +
                                                                                                                          import { Entity } from "../../entity/model/entity";
                                                                                                                          +import { DateRangeFilterConfigOption } from "../../entity-list/EntityListConfig";
                                                                                                                          +import { DateRange } from "@angular/material/datepicker";
                                                                                                                          +import { calculateDateRange } from "../../basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component";
                                                                                                                          +import moment from "moment";
                                                                                                                          +import { DataFilter, Filter } from "./filters";
                                                                                                                          +import { isValidDate } from "../../../utils/utils";
                                                                                                                          +import { DateRangeFilterComponent } from "../../basic-datatypes/date/date-range-filter/date-range-filter.component";
                                                                                                                          +
                                                                                                                          +/**
                                                                                                                          + * Represents a filter for date values.
                                                                                                                          + * The filter can either be one of the predefined options or two manually entered dates.
                                                                                                                          + */
                                                                                                                          +export class DateFilter<T extends Entity> extends Filter<T> {
                                                                                                                          +  override component = DateRangeFilterComponent;
                                                                                                                          +
                                                                                                                          +  constructor(
                                                                                                                          +    public name: string,
                                                                                                                          +    public label: string = name,
                                                                                                                          +    public rangeOptions: DateRangeFilterConfigOption[],
                                                                                                                          +  ) {
                                                                                                                          +    super(name, label);
                                                                                                                          +    this.selectedOptionValues = [];
                                                                                                                          +  }
                                                                                                                          +
                                                                                                                          +  /**
                                                                                                                          +   * Returns the date range according to the selected option or dates
                                                                                                                          +   */
                                                                                                                          +  getDateRange(): DateRange<Date> {
                                                                                                                          +    const selectedOption = this.getSelectedOption();
                                                                                                                          +    if (selectedOption) {
                                                                                                                          +      return calculateDateRange(selectedOption);
                                                                                                                          +    }
                                                                                                                          +    const dates = this.selectedOptionValues;
                                                                                                                          +    if (dates?.length == 2) {
                                                                                                                          +      return this.getDateRangeFromDateStrings(dates[0], dates[1]);
                                                                                                                          +    }
                                                                                                                          +    return new DateRange(undefined, undefined);
                                                                                                                          +  }
                                                                                                                          +
                                                                                                                          +  getFilter(): DataFilter<T> {
                                                                                                                          +    const range = this.getDateRange();
                                                                                                                          +    const filterObject: { $gte?: string; $lte?: string } = {};
                                                                                                                          +    if (range.start) {
                                                                                                                          +      filterObject.$gte = moment(range.start).format("YYYY-MM-DD");
                                                                                                                          +    }
                                                                                                                          +    if (range.end) {
                                                                                                                          +      filterObject.$lte = moment(range.end).format("YYYY-MM-DD");
                                                                                                                          +    }
                                                                                                                          +    if (filterObject.$gte || filterObject.$lte) {
                                                                                                                          +      return {
                                                                                                                          +        [this.name]: filterObject,
                                                                                                                          +      } as DataFilter<T>;
                                                                                                                          +    }
                                                                                                                          +    return {} as DataFilter<T>;
                                                                                                                          +  }
                                                                                                                          +
                                                                                                                          +  getSelectedOption() {
                                                                                                                          +    return this.rangeOptions[this.selectedOptionValues as any];
                                                                                                                          +  }
                                                                                                                          +
                                                                                                                          +  private getDateRangeFromDateStrings(
                                                                                                                          +    dateStr1: string,
                                                                                                                          +    dateStr2: string,
                                                                                                                          +  ): DateRange<Date> {
                                                                                                                          +    const date1 = moment(dateStr1).toDate();
                                                                                                                          +    const date2 = moment(dateStr2).toDate();
                                                                                                                          +
                                                                                                                          +    return new DateRange(
                                                                                                                          +      isValidDate(date1) ? date1 : undefined,
                                                                                                                          +      isValidDate(date2) ? date2 : undefined,
                                                                                                                          +    );
                                                                                                                          +  }
                                                                                                                          +}
                                                                                                                          +
                                                                                                                          +
                                                                                                                          +
                                                                                                                          + + + + + + + + + +
                                                                                                                          +
                                                                                                                          +

                                                                                                                          results matching ""

                                                                                                                          +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +

                                                                                                                            No results matching ""

                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DateWithAge.html b/documentation/classes/DateWithAge.html new file mode 100644 index 0000000000..2457445b4e --- /dev/null +++ b/documentation/classes/DateWithAge.html @@ -0,0 +1,360 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                            +
                                                                                                                            + + +
                                                                                                                            +
                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                            +
                                                                                                                            +

                                                                                                                            +

                                                                                                                            File

                                                                                                                            +

                                                                                                                            +

                                                                                                                            + src/app/core/basic-datatypes/date-with-age/dateWithAge.ts +

                                                                                                                            + + +

                                                                                                                            +

                                                                                                                            Description

                                                                                                                            +

                                                                                                                            +

                                                                                                                            +

                                                                                                                            Subclass of Date which provides the getter age. +This age is calculated based on the date that this object represents.

                                                                                                                            + +

                                                                                                                            + +

                                                                                                                            +

                                                                                                                            Extends

                                                                                                                            +

                                                                                                                            +

                                                                                                                            + Date +

                                                                                                                            + + + +
                                                                                                                            +

                                                                                                                            Index

                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                            +
                                                                                                                            Properties
                                                                                                                            +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            Accessors
                                                                                                                            +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + +
                                                                                                                            + +

                                                                                                                            + Properties +

                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                            + + + Static + DATA_TYPE + + +
                                                                                                                            + Type : string + +
                                                                                                                            + Default value : "date-with-age" +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            + + + + + + + +
                                                                                                                            +

                                                                                                                            + Accessors +

                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                            + + age +
                                                                                                                            + getage() +
                                                                                                                            + +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + + +
                                                                                                                            +
                                                                                                                            import { calculateAge } from "../../../utils/utils";
                                                                                                                            +
                                                                                                                            +/**
                                                                                                                            + * Subclass of Date which provides the getter `age`.
                                                                                                                            + * This age is calculated based on the date that this object represents.
                                                                                                                            + */
                                                                                                                            +export class DateWithAge extends Date {
                                                                                                                            +  static DATA_TYPE = "date-with-age";
                                                                                                                            +
                                                                                                                            +  get age() {
                                                                                                                            +    return calculateAge(this);
                                                                                                                            +  }
                                                                                                                            +}
                                                                                                                            +
                                                                                                                            +
                                                                                                                            +
                                                                                                                            + + + + + + + + + +
                                                                                                                            +
                                                                                                                            +

                                                                                                                            results matching ""

                                                                                                                            +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              No results matching ""

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DefaultDatatype.html b/documentation/classes/DefaultDatatype.html new file mode 100644 index 0000000000..823e43f932 --- /dev/null +++ b/documentation/classes/DefaultDatatype.html @@ -0,0 +1,1194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +

                                                                                                                              File

                                                                                                                              +

                                                                                                                              +

                                                                                                                              + src/app/core/entity/default-datatype/default.datatype.ts +

                                                                                                                              + + +

                                                                                                                              +

                                                                                                                              Description

                                                                                                                              +

                                                                                                                              +

                                                                                                                              +

                                                                                                                              Extend this class to define new data types (i.e. for properties of entities) +and provide your implementation using Angular DI: +{ provide: DefaultDatatype, useClass: MyCustomDatatype, multi: true },

                                                                                                                              +

                                                                                                                              This class is also used as the default fallback Datatype for the EntitySchemaService that keeps values unchanged between database and entity instance. +This type is automatically used whenever no fitting Datatype can be found for that config or TypeScript type.

                                                                                                                              + +

                                                                                                                              + + + + +
                                                                                                                              +

                                                                                                                              Index

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              Properties
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              Methods
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              Accessors
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              + +

                                                                                                                              + Properties +

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + Static + dataType + + +
                                                                                                                              + Type : string + +
                                                                                                                              + Default value : "" +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Key for this datatype that must be specified in the DatabaseField annotation to use this transformation.

                                                                                                                              +

                                                                                                                              for example @DatabaseField({dataType: 'foo'}) myField will trigger the datatype implementation with name "foo".

                                                                                                                              +

                                                                                                                              If you set the name to a TypeScript type, class properties with this type will automatically use +that EntitySchemaDatatype without the need to explicitly state the dataType config in the annotation +(e.g. @DatabaseField() myField: string is triggering the EntitySchemaDatatype with name "string".

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + editComponent + + +
                                                                                                                              + Type : string + +
                                                                                                                              + Default value : "EditText" +
                                                                                                                              + +
                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + Optional + importConfigComponent + + +
                                                                                                                              + Type : string + +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + Static + label + + +
                                                                                                                              + Type : string + +
                                                                                                                              + Default value : $localize`:datatype-label:any` +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              The human-readable name for this dataType, used in config UIs.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + viewComponent + + +
                                                                                                                              + Type : string + +
                                                                                                                              + Default value : "DisplayText" +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              The default component how this datatype should be displayed in lists and forms.

                                                                                                                              +

                                                                                                                              The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              + +

                                                                                                                              + Methods +

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + Async + anonymize + + +
                                                                                                                              + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                              +
                                                                                                                              + +
                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              NameTypeOptionalDescription
                                                                                                                              value + EntityType + + No + +

                                                                                                                              The original value to be anonymized

                                                                                                                              + +
                                                                                                                              schemaField + EntitySchemaField + + No + +
                                                                                                                              parent + any + + No + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Returns : Promise<any> + +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                              +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                              +
                                                                                                                              + +
                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                              NameTypeOptional
                                                                                                                              col + ColumnMapping + + No +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Returns : string + +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + Async + importMapFunction + + +
                                                                                                                              + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              The function used to map values from the import data to values in the entities to be created.

                                                                                                                              +
                                                                                                                              + +
                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              NameTypeOptionalDescription
                                                                                                                              val + any + + No + +

                                                                                                                              The value from an imported cell to be mapped

                                                                                                                              + +
                                                                                                                              schemaField + EntitySchemaField + + No + +

                                                                                                                              The schema field definition for the target property into which the value is mapped

                                                                                                                              + +
                                                                                                                              additional + any + + Yes + +

                                                                                                                              config as returned by the configComponent

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Returns : Promise<EntityType | []> + +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + transformToDatabaseFormat + + +
                                                                                                                              +transformToDatabaseFormat(value: EntityType, schemaField?: EntitySchemaField, parent?: Entity) +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Transformation function taking a value in the format that is used in entity instances and returning the value +in the format used in database objects.

                                                                                                                              +Example :
                                                                                                                                   This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                              + +
                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              NameTypeOptionalDescription
                                                                                                                              value + EntityType + + No + +

                                                                                                                              The value (in Entity format) to be transformed

                                                                                                                              + +
                                                                                                                              schemaField + EntitySchemaField + + Yes + +

                                                                                                                              The EntitySchemaField configuration providing details of how the value should be transformed. +This can be set as a parameter to the @DatabaseField() annotation in Entity classes.

                                                                                                                              + +
                                                                                                                              parent + Entity + + Yes + +

                                                                                                                              The full entity instance this value is part of (e.g. to allow cross-related transformations)

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Returns : DBType + +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + transformToObjectFormat + + +
                                                                                                                              +transformToObjectFormat(value: DBType, schemaField?: EntitySchemaField, parent?: any) +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Transformation function taking a value in the format that is used in database objects and returning the value +in the format used in entity instances.

                                                                                                                              +Example :
                                                                                                                                   This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                              + +
                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              NameTypeOptionalDescription
                                                                                                                              value + DBType + + No + +

                                                                                                                              The value (in database format) to be transformed

                                                                                                                              + +
                                                                                                                              schemaField + EntitySchemaField + + Yes + +

                                                                                                                              The EntitySchemaField configuration providing details of how the value should be transformed. +This can be set as a parameter to the @DatabaseField() annotation in Entity classes.

                                                                                                                              + +
                                                                                                                              parent + any + + Yes + +

                                                                                                                              The full entity instance this value is part of (e.g. to allow cross-related transformations)

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Returns : EntityType + +
                                                                                                                              +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + +
                                                                                                                              +

                                                                                                                              + Accessors +

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              + + dataType +
                                                                                                                              + getdataType() +
                                                                                                                              + +
                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              + + label +
                                                                                                                              + getlabel() +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              import { EntitySchemaField } from "../schema/entity-schema-field";
                                                                                                                              +import { Entity } from "../model/entity";
                                                                                                                              +import { ColumnMapping } from "../../import/column-mapping";
                                                                                                                              +import { asArray } from "../../../utils/utils";
                                                                                                                              +
                                                                                                                              +/**
                                                                                                                              + * Extend this class to define new data types (i.e. for properties of entities)
                                                                                                                              + * and provide your implementation using Angular DI:
                                                                                                                              + * `{ provide: DefaultDatatype, useClass: MyCustomDatatype, multi: true },`
                                                                                                                              + *
                                                                                                                              + * This class is also used as the default fallback Datatype for the EntitySchemaService that keeps values unchanged between database and entity instance.
                                                                                                                              + * This type is automatically used whenever no fitting Datatype can be found for that config or TypeScript type.
                                                                                                                              + */
                                                                                                                              +export class DefaultDatatype<EntityType = any, DBType = any> {
                                                                                                                              +  /**
                                                                                                                              +   * Key for this datatype that must be specified in the DatabaseField annotation to use this transformation.
                                                                                                                              +   *
                                                                                                                              +   * for example `@DatabaseField({dataType: 'foo'}) myField` will trigger the datatype implementation with `name` "foo".
                                                                                                                              +   *
                                                                                                                              +   * If you set the name to a TypeScript type, class properties with this type will automatically use
                                                                                                                              +   * that EntitySchemaDatatype without the need to explicitly state the dataType config in the annotation
                                                                                                                              +   * (e.g. `@DatabaseField() myField: string` is triggering the EntitySchemaDatatype with `name` "string".
                                                                                                                              +   */
                                                                                                                              +  static dataType: string = "";
                                                                                                                              +  get dataType(): string {
                                                                                                                              +    return (this.constructor as typeof DefaultDatatype).dataType;
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * The human-readable name for this dataType, used in config UIs.
                                                                                                                              +   */
                                                                                                                              +  static label: string = $localize`:datatype-label:any`;
                                                                                                                              +  get label(): string {
                                                                                                                              +    return (this.constructor as typeof DefaultDatatype).label;
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * The default component how this datatype should be displayed in lists and forms.
                                                                                                                              +   *
                                                                                                                              +   * The edit component has to be a registered component. Components that are registered contain the `DynamicComponent`
                                                                                                                              +   * decorator
                                                                                                                              +   */
                                                                                                                              +  viewComponent = "DisplayText";
                                                                                                                              +  editComponent = "EditText";
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * Transformation function taking a value in the format that is used in entity instances and returning the value
                                                                                                                              +   * in the format used in database objects.
                                                                                                                              +   *
                                                                                                                              +   * @param value The value (in Entity format) to be transformed
                                                                                                                              +   * @param schemaField The EntitySchemaField configuration providing details of how the value should be transformed.
                                                                                                                              +   *          This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                              +   * @param parent The full entity instance this value is part of (e.g. to allow cross-related transformations)
                                                                                                                              +   */
                                                                                                                              +  transformToDatabaseFormat(
                                                                                                                              +    value: EntityType,
                                                                                                                              +    schemaField?: EntitySchemaField,
                                                                                                                              +    parent?: Entity,
                                                                                                                              +  ): DBType {
                                                                                                                              +    return value as any;
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * Transformation function taking a value in the format that is used in database objects and returning the value
                                                                                                                              +   * in the format used in entity instances.
                                                                                                                              +   *
                                                                                                                              +   * @param value The value (in database format) to be transformed
                                                                                                                              +   * @param schemaField The EntitySchemaField configuration providing details of how the value should be transformed.
                                                                                                                              +   *          This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                              +   * @param parent The full entity instance this value is part of (e.g. to allow cross-related transformations)
                                                                                                                              +   */
                                                                                                                              +  transformToObjectFormat(
                                                                                                                              +    value: DBType,
                                                                                                                              +    schemaField?: EntitySchemaField,
                                                                                                                              +    parent?: any,
                                                                                                                              +  ): EntityType {
                                                                                                                              +    return value as any;
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * The function used to map values from the import data to values in the entities to be created.
                                                                                                                              +   * @param val The value from an imported cell to be mapped
                                                                                                                              +   * @param schemaField The schema field definition for the target property into which the value is mapped
                                                                                                                              +   * @param additional config as returned by the configComponent
                                                                                                                              +   */
                                                                                                                              +  async importMapFunction(
                                                                                                                              +    val: any,
                                                                                                                              +    schemaField: EntitySchemaField,
                                                                                                                              +    additional?: any,
                                                                                                                              +  ): Promise<EntityType | EntityType[]> {
                                                                                                                              +    if (schemaField.isArray) {
                                                                                                                              +      return asArray(val).map((v) =>
                                                                                                                              +        this.transformToObjectFormat(v, schemaField),
                                                                                                                              +      );
                                                                                                                              +    } else {
                                                                                                                              +      return this.transformToObjectFormat(val, schemaField);
                                                                                                                              +    }
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * A component to be display as a dialog to configure the transformation function
                                                                                                                              +   * (e.g. defining a format or mapping)
                                                                                                                              +   */
                                                                                                                              +  importConfigComponent?: string;
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * Output a label indicating whether the given column mapping needs user configuration for the "additional" config
                                                                                                                              +   * or has a valid, complete "additional" config.
                                                                                                                              +   * returns "undefined" if no user action is required.
                                                                                                                              +   * @param col
                                                                                                                              +   */
                                                                                                                              +  importIncompleteAdditionalConfigBadge(col: ColumnMapping): string {
                                                                                                                              +    return undefined;
                                                                                                                              +  }
                                                                                                                              +
                                                                                                                              +  /**
                                                                                                                              +   * (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.
                                                                                                                              +   * @param value The original value to be anonymized
                                                                                                                              +   */
                                                                                                                              +  async anonymize(
                                                                                                                              +    value: EntityType,
                                                                                                                              +    schemaField: EntitySchemaField,
                                                                                                                              +    parent: any,
                                                                                                                              +  ): Promise<any> {
                                                                                                                              +    return undefined;
                                                                                                                              +  }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              results matching ""

                                                                                                                              +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                No results matching ""

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoChildConfig.html b/documentation/classes/DemoChildConfig.html new file mode 100644 index 0000000000..7a357dcb8f --- /dev/null +++ b/documentation/classes/DemoChildConfig.html @@ -0,0 +1,366 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                +
                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                +

                                                                                                                                File

                                                                                                                                +

                                                                                                                                +

                                                                                                                                + src/app/child-dev-project/children/demo-data-generators/demo-child-generator.service.ts +

                                                                                                                                + + + + + + +
                                                                                                                                +

                                                                                                                                Index

                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                +
                                                                                                                                Properties
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                + +

                                                                                                                                + Properties +

                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                + + + count + + +
                                                                                                                                + Type : number + +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + + + + + + + +
                                                                                                                                + + +
                                                                                                                                +
                                                                                                                                import { Child } from "../model/child";
                                                                                                                                +import { religions } from "./fixtures/religions";
                                                                                                                                +import { languages } from "./fixtures/languages";
                                                                                                                                +import { dropoutTypes } from "./fixtures/dropout-types";
                                                                                                                                +import { Injectable } from "@angular/core";
                                                                                                                                +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                +import { centersWithProbability } from "./fixtures/centers";
                                                                                                                                +import { genders } from "../model/genders";
                                                                                                                                +import { calculateAge } from "../../../utils/utils";
                                                                                                                                +import { DateWithAge } from "../../../core/basic-datatypes/date-with-age/dateWithAge";
                                                                                                                                +
                                                                                                                                +export class DemoChildConfig {
                                                                                                                                +  count: number;
                                                                                                                                +}
                                                                                                                                +
                                                                                                                                +@Injectable()
                                                                                                                                +export class DemoChildGenerator extends DemoDataGenerator<Child> {
                                                                                                                                +  static count: number;
                                                                                                                                +
                                                                                                                                +  /**
                                                                                                                                +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                +   *   `providers: [DemoUserProvider.provider({count: 150})]`
                                                                                                                                +   * @param config The configuration specifying the number of entities the service should generate.
                                                                                                                                +   */
                                                                                                                                +  static provider(config: DemoChildConfig) {
                                                                                                                                +    return [
                                                                                                                                +      { provide: DemoChildGenerator, useClass: DemoChildGenerator },
                                                                                                                                +      { provide: DemoChildConfig, useValue: config },
                                                                                                                                +    ];
                                                                                                                                +  }
                                                                                                                                +
                                                                                                                                +  static generateEntity(id: string) {
                                                                                                                                +    const child = new Child(id);
                                                                                                                                +    child.name = faker.person.firstName() + " " + faker.person.lastName();
                                                                                                                                +    child.projectNumber = id;
                                                                                                                                +    child["religion"] = faker.helpers.arrayElement(religions);
                                                                                                                                +    child.gender = faker.helpers.arrayElement(genders.slice(1));
                                                                                                                                +    child.dateOfBirth = new DateWithAge(faker.dateOfBirth(5, 20));
                                                                                                                                +    child["motherTongue"] = faker.helpers.arrayElement(languages);
                                                                                                                                +    child.center = faker.helpers.arrayElement(centersWithProbability);
                                                                                                                                +    child.phone =
                                                                                                                                +      "+" +
                                                                                                                                +      faker.number.int({ min: 10, max: 99 }) +
                                                                                                                                +      " " +
                                                                                                                                +      faker.number.int({ min: 10000000, max: 99999999 });
                                                                                                                                +
                                                                                                                                +    child.admissionDate = faker.date.past({
                                                                                                                                +      years: calculateAge(child.dateOfBirth) - 4,
                                                                                                                                +    });
                                                                                                                                +
                                                                                                                                +    child["address"] = faker.geoAddress();
                                                                                                                                +
                                                                                                                                +    if (faker.number.int(100) > 90) {
                                                                                                                                +      DemoChildGenerator.makeChildDropout(child);
                                                                                                                                +    }
                                                                                                                                +    return child;
                                                                                                                                +  }
                                                                                                                                +
                                                                                                                                +  private static makeChildDropout(child: Child) {
                                                                                                                                +    child.dropoutDate = faker.date.between({
                                                                                                                                +      from: child.admissionDate,
                                                                                                                                +      to: new Date(),
                                                                                                                                +    });
                                                                                                                                +    child.dropoutRemarks = faker.lorem.sentence();
                                                                                                                                +    child.dropoutType = faker.helpers.arrayElement(dropoutTypes);
                                                                                                                                +    child.status = $localize`:Child status:Dropout`;
                                                                                                                                +  }
                                                                                                                                +
                                                                                                                                +  constructor(public config: DemoChildConfig) {
                                                                                                                                +    super();
                                                                                                                                +  }
                                                                                                                                +
                                                                                                                                +  generateEntities(): Child[] {
                                                                                                                                +    const data = [];
                                                                                                                                +    for (let i = 1; i <= this.config.count; i++) {
                                                                                                                                +      data.push(DemoChildGenerator.generateEntity(String(i)));
                                                                                                                                +    }
                                                                                                                                +    return data;
                                                                                                                                +  }
                                                                                                                                +}
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + + + + + + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                results matching ""

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  No results matching ""

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoDataGenerator.html b/documentation/classes/DemoDataGenerator.html new file mode 100644 index 0000000000..4009b47429 --- /dev/null +++ b/documentation/classes/DemoDataGenerator.html @@ -0,0 +1,491 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  +
                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  +

                                                                                                                                  File

                                                                                                                                  +

                                                                                                                                  +

                                                                                                                                  + src/app/core/demo-data/demo-data-generator.ts +

                                                                                                                                  + + +

                                                                                                                                  +

                                                                                                                                  Description

                                                                                                                                  +

                                                                                                                                  +

                                                                                                                                  +

                                                                                                                                  Abstract base class for demo data generator backup.

                                                                                                                                  +

                                                                                                                                  For usage refer to the How-To Guides:

                                                                                                                                  + + +

                                                                                                                                  + + + + +
                                                                                                                                  +

                                                                                                                                  Index

                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                  Properties
                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  Methods
                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  Accessors
                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  + +

                                                                                                                                  + Properties +

                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                  + + + Protected + _entities + + +
                                                                                                                                  + Type : T[] + +
                                                                                                                                  + +
                                                                                                                                  +

                                                                                                                                  internally used array of the generated entities

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  + +

                                                                                                                                  + Methods +

                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                  + + + Protected + Abstract + generateEntities + + +
                                                                                                                                  + + generateEntities() +
                                                                                                                                  + +
                                                                                                                                  +

                                                                                                                                  Generate new demo entities.

                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  + Returns : T[] + +
                                                                                                                                  +
                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                  + + + reset + + +
                                                                                                                                  +reset() +
                                                                                                                                  + +
                                                                                                                                  +

                                                                                                                                  Remove all previously generated entities.

                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  + Returns : void + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + + + + + +
                                                                                                                                  +

                                                                                                                                  + Accessors +

                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                  + + entities +
                                                                                                                                  + getentities() +
                                                                                                                                  + +
                                                                                                                                  +

                                                                                                                                  generated demo entities

                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  +
                                                                                                                                  import { Entity } from "../entity/model/entity";
                                                                                                                                  +
                                                                                                                                  +/**
                                                                                                                                  + * Abstract base class for demo data generator backup.
                                                                                                                                  + *
                                                                                                                                  + * For usage refer to the How-To Guides:
                                                                                                                                  + * - [How to Generate Demo Data]{@link /additional-documentation/how-to-guides/generate-demo-data.html}
                                                                                                                                  + */
                                                                                                                                  +export abstract class DemoDataGenerator<T extends Entity> {
                                                                                                                                  +  /** internally used array of the generated entities */
                                                                                                                                  +  protected _entities: T[];
                                                                                                                                  +
                                                                                                                                  +  /**
                                                                                                                                  +   * generated demo entities
                                                                                                                                  +   */
                                                                                                                                  +  get entities() {
                                                                                                                                  +    if (!this._entities) {
                                                                                                                                  +      this._entities = this.generateEntities();
                                                                                                                                  +    }
                                                                                                                                  +    return this._entities;
                                                                                                                                  +  }
                                                                                                                                  +
                                                                                                                                  +  /**
                                                                                                                                  +   * Generate new demo entities.
                                                                                                                                  +   */
                                                                                                                                  +  protected abstract generateEntities(): T[];
                                                                                                                                  +
                                                                                                                                  +  /**
                                                                                                                                  +   * Remove all previously generated entities.
                                                                                                                                  +   */
                                                                                                                                  +  reset() {
                                                                                                                                  +    delete this._entities;
                                                                                                                                  +  }
                                                                                                                                  +}
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  results matching ""

                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    No results matching ""

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoDataServiceConfig.html b/documentation/classes/DemoDataServiceConfig.html new file mode 100644 index 0000000000..2f3bf50e57 --- /dev/null +++ b/documentation/classes/DemoDataServiceConfig.html @@ -0,0 +1,384 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                    +
                                                                                                                                    + + +
                                                                                                                                    +
                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    +

                                                                                                                                    File

                                                                                                                                    +

                                                                                                                                    +

                                                                                                                                    + src/app/core/demo-data/demo-data.service.ts +

                                                                                                                                    + + +

                                                                                                                                    +

                                                                                                                                    Description

                                                                                                                                    +

                                                                                                                                    +

                                                                                                                                    +

                                                                                                                                    General config object to pass all initially register DemoDataGenerators +with DemoDataModule.forRoot().

                                                                                                                                    +

                                                                                                                                    see docs at DemoDataModule

                                                                                                                                    + +

                                                                                                                                    + + + + +
                                                                                                                                    +

                                                                                                                                    Index

                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                    +
                                                                                                                                    Properties
                                                                                                                                    +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    + + +
                                                                                                                                    + +

                                                                                                                                    + Properties +

                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                    + + + dataGeneratorProviders + + +
                                                                                                                                    + Type : (ValueProvider | ClassProvider | FactoryProvider)[] + +
                                                                                                                                    + Default value : [] +
                                                                                                                                    + +
                                                                                                                                    +

                                                                                                                                    Providers for DemoDataGenerator service implementations to be registered for data generation.

                                                                                                                                    +

                                                                                                                                    This may also include providers for services a DemoDataGenerator depends on.

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    + + + + + + + +
                                                                                                                                    + + +
                                                                                                                                    +
                                                                                                                                    import {
                                                                                                                                    +  ClassProvider,
                                                                                                                                    +  FactoryProvider,
                                                                                                                                    +  Injectable,
                                                                                                                                    +  Injector,
                                                                                                                                    +  ValueProvider,
                                                                                                                                    +} from "@angular/core";
                                                                                                                                    +import { DemoDataGenerator } from "./demo-data-generator";
                                                                                                                                    +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                    +import { Database } from "../database/database";
                                                                                                                                    +
                                                                                                                                    +/**
                                                                                                                                    + * General config object to pass all initially register DemoDataGenerators
                                                                                                                                    + * with `DemoDataModule.forRoot()`.
                                                                                                                                    + *
                                                                                                                                    + * see docs at {@link DemoDataModule}
                                                                                                                                    + */
                                                                                                                                    +export class DemoDataServiceConfig {
                                                                                                                                    +  /**
                                                                                                                                    +   * Providers for DemoDataGenerator service implementations to be registered for data generation.
                                                                                                                                    +   *
                                                                                                                                    +   * This may also include providers for services a DemoDataGenerator depends on.
                                                                                                                                    +   */
                                                                                                                                    +  dataGeneratorProviders: (ValueProvider | ClassProvider | FactoryProvider)[] =
                                                                                                                                    +    [];
                                                                                                                                    +}
                                                                                                                                    +
                                                                                                                                    +/**
                                                                                                                                    + * The DemoDataService is the manager for all provided DemoDataGenerator implementations.
                                                                                                                                    + * It serves as the central service to trigger the demo data generation into the database.
                                                                                                                                    + *
                                                                                                                                    + * To add more demo data generators, refer the documentation
                                                                                                                                    + * [How to Generate Demo Data]{@link /additional-documentation/how-to-guides/generate-demo-data.html}
                                                                                                                                    + */
                                                                                                                                    +@Injectable()
                                                                                                                                    +export class DemoDataService {
                                                                                                                                    +  /** All registered demo data generator services */
                                                                                                                                    +  readonly dataGenerators: DemoDataGenerator<any>[] = [];
                                                                                                                                    +
                                                                                                                                    +  constructor(
                                                                                                                                    +    private entityMapper: EntityMapperService,
                                                                                                                                    +    private injector: Injector,
                                                                                                                                    +    private config: DemoDataServiceConfig,
                                                                                                                                    +    private database: Database,
                                                                                                                                    +  ) {}
                                                                                                                                    +
                                                                                                                                    +  private registerAllProvidedDemoDataGenerators() {
                                                                                                                                    +    for (const provider of this.config.dataGeneratorProviders) {
                                                                                                                                    +      const service = this.injector.get<any>(provider.provide);
                                                                                                                                    +      if (service && service instanceof DemoDataGenerator) {
                                                                                                                                    +        this.dataGenerators.push(service);
                                                                                                                                    +      }
                                                                                                                                    +    }
                                                                                                                                    +  }
                                                                                                                                    +
                                                                                                                                    +  /**
                                                                                                                                    +   * Trigger all registered DemoDataGenerator implementations to generate demo entities
                                                                                                                                    +   * and add all the generated entities to the Database.
                                                                                                                                    +   */
                                                                                                                                    +  async publishDemoData() {
                                                                                                                                    +    if (!(await this.database.isEmpty())) {
                                                                                                                                    +      return;
                                                                                                                                    +    }
                                                                                                                                    +    this.registerAllProvidedDemoDataGenerators();
                                                                                                                                    +
                                                                                                                                    +    // completely generate all data (i.e. call every generator) before starting to save the data
                                                                                                                                    +    // to allow generators to delete unwanted entities of other generators before they are saved
                                                                                                                                    +    // (e.g. the DropoutChildGenerator should be able to delete Attendance records of the Child after its dropout date)
                                                                                                                                    +    this.dataGenerators.forEach((generator) => generator.entities);
                                                                                                                                    +
                                                                                                                                    +    // save the generated data
                                                                                                                                    +    for (const generator of this.dataGenerators) {
                                                                                                                                    +      await this.entityMapper.saveAll(generator.entities);
                                                                                                                                    +      // Wait for other async tasks in the queue e.g. ConfigService setting up config after it has been saved
                                                                                                                                    +      await new Promise((resolve) => setTimeout(resolve));
                                                                                                                                    +    }
                                                                                                                                    +  }
                                                                                                                                    +}
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                    + + + + + + + + + +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    results matching ""

                                                                                                                                    +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +

                                                                                                                                      No results matching ""

                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoEducationMaterialConfig.html b/documentation/classes/DemoEducationMaterialConfig.html new file mode 100644 index 0000000000..b642d7c266 --- /dev/null +++ b/documentation/classes/DemoEducationMaterialConfig.html @@ -0,0 +1,391 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                      +
                                                                                                                                      + + +
                                                                                                                                      +
                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                      +
                                                                                                                                      +

                                                                                                                                      +

                                                                                                                                      File

                                                                                                                                      +

                                                                                                                                      +

                                                                                                                                      + src/app/child-dev-project/children/educational-material/demo-educational-material-generator.service.ts +

                                                                                                                                      + + + + + + +
                                                                                                                                      +

                                                                                                                                      Index

                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                      +
                                                                                                                                      Properties
                                                                                                                                      +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + +
                                                                                                                                      + +

                                                                                                                                      + Properties +

                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                      + + + maxCount + + +
                                                                                                                                      + Type : number + +
                                                                                                                                      + +
                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                      + + + minCount + + +
                                                                                                                                      + Type : number + +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + + + + + + +
                                                                                                                                      + + +
                                                                                                                                      +
                                                                                                                                      import { DemoChildGenerator } from "../demo-data-generators/demo-child-generator.service";
                                                                                                                                      +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                      +import { Injectable } from "@angular/core";
                                                                                                                                      +import { Child } from "../model/child";
                                                                                                                                      +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                      +import { EducationalMaterial } from "./model/educational-material";
                                                                                                                                      +import { materials } from "./model/materials";
                                                                                                                                      +
                                                                                                                                      +export class DemoEducationMaterialConfig {
                                                                                                                                      +  minCount: number;
                                                                                                                                      +  maxCount: number;
                                                                                                                                      +}
                                                                                                                                      +
                                                                                                                                      +/**
                                                                                                                                      + * Generate EducationalMaterial records.
                                                                                                                                      + * Builds upon the generated demo Child entities.
                                                                                                                                      + */
                                                                                                                                      +@Injectable()
                                                                                                                                      +export class DemoEducationalMaterialGeneratorService extends DemoDataGenerator<EducationalMaterial> {
                                                                                                                                      +  /**
                                                                                                                                      +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                      +   *   `providers: [DemoEducationalMaterialGeneratorService.provider()]`
                                                                                                                                      +   */
                                                                                                                                      +  static provider(config: DemoEducationMaterialConfig) {
                                                                                                                                      +    return [
                                                                                                                                      +      {
                                                                                                                                      +        provide: DemoEducationalMaterialGeneratorService,
                                                                                                                                      +        useClass: DemoEducationalMaterialGeneratorService,
                                                                                                                                      +      },
                                                                                                                                      +      { provide: DemoEducationMaterialConfig, useValue: config },
                                                                                                                                      +    ];
                                                                                                                                      +  }
                                                                                                                                      +
                                                                                                                                      +  constructor(
                                                                                                                                      +    private config: DemoEducationMaterialConfig,
                                                                                                                                      +    private demoChildren: DemoChildGenerator,
                                                                                                                                      +  ) {
                                                                                                                                      +    super();
                                                                                                                                      +  }
                                                                                                                                      +
                                                                                                                                      +  public generateEntities(): EducationalMaterial[] {
                                                                                                                                      +    const data = [];
                                                                                                                                      +
                                                                                                                                      +    for (const child of this.demoChildren.entities) {
                                                                                                                                      +      const count = faker.number.int({
                                                                                                                                      +        min: this.config.minCount,
                                                                                                                                      +        max: this.config.maxCount,
                                                                                                                                      +      });
                                                                                                                                      +      for (let i = 1; i < count; i++) {
                                                                                                                                      +        data.push(this.generateEducationalMaterialEntity(child));
                                                                                                                                      +      }
                                                                                                                                      +
                                                                                                                                      +      const specialMaterial = this.generateEducationalMaterialEntity(child);
                                                                                                                                      +      specialMaterial.materialType = faker.helpers.arrayElement(
                                                                                                                                      +        materials.filter((material) => material.hasOwnProperty("color")),
                                                                                                                                      +      );
                                                                                                                                      +      specialMaterial.materialAmount = 1;
                                                                                                                                      +      data.push(specialMaterial);
                                                                                                                                      +    }
                                                                                                                                      +
                                                                                                                                      +    return data;
                                                                                                                                      +  }
                                                                                                                                      +
                                                                                                                                      +  private generateEducationalMaterialEntity(child: Child): EducationalMaterial {
                                                                                                                                      +    const entity = new EducationalMaterial();
                                                                                                                                      +
                                                                                                                                      +    entity.child = child.getId();
                                                                                                                                      +    entity.date = faker.date.between({
                                                                                                                                      +      from: child.admissionDate,
                                                                                                                                      +      to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                      +    });
                                                                                                                                      +    entity.materialAmount = faker.helpers.arrayElement([1, 1, 1, 2, 3]);
                                                                                                                                      +    entity.materialType = faker.helpers.arrayElement(materials);
                                                                                                                                      +
                                                                                                                                      +    return entity;
                                                                                                                                      +  }
                                                                                                                                      +}
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      + + + + + + + + + +
                                                                                                                                      +
                                                                                                                                      +

                                                                                                                                      results matching ""

                                                                                                                                      +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        No results matching ""

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoEventsConfig.html b/documentation/classes/DemoEventsConfig.html new file mode 100644 index 0000000000..d26550d90e --- /dev/null +++ b/documentation/classes/DemoEventsConfig.html @@ -0,0 +1,388 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                        +
                                                                                                                                        + + +
                                                                                                                                        +
                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        +

                                                                                                                                        File

                                                                                                                                        +

                                                                                                                                        +

                                                                                                                                        + src/app/child-dev-project/attendance/demo-data/demo-activity-events-generator.service.ts +

                                                                                                                                        + + + + + + +
                                                                                                                                        +

                                                                                                                                        Index

                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                        +
                                                                                                                                        Properties
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + +
                                                                                                                                        + +

                                                                                                                                        + Properties +

                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                        + + + forNLastYears + + +
                                                                                                                                        + Type : number + +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + + + + + + +
                                                                                                                                        + + +
                                                                                                                                        +
                                                                                                                                        import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                        +import { Injectable } from "@angular/core";
                                                                                                                                        +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                        +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                        +import { AttendanceLogicalStatus } from "../model/attendance-status";
                                                                                                                                        +import { defaultAttendanceStatusTypes } from "../../../core/config/default-config/default-attendance-status-types";
                                                                                                                                        +import { DemoActivityGeneratorService } from "./demo-activity-generator.service";
                                                                                                                                        +import moment from "moment";
                                                                                                                                        +import { EventNote } from "../model/event-note";
                                                                                                                                        +
                                                                                                                                        +export class DemoEventsConfig {
                                                                                                                                        +  forNLastYears: number;
                                                                                                                                        +}
                                                                                                                                        +
                                                                                                                                        +/**
                                                                                                                                        + * Generate Events with participants' attendance details for all RecurringActivities.
                                                                                                                                        + */
                                                                                                                                        +@Injectable()
                                                                                                                                        +export class DemoActivityEventsGeneratorService extends DemoDataGenerator<EventNote> {
                                                                                                                                        +  /**
                                                                                                                                        +   * Create a specific event for a date based on the given activity and fill with random attendance.
                                                                                                                                        +   * @param activity The activity for which to generate a concrete event instance
                                                                                                                                        +   * @param date The date of the generated event
                                                                                                                                        +   */
                                                                                                                                        +  static generateEventForActivity(
                                                                                                                                        +    activity: RecurringActivity,
                                                                                                                                        +    date: Date,
                                                                                                                                        +  ): EventNote {
                                                                                                                                        +    const eventNote = EventNote.create(date, activity.title);
                                                                                                                                        +    eventNote.authors = activity.assignedTo;
                                                                                                                                        +    eventNote.category = activity.type;
                                                                                                                                        +    eventNote.relatesTo = activity.getId();
                                                                                                                                        +
                                                                                                                                        +    for (const participantId of activity.participants) {
                                                                                                                                        +      eventNote.addChild(participantId);
                                                                                                                                        +      const eventAtt = eventNote.getAttendance(participantId);
                                                                                                                                        +      eventAtt.status = faker.helpers.arrayElement(
                                                                                                                                        +        defaultAttendanceStatusTypes,
                                                                                                                                        +      );
                                                                                                                                        +
                                                                                                                                        +      if (eventAtt.status.countAs === AttendanceLogicalStatus.ABSENT) {
                                                                                                                                        +        eventAtt.remarks = faker.helpers.arrayElement([
                                                                                                                                        +          $localize`:Event demo attendance remarks:sick`,
                                                                                                                                        +          $localize`:Event demo attendance remarks:fever`,
                                                                                                                                        +          $localize`:Event demo attendance remarks:no information`,
                                                                                                                                        +        ]);
                                                                                                                                        +      }
                                                                                                                                        +    }
                                                                                                                                        +
                                                                                                                                        +    return eventNote;
                                                                                                                                        +  }
                                                                                                                                        +
                                                                                                                                        +  /**
                                                                                                                                        +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                        +   *   `providers: [DemoActivityEventsGeneratorService.provider()]`
                                                                                                                                        +   */
                                                                                                                                        +  static provider(
                                                                                                                                        +    config: DemoEventsConfig = {
                                                                                                                                        +      forNLastYears: 2,
                                                                                                                                        +    },
                                                                                                                                        +  ) {
                                                                                                                                        +    return [
                                                                                                                                        +      {
                                                                                                                                        +        provide: DemoActivityEventsGeneratorService,
                                                                                                                                        +        useClass: DemoActivityEventsGeneratorService,
                                                                                                                                        +      },
                                                                                                                                        +      { provide: DemoEventsConfig, useValue: config },
                                                                                                                                        +    ];
                                                                                                                                        +  }
                                                                                                                                        +
                                                                                                                                        +  constructor(
                                                                                                                                        +    private config: DemoEventsConfig,
                                                                                                                                        +    private demoActivities: DemoActivityGeneratorService,
                                                                                                                                        +  ) {
                                                                                                                                        +    super();
                                                                                                                                        +  }
                                                                                                                                        +
                                                                                                                                        +  generateEntities(): EventNote[] {
                                                                                                                                        +    const data = [];
                                                                                                                                        +
                                                                                                                                        +    for (const activity of this.demoActivities.entities) {
                                                                                                                                        +      for (
                                                                                                                                        +        let dayOffset = 1;
                                                                                                                                        +        dayOffset < this.config.forNLastYears * 365;
                                                                                                                                        +        dayOffset++
                                                                                                                                        +      ) {
                                                                                                                                        +        const date = moment().subtract(dayOffset, "days");
                                                                                                                                        +        if (date.isoWeekday() === 6 || date.isoWeekday() === 7) {
                                                                                                                                        +          // skip Saturday, Sunday
                                                                                                                                        +          continue;
                                                                                                                                        +        }
                                                                                                                                        +        data.push(
                                                                                                                                        +          DemoActivityEventsGeneratorService.generateEventForActivity(
                                                                                                                                        +            activity,
                                                                                                                                        +            date.toDate(),
                                                                                                                                        +          ),
                                                                                                                                        +        );
                                                                                                                                        +      }
                                                                                                                                        +    }
                                                                                                                                        +
                                                                                                                                        +    return data;
                                                                                                                                        +  }
                                                                                                                                        +}
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + + + + + + + +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        results matching ""

                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          No results matching ""

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoHistoricalDataConfig.html b/documentation/classes/DemoHistoricalDataConfig.html new file mode 100644 index 0000000000..c3a4a6c09f --- /dev/null +++ b/documentation/classes/DemoHistoricalDataConfig.html @@ -0,0 +1,379 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                          +
                                                                                                                                          + + +
                                                                                                                                          +
                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          +

                                                                                                                                          File

                                                                                                                                          +

                                                                                                                                          +

                                                                                                                                          + src/app/features/historical-data/demo-historical-data-generator.ts +

                                                                                                                                          + + + + + + +
                                                                                                                                          +

                                                                                                                                          Index

                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                          +
                                                                                                                                          Properties
                                                                                                                                          +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + +
                                                                                                                                          + +

                                                                                                                                          + Properties +

                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                          + + + maxCountAttributes + + +
                                                                                                                                          + Type : number + +
                                                                                                                                          + +
                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                          + + + minCountAttributes + + +
                                                                                                                                          + Type : number + +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + + + + + + +
                                                                                                                                          + + +
                                                                                                                                          +
                                                                                                                                          import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                          +import { HistoricalEntityData } from "./model/historical-entity-data";
                                                                                                                                          +import { Injectable } from "@angular/core";
                                                                                                                                          +import { DemoChildGenerator } from "../../child-dev-project/children/demo-data-generators/demo-child-generator.service";
                                                                                                                                          +import { faker } from "../../core/demo-data/faker";
                                                                                                                                          +import { ratingAnswers } from "./model/rating-answers";
                                                                                                                                          +import { EntityConfigService } from "../../core/entity/entity-config.service";
                                                                                                                                          +import { DemoConfigGeneratorService } from "../../core/config/demo-config-generator.service";
                                                                                                                                          +import { EntityConfig } from "../../core/entity/entity-config";
                                                                                                                                          +
                                                                                                                                          +export class DemoHistoricalDataConfig {
                                                                                                                                          +  minCountAttributes: number;
                                                                                                                                          +  maxCountAttributes: number;
                                                                                                                                          +}
                                                                                                                                          +
                                                                                                                                          +@Injectable()
                                                                                                                                          +export class DemoHistoricalDataGenerator extends DemoDataGenerator<HistoricalEntityData> {
                                                                                                                                          +  static provider(config: DemoHistoricalDataConfig) {
                                                                                                                                          +    return [
                                                                                                                                          +      {
                                                                                                                                          +        provide: DemoHistoricalDataGenerator,
                                                                                                                                          +        useClass: DemoHistoricalDataGenerator,
                                                                                                                                          +      },
                                                                                                                                          +      { provide: DemoHistoricalDataConfig, useValue: config },
                                                                                                                                          +    ];
                                                                                                                                          +  }
                                                                                                                                          +
                                                                                                                                          +  constructor(
                                                                                                                                          +    private childrenGenerator: DemoChildGenerator,
                                                                                                                                          +    private config: DemoHistoricalDataConfig,
                                                                                                                                          +    private configGenerator: DemoConfigGeneratorService,
                                                                                                                                          +  ) {
                                                                                                                                          +    super();
                                                                                                                                          +  }
                                                                                                                                          +
                                                                                                                                          +  protected generateEntities(): HistoricalEntityData[] {
                                                                                                                                          +    const config = this.configGenerator.entities[0];
                                                                                                                                          +    const attributes: any[] = Object.keys(
                                                                                                                                          +      (
                                                                                                                                          +        config.data[
                                                                                                                                          +          EntityConfigService.PREFIX_ENTITY_CONFIG +
                                                                                                                                          +            HistoricalEntityData.ENTITY_TYPE
                                                                                                                                          +        ] as EntityConfig
                                                                                                                                          +      ).attributes,
                                                                                                                                          +    );
                                                                                                                                          +
                                                                                                                                          +    const entities: HistoricalEntityData[] = [];
                                                                                                                                          +    for (const child of this.childrenGenerator.entities) {
                                                                                                                                          +      const countOfData =
                                                                                                                                          +        faker.number.int(this.config.maxCountAttributes) +
                                                                                                                                          +        this.config.minCountAttributes;
                                                                                                                                          +      const historicalDataOfChild = [...Array(countOfData)].map(() => {
                                                                                                                                          +        const historicalData = new HistoricalEntityData();
                                                                                                                                          +        historicalData.date = faker.date.past();
                                                                                                                                          +        historicalData.relatedEntity = child.getId();
                                                                                                                                          +        for (const attribute of attributes) {
                                                                                                                                          +          historicalData[attribute] = faker.helpers.arrayElement(ratingAnswers);
                                                                                                                                          +        }
                                                                                                                                          +        return historicalData;
                                                                                                                                          +      });
                                                                                                                                          +      entities.push(...historicalDataOfChild);
                                                                                                                                          +    }
                                                                                                                                          +    return entities;
                                                                                                                                          +  }
                                                                                                                                          +}
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          + + + + + + + + + +
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          results matching ""

                                                                                                                                          +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +

                                                                                                                                            No results matching ""

                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoNoteConfig.html b/documentation/classes/DemoNoteConfig.html new file mode 100644 index 0000000000..41e8de6329 --- /dev/null +++ b/documentation/classes/DemoNoteConfig.html @@ -0,0 +1,508 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                            +
                                                                                                                                            + + +
                                                                                                                                            +
                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                            +
                                                                                                                                            +

                                                                                                                                            +

                                                                                                                                            File

                                                                                                                                            +

                                                                                                                                            +

                                                                                                                                            + src/app/child-dev-project/notes/demo-data/demo-note-generator.service.ts +

                                                                                                                                            + + + + + + +
                                                                                                                                            +

                                                                                                                                            Index

                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                            +
                                                                                                                                            Properties
                                                                                                                                            +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + +
                                                                                                                                            + +

                                                                                                                                            + Properties +

                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                            + + + groupNotes + + +
                                                                                                                                            + Type : number + +
                                                                                                                                            + +
                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                            + + + maxNotesPerChild + + +
                                                                                                                                            + Type : number + +
                                                                                                                                            + +
                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                            + + + minNotesPerChild + + +
                                                                                                                                            + Type : number + +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + + + + + + +
                                                                                                                                            + + +
                                                                                                                                            +
                                                                                                                                            import { DemoChildGenerator } from "../../children/demo-data-generators/demo-child-generator.service";
                                                                                                                                            +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                            +import { Injectable } from "@angular/core";
                                                                                                                                            +import { Child } from "../../children/model/child";
                                                                                                                                            +import { Note } from "../model/note";
                                                                                                                                            +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                            +import { noteIndividualStories } from "./notes_individual-stories";
                                                                                                                                            +import { noteGroupStories } from "./notes_group-stories";
                                                                                                                                            +import { centersUnique } from "../../children/demo-data-generators/fixtures/centers";
                                                                                                                                            +import { absenceRemarks } from "./remarks";
                                                                                                                                            +import moment from "moment";
                                                                                                                                            +import { AttendanceLogicalStatus } from "../../attendance/model/attendance-status";
                                                                                                                                            +import { DemoUserGeneratorService } from "../../../core/user/demo-user-generator.service";
                                                                                                                                            +import { defaultAttendanceStatusTypes } from "../../../core/config/default-config/default-attendance-status-types";
                                                                                                                                            +import { warningLevels } from "../../warning-level";
                                                                                                                                            +
                                                                                                                                            +export class DemoNoteConfig {
                                                                                                                                            +  minNotesPerChild: number;
                                                                                                                                            +  maxNotesPerChild: number;
                                                                                                                                            +  groupNotes: number;
                                                                                                                                            +}
                                                                                                                                            +
                                                                                                                                            +/**
                                                                                                                                            + * Generate a number of Note entities for each Child.
                                                                                                                                            + * Builds upon the generated demo Child entities.
                                                                                                                                            + */
                                                                                                                                            +@Injectable()
                                                                                                                                            +export class DemoNoteGeneratorService extends DemoDataGenerator<Note> {
                                                                                                                                            +  /**
                                                                                                                                            +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                            +   *   `providers: [DemoNoteGeneratorService.provider()]`
                                                                                                                                            +   */
                                                                                                                                            +  static provider(
                                                                                                                                            +    config: DemoNoteConfig = {
                                                                                                                                            +      minNotesPerChild: 2,
                                                                                                                                            +      maxNotesPerChild: 10,
                                                                                                                                            +      groupNotes: 5,
                                                                                                                                            +    },
                                                                                                                                            +  ) {
                                                                                                                                            +    return [
                                                                                                                                            +      { provide: DemoNoteGeneratorService, useClass: DemoNoteGeneratorService },
                                                                                                                                            +      { provide: DemoNoteConfig, useValue: config },
                                                                                                                                            +    ];
                                                                                                                                            +  }
                                                                                                                                            +
                                                                                                                                            +  constructor(
                                                                                                                                            +    private config: DemoNoteConfig,
                                                                                                                                            +    private demoChildren: DemoChildGenerator,
                                                                                                                                            +    private demoUsers: DemoUserGeneratorService,
                                                                                                                                            +  ) {
                                                                                                                                            +    super();
                                                                                                                                            +  }
                                                                                                                                            +
                                                                                                                                            +  public generateEntities(): Note[] {
                                                                                                                                            +    const data = [];
                                                                                                                                            +
                                                                                                                                            +    for (const child of this.demoChildren.entities) {
                                                                                                                                            +      if (!child.isActive) {
                                                                                                                                            +        continue;
                                                                                                                                            +      }
                                                                                                                                            +
                                                                                                                                            +      let numberOfNotes = faker.number.int({
                                                                                                                                            +        min: this.config.minNotesPerChild,
                                                                                                                                            +        max: this.config.maxNotesPerChild,
                                                                                                                                            +      });
                                                                                                                                            +
                                                                                                                                            +      // generate a recent note for the last week for some children to have data for dashboard
                                                                                                                                            +      if (numberOfNotes > 0 && faker.number.int(100) < 40) {
                                                                                                                                            +        data.push(
                                                                                                                                            +          this.generateNoteForChild(
                                                                                                                                            +            child,
                                                                                                                                            +            faker.date.between({
                                                                                                                                            +              from: moment().subtract(6, "days").toDate(),
                                                                                                                                            +              to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                            +            }),
                                                                                                                                            +          ),
                                                                                                                                            +        );
                                                                                                                                            +        numberOfNotes--;
                                                                                                                                            +      }
                                                                                                                                            +
                                                                                                                                            +      for (let i = 0; i < numberOfNotes; i++) {
                                                                                                                                            +        data.push(this.generateNoteForChild(child));
                                                                                                                                            +      }
                                                                                                                                            +    }
                                                                                                                                            +
                                                                                                                                            +    for (const center of centersUnique) {
                                                                                                                                            +      const children: Child[] = this.demoChildren.entities.filter(
                                                                                                                                            +        (c) => c.center === center,
                                                                                                                                            +      );
                                                                                                                                            +      for (let i = 0; i < this.config.groupNotes; i++) {
                                                                                                                                            +        data.push(this.generateGroupNote(children));
                                                                                                                                            +      }
                                                                                                                                            +    }
                                                                                                                                            +
                                                                                                                                            +    return data;
                                                                                                                                            +  }
                                                                                                                                            +
                                                                                                                                            +  private generateNoteForChild(child: Child, date?: Date): Note {
                                                                                                                                            +    const note = new Note();
                                                                                                                                            +
                                                                                                                                            +    const selectedStory = faker.helpers.arrayElement(noteIndividualStories);
                                                                                                                                            +    Object.assign(note, selectedStory);
                                                                                                                                            +
                                                                                                                                            +    note.addChild(child.getId());
                                                                                                                                            +    note.authors = [
                                                                                                                                            +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                            +    ];
                                                                                                                                            +
                                                                                                                                            +    if (!date) {
                                                                                                                                            +      date = faker.date.between({
                                                                                                                                            +        from: child.admissionDate,
                                                                                                                                            +        to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                            +      });
                                                                                                                                            +    }
                                                                                                                                            +    note.date = date;
                                                                                                                                            +
                                                                                                                                            +    this.removeFollowUpMarkerForOldNotes(note);
                                                                                                                                            +
                                                                                                                                            +    return note;
                                                                                                                                            +  }
                                                                                                                                            +
                                                                                                                                            +  /**
                                                                                                                                            +   * Set all older notes to be "resolved" in order to keep the list of notes needing follow-up limited in the demo.
                                                                                                                                            +   */
                                                                                                                                            +  private removeFollowUpMarkerForOldNotes(note: Note) {
                                                                                                                                            +    const lastMonths = new Date();
                                                                                                                                            +    lastMonths.setMonth(lastMonths.getMonth() - 1);
                                                                                                                                            +    if (note.date < lastMonths) {
                                                                                                                                            +      note.warningLevel = warningLevels.find((level) => level.id === "OK");
                                                                                                                                            +    }
                                                                                                                                            +  }
                                                                                                                                            +
                                                                                                                                            +  private generateGroupNote(children: Child[]) {
                                                                                                                                            +    const note = new Note();
                                                                                                                                            +
                                                                                                                                            +    const selectedStory = faker.helpers.arrayElement(noteGroupStories);
                                                                                                                                            +    Object.assign(note, selectedStory);
                                                                                                                                            +
                                                                                                                                            +    note.children = children.map((c) => c.getId());
                                                                                                                                            +    children.forEach((child) => {
                                                                                                                                            +      const attendance = note.getAttendance(child.getId());
                                                                                                                                            +      // get an approximate presence of 85%
                                                                                                                                            +      if (faker.number.int(100) <= 15) {
                                                                                                                                            +        attendance.status = defaultAttendanceStatusTypes.find(
                                                                                                                                            +          (t) => t.countAs === AttendanceLogicalStatus.ABSENT,
                                                                                                                                            +        );
                                                                                                                                            +        attendance.remarks = faker.helpers.arrayElement(absenceRemarks);
                                                                                                                                            +      } else {
                                                                                                                                            +        attendance.status = defaultAttendanceStatusTypes.find(
                                                                                                                                            +          (t) => t.countAs === AttendanceLogicalStatus.PRESENT,
                                                                                                                                            +        );
                                                                                                                                            +      }
                                                                                                                                            +    });
                                                                                                                                            +
                                                                                                                                            +    note.authors = [
                                                                                                                                            +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                            +    ];
                                                                                                                                            +
                                                                                                                                            +    note.date = faker.date.past({ years: 1 });
                                                                                                                                            +
                                                                                                                                            +    this.removeFollowUpMarkerForOldNotes(note);
                                                                                                                                            +
                                                                                                                                            +    return note;
                                                                                                                                            +  }
                                                                                                                                            +}
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            +
                                                                                                                                            + + + + + + + + + +
                                                                                                                                            +
                                                                                                                                            +

                                                                                                                                            results matching ""

                                                                                                                                            +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +

                                                                                                                                              No results matching ""

                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoSchoolConfig.html b/documentation/classes/DemoSchoolConfig.html new file mode 100644 index 0000000000..0703c65cfe --- /dev/null +++ b/documentation/classes/DemoSchoolConfig.html @@ -0,0 +1,350 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                              + + +
                                                                                                                                              +
                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                              +

                                                                                                                                              +

                                                                                                                                              File

                                                                                                                                              +

                                                                                                                                              +

                                                                                                                                              + src/app/child-dev-project/schools/demo-school-generator.service.ts +

                                                                                                                                              + + + + + + +
                                                                                                                                              +

                                                                                                                                              Index

                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                              Properties
                                                                                                                                              +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + +
                                                                                                                                              + +

                                                                                                                                              + Properties +

                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                              + + + count + + +
                                                                                                                                              + Type : number + +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + + + + + + +
                                                                                                                                              + + +
                                                                                                                                              +
                                                                                                                                              import { faker } from "../../core/demo-data/faker";
                                                                                                                                              +import { School } from "./model/school";
                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                              +import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                              +
                                                                                                                                              +export class DemoSchoolConfig {
                                                                                                                                              +  count: number;
                                                                                                                                              +}
                                                                                                                                              +
                                                                                                                                              +@Injectable()
                                                                                                                                              +export class DemoSchoolGenerator extends DemoDataGenerator<School> {
                                                                                                                                              +  /**
                                                                                                                                              +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                              +   *   `providers: [DemoSchoolGenerator.provider({count: 10})]`
                                                                                                                                              +   * @param config A config object specifying the number of entities the service should generate.
                                                                                                                                              +   */
                                                                                                                                              +  static provider(config: DemoSchoolConfig) {
                                                                                                                                              +    return [
                                                                                                                                              +      { provide: DemoSchoolGenerator, useClass: DemoSchoolGenerator },
                                                                                                                                              +      { provide: DemoSchoolConfig, useValue: config },
                                                                                                                                              +    ];
                                                                                                                                              +  }
                                                                                                                                              +
                                                                                                                                              +  private readonly normalSchool = $localize`:School demo name that is connected with a school name:School`;
                                                                                                                                              +  private readonly highSchool = $localize`:School demo name that is connected with a school name:High School`;
                                                                                                                                              +
                                                                                                                                              +  constructor(public config: DemoSchoolConfig) {
                                                                                                                                              +    super();
                                                                                                                                              +  }
                                                                                                                                              +
                                                                                                                                              +  generateEntities(): School[] {
                                                                                                                                              +    const data = [];
                                                                                                                                              +
                                                                                                                                              +    for (let i = 1; i <= this.config.count; i++) {
                                                                                                                                              +      const school = new School(String(i));
                                                                                                                                              +      school["language"] = faker.helpers.arrayElement([
                                                                                                                                              +        $localize`:Language of a school:Hindi`,
                                                                                                                                              +        $localize`:Language of a school:English`,
                                                                                                                                              +        $localize`:Language of a school:Bengali`,
                                                                                                                                              +      ]);
                                                                                                                                              +      const schoolNameWithType = $localize`:School demo name order for connecting the school name and (High) School|e.g. Example School:${faker.person.firstName()} ${faker.helpers.arrayElement(
                                                                                                                                              +        [this.normalSchool, this.highSchool],
                                                                                                                                              +      )}`;
                                                                                                                                              +      const schoolNameWithLanguage = $localize`${faker.person.firstName()} ${
                                                                                                                                              +        school["language"]
                                                                                                                                              +      } Language`;
                                                                                                                                              +      school.name = faker.helpers.arrayElement([
                                                                                                                                              +        schoolNameWithType,
                                                                                                                                              +        schoolNameWithLanguage,
                                                                                                                                              +      ]);
                                                                                                                                              +      school["phone"] = faker.phone.number();
                                                                                                                                              +      school["privateSchool"] = faker.datatype.boolean();
                                                                                                                                              +      school["timing"] = faker.helpers.arrayElement([
                                                                                                                                              +        $localize`:School demo timing:6 a.m. - 11 a.m.`,
                                                                                                                                              +        $localize`:School demo timing:11 a.m. - 4 p.m.`,
                                                                                                                                              +        $localize`:School demo timing:6:30-11:00 and 11:30-16:00`,
                                                                                                                                              +      ]);
                                                                                                                                              +
                                                                                                                                              +      school["address"] = faker.geoAddress();
                                                                                                                                              +
                                                                                                                                              +      data.push(school);
                                                                                                                                              +    }
                                                                                                                                              +    return data;
                                                                                                                                              +  }
                                                                                                                                              +}
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              +
                                                                                                                                              + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                              +

                                                                                                                                              results matching ""

                                                                                                                                              +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +

                                                                                                                                                No results matching ""

                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DemoTodoConfig.html b/documentation/classes/DemoTodoConfig.html new file mode 100644 index 0000000000..b8f0ce6915 --- /dev/null +++ b/documentation/classes/DemoTodoConfig.html @@ -0,0 +1,419 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                +
                                                                                                                                                + + +
                                                                                                                                                +
                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                +
                                                                                                                                                +

                                                                                                                                                +

                                                                                                                                                File

                                                                                                                                                +

                                                                                                                                                +

                                                                                                                                                + src/app/features/todos/model/demo-todo-generator.service.ts +

                                                                                                                                                + + + + + + +
                                                                                                                                                +

                                                                                                                                                Index

                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                +
                                                                                                                                                Properties
                                                                                                                                                +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + +
                                                                                                                                                + +

                                                                                                                                                + Properties +

                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                + + + maxPerChild + + +
                                                                                                                                                + Type : number + +
                                                                                                                                                + +
                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                + + + minPerChild + + +
                                                                                                                                                + Type : number + +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + + + + + + +
                                                                                                                                                + + +
                                                                                                                                                +
                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                +import { DemoChildGenerator } from "../../../child-dev-project/children/demo-data-generators/demo-child-generator.service";
                                                                                                                                                +import { DemoUserGeneratorService } from "../../../core/user/demo-user-generator.service";
                                                                                                                                                +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                +import moment from "moment/moment";
                                                                                                                                                +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                +import { Todo } from "./todo";
                                                                                                                                                +
                                                                                                                                                +export class DemoTodoConfig {
                                                                                                                                                +  minPerChild: number;
                                                                                                                                                +  maxPerChild: number;
                                                                                                                                                +}
                                                                                                                                                +
                                                                                                                                                +@Injectable()
                                                                                                                                                +export class DemoTodoGeneratorService extends DemoDataGenerator<Todo> {
                                                                                                                                                +  static provider(
                                                                                                                                                +    config: DemoTodoConfig = {
                                                                                                                                                +      minPerChild: 1,
                                                                                                                                                +      maxPerChild: 2,
                                                                                                                                                +    },
                                                                                                                                                +  ) {
                                                                                                                                                +    return [
                                                                                                                                                +      { provide: DemoTodoGeneratorService, useClass: DemoTodoGeneratorService },
                                                                                                                                                +      { provide: DemoTodoConfig, useValue: config },
                                                                                                                                                +    ];
                                                                                                                                                +  }
                                                                                                                                                +
                                                                                                                                                +  constructor(
                                                                                                                                                +    private config: DemoTodoConfig,
                                                                                                                                                +    private demoChildren: DemoChildGenerator,
                                                                                                                                                +    private demoUsers: DemoUserGeneratorService,
                                                                                                                                                +  ) {
                                                                                                                                                +    super();
                                                                                                                                                +  }
                                                                                                                                                +
                                                                                                                                                +  public generateEntities(): Todo[] {
                                                                                                                                                +    const data = [];
                                                                                                                                                +
                                                                                                                                                +    for (const child of this.demoChildren.entities) {
                                                                                                                                                +      if (!child.isActive) {
                                                                                                                                                +        continue;
                                                                                                                                                +      }
                                                                                                                                                +
                                                                                                                                                +      let numberOfRecords = faker.number.int({
                                                                                                                                                +        min: this.config.minPerChild,
                                                                                                                                                +        max: this.config.maxPerChild,
                                                                                                                                                +      });
                                                                                                                                                +
                                                                                                                                                +      for (let i = 0; i < numberOfRecords; i++) {
                                                                                                                                                +        data.push(this.generateTodoForEntity(child));
                                                                                                                                                +      }
                                                                                                                                                +    }
                                                                                                                                                +
                                                                                                                                                +    return data;
                                                                                                                                                +  }
                                                                                                                                                +
                                                                                                                                                +  private generateTodoForEntity(entity: Entity): Todo {
                                                                                                                                                +    const todo = new Todo(faker.string.alphanumeric(20));
                                                                                                                                                +
                                                                                                                                                +    const selectedStory = faker.helpers.arrayElement(stories);
                                                                                                                                                +    todo.subject = selectedStory.subject;
                                                                                                                                                +    todo.description = selectedStory.description;
                                                                                                                                                +
                                                                                                                                                +    todo.deadline = faker.date.between({
                                                                                                                                                +      from: moment().subtract(5, "days").toDate(),
                                                                                                                                                +      to: moment().add(90, "days").toDate(),
                                                                                                                                                +    });
                                                                                                                                                +    faker.helpers.maybe(
                                                                                                                                                +      () =>
                                                                                                                                                +        (todo.startDate = faker.date.between({
                                                                                                                                                +          from: moment(todo.deadline).subtract(25, "days").toDate(),
                                                                                                                                                +          to: todo.deadline,
                                                                                                                                                +        })),
                                                                                                                                                +      { probability: 0.5 },
                                                                                                                                                +    );
                                                                                                                                                +
                                                                                                                                                +    todo.relatedEntities = [entity.getId()];
                                                                                                                                                +
                                                                                                                                                +    todo.assignedTo = [
                                                                                                                                                +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                                +    ];
                                                                                                                                                +
                                                                                                                                                +    return todo;
                                                                                                                                                +  }
                                                                                                                                                +}
                                                                                                                                                +
                                                                                                                                                +const stories: Partial<Todo>[] = [
                                                                                                                                                +  {
                                                                                                                                                +    subject: $localize`:demo todo record:get signed agreement`,
                                                                                                                                                +    description: $localize`:demo todo record:We have fixed all the details but still have to put it in writing.`,
                                                                                                                                                +  },
                                                                                                                                                +  {
                                                                                                                                                +    subject: $localize`:demo todo record:follow up`,
                                                                                                                                                +    description: $localize`:demo todo record:Call to follow up on the recent developments.`,
                                                                                                                                                +  },
                                                                                                                                                +  {
                                                                                                                                                +    subject: $localize`:demo todo record:call family`,
                                                                                                                                                +    description: $localize`:demo todo record:Check about the latest incident.`,
                                                                                                                                                +  },
                                                                                                                                                +  {
                                                                                                                                                +    subject: $localize`:demo todo record:plan career counselling`,
                                                                                                                                                +    description: $localize`:demo todo record:Personalized plan for the next discussion has to be prepared.`,
                                                                                                                                                +  },
                                                                                                                                                +];
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                +
                                                                                                                                                + + + + + + + + + +
                                                                                                                                                +
                                                                                                                                                +

                                                                                                                                                results matching ""

                                                                                                                                                +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  No results matching ""

                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DiscreteDatatype.html b/documentation/classes/DiscreteDatatype.html new file mode 100644 index 0000000000..4d74458994 --- /dev/null +++ b/documentation/classes/DiscreteDatatype.html @@ -0,0 +1,1064 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                  + + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  +

                                                                                                                                                  File

                                                                                                                                                  +

                                                                                                                                                  +

                                                                                                                                                  + src/app/core/basic-datatypes/discrete/discrete.datatype.ts +

                                                                                                                                                  + + +

                                                                                                                                                  +

                                                                                                                                                  Description

                                                                                                                                                  +

                                                                                                                                                  +

                                                                                                                                                  +

                                                                                                                                                  Abstract base for datatypes that hold a discrete set of values.

                                                                                                                                                  +

                                                                                                                                                  This provides import config and mapping definitions that work across all such types.

                                                                                                                                                  + +

                                                                                                                                                  + +

                                                                                                                                                  +

                                                                                                                                                  Extends

                                                                                                                                                  +

                                                                                                                                                  +

                                                                                                                                                  + DefaultDatatype +

                                                                                                                                                  + + + +
                                                                                                                                                  +

                                                                                                                                                  Index

                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                  Properties
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  Methods
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + +
                                                                                                                                                  + +

                                                                                                                                                  + Properties +

                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + importConfigComponent + + +
                                                                                                                                                  + Type : string + +
                                                                                                                                                  + Default value : "DiscreteImportConfig" +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:15 +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Static + dataType + + +
                                                                                                                                                  + Type : string + +
                                                                                                                                                  + Default value : "" +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:41 +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  Key for this datatype that must be specified in the DatabaseField annotation to use this transformation.

                                                                                                                                                  +

                                                                                                                                                  for example @DatabaseField({dataType: 'foo'}) myField will trigger the datatype implementation with name "foo".

                                                                                                                                                  +

                                                                                                                                                  If you set the name to a TypeScript type, class properties with this type will automatically use +that EntitySchemaDatatype without the need to explicitly state the dataType config in the annotation +(e.g. @DatabaseField() myField: string is triggering the EntitySchemaDatatype with name "string".

                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + editComponent + + +
                                                                                                                                                  + Type : string + +
                                                                                                                                                  + Default value : "EditText" +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:61 +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Static + label + + +
                                                                                                                                                  + Type : string + +
                                                                                                                                                  + Default value : $localize`:datatype-label:any` +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:49 +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  The human-readable name for this dataType, used in config UIs.

                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + viewComponent + + +
                                                                                                                                                  + Type : string + +
                                                                                                                                                  + Default value : "DisplayText" +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:60 +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                  +

                                                                                                                                                  The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + +

                                                                                                                                                  + Methods +

                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                  +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:37 +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  NameTypeOptional
                                                                                                                                                  col + ColumnMapping + + No +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + Returns : string + +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Async + importMapFunction + + +
                                                                                                                                                  + + importMapFunction(val, schemaField: EntitySchemaField, additional: literal type) +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:29 +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  NameTypeOptional
                                                                                                                                                  val + + No +
                                                                                                                                                  schemaField + EntitySchemaField + + No +
                                                                                                                                                  additional + literal type + + No +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + Returns : unknown + +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Abstract + transformToDatabaseFormat + + +
                                                                                                                                                  + + transformToDatabaseFormat(value, schemaField?: EntitySchemaField, parent?: Entity) +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:17 +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  NameTypeOptional
                                                                                                                                                  value + + No +
                                                                                                                                                  schemaField + EntitySchemaField + + Yes +
                                                                                                                                                  parent + Entity + + Yes +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + Returns : any + +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Abstract + transformToObjectFormat + + +
                                                                                                                                                  + + transformToObjectFormat(value, schemaField?: EntitySchemaField, parent?: any) +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:23 +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  NameTypeOptional
                                                                                                                                                  value + + No +
                                                                                                                                                  schemaField + EntitySchemaField + + Yes +
                                                                                                                                                  parent + any + + Yes +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + Returns : any + +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + Async + anonymize + + +
                                                                                                                                                  + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                  +
                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  Defined in DefaultDatatype:137 +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                  value + EntityType + + No + +

                                                                                                                                                  The original value to be anonymized

                                                                                                                                                  + +
                                                                                                                                                  schemaField + EntitySchemaField + + No + +
                                                                                                                                                  parent + any + + No + +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + Returns : Promise<any> + +
                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + + + + + +
                                                                                                                                                  + + +
                                                                                                                                                  +
                                                                                                                                                  import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                  +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                  +import { ColumnMapping } from "../../import/column-mapping";
                                                                                                                                                  +import { Entity } from "../../entity/model/entity";
                                                                                                                                                  +
                                                                                                                                                  +/**
                                                                                                                                                  + * Abstract base for datatypes that hold a discrete set of values.
                                                                                                                                                  + *
                                                                                                                                                  + * This provides import config and mapping definitions that work across all such types.
                                                                                                                                                  + */
                                                                                                                                                  +export abstract class DiscreteDatatype<
                                                                                                                                                  +  EntityType,
                                                                                                                                                  +  DBType,
                                                                                                                                                  +> extends DefaultDatatype<EntityType, DBType> {
                                                                                                                                                  +  importConfigComponent = "DiscreteImportConfig";
                                                                                                                                                  +
                                                                                                                                                  +  abstract transformToDatabaseFormat(
                                                                                                                                                  +    value,
                                                                                                                                                  +    schemaField?: EntitySchemaField,
                                                                                                                                                  +    parent?: Entity,
                                                                                                                                                  +  );
                                                                                                                                                  +
                                                                                                                                                  +  abstract transformToObjectFormat(
                                                                                                                                                  +    value,
                                                                                                                                                  +    schemaField?: EntitySchemaField,
                                                                                                                                                  +    parent?: any,
                                                                                                                                                  +  );
                                                                                                                                                  +
                                                                                                                                                  +  async importMapFunction(
                                                                                                                                                  +    val,
                                                                                                                                                  +    schemaField: EntitySchemaField,
                                                                                                                                                  +    additional: { [key: string]: any },
                                                                                                                                                  +  ) {
                                                                                                                                                  +    return super.importMapFunction(additional?.[val], schemaField);
                                                                                                                                                  +  }
                                                                                                                                                  +
                                                                                                                                                  +  importIncompleteAdditionalConfigBadge(col: ColumnMapping): string {
                                                                                                                                                  +    if (!col.additional) {
                                                                                                                                                  +      return "?";
                                                                                                                                                  +    }
                                                                                                                                                  +    const unmappedValues = Object.values(col.additional).filter(
                                                                                                                                                  +      (v) => v === undefined,
                                                                                                                                                  +    );
                                                                                                                                                  +    if (unmappedValues.length > 0) {
                                                                                                                                                  +      return unmappedValues.length.toString();
                                                                                                                                                  +    }
                                                                                                                                                  +    return undefined;
                                                                                                                                                  +  }
                                                                                                                                                  +}
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                  +

                                                                                                                                                  results matching ""

                                                                                                                                                  +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +

                                                                                                                                                    No results matching ""

                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/DuplicateEnumOptionException.html b/documentation/classes/DuplicateEnumOptionException.html new file mode 100644 index 0000000000..15eca486e4 --- /dev/null +++ b/documentation/classes/DuplicateEnumOptionException.html @@ -0,0 +1,357 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                    +
                                                                                                                                                    + + +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                    +
                                                                                                                                                    +

                                                                                                                                                    +

                                                                                                                                                    File

                                                                                                                                                    +

                                                                                                                                                    +

                                                                                                                                                    + src/app/core/basic-datatypes/configurable-enum/configurable-enum.ts +

                                                                                                                                                    + + +

                                                                                                                                                    +

                                                                                                                                                    Description

                                                                                                                                                    +

                                                                                                                                                    +

                                                                                                                                                    +

                                                                                                                                                    Error thrown when trying to add an option that already exists in the enum values.

                                                                                                                                                    + +

                                                                                                                                                    + +

                                                                                                                                                    +

                                                                                                                                                    Extends

                                                                                                                                                    +

                                                                                                                                                    +

                                                                                                                                                    + Error +

                                                                                                                                                    + + + + +
                                                                                                                                                    +

                                                                                                                                                    Constructor

                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                    +constructor(newOptionInput) +
                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + +
                                                                                                                                                    NameOptional
                                                                                                                                                    newOptionInput + No +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + + +
                                                                                                                                                    + + +
                                                                                                                                                    +
                                                                                                                                                    import { Entity } from "../../entity/model/entity";
                                                                                                                                                    +import { DatabaseEntity } from "../../entity/database-entity.decorator";
                                                                                                                                                    +import { ConfigurableEnumValue } from "./configurable-enum.interface";
                                                                                                                                                    +import { DatabaseField } from "../../entity/database-field.decorator";
                                                                                                                                                    +import { Logging } from "../../logging/logging.service";
                                                                                                                                                    +
                                                                                                                                                    +@DatabaseEntity("ConfigurableEnum")
                                                                                                                                                    +export class ConfigurableEnum extends Entity {
                                                                                                                                                    +  @DatabaseField() values: ConfigurableEnumValue[] = [];
                                                                                                                                                    +
                                                                                                                                                    +  constructor(id?: string, values: ConfigurableEnumValue[] = []) {
                                                                                                                                                    +    super(id);
                                                                                                                                                    +    this.values = values;
                                                                                                                                                    +  }
                                                                                                                                                    +
                                                                                                                                                    +  /**
                                                                                                                                                    +   * Add a new valid option to the enum values, if it is not a duplicate or invalid.
                                                                                                                                                    +   * Returns the newly added option upon success.
                                                                                                                                                    +   * @param newOptionInput String or option object to be added
                                                                                                                                                    +   */
                                                                                                                                                    +  addOption(
                                                                                                                                                    +    newOptionInput: ConfigurableEnumValue | string,
                                                                                                                                                    +  ): ConfigurableEnumValue | undefined {
                                                                                                                                                    +    const option: ConfigurableEnumValue =
                                                                                                                                                    +      typeof newOptionInput === "string"
                                                                                                                                                    +        ? this.convertStringToOption(newOptionInput)
                                                                                                                                                    +        : newOptionInput;
                                                                                                                                                    +
                                                                                                                                                    +    if (!option || !(option?.id && option?.label)) {
                                                                                                                                                    +      Logging.debug(
                                                                                                                                                    +        "Trying to add invalid enum option",
                                                                                                                                                    +        newOptionInput,
                                                                                                                                                    +        option,
                                                                                                                                                    +      );
                                                                                                                                                    +      return;
                                                                                                                                                    +    }
                                                                                                                                                    +
                                                                                                                                                    +    // check for duplicates
                                                                                                                                                    +    if (this.values.some((v) => v.label === option.label)) {
                                                                                                                                                    +      throw new DuplicateEnumOptionException(newOptionInput);
                                                                                                                                                    +    }
                                                                                                                                                    +    if (this.values.some((v) => v.id === option.id)) {
                                                                                                                                                    +      option.id = option.id + "_";
                                                                                                                                                    +    }
                                                                                                                                                    +
                                                                                                                                                    +    this.values.push(option);
                                                                                                                                                    +    return option;
                                                                                                                                                    +  }
                                                                                                                                                    +
                                                                                                                                                    +  private convertStringToOption(
                                                                                                                                                    +    newOption: string,
                                                                                                                                                    +  ): ConfigurableEnumValue | undefined {
                                                                                                                                                    +    newOption = newOption.trim();
                                                                                                                                                    +    if (newOption.length === 0) {
                                                                                                                                                    +      return;
                                                                                                                                                    +    }
                                                                                                                                                    +
                                                                                                                                                    +    return {
                                                                                                                                                    +      id: newOption.toUpperCase(),
                                                                                                                                                    +      label: newOption,
                                                                                                                                                    +    };
                                                                                                                                                    +  }
                                                                                                                                                    +}
                                                                                                                                                    +
                                                                                                                                                    +/**
                                                                                                                                                    + * Error thrown when trying to add an option that already exists in the enum values.
                                                                                                                                                    + */
                                                                                                                                                    +export class DuplicateEnumOptionException extends Error {
                                                                                                                                                    +  constructor(newOptionInput) {
                                                                                                                                                    +    super("Enum Option already exists");
                                                                                                                                                    +
                                                                                                                                                    +    this["newOptionInput"] = newOptionInput;
                                                                                                                                                    +  }
                                                                                                                                                    +}
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                    +
                                                                                                                                                    +

                                                                                                                                                    results matching ""

                                                                                                                                                    +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +

                                                                                                                                                      No results matching ""

                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EducationalMaterial.html b/documentation/classes/EducationalMaterial.html new file mode 100644 index 0000000000..e1993232b2 --- /dev/null +++ b/documentation/classes/EducationalMaterial.html @@ -0,0 +1,654 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                      + + +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                      +

                                                                                                                                                      +

                                                                                                                                                      File

                                                                                                                                                      +

                                                                                                                                                      +

                                                                                                                                                      + src/app/child-dev-project/children/educational-material/model/educational-material.ts +

                                                                                                                                                      + + + + + + +
                                                                                                                                                      +

                                                                                                                                                      Index

                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                      Properties
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      Methods
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + +
                                                                                                                                                      + +

                                                                                                                                                      + Properties +

                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + + child + + +
                                                                                                                                                      + Type : string + +
                                                                                                                                                      + Decorators : +
                                                                                                                                                      + + @DatabaseField({dataType: undefined, additional: undefined, entityReferenceRole: 'composite'})
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + + date + + +
                                                                                                                                                      + Type : Date + +
                                                                                                                                                      + Decorators : +
                                                                                                                                                      + + @DatabaseField({label: undefined, defaultValue: undefined})
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + + description + + +
                                                                                                                                                      + Type : string + +
                                                                                                                                                      + Default value : "" +
                                                                                                                                                      + Decorators : +
                                                                                                                                                      + + @DatabaseField({label: undefined})
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + + materialAmount + + +
                                                                                                                                                      + Type : number + +
                                                                                                                                                      + Decorators : +
                                                                                                                                                      + + @DatabaseField({label: undefined, defaultValue: undefined, validators: undefined})
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + + materialType + + +
                                                                                                                                                      + Type : ConfigurableEnumValue + +
                                                                                                                                                      + Decorators : +
                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'materials', validators: undefined})
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      + +

                                                                                                                                                      + Methods +

                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + Static + create + + +
                                                                                                                                                      + + create(params: Partial<EducationalMaterial>) +
                                                                                                                                                      + +
                                                                                                                                                      + +
                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      NameTypeOptional
                                                                                                                                                      params + Partial<EducationalMaterial> + + No +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + Returns : EducationalMaterial + +
                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + Public + getColor + + +
                                                                                                                                                      + + getColor() +
                                                                                                                                                      + +
                                                                                                                                                      + +
                                                                                                                                                      + Returns : any + +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + + + + + +
                                                                                                                                                      + + +
                                                                                                                                                      +
                                                                                                                                                      import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                      +import { DatabaseEntity } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                      +import { DatabaseField } from "../../../../core/entity/database-field.decorator";
                                                                                                                                                      +import { ConfigurableEnumValue } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                      +import { EntityDatatype } from "../../../../core/basic-datatypes/entity/entity.datatype";
                                                                                                                                                      +import { Child } from "../../model/child";
                                                                                                                                                      +import { PLACEHOLDERS } from "../../../../core/entity/schema/entity-schema-field";
                                                                                                                                                      +
                                                                                                                                                      +@DatabaseEntity("EducationalMaterial")
                                                                                                                                                      +export class EducationalMaterial extends Entity {
                                                                                                                                                      +  static create(params: Partial<EducationalMaterial>): EducationalMaterial {
                                                                                                                                                      +    return Object.assign(new EducationalMaterial(), params);
                                                                                                                                                      +  }
                                                                                                                                                      +
                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                      +    dataType: EntityDatatype.dataType,
                                                                                                                                                      +    additional: Child.ENTITY_TYPE,
                                                                                                                                                      +    entityReferenceRole: "composite",
                                                                                                                                                      +  })
                                                                                                                                                      +  child: string;
                                                                                                                                                      +
                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                      +    label: $localize`:Date on which the material has been borrowed:Date`,
                                                                                                                                                      +    defaultValue: {
                                                                                                                                                      +      mode: "dynamic",
                                                                                                                                                      +      value: PLACEHOLDERS.NOW,
                                                                                                                                                      +    },
                                                                                                                                                      +  })
                                                                                                                                                      +  date: Date;
                                                                                                                                                      +
                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                      +    label: $localize`:The material which has been borrowed:Material`,
                                                                                                                                                      +    dataType: "configurable-enum",
                                                                                                                                                      +    additional: "materials",
                                                                                                                                                      +    validators: {
                                                                                                                                                      +      required: true,
                                                                                                                                                      +    },
                                                                                                                                                      +  })
                                                                                                                                                      +  materialType: ConfigurableEnumValue;
                                                                                                                                                      +
                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                      +    label: $localize`:The amount of the material which has been borrowed:Amount`,
                                                                                                                                                      +    defaultValue: {
                                                                                                                                                      +      mode: "static",
                                                                                                                                                      +      value: 1,
                                                                                                                                                      +    },
                                                                                                                                                      +    validators: {
                                                                                                                                                      +      required: true,
                                                                                                                                                      +    },
                                                                                                                                                      +  })
                                                                                                                                                      +  materialAmount: number;
                                                                                                                                                      +
                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                      +    label: $localize`:An additional description for the borrowed material:Description`,
                                                                                                                                                      +  })
                                                                                                                                                      +  description = "";
                                                                                                                                                      +
                                                                                                                                                      +  public getColor() {
                                                                                                                                                      +    return this.materialType?.color || "white";
                                                                                                                                                      +  }
                                                                                                                                                      +}
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                      +

                                                                                                                                                      results matching ""

                                                                                                                                                      +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        No results matching ""

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Entity.html b/documentation/classes/Entity.html new file mode 100644 index 0000000000..020621bbd3 --- /dev/null +++ b/documentation/classes/Entity.html @@ -0,0 +1,2291 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                        + + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        +

                                                                                                                                                        File

                                                                                                                                                        +

                                                                                                                                                        +

                                                                                                                                                        + src/app/core/entity/model/entity.ts +

                                                                                                                                                        + + +

                                                                                                                                                        +

                                                                                                                                                        Description

                                                                                                                                                        +

                                                                                                                                                        +

                                                                                                                                                        +

                                                                                                                                                        "Entity" is a base class for all domain model classes. +It implements the basic general properties and methods that are required for all Entity types +e.g. supporting the Entity Schema system or basic database logic.

                                                                                                                                                        +

                                                                                                                                                        Entity classes do not deal with database actions, use EntityMapperService with its find/save/delete functions.

                                                                                                                                                        +

                                                                                                                                                        Do not use the Entity class directly. Instead, implement your own Entity types, writing classes that extend "Entity". +A How-To Guide on how to implement your own types is available:

                                                                                                                                                        + + +

                                                                                                                                                        + + + + +
                                                                                                                                                        +

                                                                                                                                                        Index

                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                        Properties
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        Methods
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        Accessors
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Constructor

                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                        +constructor(id: string) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Creates an entity object with the given id. This id is final and won't be changeable after this object has been +created.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                        id + string + + No + +

                                                                                                                                                        a unique id for this entity; if no id is passed a uuid is generated automatically

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + +

                                                                                                                                                        + Properties +

                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + Optional + _isCustomizedType + + +
                                                                                                                                                        + Type : boolean + +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        True if this type's schema has been customized dynamically from the config.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + + _rev + + +
                                                                                                                                                        + Type : string + +
                                                                                                                                                        + Decorators : +
                                                                                                                                                        + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        internal database doc revision, used to detect conflicts by PouchDB/CouchDB

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + + anonymized + + +
                                                                                                                                                        + Type : boolean + +
                                                                                                                                                        + Decorators : +
                                                                                                                                                        + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Whether this entity has been anonymized and therefore cannot be re-activated.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + color + + +
                                                                                                                                                        + Type : string + +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        color used for to highlight this entity type across the app

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + + created + + +
                                                                                                                                                        + Type : UpdateMetadata + +
                                                                                                                                                        + Decorators : +
                                                                                                                                                        + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + ENTITY_TYPE + + +
                                                                                                                                                        + Type : string + +
                                                                                                                                                        + Default value : "Entity" +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        The entity's type. +In classes extending Entity this is usually overridden by the class annotation @DatabaseEntity('NewEntity'). +The type needs to be used as routing path in lower case. The routing path can be defined in the configuration file.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + hasPII + + +
                                                                                                                                                        + Type : boolean + +
                                                                                                                                                        + Default value : false +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        whether this entity type can contain "personally identifiable information" (PII) +and therefore should follow strict data protection requirements +and offer a function to anonymize records.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + icon + + +
                                                                                                                                                        + Type : IconName + +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        icon id used for this entity

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + + inactive + + +
                                                                                                                                                        + Type : boolean + +
                                                                                                                                                        + Decorators : +
                                                                                                                                                        + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + schema + + +
                                                                                                                                                        + Type : EntitySchema + +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        EntitySchema defining property transformations from/to the database. +This is auto-generated from the property annotations @DatabaseField().

                                                                                                                                                        +

                                                                                                                                                        see /additional-documentation/how-to-guides/create-a-new-entity-type.html

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + toStringAttributes + + +
                                                                                                                                                        + Type : [] + +
                                                                                                                                                        + Default value : ["entityId"] +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Defining which attribute values of an entity should be shown in the .toString() method.

                                                                                                                                                        +

                                                                                                                                                        The default is the ID of the entity (entityId). +This can be overwritten in subclasses or through the config.

                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + + updated + + +
                                                                                                                                                        + Type : UpdateMetadata + +
                                                                                                                                                        + Decorators : +
                                                                                                                                                        + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + +

                                                                                                                                                        + Methods +

                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + assertValid + + +
                                                                                                                                                        +assertValid() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Checks if the entity is valid and if the check fails, throws an error explaining the failed check.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : void + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Public + copy + + +
                                                                                                                                                        + + copy(generateNewId: boolean) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Shallow copy of the entity. +The resulting entity will be of the same type as this +(taking into account subclassing)

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptionalDefault value
                                                                                                                                                        generateNewId + boolean + + No + + false +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + createPrefixedId + + +
                                                                                                                                                        + + createPrefixedId(type: string, id: string) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Create a prefixed id by adding the type prefix if it isn't already part of the given id.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                        type + string + + No + +

                                                                                                                                                        The type prefix to be added.

                                                                                                                                                        + +
                                                                                                                                                        id + string + + No + +

                                                                                                                                                        The id to be extended with a prefix.

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + extractEntityIdFromId + + +
                                                                                                                                                        + + extractEntityIdFromId(id: string) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Extract entityId without prefix.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                        id + string + + No + +

                                                                                                                                                        An entity's id including prefix.

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + extractTypeFromId + + +
                                                                                                                                                        + + extractTypeFromId(id: string) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Extract the ENTITY_TYPE from an id.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                        id + string + + No + +

                                                                                                                                                        An entity's id including prefix.

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Static + getBlockComponent + + +
                                                                                                                                                        + + getBlockComponent() +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Public + getColor + + +
                                                                                                                                                        + + getColor() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Used by some generic UI components to set the color for the entity instance. +Override this method as needed.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + getConstructor + + +
                                                                                                                                                        +getConstructor() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Get the class (Entity or the actual subclass of the instance) to call static methods on the correct class considering inheritance

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : EntityConstructor<> + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Public + getId + + +
                                                                                                                                                        + + getId(withoutPrefix) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Returns the id of this entity.

                                                                                                                                                        +

                                                                                                                                                        Note that an id is final and can't be changed after the object has been instantiated, hence there is no +setId() method.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameOptionalDefault value
                                                                                                                                                        withoutPrefix + No + + false +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        the unique id of this entity

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + getSchema + + +
                                                                                                                                                        +getSchema() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Get the entity schema of this class

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : EntitySchema + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Public + getType + + +
                                                                                                                                                        + + getType() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Returns the type which is used to categorize this entity in the database.

                                                                                                                                                        +

                                                                                                                                                        Important: Do not overwrite this method! Types are handled internally.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        the entity's type (which is the class name).

                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + Public + getWarningLevel + + +
                                                                                                                                                        + + getWarningLevel() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Override getWarningLevel() to define when the entity is in a critical condition and should be color-coded +and highlighted in generic components of the UI.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : WarningLevel + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + +
                                                                                                                                                        +

                                                                                                                                                        + Accessors +

                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + label +
                                                                                                                                                        + getlabel() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        human-readable name/label of the entity in the UI

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + setlabel(value: string) +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptional
                                                                                                                                                        value + string + + No +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : void + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + labelPlural +
                                                                                                                                                        + getlabelPlural() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        human-readable label for uses of plural of the entity in the UI

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + setlabelPlural(value: string) +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptional
                                                                                                                                                        value + string + + No +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : void + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + route +
                                                                                                                                                        + getroute() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Base route of the entity (list/details) view for this entity type.

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : string + +
                                                                                                                                                        +
                                                                                                                                                        + setroute(value: string) +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptional
                                                                                                                                                        value + string + + No +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : void + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + isNew +
                                                                                                                                                        + getisNew() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        whether this entity object is newly created and not yet saved to database

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : boolean + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + isActive +
                                                                                                                                                        + getisActive() +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Check, if this entity is considered active or archived.

                                                                                                                                                        +

                                                                                                                                                        This is taken from the property "inactive". +If the property doesn't exist, the default is true.

                                                                                                                                                        +

                                                                                                                                                        Some subclasses overwrite this functionality, but this logic is considered deprecated (!) now +and implementations have to make sure that "inactive" property takes precedence!

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Returns : boolean + +
                                                                                                                                                        +
                                                                                                                                                        + setisActive(isActive: boolean) +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        If existing entities with isActive: false exist, then these values are assigned to the property "active".

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        NameTypeOptional
                                                                                                                                                        isActive + boolean + + No +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + Returns : void + +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + +
                                                                                                                                                        +
                                                                                                                                                        import { v4 as uuid } from "uuid";
                                                                                                                                                        +import { EntitySchema } from "../schema/entity-schema";
                                                                                                                                                        +import { DatabaseField } from "../database-field.decorator";
                                                                                                                                                        +import {
                                                                                                                                                        +  getWarningLevelColor,
                                                                                                                                                        +  WarningLevel,
                                                                                                                                                        +} from "../../../child-dev-project/warning-level";
                                                                                                                                                        +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                        +import { UpdateMetadata } from "./update-metadata";
                                                                                                                                                        +
                                                                                                                                                        +/**
                                                                                                                                                        + * This represents a static class of type <T>.
                                                                                                                                                        + * It can be used for passing a class from which new objects should be created.
                                                                                                                                                        + * It can also be used to check the ENTITY_TYPE of a class
                                                                                                                                                        + * For example usage check the {@link EntityMapperService}.
                                                                                                                                                        + */
                                                                                                                                                        +export type EntityConstructor<T extends Entity = Entity> = (new (
                                                                                                                                                        +  id?: string,
                                                                                                                                                        +) => T) &
                                                                                                                                                        +  typeof Entity;
                                                                                                                                                        +
                                                                                                                                                        +/**
                                                                                                                                                        + * "Entity" is a base class for all domain model classes.
                                                                                                                                                        + * It implements the basic general properties and methods that are required for all Entity types
                                                                                                                                                        + * e.g. supporting the Entity Schema system or basic database logic.
                                                                                                                                                        + *
                                                                                                                                                        + * Entity classes do not deal with database actions, use {@link EntityMapperService} with its find/save/delete functions.
                                                                                                                                                        + *
                                                                                                                                                        + * Do not use the Entity class directly. Instead, implement your own Entity types, writing classes that extend "Entity".
                                                                                                                                                        + * A How-To Guide on how to implement your own types is available:
                                                                                                                                                        + * - [How to Create a new Entity Type]{@link /additional-documentation/how-to-guides/create-a-new-entity-type.html}
                                                                                                                                                        + */
                                                                                                                                                        +export class Entity {
                                                                                                                                                        +  /**
                                                                                                                                                        +   * The entity's type.
                                                                                                                                                        +   * In classes extending Entity this is usually overridden by the class annotation `@DatabaseEntity('NewEntity')`.
                                                                                                                                                        +   * The type needs to be used as routing path in lower case. The routing path can be defined in the configuration file.
                                                                                                                                                        +   */
                                                                                                                                                        +  static ENTITY_TYPE = "Entity";
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * EntitySchema defining property transformations from/to the database.
                                                                                                                                                        +   * This is auto-generated from the property annotations `@DatabaseField()`.
                                                                                                                                                        +   *
                                                                                                                                                        +   * see {@link /additional-documentation/how-to-guides/create-a-new-entity-type.html}
                                                                                                                                                        +   */
                                                                                                                                                        +  static schema: EntitySchema;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * True if this type's schema has been customized dynamically from the config.
                                                                                                                                                        +   */
                                                                                                                                                        +  static _isCustomizedType?: boolean; // todo should be private or renamed to "isCustomizedType"
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Defining which attribute values of an entity should be shown in the `.toString()` method.
                                                                                                                                                        +   *
                                                                                                                                                        +   * The default is the ID of the entity (`entityId`).
                                                                                                                                                        +   * This can be overwritten in subclasses or through the config.
                                                                                                                                                        +   */
                                                                                                                                                        +  static toStringAttributes = ["entityId"];
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * human-readable name/label of the entity in the UI
                                                                                                                                                        +   */
                                                                                                                                                        +  static get label(): string {
                                                                                                                                                        +    return this._label ?? this.ENTITY_TYPE;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  static set label(value: string) {
                                                                                                                                                        +    this._label = value;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  private static _label: string;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * human-readable label for uses of plural of the entity in the UI
                                                                                                                                                        +   */
                                                                                                                                                        +  static get labelPlural(): string {
                                                                                                                                                        +    return this._labelPlural ?? this.label;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  static set labelPlural(value: string) {
                                                                                                                                                        +    this._labelPlural = value;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  private static _labelPlural: string;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * icon id used for this entity
                                                                                                                                                        +   */
                                                                                                                                                        +  static icon: IconName;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * color used for to highlight this entity type across the app
                                                                                                                                                        +   */
                                                                                                                                                        +  static color: string;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Base route of the entity (list/details) view for this entity type.
                                                                                                                                                        +   */
                                                                                                                                                        +  static get route(): string {
                                                                                                                                                        +    let route = this._route ?? this.ENTITY_TYPE.toLowerCase();
                                                                                                                                                        +    if (!route.startsWith("/")) {
                                                                                                                                                        +      route = "/" + route;
                                                                                                                                                        +    }
                                                                                                                                                        +    return route;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  static set route(value: string) {
                                                                                                                                                        +    this._route = value;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  private static _route: string;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Extract the ENTITY_TYPE from an id.
                                                                                                                                                        +   * @param id An entity's id including prefix.
                                                                                                                                                        +   */
                                                                                                                                                        +  static extractTypeFromId(id: string): string {
                                                                                                                                                        +    const split = id.indexOf(":");
                                                                                                                                                        +    return id.substring(0, split);
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Extract entityId without prefix.
                                                                                                                                                        +   * @param id An entity's id including prefix.
                                                                                                                                                        +   */
                                                                                                                                                        +  static extractEntityIdFromId(id: string): string {
                                                                                                                                                        +    const split = id.indexOf(":");
                                                                                                                                                        +    return id.substring(split + 1);
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Create a prefixed id by adding the type prefix if it isn't already part of the given id.
                                                                                                                                                        +   * @param type The type prefix to be added.
                                                                                                                                                        +   * @param id The id to be extended with a prefix.
                                                                                                                                                        +   */
                                                                                                                                                        +  static createPrefixedId(type: string, id: string): string {
                                                                                                                                                        +    id = String(id);
                                                                                                                                                        +    const prefix = type + ":";
                                                                                                                                                        +    if (!id.startsWith(prefix)) {
                                                                                                                                                        +      return prefix + id;
                                                                                                                                                        +    } else {
                                                                                                                                                        +      return id;
                                                                                                                                                        +    }
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  static getBlockComponent(): string {
                                                                                                                                                        +    return;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * whether this entity type can contain "personally identifiable information" (PII)
                                                                                                                                                        +   * and therefore should follow strict data protection requirements
                                                                                                                                                        +   * and offer a function to anonymize records.
                                                                                                                                                        +   */
                                                                                                                                                        +  static hasPII: boolean = false;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Internal database id.
                                                                                                                                                        +   * This is usually combined from the ENTITY_TYPE as a prefix with the entityId field `EntityType:entityId`
                                                                                                                                                        +   * @example "Entity:123"
                                                                                                                                                        +   */
                                                                                                                                                        +  @DatabaseField({ anonymize: "retain" }) private _id: string;
                                                                                                                                                        +
                                                                                                                                                        +  /** internal database doc revision, used to detect conflicts by PouchDB/CouchDB */
                                                                                                                                                        +  @DatabaseField({ anonymize: "retain" }) _rev: string;
                                                                                                                                                        +
                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                        +    anonymize: "retain",
                                                                                                                                                        +  })
                                                                                                                                                        +  created: UpdateMetadata;
                                                                                                                                                        +
                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                        +    anonymize: "retain",
                                                                                                                                                        +  })
                                                                                                                                                        +  updated: UpdateMetadata;
                                                                                                                                                        +
                                                                                                                                                        +  @DatabaseField({ anonymize: "retain" })
                                                                                                                                                        +  inactive: boolean;
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Whether this entity has been anonymized and therefore cannot be re-activated.
                                                                                                                                                        +   */
                                                                                                                                                        +  @DatabaseField({ anonymize: "retain" })
                                                                                                                                                        +  anonymized: boolean;
                                                                                                                                                        +
                                                                                                                                                        +  /** whether this entity object is newly created and not yet saved to database */
                                                                                                                                                        +  get isNew(): boolean {
                                                                                                                                                        +    return !this._rev;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /** actual id without prefix */
                                                                                                                                                        +  private get entityId(): string {
                                                                                                                                                        +    return Entity.extractEntityIdFromId(this._id);
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Set id without prefix.
                                                                                                                                                        +   * @param newEntityId The new id without prefix.
                                                                                                                                                        +   */
                                                                                                                                                        +  private set entityId(newEntityId: string) {
                                                                                                                                                        +    this._id = Entity.createPrefixedId(this.getType(), newEntityId);
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Check, if this entity is considered active or archived.
                                                                                                                                                        +   *
                                                                                                                                                        +   * This is taken from the property "inactive".
                                                                                                                                                        +   * If the property doesn't exist, the default is `true`.
                                                                                                                                                        +   *
                                                                                                                                                        +   * Some subclasses overwrite this functionality, but this logic is considered deprecated (!) now
                                                                                                                                                        +   * and implementations have to make sure that "inactive" property takes precedence!
                                                                                                                                                        +   */
                                                                                                                                                        +  get isActive(): boolean {
                                                                                                                                                        +    if (this.inactive !== undefined) {
                                                                                                                                                        +      return !this.inactive;
                                                                                                                                                        +    }
                                                                                                                                                        +    if (this["active"] !== undefined) {
                                                                                                                                                        +      return this["active"];
                                                                                                                                                        +    }
                                                                                                                                                        +    return true;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * If existing entities with `isActive: false` exist, then these values are assigned to the property "active".
                                                                                                                                                        +   * @param isActive
                                                                                                                                                        +   */
                                                                                                                                                        +  set isActive(isActive: boolean) {
                                                                                                                                                        +    this["active"] = isActive;
                                                                                                                                                        +    this.inactive = !isActive;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Creates an entity object with the given id. This id is final and won't be changeable after this object has been
                                                                                                                                                        +   * created.
                                                                                                                                                        +   *
                                                                                                                                                        +   * @param id a unique id for this entity; if no id is passed a uuid is generated automatically
                                                                                                                                                        +   */
                                                                                                                                                        +  constructor(id: string = uuid()) {
                                                                                                                                                        +    this.entityId = id;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Get the class (Entity or the actual subclass of the instance) to call static methods on the correct class considering inheritance
                                                                                                                                                        +   */
                                                                                                                                                        +  getConstructor(): EntityConstructor<this> {
                                                                                                                                                        +    return this.constructor as EntityConstructor<this>;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Get the entity schema of this class
                                                                                                                                                        +   */
                                                                                                                                                        +  getSchema(): EntitySchema {
                                                                                                                                                        +    return this.getConstructor().schema;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Returns the id of this entity.
                                                                                                                                                        +   *
                                                                                                                                                        +   * Note that an id is final and can't be changed after the object has been instantiated, hence there is no
                                                                                                                                                        +   * <code>setId()</code> method.
                                                                                                                                                        +   *
                                                                                                                                                        +   * @returns {string} the unique id of this entity
                                                                                                                                                        +   */
                                                                                                                                                        +  public getId(withoutPrefix = false): string {
                                                                                                                                                        +    return withoutPrefix ? this.entityId : this._id;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Returns the type which is used to categorize this entity in the database.
                                                                                                                                                        +   *
                                                                                                                                                        +   * <b>Important: Do not overwrite this method! Types are handled internally.</b>
                                                                                                                                                        +   *
                                                                                                                                                        +   * @returns {string} the entity's type (which is the class name).
                                                                                                                                                        +   */
                                                                                                                                                        +  public getType(): string {
                                                                                                                                                        +    return this.getConstructor().ENTITY_TYPE;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Returns a string representation or summary of the instance.
                                                                                                                                                        +   * This can be configured with the static `toStringAttributes` for each subclass.
                                                                                                                                                        +   *
                                                                                                                                                        +   * @returns {string} the instance's string representation.
                                                                                                                                                        +   */
                                                                                                                                                        +  public toString(): string {
                                                                                                                                                        +    if (
                                                                                                                                                        +      this.anonymized &&
                                                                                                                                                        +      this.getConstructor().toStringAttributes.every(
                                                                                                                                                        +        (attr) => this[attr] === undefined,
                                                                                                                                                        +      )
                                                                                                                                                        +    ) {
                                                                                                                                                        +      return $localize`:Entity.toString fallback for anonymized record:[anonymized ${
                                                                                                                                                        +        this.getConstructor().label
                                                                                                                                                        +      }]`;
                                                                                                                                                        +    }
                                                                                                                                                        +
                                                                                                                                                        +    return this.getConstructor()
                                                                                                                                                        +      .toStringAttributes.map((attr) => this[attr])
                                                                                                                                                        +      .join(" ");
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Used by some generic UI components to set the color for the entity instance.
                                                                                                                                                        +   * Override this method as needed.
                                                                                                                                                        +   */
                                                                                                                                                        +  public getColor(): string {
                                                                                                                                                        +    return getWarningLevelColor(this.getWarningLevel());
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Override getWarningLevel() to define when the entity is in a critical condition and should be color-coded
                                                                                                                                                        +   * and highlighted in generic components of the UI.
                                                                                                                                                        +   */
                                                                                                                                                        +  public getWarningLevel(): WarningLevel {
                                                                                                                                                        +    return WarningLevel.NONE;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Shallow copy of the entity.
                                                                                                                                                        +   * The resulting entity will be of the same type as this
                                                                                                                                                        +   * (taking into account subclassing)
                                                                                                                                                        +   */
                                                                                                                                                        +  public copy(generateNewId: boolean = false): this {
                                                                                                                                                        +    const other = new (this.getConstructor())(this._id);
                                                                                                                                                        +    Object.assign(other, this);
                                                                                                                                                        +
                                                                                                                                                        +    if (generateNewId) {
                                                                                                                                                        +      delete other._rev;
                                                                                                                                                        +      other.entityId = uuid();
                                                                                                                                                        +    }
                                                                                                                                                        +
                                                                                                                                                        +    return other;
                                                                                                                                                        +  }
                                                                                                                                                        +
                                                                                                                                                        +  /**
                                                                                                                                                        +   * Checks if the entity is valid and if the check fails, throws an error explaining the failed check.
                                                                                                                                                        +   */
                                                                                                                                                        +  assertValid(): void {
                                                                                                                                                        +    return;
                                                                                                                                                        +  }
                                                                                                                                                        +}
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                        +

                                                                                                                                                        results matching ""

                                                                                                                                                        +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          No results matching ""

                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EntityFilter.html b/documentation/classes/EntityFilter.html new file mode 100644 index 0000000000..dd7b246ccc --- /dev/null +++ b/documentation/classes/EntityFilter.html @@ -0,0 +1,891 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                          +
                                                                                                                                                          + + +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          +

                                                                                                                                                          File

                                                                                                                                                          +

                                                                                                                                                          +

                                                                                                                                                          + src/app/core/filter/filters/entityFilter.ts +

                                                                                                                                                          + + + +

                                                                                                                                                          +

                                                                                                                                                          Extends

                                                                                                                                                          +

                                                                                                                                                          +

                                                                                                                                                          + SelectableFilter +

                                                                                                                                                          + + + +
                                                                                                                                                          +

                                                                                                                                                          Index

                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          +
                                                                                                                                                          Properties
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          Methods
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +

                                                                                                                                                          Constructor

                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                          +constructor(name: string, label: string, filterEntities: Entity[]) +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          NameTypeOptional
                                                                                                                                                          name + string + + No +
                                                                                                                                                          label + string + + No +
                                                                                                                                                          filterEntities + Entity[] + + No +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          + +

                                                                                                                                                          + Properties +

                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Public + label + + +
                                                                                                                                                          + Type : string + +
                                                                                                                                                          + Default value : name +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:100 +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          The user-friendly label describing this filter-selection +(optional, defaults to the name of the selection)
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Public + name + + +
                                                                                                                                                          + Type : string + +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:98 +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          The name or id describing this filter
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Public + options + + +
                                                                                                                                                          + Type : FilterSelectionOption<T>[] + +
                                                                                                                                                          +
                                                                                                                                                          Inherited from SelectableFilter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in SelectableFilter:99 +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          An array of different filtering variants to chose between
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + component + + +
                                                                                                                                                          + Type : Type<any> + +
                                                                                                                                                          + Default value : ListFilterComponent +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:35 +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          The component used to display filter option to the user.

                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + selectedOptionChange + + +
                                                                                                                                                          + Default value : new EventEmitter<string[]>() +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:45 +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                                                                                          +

                                                                                                                                                          This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Public + selectedOptionValues + + +
                                                                                                                                                          + Type : string[] + +
                                                                                                                                                          + Default value : [] +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:37 +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          + +

                                                                                                                                                          + Methods +

                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Static + generateOptions + + +
                                                                                                                                                          + + generateOptions(valuesToMatchAsOptions: (string | number)[], attributeName: string) +
                                                                                                                                                          +
                                                                                                                                                          Inherited from SelectableFilter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in SelectableFilter:77 +
                                                                                                                                                          +
                                                                                                                                                          + Type parameters : +
                                                                                                                                                            +
                                                                                                                                                          • T
                                                                                                                                                          • +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Generate filter options dynamically from the given value to be matched.

                                                                                                                                                          +

                                                                                                                                                          This is a utility function to make it easier to generate FilterSelectionOptions for standard cases +if you simply want each option to filter items having the given attribute matching different values. +If you have more sophisticated filtering needs, use the constructor to set FilterSelectionOptions that +you created yourself.

                                                                                                                                                          +Example :
                                                                                                                                                             A separate FilterSelectionOption is created for each value with a filter
                                                                                                                                                          +   that is true of a data item's property exactly matches that value.
                                                                                                                                                          + +
                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                          valuesToMatchAsOptions + (string | number)[] + + No + +

                                                                                                                                                          An array of values to be matched. +A separate FilterSelectionOption is created for each value with a filter +that is true of a data item's property exactly matches that value.

                                                                                                                                                          + +
                                                                                                                                                          attributeName + string + + No + +

                                                                                                                                                          The name of the property of a data item that is compared to the value in the filter function.

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + Returns : FilterSelectionOption[] + +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + Public + getFilter + + +
                                                                                                                                                          + + getFilter() +
                                                                                                                                                          +
                                                                                                                                                          Inherited from Filter +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          Defined in Filter:120 +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          Get the filter query for the given option. +If the given key is undefined or invalid, the returned filter matches any elements.

                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          + Returns : DataFilter<T> + +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + getOption + + +
                                                                                                                                                          +getOption(key: string) +
                                                                                                                                                          +
                                                                                                                                                          Inherited from SelectableFilter +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +

                                                                                                                                                          Get the full filter option by its key.

                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                          key + string + + No + +

                                                                                                                                                          The identifier of the requested option

                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + + + + + +
                                                                                                                                                          + + +
                                                                                                                                                          +
                                                                                                                                                          import { Entity } from "../../entity/model/entity";
                                                                                                                                                          +import { FilterSelectionOption, SelectableFilter } from "./filters";
                                                                                                                                                          +
                                                                                                                                                          +export class EntityFilter<T extends Entity> extends SelectableFilter<T> {
                                                                                                                                                          +  constructor(name: string, label: string, filterEntities: Entity[]) {
                                                                                                                                                          +    filterEntities.sort((a, b) => a.toString().localeCompare(b.toString()));
                                                                                                                                                          +    const options: FilterSelectionOption<T>[] = filterEntities.map(
                                                                                                                                                          +      (filterEntity) => ({
                                                                                                                                                          +        key: filterEntity.getId(),
                                                                                                                                                          +        label: filterEntity.toString(),
                                                                                                                                                          +        filter: {
                                                                                                                                                          +          $or: [
                                                                                                                                                          +            { [name]: filterEntity.getId() },
                                                                                                                                                          +            { [name]: { $elemMatch: { $eq: filterEntity.getId() } } },
                                                                                                                                                          +          ],
                                                                                                                                                          +        },
                                                                                                                                                          +      }),
                                                                                                                                                          +    );
                                                                                                                                                          +    super(name, options, label);
                                                                                                                                                          +  }
                                                                                                                                                          +}
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                          +
                                                                                                                                                          +

                                                                                                                                                          results matching ""

                                                                                                                                                          +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +

                                                                                                                                                            No results matching ""

                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EntityRegistry.html b/documentation/classes/EntityRegistry.html new file mode 100644 index 0000000000..8ef49a8bbb --- /dev/null +++ b/documentation/classes/EntityRegistry.html @@ -0,0 +1,690 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                            +
                                                                                                                                                            + + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                            +
                                                                                                                                                            +

                                                                                                                                                            +

                                                                                                                                                            File

                                                                                                                                                            +

                                                                                                                                                            +

                                                                                                                                                            + src/app/core/entity/database-entity.decorator.ts +

                                                                                                                                                            + + + +

                                                                                                                                                            +

                                                                                                                                                            Extends

                                                                                                                                                            +

                                                                                                                                                            +

                                                                                                                                                            + Registry +

                                                                                                                                                            + + + +
                                                                                                                                                            +

                                                                                                                                                            Index

                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                            +
                                                                                                                                                            Methods
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + +
                                                                                                                                                            + +

                                                                                                                                                            + Methods +

                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            + + + getEntityTypes + + +
                                                                                                                                                            +getEntityTypes(onlyUserFacing) +
                                                                                                                                                            + +
                                                                                                                                                            +

                                                                                                                                                            Get an array of entity types, optionally filtered to exclude internal, administrative types.

                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            NameOptionalDefault valueDescription
                                                                                                                                                            onlyUserFacing + No + + false + +

                                                                                                                                                            Whether to only include types that are explicitly defined and customized in the config, from which we infer they are user-facing.

                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + Returns : literal type[] + +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            + + + Public + add + + +
                                                                                                                                                            + + add(key: string, mapping: T) +
                                                                                                                                                            +
                                                                                                                                                            Inherited from Registry +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            Defined in Registry:17 +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            NameTypeOptional
                                                                                                                                                            key + string + + No +
                                                                                                                                                            mapping + T + + No +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + Returns : void + +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            + + + Public + addAll + + +
                                                                                                                                                            + + addAll(tuples: []) +
                                                                                                                                                            +
                                                                                                                                                            Inherited from Registry +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            Defined in Registry:31 +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            NameTypeOptional
                                                                                                                                                            tuples + [] + + No +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + Returns : void + +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            + + + Public + allowDuplicates + + +
                                                                                                                                                            + + allowDuplicates() +
                                                                                                                                                            +
                                                                                                                                                            Inherited from Registry +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            Defined in Registry:49 +
                                                                                                                                                            +
                                                                                                                                                            +

                                                                                                                                                            Calling this will allow the same keys to be added multiple times without thrown errors. +This is useful for storybook where live-updates re-trigger the decorator while the registry is cached.

                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            + Returns : void + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            + + + Public + get + + +
                                                                                                                                                            + + get(key: string) +
                                                                                                                                                            +
                                                                                                                                                            Inherited from Registry +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            Defined in Registry:35 +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                            NameTypeOptional
                                                                                                                                                            key + string + + No +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + Returns : T + +
                                                                                                                                                            +
                                                                                                                                                            + +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + + + + + +
                                                                                                                                                            + + +
                                                                                                                                                            +
                                                                                                                                                            import { Entity, EntityConstructor } from "./model/entity";
                                                                                                                                                            +import { Registry } from "../config/registry/dynamic-registry";
                                                                                                                                                            +import { getEntitySchema } from "./database-field.decorator";
                                                                                                                                                            +
                                                                                                                                                            +export class EntityRegistry extends Registry<EntityConstructor> {
                                                                                                                                                            +  /**
                                                                                                                                                            +   * Get an array of entity types, optionally filtered to exclude internal, administrative types.
                                                                                                                                                            +   * @param onlyUserFacing Whether to only include types that are explicitly defined and customized in the config, from which we infer they are user-facing.
                                                                                                                                                            +   */
                                                                                                                                                            +  getEntityTypes(
                                                                                                                                                            +    onlyUserFacing = false,
                                                                                                                                                            +  ): { key: string; value: EntityConstructor }[] {
                                                                                                                                                            +    let entities = Array.from(this.entries()).map(([key, value]) => ({
                                                                                                                                                            +      key,
                                                                                                                                                            +      value,
                                                                                                                                                            +    }));
                                                                                                                                                            +    if (onlyUserFacing) {
                                                                                                                                                            +      entities = entities.filter(({ key, value }) => value._isCustomizedType);
                                                                                                                                                            +    }
                                                                                                                                                            +    return entities;
                                                                                                                                                            +  }
                                                                                                                                                            +}
                                                                                                                                                            +
                                                                                                                                                            +export const entityRegistry = new EntityRegistry((key, constructor) => {
                                                                                                                                                            +  if (!(new constructor() instanceof Entity)) {
                                                                                                                                                            +    throw Error(
                                                                                                                                                            +      `Tried to register an entity-type that is not a subclass of Entity\n` +
                                                                                                                                                            +        `type: ${key}; constructor: ${constructor}`,
                                                                                                                                                            +    );
                                                                                                                                                            +  }
                                                                                                                                                            +});
                                                                                                                                                            +
                                                                                                                                                            +/**
                                                                                                                                                            + * Decorator (Annotation `@DatabaseEntity()`) to set the string ENTITY_TYPE to an Entity Type.
                                                                                                                                                            + * The entity should also be added to the {@link databaseEntities} array of the surrounding module.
                                                                                                                                                            + *
                                                                                                                                                            + * also see {@link /additional-documentation/how-to-guides/create-a-new-entity-type.html}
                                                                                                                                                            + *
                                                                                                                                                            + * @param entityType The string key for this Entity Type, used as id prefix.
                                                                                                                                                            + */
                                                                                                                                                            +export function DatabaseEntity(entityType: string) {
                                                                                                                                                            +  return (constructor) => {
                                                                                                                                                            +    entityRegistry.add(entityType, constructor);
                                                                                                                                                            +    constructor.ENTITY_TYPE = entityType;
                                                                                                                                                            +
                                                                                                                                                            +    // append parent schema definitions
                                                                                                                                                            +    const parentConstructor = Object.getPrototypeOf(constructor);
                                                                                                                                                            +    const schema = getEntitySchema(constructor);
                                                                                                                                                            +    parentConstructor.schema.forEach((value, key) => schema.set(key, value));
                                                                                                                                                            +  };
                                                                                                                                                            +}
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                            +
                                                                                                                                                            +

                                                                                                                                                            results matching ""

                                                                                                                                                            +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +

                                                                                                                                                              No results matching ""

                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EventAttendance.html b/documentation/classes/EventAttendance.html new file mode 100644 index 0000000000..8fc6fc1c4d --- /dev/null +++ b/documentation/classes/EventAttendance.html @@ -0,0 +1,605 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                              +
                                                                                                                                                              + + +
                                                                                                                                                              +
                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                              +
                                                                                                                                                              +

                                                                                                                                                              +

                                                                                                                                                              File

                                                                                                                                                              +

                                                                                                                                                              +

                                                                                                                                                              + src/app/child-dev-project/attendance/model/event-attendance.ts +

                                                                                                                                                              + + +

                                                                                                                                                              +

                                                                                                                                                              Description

                                                                                                                                                              +

                                                                                                                                                              +

                                                                                                                                                              +

                                                                                                                                                              Simple relationship object to represent an individual child's status at an event including context information. +TODO overwork this concept to either be a sublass of Entity or not (at the moment it uses a lot of casting, e.g. to be used in the entity subrecord)

                                                                                                                                                              + +

                                                                                                                                                              + + + + +
                                                                                                                                                              +

                                                                                                                                                              Index

                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                              +
                                                                                                                                                              Properties
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              Methods
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                                +
                                                                                                                                                              • + Public + copy +
                                                                                                                                                              • +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              Accessors
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              +

                                                                                                                                                              Constructor

                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                              +constructor(status: AttendanceStatusType, remarks: string) +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                              NameTypeOptional
                                                                                                                                                              status + AttendanceStatusType + + No +
                                                                                                                                                              remarks + string + + No +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              + +

                                                                                                                                                              + Properties +

                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                              + + + Static + DATA_TYPE + + +
                                                                                                                                                              + Type : string + +
                                                                                                                                                              + Default value : "event-attendance" +
                                                                                                                                                              + +
                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                              + + + + remarks + + +
                                                                                                                                                              + Type : string + +
                                                                                                                                                              + Decorators : +
                                                                                                                                                              + + @DatabaseField()
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              +
                                                                                                                                                              + +
                                                                                                                                                              + +

                                                                                                                                                              + Methods +

                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                              + + + Public + copy + + +
                                                                                                                                                              + + copy() +
                                                                                                                                                              + +
                                                                                                                                                              + +
                                                                                                                                                              + Returns : EventAttendance + +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + + + + + +
                                                                                                                                                              +

                                                                                                                                                              + Accessors +

                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                              + + status +
                                                                                                                                                              + getstatus() +
                                                                                                                                                              + +
                                                                                                                                                              + setstatus(value) +
                                                                                                                                                              + +
                                                                                                                                                              + +
                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + +
                                                                                                                                                              NameOptional
                                                                                                                                                              value + No +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + Returns : void + +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + + +
                                                                                                                                                              +
                                                                                                                                                              import {
                                                                                                                                                              +  ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                              +  AttendanceStatusType,
                                                                                                                                                              +  NullAttendanceStatusType,
                                                                                                                                                              +} from "./attendance-status";
                                                                                                                                                              +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                              +
                                                                                                                                                              +/**
                                                                                                                                                              + * Simple relationship object to represent an individual child's status at an event including context information.
                                                                                                                                                              + * TODO overwork this concept to either be a sublass of Entity or not (at the moment it uses a lot of casting, e.g. to be used in the entity subrecord)
                                                                                                                                                              + */
                                                                                                                                                              +export class EventAttendance {
                                                                                                                                                              +  static DATA_TYPE = "event-attendance";
                                                                                                                                                              +
                                                                                                                                                              +  private _status: AttendanceStatusType;
                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                              +    dataType: "configurable-enum",
                                                                                                                                                              +    additional: ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                              +  })
                                                                                                                                                              +  get status(): AttendanceStatusType {
                                                                                                                                                              +    return this._status;
                                                                                                                                                              +  }
                                                                                                                                                              +
                                                                                                                                                              +  set status(value) {
                                                                                                                                                              +    if (typeof value === "object") {
                                                                                                                                                              +      if (value.isInvalidOption) {
                                                                                                                                                              +        value.shortName = "?";
                                                                                                                                                              +        value.countAs = NullAttendanceStatusType.countAs;
                                                                                                                                                              +      }
                                                                                                                                                              +      this._status = value;
                                                                                                                                                              +    } else {
                                                                                                                                                              +      this._status = NullAttendanceStatusType;
                                                                                                                                                              +    }
                                                                                                                                                              +  }
                                                                                                                                                              +
                                                                                                                                                              +  @DatabaseField() remarks: string;
                                                                                                                                                              +
                                                                                                                                                              +  constructor(
                                                                                                                                                              +    status: AttendanceStatusType = NullAttendanceStatusType,
                                                                                                                                                              +    remarks: string = "",
                                                                                                                                                              +  ) {
                                                                                                                                                              +    this.status = status;
                                                                                                                                                              +    this.remarks = remarks;
                                                                                                                                                              +  }
                                                                                                                                                              +
                                                                                                                                                              +  public copy(): EventAttendance {
                                                                                                                                                              +    return Object.assign(new EventAttendance(), this);
                                                                                                                                                              +  }
                                                                                                                                                              +}
                                                                                                                                                              +
                                                                                                                                                              +/**
                                                                                                                                                              + * A full registry of event-attendance entries for multiple participants.
                                                                                                                                                              + *
                                                                                                                                                              + * TODO: this class can become the basis for a more generic attendance data that is not hard-wired to Note entities.
                                                                                                                                                              + */
                                                                                                                                                              +export class EventAttendanceMap extends Map<string, EventAttendance> {
                                                                                                                                                              +  static DATA_TYPE = "event-attendance-map";
                                                                                                                                                              +
                                                                                                                                                              +  constructor() {
                                                                                                                                                              +    super();
                                                                                                                                                              +  }
                                                                                                                                                              +}
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              +
                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                              +
                                                                                                                                                              +

                                                                                                                                                              results matching ""

                                                                                                                                                              +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +

                                                                                                                                                                No results matching ""

                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EventAttendanceMap.html b/documentation/classes/EventAttendanceMap.html new file mode 100644 index 0000000000..51444312b9 --- /dev/null +++ b/documentation/classes/EventAttendanceMap.html @@ -0,0 +1,386 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                +
                                                                                                                                                                + + +
                                                                                                                                                                +
                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                +
                                                                                                                                                                +

                                                                                                                                                                +

                                                                                                                                                                File

                                                                                                                                                                +

                                                                                                                                                                +

                                                                                                                                                                + src/app/child-dev-project/attendance/model/event-attendance.ts +

                                                                                                                                                                + + +

                                                                                                                                                                +

                                                                                                                                                                Description

                                                                                                                                                                +

                                                                                                                                                                +

                                                                                                                                                                +

                                                                                                                                                                A full registry of event-attendance entries for multiple participants.

                                                                                                                                                                +

                                                                                                                                                                TODO: this class can become the basis for a more generic attendance data that is not hard-wired to Note entities.

                                                                                                                                                                + +

                                                                                                                                                                + +

                                                                                                                                                                +

                                                                                                                                                                Extends

                                                                                                                                                                +

                                                                                                                                                                +

                                                                                                                                                                + Map +

                                                                                                                                                                + + + +
                                                                                                                                                                +

                                                                                                                                                                Index

                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                +
                                                                                                                                                                Properties
                                                                                                                                                                +
                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                + +
                                                                                                                                                                +

                                                                                                                                                                Constructor

                                                                                                                                                                + + + + + + + + + + +
                                                                                                                                                                +constructor() +
                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                + +
                                                                                                                                                                + +

                                                                                                                                                                + Properties +

                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                + + + Static + DATA_TYPE + + +
                                                                                                                                                                + Type : string + +
                                                                                                                                                                + Default value : "event-attendance-map" +
                                                                                                                                                                + +
                                                                                                                                                                +
                                                                                                                                                                + + + + + + + +
                                                                                                                                                                + + +
                                                                                                                                                                +
                                                                                                                                                                import {
                                                                                                                                                                +  ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                +  AttendanceStatusType,
                                                                                                                                                                +  NullAttendanceStatusType,
                                                                                                                                                                +} from "./attendance-status";
                                                                                                                                                                +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                +
                                                                                                                                                                +/**
                                                                                                                                                                + * Simple relationship object to represent an individual child's status at an event including context information.
                                                                                                                                                                + * TODO overwork this concept to either be a sublass of Entity or not (at the moment it uses a lot of casting, e.g. to be used in the entity subrecord)
                                                                                                                                                                + */
                                                                                                                                                                +export class EventAttendance {
                                                                                                                                                                +  static DATA_TYPE = "event-attendance";
                                                                                                                                                                +
                                                                                                                                                                +  private _status: AttendanceStatusType;
                                                                                                                                                                +  @DatabaseField({
                                                                                                                                                                +    dataType: "configurable-enum",
                                                                                                                                                                +    additional: ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                +  })
                                                                                                                                                                +  get status(): AttendanceStatusType {
                                                                                                                                                                +    return this._status;
                                                                                                                                                                +  }
                                                                                                                                                                +
                                                                                                                                                                +  set status(value) {
                                                                                                                                                                +    if (typeof value === "object") {
                                                                                                                                                                +      if (value.isInvalidOption) {
                                                                                                                                                                +        value.shortName = "?";
                                                                                                                                                                +        value.countAs = NullAttendanceStatusType.countAs;
                                                                                                                                                                +      }
                                                                                                                                                                +      this._status = value;
                                                                                                                                                                +    } else {
                                                                                                                                                                +      this._status = NullAttendanceStatusType;
                                                                                                                                                                +    }
                                                                                                                                                                +  }
                                                                                                                                                                +
                                                                                                                                                                +  @DatabaseField() remarks: string;
                                                                                                                                                                +
                                                                                                                                                                +  constructor(
                                                                                                                                                                +    status: AttendanceStatusType = NullAttendanceStatusType,
                                                                                                                                                                +    remarks: string = "",
                                                                                                                                                                +  ) {
                                                                                                                                                                +    this.status = status;
                                                                                                                                                                +    this.remarks = remarks;
                                                                                                                                                                +  }
                                                                                                                                                                +
                                                                                                                                                                +  public copy(): EventAttendance {
                                                                                                                                                                +    return Object.assign(new EventAttendance(), this);
                                                                                                                                                                +  }
                                                                                                                                                                +}
                                                                                                                                                                +
                                                                                                                                                                +/**
                                                                                                                                                                + * A full registry of event-attendance entries for multiple participants.
                                                                                                                                                                + *
                                                                                                                                                                + * TODO: this class can become the basis for a more generic attendance data that is not hard-wired to Note entities.
                                                                                                                                                                + */
                                                                                                                                                                +export class EventAttendanceMap extends Map<string, EventAttendance> {
                                                                                                                                                                +  static DATA_TYPE = "event-attendance-map";
                                                                                                                                                                +
                                                                                                                                                                +  constructor() {
                                                                                                                                                                +    super();
                                                                                                                                                                +  }
                                                                                                                                                                +}
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                +
                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                +
                                                                                                                                                                +

                                                                                                                                                                results matching ""

                                                                                                                                                                +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +

                                                                                                                                                                  No results matching ""

                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  + +
                                                                                                                                                                  +
                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/EventNote.html b/documentation/classes/EventNote.html new file mode 100644 index 0000000000..b25d1a6e13 --- /dev/null +++ b/documentation/classes/EventNote.html @@ -0,0 +1,358 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                  +
                                                                                                                                                                  + + +
                                                                                                                                                                  +
                                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                                  +
                                                                                                                                                                  +

                                                                                                                                                                  +

                                                                                                                                                                  File

                                                                                                                                                                  +

                                                                                                                                                                  +

                                                                                                                                                                  + src/app/child-dev-project/attendance/model/event-note.ts +

                                                                                                                                                                  + + + + + + +
                                                                                                                                                                  +

                                                                                                                                                                  Index

                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                  +
                                                                                                                                                                  Methods
                                                                                                                                                                  +
                                                                                                                                                                  + +
                                                                                                                                                                  +
                                                                                                                                                                  + + + +
                                                                                                                                                                  + +

                                                                                                                                                                  + Methods +

                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                  + + + Static + create + + +
                                                                                                                                                                  + + create(date: Date, subject: string) +
                                                                                                                                                                  + +
                                                                                                                                                                  + +
                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                  NameTypeOptionalDefault value
                                                                                                                                                                  date + Date + + No + +
                                                                                                                                                                  subject + string + + No + + "" +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  + Returns : EventNote + +
                                                                                                                                                                  +
                                                                                                                                                                  + +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  + + + + + +
                                                                                                                                                                  + + +
                                                                                                                                                                  +
                                                                                                                                                                  import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                  +import { Note } from "../../notes/model/note";
                                                                                                                                                                  +
                                                                                                                                                                  +@DatabaseEntity("EventNote")
                                                                                                                                                                  +export class EventNote extends Note {
                                                                                                                                                                  +  static create(date: Date, subject: string = ""): EventNote {
                                                                                                                                                                  +    const instance = new EventNote();
                                                                                                                                                                  +    instance.date = date;
                                                                                                                                                                  +    instance.subject = subject;
                                                                                                                                                                  +    return instance;
                                                                                                                                                                  +  }
                                                                                                                                                                  +}
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  +
                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                  +
                                                                                                                                                                  +

                                                                                                                                                                  results matching ""

                                                                                                                                                                  +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +

                                                                                                                                                                    No results matching ""

                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/FileService.html b/documentation/classes/FileService.html new file mode 100644 index 0000000000..01b628a3e9 --- /dev/null +++ b/documentation/classes/FileService.html @@ -0,0 +1,895 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    + + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    +

                                                                                                                                                                    +

                                                                                                                                                                    File

                                                                                                                                                                    +

                                                                                                                                                                    +

                                                                                                                                                                    + src/app/features/file/file.service.ts +

                                                                                                                                                                    + + +

                                                                                                                                                                    +

                                                                                                                                                                    Description

                                                                                                                                                                    +

                                                                                                                                                                    +

                                                                                                                                                                    +

                                                                                                                                                                    This service allow handles the logic for files/attachments. +Files can be uploaded, shown and removed.

                                                                                                                                                                    + +

                                                                                                                                                                    + + + + +
                                                                                                                                                                    +

                                                                                                                                                                    Index

                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    Methods
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +

                                                                                                                                                                    Constructor

                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                    + Protected + constructor(entityMapper: EntityMapperService, entities: EntityRegistry, syncState: SyncStateSubject) +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                    entityMapper + EntityMapperService + + No +
                                                                                                                                                                    entities + EntityRegistry + + No +
                                                                                                                                                                    syncState + SyncStateSubject + + No +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + + +
                                                                                                                                                                    + +

                                                                                                                                                                    + Methods +

                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    + + + Abstract + loadFile + + +
                                                                                                                                                                    + + loadFile(entity: Entity, property: string) +
                                                                                                                                                                    + +
                                                                                                                                                                    + +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                    property + string + + No +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + Returns : Observable<SafeUrl> + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    + + + Abstract + removeAllFiles + + +
                                                                                                                                                                    + + removeAllFiles(entity: Entity) +
                                                                                                                                                                    + +
                                                                                                                                                                    +

                                                                                                                                                                    Removes all files linked with an entity

                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + Returns : Observable<any> + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    + + + Abstract + removeFile + + +
                                                                                                                                                                    + + removeFile(entity: Entity, property: string) +
                                                                                                                                                                    + +
                                                                                                                                                                    +

                                                                                                                                                                    Removes the file

                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                    entity + Entity + + No + +
                                                                                                                                                                    property + string + + No + +

                                                                                                                                                                    of the entity which points to a file

                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + Returns : Observable<any> + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    + + + Abstract + showFile + + +
                                                                                                                                                                    + + showFile(entity: Entity, property: string) +
                                                                                                                                                                    + +
                                                                                                                                                                    +

                                                                                                                                                                    If a file is available, downloads this file and shows it in a new tab.

                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                    entity + Entity + + No + +
                                                                                                                                                                    property + string + + No + +

                                                                                                                                                                    where a file previously has been uploaded

                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    + + + Abstract + uploadFile + + +
                                                                                                                                                                    + + uploadFile(file: File, entity: Entity, property: string) +
                                                                                                                                                                    + +
                                                                                                                                                                    +

                                                                                                                                                                    Uploads the file

                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                    file + File + + No + +

                                                                                                                                                                    to be uploaded

                                                                                                                                                                    + +
                                                                                                                                                                    entity + Entity + + No + +
                                                                                                                                                                    property + string + + No + +

                                                                                                                                                                    where the information about the file should be stored

                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + Returns : Observable<any> + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + +
                                                                                                                                                                    + + +
                                                                                                                                                                    +
                                                                                                                                                                    import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                    +import { Observable } from "rxjs";
                                                                                                                                                                    +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                    +import { EntityRegistry } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                    +import { filter } from "rxjs/operators";
                                                                                                                                                                    +import { Logging } from "../../core/logging/logging.service";
                                                                                                                                                                    +import { SafeUrl } from "@angular/platform-browser";
                                                                                                                                                                    +import { FileDatatype } from "./file.datatype";
                                                                                                                                                                    +import { waitForChangeTo } from "../../core/session/session-states/session-utils";
                                                                                                                                                                    +import { SyncState } from "../../core/session/session-states/sync-state.enum";
                                                                                                                                                                    +import { SyncStateSubject } from "../../core/session/session-type";
                                                                                                                                                                    +
                                                                                                                                                                    +/**
                                                                                                                                                                    + * This service allow handles the logic for files/attachments.
                                                                                                                                                                    + * Files can be uploaded, shown and removed.
                                                                                                                                                                    + */
                                                                                                                                                                    +export abstract class FileService {
                                                                                                                                                                    +  protected constructor(
                                                                                                                                                                    +    protected entityMapper: EntityMapperService,
                                                                                                                                                                    +    protected entities: EntityRegistry,
                                                                                                                                                                    +    protected syncState: SyncStateSubject,
                                                                                                                                                                    +  ) {
                                                                                                                                                                    +    // TODO maybe registration is too late (only when component is rendered)
                                                                                                                                                                    +    this.syncState
                                                                                                                                                                    +      // Only start listening to changes once the initial sync has been completed
                                                                                                                                                                    +      .pipe(waitForChangeTo(SyncState.COMPLETED))
                                                                                                                                                                    +      .subscribe(() => this.deleteFilesOfDeletedEntities());
                                                                                                                                                                    +  }
                                                                                                                                                                    +
                                                                                                                                                                    +  private deleteFilesOfDeletedEntities() {
                                                                                                                                                                    +    const entitiesWithFiles = this.getEntitiesWithFileDataType();
                                                                                                                                                                    +    entitiesWithFiles.forEach((entity) => {
                                                                                                                                                                    +      this.entityMapper
                                                                                                                                                                    +        .receiveUpdates(entity)
                                                                                                                                                                    +        .pipe(filter(({ type }) => type === "remove"))
                                                                                                                                                                    +        .subscribe(({ entity, type }) => {
                                                                                                                                                                    +          this.removeAllFiles(entity).subscribe({
                                                                                                                                                                    +            next: () => Logging.debug(`deleted all files of ${entity}`),
                                                                                                                                                                    +            error: (err) =>
                                                                                                                                                                    +              Logging.debug(`no files found for ${entity}: ${err}`),
                                                                                                                                                                    +          });
                                                                                                                                                                    +        });
                                                                                                                                                                    +    });
                                                                                                                                                                    +  }
                                                                                                                                                                    +
                                                                                                                                                                    +  private getEntitiesWithFileDataType() {
                                                                                                                                                                    +    const entitiesWithFiles: EntityConstructor[] = [];
                                                                                                                                                                    +    for (const entity of this.entities.values()) {
                                                                                                                                                                    +      if (
                                                                                                                                                                    +        this.entityHasFileProperty(entity) &&
                                                                                                                                                                    +        !entitiesWithFiles.includes(entity)
                                                                                                                                                                    +      ) {
                                                                                                                                                                    +        entitiesWithFiles.push(entity);
                                                                                                                                                                    +      }
                                                                                                                                                                    +    }
                                                                                                                                                                    +    return entitiesWithFiles;
                                                                                                                                                                    +  }
                                                                                                                                                                    +
                                                                                                                                                                    +  private entityHasFileProperty(entity: EntityConstructor): boolean {
                                                                                                                                                                    +    for (const prop of entity.schema.values()) {
                                                                                                                                                                    +      if (prop.dataType === FileDatatype.dataType) {
                                                                                                                                                                    +        return true;
                                                                                                                                                                    +      }
                                                                                                                                                                    +    }
                                                                                                                                                                    +    return false;
                                                                                                                                                                    +  }
                                                                                                                                                                    +
                                                                                                                                                                    +  /**
                                                                                                                                                                    +   * Removes the file
                                                                                                                                                                    +   * @param entity
                                                                                                                                                                    +   * @param property of the entity which points to a file
                                                                                                                                                                    +   */
                                                                                                                                                                    +  abstract removeFile(entity: Entity, property: string): Observable<any>;
                                                                                                                                                                    +
                                                                                                                                                                    +  /**
                                                                                                                                                                    +   * Removes all files linked with an entity
                                                                                                                                                                    +   * @param entity
                                                                                                                                                                    +   */
                                                                                                                                                                    +  abstract removeAllFiles(entity: Entity): Observable<any>;
                                                                                                                                                                    +
                                                                                                                                                                    +  /**
                                                                                                                                                                    +   * If a file is available, downloads this file and shows it in a new tab.
                                                                                                                                                                    +   * @param entity
                                                                                                                                                                    +   * @param property where a file previously has been uploaded
                                                                                                                                                                    +   */
                                                                                                                                                                    +  abstract showFile(entity: Entity, property: string): void;
                                                                                                                                                                    +
                                                                                                                                                                    +  abstract loadFile(entity: Entity, property: string): Observable<SafeUrl>;
                                                                                                                                                                    +
                                                                                                                                                                    +  /**
                                                                                                                                                                    +   * Uploads the file
                                                                                                                                                                    +   * @param file to be uploaded
                                                                                                                                                                    +   * @param entity
                                                                                                                                                                    +   * @param property where the information about the file should be stored
                                                                                                                                                                    +   */
                                                                                                                                                                    +  abstract uploadFile(
                                                                                                                                                                    +    file: File,
                                                                                                                                                                    +    entity: Entity,
                                                                                                                                                                    +    property: string,
                                                                                                                                                                    +  ): Observable<any>;
                                                                                                                                                                    +}
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    +

                                                                                                                                                                    results matching ""

                                                                                                                                                                    +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +

                                                                                                                                                                      No results matching ""

                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Filter.html b/documentation/classes/Filter.html new file mode 100644 index 0000000000..5137e98a1d --- /dev/null +++ b/documentation/classes/Filter.html @@ -0,0 +1,693 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                      +
                                                                                                                                                                      + + +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                      +
                                                                                                                                                                      +

                                                                                                                                                                      +

                                                                                                                                                                      File

                                                                                                                                                                      +

                                                                                                                                                                      +

                                                                                                                                                                      + src/app/core/filter/filters/filters.ts +

                                                                                                                                                                      + + + + + + +
                                                                                                                                                                      +

                                                                                                                                                                      Index

                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      +
                                                                                                                                                                      Properties
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      Methods
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      +

                                                                                                                                                                      Constructor

                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                      + Protected + constructor(name: string, label: string) +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                      name + string + + No +
                                                                                                                                                                      label + string + + No +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      + +

                                                                                                                                                                      + Properties +

                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + component + + +
                                                                                                                                                                      + Type : Type<any> + +
                                                                                                                                                                      + Default value : ListFilterComponent +
                                                                                                                                                                      + +
                                                                                                                                                                      +

                                                                                                                                                                      The component used to display filter option to the user.

                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + Public + label + + +
                                                                                                                                                                      + Type : string + +
                                                                                                                                                                      + Default value : name +
                                                                                                                                                                      + +
                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + Public + name + + +
                                                                                                                                                                      + Type : string + +
                                                                                                                                                                      + +
                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + selectedOptionChange + + +
                                                                                                                                                                      + Default value : new EventEmitter<string[]>() +
                                                                                                                                                                      + +
                                                                                                                                                                      +

                                                                                                                                                                      Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                                                                                                      +

                                                                                                                                                                      This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + Public + selectedOptionValues + + +
                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                      + +
                                                                                                                                                                      +
                                                                                                                                                                      + +
                                                                                                                                                                      + +

                                                                                                                                                                      + Methods +

                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                      + + + Abstract + getFilter + + +
                                                                                                                                                                      + + getFilter() +
                                                                                                                                                                      + +
                                                                                                                                                                      + +
                                                                                                                                                                      + Returns : DataFilter<T> + +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + +
                                                                                                                                                                      + + +
                                                                                                                                                                      +
                                                                                                                                                                      import { Entity } from "../../entity/model/entity";
                                                                                                                                                                      +import { MongoQuery } from "@casl/ability";
                                                                                                                                                                      +import { ListFilterComponent } from "../list-filter/list-filter.component";
                                                                                                                                                                      +import { EventEmitter, Type } from "@angular/core";
                                                                                                                                                                      +
                                                                                                                                                                      +/**
                                                                                                                                                                      + * This filter can be used to filter an array of entities.
                                                                                                                                                                      + * It has to follow the MongoDB Query Syntax {@link https://www.mongodb.com/docs/manual/reference/operator/query/}.
                                                                                                                                                                      + *
                                                                                                                                                                      + * The filter is parsed using ucast {@link https://github.com/stalniy/ucast/tree/master/packages/mongo2js}
                                                                                                                                                                      + */
                                                                                                                                                                      +export type DataFilter<T> = MongoQuery<T> | {};
                                                                                                                                                                      +
                                                                                                                                                                      +export abstract class Filter<T extends Entity> {
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * The component used to display filter option to the user.
                                                                                                                                                                      +   */
                                                                                                                                                                      +  component: Type<any> = ListFilterComponent;
                                                                                                                                                                      +
                                                                                                                                                                      +  public selectedOptionValues: string[] = [];
                                                                                                                                                                      +
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * Triggered when this filter changes value
                                                                                                                                                                      +   * (e.g. when the user selects a new value in a FilterComponent).
                                                                                                                                                                      +   *
                                                                                                                                                                      +   * This is part of the filter object because dynamic filter components can't expose @Outputs
                                                                                                                                                                      +   */
                                                                                                                                                                      +  selectedOptionChange = new EventEmitter<string[]>();
                                                                                                                                                                      +
                                                                                                                                                                      +  protected constructor(
                                                                                                                                                                      +    public name: string,
                                                                                                                                                                      +    public label: string = name,
                                                                                                                                                                      +  ) {}
                                                                                                                                                                      +
                                                                                                                                                                      +  abstract getFilter(): DataFilter<T>;
                                                                                                                                                                      +}
                                                                                                                                                                      +
                                                                                                                                                                      +/**
                                                                                                                                                                      + * Generic configuration for a filter with different selectable {@link FilterSelectionOption} options.
                                                                                                                                                                      + *
                                                                                                                                                                      + * This is a reusable format for any kind of dropdown or selection component that offers the user a choice
                                                                                                                                                                      + * to narrow down a list of data items.
                                                                                                                                                                      + * As the filter function is provided as part of each {@link FilterSelectionOption}
                                                                                                                                                                      + * an instance of this FilterSelection class can manage all filter selection logic.
                                                                                                                                                                      + */
                                                                                                                                                                      +export class SelectableFilter<T extends Entity> extends Filter<T> {
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * Generate filter options dynamically from the given value to be matched.
                                                                                                                                                                      +   *
                                                                                                                                                                      +   * This is a utility function to make it easier to generate {@link FilterSelectionOption}s for standard cases
                                                                                                                                                                      +   * if you simply want each option to filter items having the given attribute matching different values.
                                                                                                                                                                      +   * If you have more sophisticated filtering needs, use the constructor to set {@link FilterSelectionOption}s that
                                                                                                                                                                      +   * you created yourself.
                                                                                                                                                                      +   *
                                                                                                                                                                      +   * @param valuesToMatchAsOptions An array of values to be matched.
                                                                                                                                                                      +   *        A separate FilterSelectionOption is created for each value with a filter
                                                                                                                                                                      +   *        that is true of a data item's property exactly matches that value.
                                                                                                                                                                      +   * @param attributeName The name of the property of a data item that is compared to the value in the filter function.
                                                                                                                                                                      +   */
                                                                                                                                                                      +  public static generateOptions<T extends Entity>(
                                                                                                                                                                      +    valuesToMatchAsOptions: (string | number)[],
                                                                                                                                                                      +    attributeName: string,
                                                                                                                                                                      +  ): FilterSelectionOption<T>[] {
                                                                                                                                                                      +    return valuesToMatchAsOptions
                                                                                                                                                                      +      .filter((k) => !!k)
                                                                                                                                                                      +      .map((k) => ({
                                                                                                                                                                      +        key: k.toString().toLowerCase(),
                                                                                                                                                                      +        label: k.toString(),
                                                                                                                                                                      +        filter: { [attributeName]: k } as DataFilter<T>,
                                                                                                                                                                      +      }));
                                                                                                                                                                      +  }
                                                                                                                                                                      +
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * Create a FilterSelection with different options to be selected.
                                                                                                                                                                      +   * @param name The name or id describing this filter
                                                                                                                                                                      +   * @param options An array of different filtering variants to chose between
                                                                                                                                                                      +   * @param label The user-friendly label describing this filter-selection
                                                                                                                                                                      +   * (optional, defaults to the name of the selection)
                                                                                                                                                                      +   */
                                                                                                                                                                      +  constructor(
                                                                                                                                                                      +    public name: string,
                                                                                                                                                                      +    public options: FilterSelectionOption<T>[],
                                                                                                                                                                      +    public label: string = name,
                                                                                                                                                                      +  ) {
                                                                                                                                                                      +    super(name, label);
                                                                                                                                                                      +    this.selectedOptionValues = [];
                                                                                                                                                                      +  }
                                                                                                                                                                      +
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * Get the full filter option by its key.
                                                                                                                                                                      +   * @param key The identifier of the requested option
                                                                                                                                                                      +   */
                                                                                                                                                                      +  getOption(key: string): FilterSelectionOption<T> | undefined {
                                                                                                                                                                      +    return this.options.find((option: FilterSelectionOption<T>): boolean => {
                                                                                                                                                                      +      return option.key === key;
                                                                                                                                                                      +    });
                                                                                                                                                                      +  }
                                                                                                                                                                      +
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * Get the filter query for the given option.
                                                                                                                                                                      +   * If the given key is undefined or invalid, the returned filter matches any elements.
                                                                                                                                                                      +   */
                                                                                                                                                                      +  public getFilter(): DataFilter<T> {
                                                                                                                                                                      +    const filters: DataFilter<T>[] = this.selectedOptionValues
                                                                                                                                                                      +      .map((value: string) => this.getOption(value))
                                                                                                                                                                      +      .filter((value: FilterSelectionOption<T>) => value !== undefined)
                                                                                                                                                                      +      .map((previousValue: FilterSelectionOption<T>) => {
                                                                                                                                                                      +        return previousValue.filter as DataFilter<T>;
                                                                                                                                                                      +      });
                                                                                                                                                                      +
                                                                                                                                                                      +    if (filters.length === 0) {
                                                                                                                                                                      +      return {} as DataFilter<T>;
                                                                                                                                                                      +    }
                                                                                                                                                                      +    return {
                                                                                                                                                                      +      $or: [...filters],
                                                                                                                                                                      +    } as unknown as DataFilter<T>;
                                                                                                                                                                      +  }
                                                                                                                                                                      +}
                                                                                                                                                                      +
                                                                                                                                                                      +/**
                                                                                                                                                                      + * Represents one specific option to filter data in a certain way.
                                                                                                                                                                      + * used by {@link SelectableFilter}
                                                                                                                                                                      + */
                                                                                                                                                                      +export interface FilterSelectionOption<T> {
                                                                                                                                                                      +  /** identifier for this option in the parent FilterSelection instance */
                                                                                                                                                                      +  key: string;
                                                                                                                                                                      +
                                                                                                                                                                      +  /** label displayed for this option to the user in the UI */
                                                                                                                                                                      +  label: string;
                                                                                                                                                                      +
                                                                                                                                                                      +  /** Optional color */
                                                                                                                                                                      +  color?: string;
                                                                                                                                                                      +
                                                                                                                                                                      +  /**
                                                                                                                                                                      +   * The filter query which should be used if this filter is selected
                                                                                                                                                                      +   */
                                                                                                                                                                      +  filter: DataFilter<T>;
                                                                                                                                                                      +}
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                      +
                                                                                                                                                                      +

                                                                                                                                                                      results matching ""

                                                                                                                                                                      +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        No results matching ""

                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/HealthCheck.html b/documentation/classes/HealthCheck.html new file mode 100644 index 0000000000..edcd0d2fd4 --- /dev/null +++ b/documentation/classes/HealthCheck.html @@ -0,0 +1,768 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        +

                                                                                                                                                                        File

                                                                                                                                                                        +

                                                                                                                                                                        +

                                                                                                                                                                        + src/app/child-dev-project/children/health-checkup/model/health-check.ts +

                                                                                                                                                                        + + +

                                                                                                                                                                        +

                                                                                                                                                                        Description

                                                                                                                                                                        +

                                                                                                                                                                        +

                                                                                                                                                                        +

                                                                                                                                                                        Model Class for the Health Checks that are taken for a Child. +It stores the Child's ID in a String and both, the height and weight in cm as a number, and the Date

                                                                                                                                                                        + +

                                                                                                                                                                        + + + + +
                                                                                                                                                                        +

                                                                                                                                                                        Index

                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        +
                                                                                                                                                                        Properties
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        Methods
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        Accessors
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        + +

                                                                                                                                                                        + Properties +

                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + + child + + +
                                                                                                                                                                        + Type : string + +
                                                                                                                                                                        + Decorators : +
                                                                                                                                                                        + + @DatabaseField({dataType: 'entity', additional: undefined, entityReferenceRole: 'composite', anonymize: 'retain'})
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + + date + + +
                                                                                                                                                                        + Type : Date + +
                                                                                                                                                                        + Decorators : +
                                                                                                                                                                        + + @DatabaseField({label: undefined, anonymize: 'retain-anonymized', defaultValue: undefined})
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + Static + + hasPII + + +
                                                                                                                                                                        + Default value : true +
                                                                                                                                                                        + +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + + height + + +
                                                                                                                                                                        + Type : number + +
                                                                                                                                                                        + Decorators : +
                                                                                                                                                                        + + @DatabaseField({label: undefined, viewComponent: 'DisplayUnit', additional: 'cm'})
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +

                                                                                                                                                                        height measurement in cm

                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + + weight + + +
                                                                                                                                                                        + Type : number + +
                                                                                                                                                                        + Decorators : +
                                                                                                                                                                        + + @DatabaseField({label: undefined, viewComponent: 'DisplayUnit', additional: 'kg'})
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +

                                                                                                                                                                        weight measurement in kg

                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        + +

                                                                                                                                                                        + Methods +

                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + Static + create + + +
                                                                                                                                                                        + + create(contents: Partial<HealthCheck>) +
                                                                                                                                                                        + +
                                                                                                                                                                        + +
                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                        contents + Partial<HealthCheck> + + No +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + getColor + + +
                                                                                                                                                                        +getColor() +
                                                                                                                                                                        + +
                                                                                                                                                                        + +
                                                                                                                                                                        + Returns : string + +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + + getWarningLevel + + +
                                                                                                                                                                        +getWarningLevel() +
                                                                                                                                                                        + +
                                                                                                                                                                        + +
                                                                                                                                                                        + Returns : WarningLevel + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + +
                                                                                                                                                                        +

                                                                                                                                                                        + Accessors +

                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                        + + bmi +
                                                                                                                                                                        + getbmi() +
                                                                                                                                                                        + +
                                                                                                                                                                        +

                                                                                                                                                                        dynamically calculated BMI value based on the height and weight, rounded to 2 decimal digits

                                                                                                                                                                        +
                                                                                                                                                                        + +
                                                                                                                                                                        + Returns : number + +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + + +
                                                                                                                                                                        +
                                                                                                                                                                        import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                        +import { DatabaseEntity } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                        +import { DatabaseField } from "../../../../core/entity/database-field.decorator";
                                                                                                                                                                        +import { WarningLevel } from "../../../warning-level";
                                                                                                                                                                        +import { Child } from "../../model/child";
                                                                                                                                                                        +import { PLACEHOLDERS } from "../../../../core/entity/schema/entity-schema-field";
                                                                                                                                                                        +
                                                                                                                                                                        +/**
                                                                                                                                                                        + * Model Class for the Health Checks that are taken for a Child.
                                                                                                                                                                        + * It stores the Child's ID in a String and both, the height and weight in cm as a number, and the Date
                                                                                                                                                                        + */
                                                                                                                                                                        +@DatabaseEntity("HealthCheck")
                                                                                                                                                                        +export class HealthCheck extends Entity {
                                                                                                                                                                        +  static override hasPII = true;
                                                                                                                                                                        +
                                                                                                                                                                        +  static create(contents: Partial<HealthCheck>) {
                                                                                                                                                                        +    return Object.assign(new HealthCheck(), contents);
                                                                                                                                                                        +  }
                                                                                                                                                                        +
                                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                                        +    dataType: "entity",
                                                                                                                                                                        +    additional: Child.ENTITY_TYPE,
                                                                                                                                                                        +    entityReferenceRole: "composite",
                                                                                                                                                                        +    anonymize: "retain",
                                                                                                                                                                        +  })
                                                                                                                                                                        +  child: string;
                                                                                                                                                                        +
                                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                                        +    label: $localize`:Label for date of a health check:Date`,
                                                                                                                                                                        +    anonymize: "retain-anonymized",
                                                                                                                                                                        +    defaultValue: {
                                                                                                                                                                        +      mode: "dynamic",
                                                                                                                                                                        +      value: PLACEHOLDERS.NOW,
                                                                                                                                                                        +    },
                                                                                                                                                                        +  })
                                                                                                                                                                        +  date: Date;
                                                                                                                                                                        +
                                                                                                                                                                        +  /** height measurement in cm **/
                                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                                        +    label: $localize`:Label for height in cm of a health check:Height [cm]`,
                                                                                                                                                                        +    viewComponent: "DisplayUnit",
                                                                                                                                                                        +    additional: "cm",
                                                                                                                                                                        +  })
                                                                                                                                                                        +  height: number;
                                                                                                                                                                        +
                                                                                                                                                                        +  /** weight measurement in kg **/
                                                                                                                                                                        +  @DatabaseField({
                                                                                                                                                                        +    label: $localize`:Label for weight in kg of a health check:Weight [kg]`,
                                                                                                                                                                        +    viewComponent: "DisplayUnit",
                                                                                                                                                                        +    additional: "kg",
                                                                                                                                                                        +  })
                                                                                                                                                                        +  weight: number;
                                                                                                                                                                        +
                                                                                                                                                                        +  /**
                                                                                                                                                                        +   * dynamically calculated BMI value based on the height and weight, rounded to 2 decimal digits
                                                                                                                                                                        +   */
                                                                                                                                                                        +  get bmi(): number {
                                                                                                                                                                        +    const bmi = this.weight / ((this.height / 100) * (this.height / 100));
                                                                                                                                                                        +    return Math.round(bmi * 100) / 100;
                                                                                                                                                                        +  }
                                                                                                                                                                        +
                                                                                                                                                                        +  getWarningLevel(): WarningLevel {
                                                                                                                                                                        +    if (this.bmi <= 16 || this.bmi >= 30) {
                                                                                                                                                                        +      return WarningLevel.URGENT;
                                                                                                                                                                        +    } else if (this.bmi >= 18 && this.bmi <= 25) {
                                                                                                                                                                        +      return WarningLevel.OK;
                                                                                                                                                                        +    } else {
                                                                                                                                                                        +      return WarningLevel.WARNING;
                                                                                                                                                                        +    }
                                                                                                                                                                        +  }
                                                                                                                                                                        +
                                                                                                                                                                        +  getColor(): string {
                                                                                                                                                                        +    if (!this.height) {
                                                                                                                                                                        +      return "#DEDEDE";
                                                                                                                                                                        +    } else {
                                                                                                                                                                        +      return super.getColor();
                                                                                                                                                                        +    }
                                                                                                                                                                        +  }
                                                                                                                                                                        +}
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        +
                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                        +
                                                                                                                                                                        +

                                                                                                                                                                        results matching ""

                                                                                                                                                                        +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          No results matching ""

                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/HistoricalEntityData.html b/documentation/classes/HistoricalEntityData.html new file mode 100644 index 0000000000..0b6dfa968a --- /dev/null +++ b/documentation/classes/HistoricalEntityData.html @@ -0,0 +1,408 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          +

                                                                                                                                                                          File

                                                                                                                                                                          +

                                                                                                                                                                          +

                                                                                                                                                                          + src/app/features/historical-data/model/historical-entity-data.ts +

                                                                                                                                                                          + + +

                                                                                                                                                                          +

                                                                                                                                                                          Description

                                                                                                                                                                          +

                                                                                                                                                                          +

                                                                                                                                                                          +

                                                                                                                                                                          A general class that represents data that is collected for a entity over time. +Further attributes can be added through the config.

                                                                                                                                                                          + +

                                                                                                                                                                          + + + + +
                                                                                                                                                                          +

                                                                                                                                                                          Index

                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          Properties
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + +
                                                                                                                                                                          + +

                                                                                                                                                                          + Properties +

                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          + + + + date + + +
                                                                                                                                                                          + Type : Date + +
                                                                                                                                                                          + Decorators : +
                                                                                                                                                                          + + @DatabaseField({label: undefined, defaultValue: undefined, anonymize: 'retain-anonymized'})
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                          + + + Static + + hasPII + + +
                                                                                                                                                                          + Default value : true +
                                                                                                                                                                          + +
                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                          + + + + relatedEntity + + +
                                                                                                                                                                          + Type : string + +
                                                                                                                                                                          + Decorators : +
                                                                                                                                                                          + + @DatabaseField({dataType: 'entity', additional: undefined, entityReferenceRole: 'composite', anonymize: 'retain'})
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + +
                                                                                                                                                                          + + +
                                                                                                                                                                          +
                                                                                                                                                                          import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                          +import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                          +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                          +import { PLACEHOLDERS } from "../../../core/entity/schema/entity-schema-field";
                                                                                                                                                                          +import { Child } from "../../../child-dev-project/children/model/child";
                                                                                                                                                                          +
                                                                                                                                                                          +/**
                                                                                                                                                                          + * A general class that represents data that is collected for a entity over time.
                                                                                                                                                                          + * Further attributes can be added through the config.
                                                                                                                                                                          + */
                                                                                                                                                                          +@DatabaseEntity("HistoricalEntityData")
                                                                                                                                                                          +export class HistoricalEntityData extends Entity {
                                                                                                                                                                          +  static override hasPII = true;
                                                                                                                                                                          +
                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                          +    label: $localize`:Label for date of historical data:Date`,
                                                                                                                                                                          +    defaultValue: {
                                                                                                                                                                          +      mode: "dynamic",
                                                                                                                                                                          +      value: PLACEHOLDERS.NOW,
                                                                                                                                                                          +    },
                                                                                                                                                                          +    anonymize: "retain-anonymized",
                                                                                                                                                                          +  })
                                                                                                                                                                          +  date: Date;
                                                                                                                                                                          +
                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                          +    dataType: "entity",
                                                                                                                                                                          +    additional: Child.ENTITY_TYPE,
                                                                                                                                                                          +    entityReferenceRole: "composite",
                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                          +  })
                                                                                                                                                                          +  relatedEntity: string;
                                                                                                                                                                          +}
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          +
                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                          +
                                                                                                                                                                          +

                                                                                                                                                                          results matching ""

                                                                                                                                                                          +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +

                                                                                                                                                                            No results matching ""

                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ImportMetadata.html b/documentation/classes/ImportMetadata.html new file mode 100644 index 0000000000..d7c490d6c3 --- /dev/null +++ b/documentation/classes/ImportMetadata.html @@ -0,0 +1,534 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            + + +
                                                                                                                                                                            +
                                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            +

                                                                                                                                                                            +

                                                                                                                                                                            File

                                                                                                                                                                            +

                                                                                                                                                                            +

                                                                                                                                                                            + src/app/core/import/import-metadata.ts +

                                                                                                                                                                            + + +

                                                                                                                                                                            +

                                                                                                                                                                            Description

                                                                                                                                                                            +

                                                                                                                                                                            +

                                                                                                                                                                            +

                                                                                                                                                                            Details of a previously executed import of data saved to the database to keep a history.

                                                                                                                                                                            + +

                                                                                                                                                                            + + + + +
                                                                                                                                                                            +

                                                                                                                                                                            Index

                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            Properties
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            Methods
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            Accessors
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            + + +
                                                                                                                                                                            + +

                                                                                                                                                                            + Properties +

                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                            + + + + config + + +
                                                                                                                                                                            + Type : ImportSettings + +
                                                                                                                                                                            + Decorators : +
                                                                                                                                                                            + + @DatabaseField()
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                            + + + + ids + + +
                                                                                                                                                                            + Type : string[] + +
                                                                                                                                                                            + Decorators : +
                                                                                                                                                                            + + @DatabaseField()
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            + +

                                                                                                                                                                            + Methods +

                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                            + + + Static + create + + +
                                                                                                                                                                            + + create(contents: Partial<ImportMetadata>) +
                                                                                                                                                                            + +
                                                                                                                                                                            + +
                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                            contents + Partial<ImportMetadata> + + No +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                            +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + + + + + +
                                                                                                                                                                            +

                                                                                                                                                                            + Accessors +

                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                            + + date +
                                                                                                                                                                            + getdate() +
                                                                                                                                                                            + +
                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                            + + user +
                                                                                                                                                                            + getuser() +
                                                                                                                                                                            + +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + + +
                                                                                                                                                                            +
                                                                                                                                                                            import { DatabaseEntity } from "../entity/database-entity.decorator";
                                                                                                                                                                            +import { Entity } from "../entity/model/entity";
                                                                                                                                                                            +import { DatabaseField } from "../entity/database-field.decorator";
                                                                                                                                                                            +import { ColumnMapping } from "./column-mapping";
                                                                                                                                                                            +import { AdditionalImportAction } from "./import-additional-actions/additional-import-action";
                                                                                                                                                                            +
                                                                                                                                                                            +/**
                                                                                                                                                                            + * Details of a previously executed import of data saved to the database to keep a history.
                                                                                                                                                                            + */
                                                                                                                                                                            +@DatabaseEntity("ImportMetadata")
                                                                                                                                                                            +export class ImportMetadata extends Entity {
                                                                                                                                                                            +  static create(contents: Partial<ImportMetadata>) {
                                                                                                                                                                            +    return Object.assign(new ImportMetadata(), contents);
                                                                                                                                                                            +  }
                                                                                                                                                                            +
                                                                                                                                                                            +  get date(): Date {
                                                                                                                                                                            +    return this.created?.at;
                                                                                                                                                                            +  }
                                                                                                                                                                            +
                                                                                                                                                                            +  get user(): string {
                                                                                                                                                                            +    return this.created?.by;
                                                                                                                                                                            +  }
                                                                                                                                                                            +
                                                                                                                                                                            +  @DatabaseField() config: ImportSettings;
                                                                                                                                                                            +
                                                                                                                                                                            +  @DatabaseField() ids: string[];
                                                                                                                                                                            +}
                                                                                                                                                                            +
                                                                                                                                                                            +/**
                                                                                                                                                                            + * Settings required to execute an import including type and mappings.
                                                                                                                                                                            + */
                                                                                                                                                                            +export interface ImportSettings {
                                                                                                                                                                            +  entityType: string;
                                                                                                                                                                            +  columnMapping: ColumnMapping[];
                                                                                                                                                                            +  additionalActions?: AdditionalImportAction[];
                                                                                                                                                                            +}
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            +
                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                            +
                                                                                                                                                                            +

                                                                                                                                                                            results matching ""

                                                                                                                                                                            +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +

                                                                                                                                                                              No results matching ""

                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              + +
                                                                                                                                                                              +
                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/InvalidFormFieldError.html b/documentation/classes/InvalidFormFieldError.html new file mode 100644 index 0000000000..a22bff542e --- /dev/null +++ b/documentation/classes/InvalidFormFieldError.html @@ -0,0 +1,263 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                              +
                                                                                                                                                                              + + +
                                                                                                                                                                              +
                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                              +
                                                                                                                                                                              +

                                                                                                                                                                              +

                                                                                                                                                                              File

                                                                                                                                                                              +

                                                                                                                                                                              +

                                                                                                                                                                              + src/app/core/common-components/entity-form/invalid-form-field.error.ts +

                                                                                                                                                                              + + +

                                                                                                                                                                              +

                                                                                                                                                                              Description

                                                                                                                                                                              +

                                                                                                                                                                              +

                                                                                                                                                                              +

                                                                                                                                                                              Custom error indicating details of a failed form validation.

                                                                                                                                                                              + +

                                                                                                                                                                              + +

                                                                                                                                                                              +

                                                                                                                                                                              Extends

                                                                                                                                                                              +

                                                                                                                                                                              +

                                                                                                                                                                              + Error +

                                                                                                                                                                              + + + + +
                                                                                                                                                                              +

                                                                                                                                                                              Constructor

                                                                                                                                                                              + + + + + + + + + + +
                                                                                                                                                                              +constructor() +
                                                                                                                                                                              + +
                                                                                                                                                                              +
                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                              + + +
                                                                                                                                                                              +
                                                                                                                                                                              export class InvalidFormFieldError extends Error {
                                                                                                                                                                              +  constructor() {
                                                                                                                                                                              +    super("Invalid form fields");
                                                                                                                                                                              +    Object.setPrototypeOf(this, InvalidFormFieldError.prototype);
                                                                                                                                                                              +  }
                                                                                                                                                                              +}
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              +
                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                              +
                                                                                                                                                                              +

                                                                                                                                                                              results matching ""

                                                                                                                                                                              +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +

                                                                                                                                                                                No results matching ""

                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/LatestEntityLoader.html b/documentation/classes/LatestEntityLoader.html new file mode 100644 index 0000000000..54cbc628d7 --- /dev/null +++ b/documentation/classes/LatestEntityLoader.html @@ -0,0 +1,538 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                +
                                                                                                                                                                                + + +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                                +
                                                                                                                                                                                +

                                                                                                                                                                                +

                                                                                                                                                                                File

                                                                                                                                                                                +

                                                                                                                                                                                +

                                                                                                                                                                                + src/app/core/entity/latest-entity-loader.ts +

                                                                                                                                                                                + + +

                                                                                                                                                                                +

                                                                                                                                                                                Description

                                                                                                                                                                                +

                                                                                                                                                                                +

                                                                                                                                                                                +

                                                                                                                                                                                Implement an Angular Service extending this base class +when you need to work with continuous updates of a specific entity from the database. +(e.g. SiteSettings & SiteSettingsService)

                                                                                                                                                                                + +

                                                                                                                                                                                + + + + +
                                                                                                                                                                                +

                                                                                                                                                                                Index

                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                +
                                                                                                                                                                                Properties
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                Methods
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                +

                                                                                                                                                                                Constructor

                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                + Protected + constructor(entityCtor: EntityConstructor<T>, entityID: string, entityMapper: EntityMapperService) +
                                                                                                                                                                                + +
                                                                                                                                                                                +
                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                entityCtor + EntityConstructor<T> + + No +
                                                                                                                                                                                entityID + string + + No +
                                                                                                                                                                                entityMapper + EntityMapperService + + No +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                + +

                                                                                                                                                                                + Properties +

                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                + + + entityUpdated + + +
                                                                                                                                                                                + Default value : new Subject<T>() +
                                                                                                                                                                                + +
                                                                                                                                                                                +

                                                                                                                                                                                subscribe to this and execute any actions required when the entity changes

                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                + +

                                                                                                                                                                                + Methods +

                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                + + + Async + loadOnce + + +
                                                                                                                                                                                + + loadOnce() +
                                                                                                                                                                                + +
                                                                                                                                                                                +

                                                                                                                                                                                Do an initial load of the entity to be available through the entityUpdated property +(without watching for continuous updates).

                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                + Returns : Promise<T | undefined> + +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                + + + Async + startLoading + + +
                                                                                                                                                                                + + startLoading() +
                                                                                                                                                                                + +
                                                                                                                                                                                +

                                                                                                                                                                                Initialize the loader to make the entity available and emit continuous updates +through the entityUpdated property

                                                                                                                                                                                +
                                                                                                                                                                                + +
                                                                                                                                                                                + Returns : unknown + +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + + +
                                                                                                                                                                                + + +
                                                                                                                                                                                +
                                                                                                                                                                                import { EntityMapperService } from "./entity-mapper/entity-mapper.service";
                                                                                                                                                                                +import { Logging } from "../logging/logging.service";
                                                                                                                                                                                +import { filter } from "rxjs/operators";
                                                                                                                                                                                +import { Entity, EntityConstructor } from "./model/entity";
                                                                                                                                                                                +import { HttpStatusCode } from "@angular/common/http";
                                                                                                                                                                                +import { Subject } from "rxjs";
                                                                                                                                                                                +
                                                                                                                                                                                +/**
                                                                                                                                                                                + * Implement an Angular Service extending this base class
                                                                                                                                                                                + * when you need to work with continuous updates of a specific entity from the database.
                                                                                                                                                                                + * (e.g. SiteSettings & SiteSettingsService)
                                                                                                                                                                                + */
                                                                                                                                                                                +export abstract class LatestEntityLoader<T extends Entity> {
                                                                                                                                                                                +  /** subscribe to this and execute any actions required when the entity changes */
                                                                                                                                                                                +  entityUpdated = new Subject<T>();
                                                                                                                                                                                +
                                                                                                                                                                                +  protected constructor(
                                                                                                                                                                                +    private entityCtor: EntityConstructor<T>,
                                                                                                                                                                                +    private entityID: string,
                                                                                                                                                                                +    protected entityMapper: EntityMapperService,
                                                                                                                                                                                +  ) {}
                                                                                                                                                                                +
                                                                                                                                                                                +  /**
                                                                                                                                                                                +   * Initialize the loader to make the entity available and emit continuous updates
                                                                                                                                                                                +   * through the `entityUpdated` property
                                                                                                                                                                                +   */
                                                                                                                                                                                +  async startLoading() {
                                                                                                                                                                                +    const initialValue = await this.loadOnce();
                                                                                                                                                                                +    this.entityMapper
                                                                                                                                                                                +      .receiveUpdates(this.entityCtor)
                                                                                                                                                                                +      .pipe(filter(({ entity }) => entity.getId(true) === this.entityID))
                                                                                                                                                                                +      .subscribe(({ entity }) => this.entityUpdated.next(entity));
                                                                                                                                                                                +    return initialValue;
                                                                                                                                                                                +  }
                                                                                                                                                                                +
                                                                                                                                                                                +  /**
                                                                                                                                                                                +   * Do an initial load of the entity to be available through the `entityUpdated` property
                                                                                                                                                                                +   * (without watching for continuous updates).
                                                                                                                                                                                +   */
                                                                                                                                                                                +  async loadOnce(): Promise<T | undefined> {
                                                                                                                                                                                +    try {
                                                                                                                                                                                +      const entity = await this.entityMapper.load(
                                                                                                                                                                                +        this.entityCtor,
                                                                                                                                                                                +        this.entityID,
                                                                                                                                                                                +      );
                                                                                                                                                                                +      this.entityUpdated.next(entity);
                                                                                                                                                                                +      return entity;
                                                                                                                                                                                +    } catch (err) {
                                                                                                                                                                                +      if (err?.status !== HttpStatusCode.NotFound) {
                                                                                                                                                                                +        Logging.error(
                                                                                                                                                                                +          `Initial loading of entity "${this.entityCtor.ENTITY_TYPE}:${this.entityID}" failed [Service based on LatestEntityLoader]`,
                                                                                                                                                                                +          err,
                                                                                                                                                                                +        );
                                                                                                                                                                                +      }
                                                                                                                                                                                +      return undefined;
                                                                                                                                                                                +    }
                                                                                                                                                                                +  }
                                                                                                                                                                                +}
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                +
                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                +
                                                                                                                                                                                +

                                                                                                                                                                                results matching ""

                                                                                                                                                                                +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +

                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/LoggingService.html b/documentation/classes/LoggingService.html new file mode 100644 index 0000000000..914d92567c --- /dev/null +++ b/documentation/classes/LoggingService.html @@ -0,0 +1,1381 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +

                                                                                                                                                                                  +

                                                                                                                                                                                  File

                                                                                                                                                                                  +

                                                                                                                                                                                  +

                                                                                                                                                                                  + src/app/core/logging/logging.service.ts +

                                                                                                                                                                                  + + +

                                                                                                                                                                                  +

                                                                                                                                                                                  Description

                                                                                                                                                                                  +

                                                                                                                                                                                  +

                                                                                                                                                                                  +

                                                                                                                                                                                  Centrally managed logging to allow log messages to be filtered by level and even sent to a remote logging service +that allows developers to monitor and analyse problems.

                                                                                                                                                                                  +

                                                                                                                                                                                  Logging to the remote monitoring server is set only for warnings and errors.

                                                                                                                                                                                  +

                                                                                                                                                                                  To allow remote logging, call Sentry.init during bootstrap in your AppModule or somewhere early on during startup.

                                                                                                                                                                                  +

                                                                                                                                                                                  Import the constant Logging to use this from anywhere (without Angular DI).

                                                                                                                                                                                  + +

                                                                                                                                                                                  + + + + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Index

                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  Methods
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + +
                                                                                                                                                                                  + +

                                                                                                                                                                                  + Methods +

                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + addContext + + +
                                                                                                                                                                                  +addContext(key: string, value: any, asTag: boolean) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Update a piece of context information that will be attached to all log messages for easier debugging, +especially in remote logging.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptionalDefault valueDescription
                                                                                                                                                                                  key + string + + No + + +

                                                                                                                                                                                  Identifier of the key-value pair

                                                                                                                                                                                  + +
                                                                                                                                                                                  value + any + + No + + +

                                                                                                                                                                                  Value of the key-value pair

                                                                                                                                                                                  + +
                                                                                                                                                                                  asTag + boolean + + No + + false + +

                                                                                                                                                                                  If this should be added as indexed tag rather than simple context (see https://docs.sentry.io/platforms/javascript/enriching-events/tags/)

                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + Public + debug + + +
                                                                                                                                                                                  + + debug(message: any, ...context: any[]) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Log the message with "debug" level - for very detailed, non-essential information.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                  message + any + + No + +
                                                                                                                                                                                  context + any[] + + No + +

                                                                                                                                                                                  Additional context for debugging

                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + Public + error + + +
                                                                                                                                                                                  + + error(message: any, ...context: any[]) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Log the message with "error" level - for unexpected critical events that cannot be handled and will affect functions.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  message + any + + No +
                                                                                                                                                                                  context + any[] + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + getAngularTracingProviders + + +
                                                                                                                                                                                  +getAngularTracingProviders() +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Get the Angular providers to set up additional logging and tracing, +that should be added to the providers array of the AppModule.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Returns : Provider[] + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + Public + info + + +
                                                                                                                                                                                  + + info(message: any) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Log the message with "info" level - for relevant information that occurs during regular functioning of the app.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  message + any + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + initAngularLogging + + +
                                                                                                                                                                                  +initAngularLogging(loginState: LoginStateSubject, sessionInfo: SessionSubject) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Register any additional logging context integrations that need Angular services.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  loginState + LoginStateSubject + + No +
                                                                                                                                                                                  sessionInfo + SessionSubject + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : () => any + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + initRemoteLogging + + +
                                                                                                                                                                                  +initRemoteLogging(options: Sentry.BrowserOptions) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Initialize the remote logging module with the given options. +If set up this will be used to send errors to a remote endpoint for analysis.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  options + Sentry.BrowserOptions + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + Public + log + + +
                                                                                                                                                                                  + + log(message: any, logLevel: LogLevel, ...context: any[]) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Generic logging of a message.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptionalDefault valueDescription
                                                                                                                                                                                  message + any + + No + + +

                                                                                                                                                                                  Message to be logged

                                                                                                                                                                                  + +
                                                                                                                                                                                  logLevel + LogLevel + + No + + LogLevel.INFO + +

                                                                                                                                                                                  Optional log level - default is "info"

                                                                                                                                                                                  + +
                                                                                                                                                                                  context + any[] + + No + + +

                                                                                                                                                                                  Additional context for debugging

                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + setLoggingContextUser + + +
                                                                                                                                                                                  +setLoggingContextUser(username: string) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Update the username to be attached to all log messages for easier debugging, +especially in remote logging.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  username + string + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  + + + Public + warn + + +
                                                                                                                                                                                  + + warn(message: any, ...context: any[]) +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +

                                                                                                                                                                                  Log the message with "warning" level - for unexpected events that the app can still handle gracefully.

                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                  message + any + + No +
                                                                                                                                                                                  context + any[] + + No +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                  +
                                                                                                                                                                                  + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                  + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  import { LogLevel } from "./log-level";
                                                                                                                                                                                  +import * as Sentry from "@sentry/angular";
                                                                                                                                                                                  +import { environment } from "../../../environments/environment";
                                                                                                                                                                                  +import { APP_INITIALIZER, ErrorHandler, Provider } from "@angular/core";
                                                                                                                                                                                  +import { Router } from "@angular/router";
                                                                                                                                                                                  +import { LoginState } from "../session/session-states/login-state.enum";
                                                                                                                                                                                  +import { LoginStateSubject } from "../session/session-type";
                                                                                                                                                                                  +import { SessionSubject } from "../session/auth/session-info";
                                                                                                                                                                                  +
                                                                                                                                                                                  +/* eslint-disable no-console */
                                                                                                                                                                                  +
                                                                                                                                                                                  +/**
                                                                                                                                                                                  + * Centrally managed logging to allow log messages to be filtered by level and even sent to a remote logging service
                                                                                                                                                                                  + * that allows developers to monitor and analyse problems.
                                                                                                                                                                                  + *
                                                                                                                                                                                  + * Logging to the remote monitoring server is set only for warnings and errors.
                                                                                                                                                                                  + *
                                                                                                                                                                                  + * To allow remote logging, call Sentry.init during bootstrap in your AppModule or somewhere early on during startup.
                                                                                                                                                                                  + *
                                                                                                                                                                                  + * Import the constant `Logging` to use this from anywhere (without Angular DI).
                                                                                                                                                                                  + */
                                                                                                                                                                                  +export class LoggingService {
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Initialize the remote logging module with the given options.
                                                                                                                                                                                  +   * If set up this will be used to send errors to a remote endpoint for analysis.
                                                                                                                                                                                  +   * @param options
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  initRemoteLogging(options: Sentry.BrowserOptions) {
                                                                                                                                                                                  +    if (!options.dsn) {
                                                                                                                                                                                  +      // abort if no target url is set
                                                                                                                                                                                  +      return;
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +
                                                                                                                                                                                  +    const defaultOptions = {
                                                                                                                                                                                  +      release: "ndb-core@" + environment.appVersion,
                                                                                                                                                                                  +      transport: Sentry.makeBrowserOfflineTransport(Sentry.makeFetchTransport),
                                                                                                                                                                                  +      beforeBreadcrumb: enhanceSentryBreadcrumb,
                                                                                                                                                                                  +    };
                                                                                                                                                                                  +    Sentry.init(Object.assign(defaultOptions, options));
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Register any additional logging context integrations that need Angular services.
                                                                                                                                                                                  +   * @param loginState
                                                                                                                                                                                  +   * @param sessionInfo
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  initAngularLogging(
                                                                                                                                                                                  +    loginState: LoginStateSubject,
                                                                                                                                                                                  +    sessionInfo: SessionSubject,
                                                                                                                                                                                  +  ) {
                                                                                                                                                                                  +    return () =>
                                                                                                                                                                                  +      loginState.subscribe((newState) => {
                                                                                                                                                                                  +        if (newState === LoginState.LOGGED_IN) {
                                                                                                                                                                                  +          const username = sessionInfo.value.name;
                                                                                                                                                                                  +          Logging.setLoggingContextUser(username);
                                                                                                                                                                                  +        } else {
                                                                                                                                                                                  +          Logging.setLoggingContextUser(undefined);
                                                                                                                                                                                  +        }
                                                                                                                                                                                  +      });
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Get the Angular providers to set up additional logging and tracing,
                                                                                                                                                                                  +   * that should be added to the providers array of the AppModule.
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  getAngularTracingProviders(): Provider[] {
                                                                                                                                                                                  +    return [
                                                                                                                                                                                  +      /* Sentry setup */
                                                                                                                                                                                  +      {
                                                                                                                                                                                  +        provide: ErrorHandler,
                                                                                                                                                                                  +        useValue: Sentry.createErrorHandler(),
                                                                                                                                                                                  +      },
                                                                                                                                                                                  +      {
                                                                                                                                                                                  +        provide: Sentry.TraceService,
                                                                                                                                                                                  +        deps: [Router],
                                                                                                                                                                                  +      },
                                                                                                                                                                                  +      {
                                                                                                                                                                                  +        provide: APP_INITIALIZER,
                                                                                                                                                                                  +        useFactory: () => () => {},
                                                                                                                                                                                  +        deps: [Sentry.TraceService],
                                                                                                                                                                                  +        multi: true,
                                                                                                                                                                                  +      },
                                                                                                                                                                                  +      {
                                                                                                                                                                                  +        provide: APP_INITIALIZER,
                                                                                                                                                                                  +        useFactory: Logging.initAngularLogging,
                                                                                                                                                                                  +        deps: [LoginStateSubject, SessionSubject],
                                                                                                                                                                                  +        multi: true,
                                                                                                                                                                                  +      },
                                                                                                                                                                                  +    ];
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Update a piece of context information that will be attached to all log messages for easier debugging,
                                                                                                                                                                                  +   * especially in remote logging.
                                                                                                                                                                                  +   * @param key Identifier of the key-value pair
                                                                                                                                                                                  +   * @param value Value of the key-value pair
                                                                                                                                                                                  +   * @param asTag If this should be added as indexed tag rather than simple context (see https://docs.sentry.io/platforms/javascript/enriching-events/tags/)
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  addContext(key: string, value: any, asTag: boolean = false) {
                                                                                                                                                                                  +    if (asTag) {
                                                                                                                                                                                  +      Sentry.setTag(key, value);
                                                                                                                                                                                  +    } else {
                                                                                                                                                                                  +      if (typeof value !== "object") {
                                                                                                                                                                                  +        value = { value: value };
                                                                                                                                                                                  +      }
                                                                                                                                                                                  +      Sentry.getCurrentScope().setContext(key, value);
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Update the username to be attached to all log messages for easier debugging,
                                                                                                                                                                                  +   * especially in remote logging.
                                                                                                                                                                                  +   * @param username
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  setLoggingContextUser(username: string) {
                                                                                                                                                                                  +    Sentry.setUser({ username: username });
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Log the message with "debug" level - for very detailed, non-essential information.
                                                                                                                                                                                  +   * @param message
                                                                                                                                                                                  +   * @param context Additional context for debugging
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  public debug(message: any, ...context: any[]) {
                                                                                                                                                                                  +    this.log(message, LogLevel.DEBUG, ...context);
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Log the message with "info" level - for relevant information that occurs during regular functioning of the app.
                                                                                                                                                                                  +   * @param message
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  public info(message: any) {
                                                                                                                                                                                  +    this.log(message, LogLevel.INFO);
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Log the message with "warning" level - for unexpected events that the app can still handle gracefully.
                                                                                                                                                                                  +   * @param message
                                                                                                                                                                                  +   * @param context
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  public warn(message: any, ...context: any[]) {
                                                                                                                                                                                  +    this.log(message, LogLevel.WARN, ...context);
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Log the message with "error" level - for unexpected critical events that cannot be handled and will affect functions.
                                                                                                                                                                                  +   * @param message
                                                                                                                                                                                  +   * @param context
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  public error(message: any, ...context: any[]) {
                                                                                                                                                                                  +    this.log(message, LogLevel.ERROR, ...context);
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * Generic logging of a message.
                                                                                                                                                                                  +   * @param message Message to be logged
                                                                                                                                                                                  +   * @param logLevel Optional log level - default is "info"
                                                                                                                                                                                  +   * @param context Additional context for debugging
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  public log(
                                                                                                                                                                                  +    message: any,
                                                                                                                                                                                  +    logLevel: LogLevel = LogLevel.INFO,
                                                                                                                                                                                  +    ...context: any[]
                                                                                                                                                                                  +  ) {
                                                                                                                                                                                  +    this.logToConsole(message, logLevel, ...context);
                                                                                                                                                                                  +
                                                                                                                                                                                  +    if (logLevel !== LogLevel.DEBUG && logLevel !== LogLevel.INFO) {
                                                                                                                                                                                  +      this.logToRemoteMonitoring(message, logLevel);
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  private logToConsole(message: any, logLevel: LogLevel, ...context: any[]) {
                                                                                                                                                                                  +    switch (+logLevel) {
                                                                                                                                                                                  +      case LogLevel.DEBUG:
                                                                                                                                                                                  +        console.debug(message, ...context);
                                                                                                                                                                                  +        break;
                                                                                                                                                                                  +      case LogLevel.INFO:
                                                                                                                                                                                  +        console.info(message, ...context);
                                                                                                                                                                                  +        break;
                                                                                                                                                                                  +      case LogLevel.WARN:
                                                                                                                                                                                  +        console.warn(message, ...context);
                                                                                                                                                                                  +        break;
                                                                                                                                                                                  +      case LogLevel.ERROR:
                                                                                                                                                                                  +        console.error(message, ...context);
                                                                                                                                                                                  +        break;
                                                                                                                                                                                  +      default:
                                                                                                                                                                                  +        console.log(message, ...context);
                                                                                                                                                                                  +        break;
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  private logToRemoteMonitoring(message: any, logLevel: LogLevel) {
                                                                                                                                                                                  +    if (logLevel === LogLevel.ERROR) {
                                                                                                                                                                                  +      if (message instanceof Error) {
                                                                                                                                                                                  +        Sentry.captureException(message);
                                                                                                                                                                                  +      } else {
                                                                                                                                                                                  +        Sentry.captureException(
                                                                                                                                                                                  +          new Error(message?.message ?? message?.error ?? message),
                                                                                                                                                                                  +        );
                                                                                                                                                                                  +      }
                                                                                                                                                                                  +    } else {
                                                                                                                                                                                  +      Sentry.captureMessage(message, this.translateLogLevel(logLevel));
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +
                                                                                                                                                                                  +  private translateLogLevel(logLevel: LogLevel): Sentry.SeverityLevel {
                                                                                                                                                                                  +    switch (+logLevel) {
                                                                                                                                                                                  +      case LogLevel.DEBUG:
                                                                                                                                                                                  +        return "debug";
                                                                                                                                                                                  +      case LogLevel.INFO:
                                                                                                                                                                                  +        return "info";
                                                                                                                                                                                  +      case LogLevel.WARN:
                                                                                                                                                                                  +        return "warning";
                                                                                                                                                                                  +      case LogLevel.ERROR:
                                                                                                                                                                                  +        return "error";
                                                                                                                                                                                  +      default:
                                                                                                                                                                                  +        return "info";
                                                                                                                                                                                  +    }
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +}
                                                                                                                                                                                  +
                                                                                                                                                                                  +/**
                                                                                                                                                                                  + * Add more human-readable descriptions to Sentry breadcrumbs for debugging.
                                                                                                                                                                                  + *
                                                                                                                                                                                  + * see https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/
                                                                                                                                                                                  + */
                                                                                                                                                                                  +function enhanceSentryBreadcrumb(
                                                                                                                                                                                  +  breadcrumb: Sentry.Breadcrumb,
                                                                                                                                                                                  +  hint: SentryBreadcrumbHint,
                                                                                                                                                                                  +) {
                                                                                                                                                                                  +  if (breadcrumb.category === "ui.click") {
                                                                                                                                                                                  +    const event = hint.event;
                                                                                                                                                                                  +    const elementText = event.target?.["innerText"] ?? "";
                                                                                                                                                                                  +    breadcrumb.message = elementText + " | " + breadcrumb.message;
                                                                                                                                                                                  +  }
                                                                                                                                                                                  +  return breadcrumb;
                                                                                                                                                                                  +}
                                                                                                                                                                                  +
                                                                                                                                                                                  +/**
                                                                                                                                                                                  + * https://docs.sentry.io/platforms/javascript/configuration/filtering/#hints-for-breadcrumbs
                                                                                                                                                                                  + */
                                                                                                                                                                                  +interface SentryBreadcrumbHint {
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * For breadcrumbs created from browser events, the Sentry SDK often supplies the event to the breadcrumb as a hint.
                                                                                                                                                                                  +   * This can be used to extract data from the target DOM element into a breadcrumb, for example.
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  event?: PointerEvent;
                                                                                                                                                                                  +
                                                                                                                                                                                  +  input?: string[];
                                                                                                                                                                                  +
                                                                                                                                                                                  +  /**
                                                                                                                                                                                  +   * e.g. console output level (warn / log / ...)
                                                                                                                                                                                  +   */
                                                                                                                                                                                  +  level: string;
                                                                                                                                                                                  +
                                                                                                                                                                                  +  response?: Response;
                                                                                                                                                                                  +  request?: any;
                                                                                                                                                                                  +  xhr?: XMLHttpRequest;
                                                                                                                                                                                  +}
                                                                                                                                                                                  +
                                                                                                                                                                                  +export const Logging = new LoggingService();
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  +
                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                  +
                                                                                                                                                                                  +

                                                                                                                                                                                  results matching ""

                                                                                                                                                                                  +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +

                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/MarkedRendererCustom.html b/documentation/classes/MarkedRendererCustom.html new file mode 100644 index 0000000000..8fd4070534 --- /dev/null +++ b/documentation/classes/MarkedRendererCustom.html @@ -0,0 +1,485 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    +

                                                                                                                                                                                    +

                                                                                                                                                                                    File

                                                                                                                                                                                    +

                                                                                                                                                                                    +

                                                                                                                                                                                    + src/app/core/ui/latest-changes/changelog/MarkedRendererCustom.ts +

                                                                                                                                                                                    + + + +

                                                                                                                                                                                    +

                                                                                                                                                                                    Extends

                                                                                                                                                                                    +

                                                                                                                                                                                    +

                                                                                                                                                                                    + MarkedRenderer +

                                                                                                                                                                                    + + + +
                                                                                                                                                                                    +

                                                                                                                                                                                    Index

                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    Methods
                                                                                                                                                                                    +
                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + +
                                                                                                                                                                                    + +

                                                                                                                                                                                    + Methods +

                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                    + + + Public + heading + + +
                                                                                                                                                                                    + + heading(text: string, level: "1" | "2" | "3" | "4" | "5" | "6", raw: string) +
                                                                                                                                                                                    + +
                                                                                                                                                                                    + +
                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                    text + string + + No +
                                                                                                                                                                                    level + "1" | "2" | "3" | "4" | "5" | "6" + + No +
                                                                                                                                                                                    raw + string + + No +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                    + + + Public + list + + +
                                                                                                                                                                                    + + list(body: string, ordered: boolean, start: number) +
                                                                                                                                                                                    + +
                                                                                                                                                                                    + +
                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                    body + string + + No +
                                                                                                                                                                                    ordered + boolean + + No +
                                                                                                                                                                                    start + number + + No +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                    +
                                                                                                                                                                                    + +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                    + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    import { MarkedRenderer } from "ngx-markdown";
                                                                                                                                                                                    +
                                                                                                                                                                                    +export class MarkedRendererCustom extends MarkedRenderer {
                                                                                                                                                                                    +  public heading(
                                                                                                                                                                                    +    text: string,
                                                                                                                                                                                    +    level: 1 | 2 | 3 | 4 | 5 | 6,
                                                                                                                                                                                    +    raw: string,
                                                                                                                                                                                    +  ): string {
                                                                                                                                                                                    +    if (level === 3) {
                                                                                                                                                                                    +      switch (text.toLowerCase()) {
                                                                                                                                                                                    +        case "bug fixes":
                                                                                                                                                                                    +          return `<span class="badge-label background-changelog-bugfix">${text}</span>`;
                                                                                                                                                                                    +        case "features":
                                                                                                                                                                                    +          return `<span class="badge-label background-changelog-feature">${text}</span>`;
                                                                                                                                                                                    +        default:
                                                                                                                                                                                    +          return `<span class="badge-label background-changelog-unknown">${text}</span>`;
                                                                                                                                                                                    +      }
                                                                                                                                                                                    +    } else {
                                                                                                                                                                                    +      return super.heading(text, level, raw);
                                                                                                                                                                                    +    }
                                                                                                                                                                                    +  }
                                                                                                                                                                                    +
                                                                                                                                                                                    +  public list(body: string, ordered: boolean, start: number): string {
                                                                                                                                                                                    +    if (ordered) {
                                                                                                                                                                                    +      return `<ol class="app-list mat-body-1">${body}</ol>`;
                                                                                                                                                                                    +    } else {
                                                                                                                                                                                    +      return `<ul class="app-list mat-body-1">${body}</ul>`;
                                                                                                                                                                                    +    }
                                                                                                                                                                                    +  }
                                                                                                                                                                                    +}
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    +
                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                    +
                                                                                                                                                                                    +

                                                                                                                                                                                    results matching ""

                                                                                                                                                                                    +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/MockEntityMapperService.html b/documentation/classes/MockEntityMapperService.html new file mode 100644 index 0000000000..0cb8dba293 --- /dev/null +++ b/documentation/classes/MockEntityMapperService.html @@ -0,0 +1,1692 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      +

                                                                                                                                                                                      File

                                                                                                                                                                                      +

                                                                                                                                                                                      +

                                                                                                                                                                                      + src/app/core/entity/entity-mapper/mock-entity-mapper-service.ts +

                                                                                                                                                                                      + + +

                                                                                                                                                                                      +

                                                                                                                                                                                      Description

                                                                                                                                                                                      +

                                                                                                                                                                                      +

                                                                                                                                                                                      +

                                                                                                                                                                                      Mocked entity mapper. Can/should only be used whenever some data should be saved +and loaded. This is not to be used to mock database/anything related to the Schema-service.

                                                                                                                                                                                      + +

                                                                                                                                                                                      + +

                                                                                                                                                                                      +

                                                                                                                                                                                      Extends

                                                                                                                                                                                      +

                                                                                                                                                                                      +

                                                                                                                                                                                      + EntityMapperService +

                                                                                                                                                                                      + + + +
                                                                                                                                                                                      +

                                                                                                                                                                                      Index

                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      Methods
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      Constructor

                                                                                                                                                                                      + + + + + + + + + + +
                                                                                                                                                                                      +constructor() +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + +
                                                                                                                                                                                      + +

                                                                                                                                                                                      + Methods +

                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + add + + +
                                                                                                                                                                                      + + add(entity: Entity) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      like save, but synchronous

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                      entity + Entity + + No + +

                                                                                                                                                                                      The entity to add

                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + addAll + + +
                                                                                                                                                                                      + + addAll(entities: Entity[]) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      Add a bunch of entities

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                      entities + Entity[] + + No + +

                                                                                                                                                                                      The entities to add

                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + contains + + +
                                                                                                                                                                                      + + contains(entity: Entity) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      returns whether the given entity is known

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entity + Entity + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : boolean + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + delete + + +
                                                                                                                                                                                      + + delete(entity: Entity) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      like remove but synchronous

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entity + Entity + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + get + + +
                                                                                                                                                                                      + + get(entityType: string, id: string) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      like load but synchronous

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entityType + string + + No +
                                                                                                                                                                                      id + string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Entity + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + getAll + + +
                                                                                                                                                                                      + + getAll(entityType: string) +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      like loadType but synchronous

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entityType + string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : T[] + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + getAllData + + +
                                                                                                                                                                                      + + getAllData() +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +

                                                                                                                                                                                      Get a flat array of all entities in the database overall +for testing and debugging.

                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Returns : {} + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Public + Async + load + + +
                                                                                                                                                                                      + + load(entityType: EntityConstructor<T> | string, id: string) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No +
                                                                                                                                                                                      id + string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Promise<T> + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Async + loadType + + +
                                                                                                                                                                                      + + loadType(entityType: EntityConstructor<T> | string) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Promise<T[]> + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + receiveUpdates + + +
                                                                                                                                                                                      +receiveUpdates(entityType: EntityConstructor<T> | string) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + remove + + +
                                                                                                                                                                                      +remove(entity: T) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entity + T + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Async + save + + +
                                                                                                                                                                                      + + save(entity: T, forceUpdate: boolean) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptionalDefault value
                                                                                                                                                                                      entity + T + + No + +
                                                                                                                                                                                      forceUpdate + boolean + + No + + false +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Async + saveAll + + +
                                                                                                                                                                                      + + saveAll(entities: Entity[]) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entities + Entity[] + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Protected + resolveConstructor + + +
                                                                                                                                                                                      + + resolveConstructor(constructible: EntityConstructor<T> | string) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                        +
                                                                                                                                                                                      • T
                                                                                                                                                                                      • +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      constructible + EntityConstructor<T> | string + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      + + + Protected + setEntityMetadata + + +
                                                                                                                                                                                      + + setEntityMetadata(entity: Entity) +
                                                                                                                                                                                      +
                                                                                                                                                                                      Inherited from EntityMapperService +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + +
                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                      entity + Entity + + No +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                      + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      import { EntityMapperService } from "./entity-mapper.service";
                                                                                                                                                                                      +import { Observable, Subject } from "rxjs";
                                                                                                                                                                                      +import { HttpErrorResponse } from "@angular/common/http";
                                                                                                                                                                                      +import { Entity, EntityConstructor } from "../model/entity";
                                                                                                                                                                                      +import { UpdatedEntity } from "../model/entity-update";
                                                                                                                                                                                      +import { entityRegistry } from "../database-entity.decorator";
                                                                                                                                                                                      +import { TEST_USER } from "../../user/demo-user-generator.service";
                                                                                                                                                                                      +
                                                                                                                                                                                      +export function mockEntityMapper(
                                                                                                                                                                                      +  withData: Entity[] = [],
                                                                                                                                                                                      +): MockEntityMapperService {
                                                                                                                                                                                      +  const ems = new MockEntityMapperService();
                                                                                                                                                                                      +  ems.addAll(withData);
                                                                                                                                                                                      +  return ems;
                                                                                                                                                                                      +}
                                                                                                                                                                                      +
                                                                                                                                                                                      +/**
                                                                                                                                                                                      + * Mocked entity mapper. Can/should only be used whenever some data should be saved
                                                                                                                                                                                      + * and loaded. This is not to be used to mock database/anything related to the Schema-service.
                                                                                                                                                                                      + */
                                                                                                                                                                                      +export class MockEntityMapperService extends EntityMapperService {
                                                                                                                                                                                      +  private data: Map<string, Map<string, Entity>> = new Map();
                                                                                                                                                                                      +  private observables: Map<string, Subject<UpdatedEntity<any>>> = new Map();
                                                                                                                                                                                      +
                                                                                                                                                                                      +  constructor() {
                                                                                                                                                                                      +    super(
                                                                                                                                                                                      +      null,
                                                                                                                                                                                      +      null,
                                                                                                                                                                                      +      { getCurrentUser: () => ({ name: TEST_USER }) } as any,
                                                                                                                                                                                      +      entityRegistry,
                                                                                                                                                                                      +    );
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  private publishUpdates(type: string, update: UpdatedEntity<any>) {
                                                                                                                                                                                      +    const subj = this.observables.get(type);
                                                                                                                                                                                      +    if (subj !== undefined) {
                                                                                                                                                                                      +      subj.next(update);
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * like {@link save}, but synchronous
                                                                                                                                                                                      +   * @param entity The entity to add
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public add(entity: Entity) {
                                                                                                                                                                                      +    const type = entity.getType();
                                                                                                                                                                                      +    if (!this.data.get(type)) {
                                                                                                                                                                                      +      this.data.set(type, new Map());
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +    super.setEntityMetadata(entity);
                                                                                                                                                                                      +    const alreadyExists = this.contains(entity);
                                                                                                                                                                                      +    this.data.get(type).set(entity.getId(), entity);
                                                                                                                                                                                      +    this.publishUpdates(
                                                                                                                                                                                      +      entity.getType(),
                                                                                                                                                                                      +      alreadyExists ? { type: "update", entity } : { type: "new", entity },
                                                                                                                                                                                      +    );
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * returns whether the given entity is known
                                                                                                                                                                                      +   * @param entity
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public contains(entity: Entity): boolean {
                                                                                                                                                                                      +    return (
                                                                                                                                                                                      +      this.data.has(entity.getType()) &&
                                                                                                                                                                                      +      this.data.get(entity.getType()).has(entity.getId())
                                                                                                                                                                                      +    );
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * Add a bunch of entities
                                                                                                                                                                                      +   * @param entities The entities to add
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public addAll(entities: Entity[]) {
                                                                                                                                                                                      +    entities.forEach((e) => this.add(e));
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * like {@link load} but synchronous
                                                                                                                                                                                      +   * @param entityType
                                                                                                                                                                                      +   * @param id
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public get(entityType: string, id: string): Entity {
                                                                                                                                                                                      +    const entityId = Entity.createPrefixedId(entityType, id);
                                                                                                                                                                                      +    const result = this.data.get(entityType)?.get(entityId);
                                                                                                                                                                                      +    if (!result) {
                                                                                                                                                                                      +      throw new HttpErrorResponse({
                                                                                                                                                                                      +        url: "MockEntityMapperService",
                                                                                                                                                                                      +        status: 404,
                                                                                                                                                                                      +        statusText: `${entityType}:${entityId} not found`,
                                                                                                                                                                                      +      });
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +    return result;
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * like {@link loadType} but synchronous
                                                                                                                                                                                      +   * @param entityType
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public getAll<T extends Entity>(entityType: string): T[] {
                                                                                                                                                                                      +    return [...(this.data.get(entityType)?.values() || [])] as T[];
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * like {@link remove} but synchronous
                                                                                                                                                                                      +   * @param entity
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public delete(entity: Entity) {
                                                                                                                                                                                      +    const entities = this.data.get(entity.getType());
                                                                                                                                                                                      +    if (entities) {
                                                                                                                                                                                      +      entities.delete(entity.getId());
                                                                                                                                                                                      +      this.publishUpdates(entity.getType(), { type: "remove", entity });
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  public async load<T extends Entity>(
                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                      +    id: string,
                                                                                                                                                                                      +  ): Promise<T> {
                                                                                                                                                                                      +    const ctor = this.resolveConstructor(entityType);
                                                                                                                                                                                      +    const type = new ctor().getType();
                                                                                                                                                                                      +    return this.get(type, id) as T;
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  async loadType<T extends Entity>(
                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                      +  ): Promise<T[]> {
                                                                                                                                                                                      +    const ctor = this.resolveConstructor(entityType);
                                                                                                                                                                                      +    const type = new ctor().getType();
                                                                                                                                                                                      +    return this.getAll(type);
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  async save<T extends Entity>(
                                                                                                                                                                                      +    entity: T,
                                                                                                                                                                                      +    forceUpdate: boolean = false,
                                                                                                                                                                                      +  ): Promise<any> {
                                                                                                                                                                                      +    this.add(entity);
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  async saveAll(entities: Entity[]): Promise<any> {
                                                                                                                                                                                      +    this.addAll(entities);
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  remove<T extends Entity>(entity: T): Promise<any> {
                                                                                                                                                                                      +    this.delete(entity);
                                                                                                                                                                                      +    return Promise.resolve();
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  receiveUpdates<T extends Entity>(
                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                      +  ): Observable<UpdatedEntity<T>> {
                                                                                                                                                                                      +    let name =
                                                                                                                                                                                      +      typeof entityType === "string" ? entityType : entityType.ENTITY_TYPE;
                                                                                                                                                                                      +    if (!this.observables.has(name)) {
                                                                                                                                                                                      +      this.observables.set(name, new Subject());
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +    return this.observables.get(name);
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +
                                                                                                                                                                                      +  /**
                                                                                                                                                                                      +   * Get a flat array of all entities in the database overall
                                                                                                                                                                                      +   * for testing and debugging.
                                                                                                                                                                                      +   */
                                                                                                                                                                                      +  public getAllData() {
                                                                                                                                                                                      +    const allData: Entity[] = [];
                                                                                                                                                                                      +    for (const type of this.data.values()) {
                                                                                                                                                                                      +      for (const entity of type.values()) {
                                                                                                                                                                                      +        allData.push(entity);
                                                                                                                                                                                      +      }
                                                                                                                                                                                      +    }
                                                                                                                                                                                      +    return allData;
                                                                                                                                                                                      +  }
                                                                                                                                                                                      +}
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      results matching ""

                                                                                                                                                                                      +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +

                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/NotAvailableOfflineError.html b/documentation/classes/NotAvailableOfflineError.html new file mode 100644 index 0000000000..be7e81eb39 --- /dev/null +++ b/documentation/classes/NotAvailableOfflineError.html @@ -0,0 +1,301 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        +

                                                                                                                                                                                        +

                                                                                                                                                                                        File

                                                                                                                                                                                        +

                                                                                                                                                                                        +

                                                                                                                                                                                        + src/app/core/session/not-available-offline.error.ts +

                                                                                                                                                                                        + + +

                                                                                                                                                                                        +

                                                                                                                                                                                        Description

                                                                                                                                                                                        +

                                                                                                                                                                                        +

                                                                                                                                                                                        +

                                                                                                                                                                                        Custom error indicating that some functionality (like file access) is not at the moment because the app is offline +and that feature is not supported in offline mode.

                                                                                                                                                                                        + +

                                                                                                                                                                                        + +

                                                                                                                                                                                        +

                                                                                                                                                                                        Extends

                                                                                                                                                                                        +

                                                                                                                                                                                        +

                                                                                                                                                                                        + Error +

                                                                                                                                                                                        + + + + +
                                                                                                                                                                                        +

                                                                                                                                                                                        Constructor

                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                        +constructor(feature: string) +
                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                        feature + string + + No + +

                                                                                                                                                                                        The functionality that was attempted but is not available offline.

                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                        + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        export class NotAvailableOfflineError extends Error {
                                                                                                                                                                                        +  /**
                                                                                                                                                                                        +   * @param feature The functionality that was attempted but is not available offline.
                                                                                                                                                                                        +   */
                                                                                                                                                                                        +  constructor(feature: string) {
                                                                                                                                                                                        +    super("Functionality not available offline: " + feature);
                                                                                                                                                                                        +  }
                                                                                                                                                                                        +}
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        +

                                                                                                                                                                                        results matching ""

                                                                                                                                                                                        +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Note.html b/documentation/classes/Note.html new file mode 100644 index 0000000000..d7e959375d --- /dev/null +++ b/documentation/classes/Note.html @@ -0,0 +1,2050 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          +

                                                                                                                                                                                          File

                                                                                                                                                                                          +

                                                                                                                                                                                          +

                                                                                                                                                                                          + src/app/child-dev-project/notes/model/note.ts +

                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Index

                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          Properties
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          Methods
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + +
                                                                                                                                                                                          + +

                                                                                                                                                                                          + Properties +

                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + attachment + + +
                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'file'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + authors + + +
                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined, defaultValue: undefined, anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          IDs of users that authored this note

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + category + + +
                                                                                                                                                                                          + Type : InteractionType + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: INTERACTION_TYPE_CONFIG_ID, anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + children + + +
                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined, entityReferenceRole: 'composite', editComponent: 'EditAttendance', anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          IDs of Child entities linked with this note

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + date + + +
                                                                                                                                                                                          + Type : Date + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'date-only', defaultValue: undefined, anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + + hasPII + + +
                                                                                                                                                                                          + Default value : true +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + label + + +
                                                                                                                                                                                          + Default value : $localize`:label for entity:Note` +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + labelPlural + + +
                                                                                                                                                                                          + Default value : $localize`:label (plural) for entity:Notes` +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + relatedEntities + + +
                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined, anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          other records (e.g. a recurring activity, group membership, ...) to which this note is related in some way, +so that notes can be displayed linked to these entities.

                                                                                                                                                                                          +

                                                                                                                                                                                          This property saves ids including their entity type prefix.

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + relatesTo + + +
                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          id referencing a different entity (e.g. a recurring activity) this note is related to

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + schools + + +
                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined, entityReferenceRole: 'composite', anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          related school ids (e.g. to infer participants for event roll calls)

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + subject + + +
                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + text + + +
                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, editComponent: 'EditLongText'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + toStringAttributes + + +
                                                                                                                                                                                          + Type : [] + +
                                                                                                                                                                                          + Default value : ["subject"] +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + + warningLevel + + +
                                                                                                                                                                                          + Type : Ordering.EnumValue + +
                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                          + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: 'warning-levels', anonymize: 'retain'})
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + +

                                                                                                                                                                                          + Methods +

                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + addChild + + +
                                                                                                                                                                                          +addChild(child: Child | string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          adds a new child to this note

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                          child + Child | string + + No + +

                                                                                                                                                                                          The child or the id of the child to add to the notes

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + addSchool + + +
                                                                                                                                                                                          +addSchool(school: School | string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          adds a new school to this note

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                          school + School | string + + No + +

                                                                                                                                                                                          The school or its id to be added to the note

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + copy + + +
                                                                                                                                                                                          +copy() +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Performs a deep copy of the note copying all simple data +(such as the date, author, e.t.c.) as well as copying the +child-array

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + countWithStatus + + +
                                                                                                                                                                                          +countWithStatus(status: AttendanceLogicalStatus) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Counts how many children have the given attendance status. +The status is counted based on the AttendanceLogicalStatus and the AttendanceStatusType.countAs attribute

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                          status + AttendanceLogicalStatus + + No + +

                                                                                                                                                                                          which should be counted

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : number + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          number of children with this status

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + create + + +
                                                                                                                                                                                          + + create(date: Date, subject: string, children: string[]) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDefault value
                                                                                                                                                                                          date + Date + + No + +
                                                                                                                                                                                          subject + string + + No + + "" +
                                                                                                                                                                                          children + string[] + + No + + [] +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : Note + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + getAttendance + + +
                                                                                                                                                                                          +getAttendance(child: string | Child) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Returns the event attendance details for the given child.

                                                                                                                                                                                          +

                                                                                                                                                                                          This method returns a default object that can be used and updated even if no attendance has been recorded yet. +Returns undefined if the child is not added to this event/note instance.

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                          child + string | Child + + No + +

                                                                                                                                                                                          : The child or the id of the child to look for

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : EventAttendance + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Public + getColor + + +
                                                                                                                                                                                          + + getColor() +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Public + getColorForId + + +
                                                                                                                                                                                          + + getColorForId(childId: string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                          childId + string + + No +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : string + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + Static + getPropertyFor + + +
                                                                                                                                                                                          + + getPropertyFor(entityType: string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Returns the name of the Note property where entities of the given entity type are stored

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                          entityType + string + + No +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : "children" | "schools" | "authors" | "relatedEntities" + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + getWarningLevel + + +
                                                                                                                                                                                          +getWarningLevel() +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Returns : WarningLevel + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + hasUnknownAttendances + + +
                                                                                                                                                                                          +hasUnknownAttendances(childId?: string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          Whether the attendance context information available through getAttendance is missing data for some children.

                                                                                                                                                                                          +

                                                                                                                                                                                          While getAttendance will always set and return at least a default value hasUnknownAttendances can be used +to flag events with incomplete data.

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                          childId + string + + Yes +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : boolean + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          + + + removeChild + + +
                                                                                                                                                                                          +removeChild(childId: string) +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +

                                                                                                                                                                                          removes a specific child from this note

                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                          childId + string + + No + +

                                                                                                                                                                                          The id of the child to exclude from the notes

                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                          + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                          +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                          +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                                          +import {
                                                                                                                                                                                          +  INTERACTION_TYPE_CONFIG_ID,
                                                                                                                                                                                          +  InteractionType,
                                                                                                                                                                                          +} from "./interaction-type.interface";
                                                                                                                                                                                          +import {
                                                                                                                                                                                          +  EventAttendance,
                                                                                                                                                                                          +  EventAttendanceMap,
                                                                                                                                                                                          +} from "../../attendance/model/event-attendance";
                                                                                                                                                                                          +import {
                                                                                                                                                                                          +  AttendanceLogicalStatus,
                                                                                                                                                                                          +  NullAttendanceStatusType,
                                                                                                                                                                                          +} from "../../attendance/model/attendance-status";
                                                                                                                                                                                          +import { User } from "../../../core/user/user";
                                                                                                                                                                                          +import { Child } from "../../children/model/child";
                                                                                                                                                                                          +import { getWarningLevelColor, WarningLevel } from "../../warning-level";
                                                                                                                                                                                          +import { School } from "../../schools/model/school";
                                                                                                                                                                                          +import { Ordering } from "../../../core/basic-datatypes/configurable-enum/configurable-enum-ordering";
                                                                                                                                                                                          +import { PLACEHOLDERS } from "../../../core/entity/schema/entity-schema-field";
                                                                                                                                                                                          +
                                                                                                                                                                                          +@DatabaseEntity("Note")
                                                                                                                                                                                          +export class Note extends Entity {
                                                                                                                                                                                          +  static toStringAttributes = ["subject"];
                                                                                                                                                                                          +  static label = $localize`:label for entity:Note`;
                                                                                                                                                                                          +  static labelPlural = $localize`:label (plural) for entity:Notes`;
                                                                                                                                                                                          +  static override hasPII = true;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  static create(
                                                                                                                                                                                          +    date: Date,
                                                                                                                                                                                          +    subject: string = "",
                                                                                                                                                                                          +    children: string[] = [],
                                                                                                                                                                                          +  ): Note {
                                                                                                                                                                                          +    const instance = new Note();
                                                                                                                                                                                          +    instance.date = date;
                                                                                                                                                                                          +    instance.subject = subject;
                                                                                                                                                                                          +    for (const child of children) {
                                                                                                                                                                                          +      instance.addChild(child);
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +    return instance;
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * Returns the name of the Note property where entities of the given entity type are stored
                                                                                                                                                                                          +   * @param entityType
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  static getPropertyFor(entityType: string) {
                                                                                                                                                                                          +    switch (entityType) {
                                                                                                                                                                                          +      case "Child":
                                                                                                                                                                                          +        return "children";
                                                                                                                                                                                          +      case "School":
                                                                                                                                                                                          +        return "schools";
                                                                                                                                                                                          +      case "User":
                                                                                                                                                                                          +        return "authors";
                                                                                                                                                                                          +      default:
                                                                                                                                                                                          +        return "relatedEntities";
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /** IDs of Child entities linked with this note */
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Label for the children of a note:Children`,
                                                                                                                                                                                          +    dataType: "entity",
                                                                                                                                                                                          +    isArray: true,
                                                                                                                                                                                          +    additional: Child.ENTITY_TYPE,
                                                                                                                                                                                          +    entityReferenceRole: "composite",
                                                                                                                                                                                          +    editComponent: "EditAttendance",
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  children: string[] = [];
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * optional additional information about attendance at this event for each of the linked children
                                                                                                                                                                                          +   *
                                                                                                                                                                                          +   * No direct access to change this property. Use the `.getAttendance()` method to have safe access.
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  @DatabaseField({ anonymize: "retain" })
                                                                                                                                                                                          +  private childrenAttendance: EventAttendanceMap = new EventAttendanceMap();
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Label for the date of a note:Date`,
                                                                                                                                                                                          +    dataType: "date-only",
                                                                                                                                                                                          +    defaultValue: {
                                                                                                                                                                                          +      mode: "dynamic",
                                                                                                                                                                                          +      value: PLACEHOLDERS.NOW,
                                                                                                                                                                                          +    },
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  date: Date;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({ label: $localize`:Label for the subject of a note:Subject` })
                                                                                                                                                                                          +  subject: string;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Label for the actual notes of a note:Notes`,
                                                                                                                                                                                          +    editComponent: "EditLongText",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  text: string;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /** IDs of users that authored this note */
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Label for the social worker(s) who created the note:SW`,
                                                                                                                                                                                          +    dataType: "entity",
                                                                                                                                                                                          +    isArray: true,
                                                                                                                                                                                          +    additional: User.ENTITY_TYPE,
                                                                                                                                                                                          +    defaultValue: {
                                                                                                                                                                                          +      mode: "dynamic",
                                                                                                                                                                                          +      value: PLACEHOLDERS.CURRENT_USER,
                                                                                                                                                                                          +    },
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  authors: string[] = [];
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Label for the category of a note:Category`,
                                                                                                                                                                                          +    dataType: "configurable-enum",
                                                                                                                                                                                          +    additional: INTERACTION_TYPE_CONFIG_ID,
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  category: InteractionType;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`Attachment`,
                                                                                                                                                                                          +    dataType: "file",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  attachment: string;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * id referencing a different entity (e.g. a recurring activity) this note is related to
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  relatesTo: string;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * other records (e.g. a recurring activity, group membership, ...) to which this note is related in some way,
                                                                                                                                                                                          +   * so that notes can be displayed linked to these entities.
                                                                                                                                                                                          +   *
                                                                                                                                                                                          +   * This property saves ids including their entity type prefix.
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:label for the related Entities:Related Records`,
                                                                                                                                                                                          +    dataType: "entity",
                                                                                                                                                                                          +    isArray: true,
                                                                                                                                                                                          +    // by default no additional relatedEntities can be linked apart from children and schools, overwrite this in config to display (e.g. additional: "ChildSchoolRelation")
                                                                                                                                                                                          +    additional: undefined,
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  relatedEntities: string[] = [];
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * related school ids (e.g. to infer participants for event roll calls)
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:label for the linked schools:Groups`,
                                                                                                                                                                                          +    dataType: "entity",
                                                                                                                                                                                          +    isArray: true,
                                                                                                                                                                                          +    additional: School.ENTITY_TYPE,
                                                                                                                                                                                          +    entityReferenceRole: "composite",
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  schools: string[] = [];
                                                                                                                                                                                          +
                                                                                                                                                                                          +  @DatabaseField({
                                                                                                                                                                                          +    label: $localize`:Status of a note:Status`,
                                                                                                                                                                                          +    dataType: "configurable-enum",
                                                                                                                                                                                          +    additional: "warning-levels",
                                                                                                                                                                                          +    anonymize: "retain",
                                                                                                                                                                                          +  })
                                                                                                                                                                                          +  warningLevel: Ordering.EnumValue;
                                                                                                                                                                                          +
                                                                                                                                                                                          +  getWarningLevel(): WarningLevel {
                                                                                                                                                                                          +    if (this.warningLevel) {
                                                                                                                                                                                          +      return WarningLevel[this.warningLevel.id];
                                                                                                                                                                                          +    } else {
                                                                                                                                                                                          +      return WarningLevel.NONE;
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  public getColor() {
                                                                                                                                                                                          +    const actualLevel = this.getWarningLevel();
                                                                                                                                                                                          +    if (actualLevel === WarningLevel.OK || actualLevel === WarningLevel.NONE) {
                                                                                                                                                                                          +      return this.category?.color;
                                                                                                                                                                                          +    } else {
                                                                                                                                                                                          +      return super.getColor();
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  public getColorForId(childId: string): string {
                                                                                                                                                                                          +    if (
                                                                                                                                                                                          +      this.category?.isMeeting &&
                                                                                                                                                                                          +      this.childrenAttendance.get(childId)?.status.countAs ===
                                                                                                                                                                                          +        AttendanceLogicalStatus.ABSENT
                                                                                                                                                                                          +    ) {
                                                                                                                                                                                          +      // child is absent, highlight the entry
                                                                                                                                                                                          +      return getWarningLevelColor(WarningLevel.URGENT);
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +    return this.getColor();
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * removes a specific child from this note
                                                                                                                                                                                          +   * @param childId The id of the child to exclude from the notes
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  removeChild(childId: string) {
                                                                                                                                                                                          +    this.children = this.children.filter((c) => c !== childId);
                                                                                                                                                                                          +    this.childrenAttendance.delete(childId);
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * adds a new child to this note
                                                                                                                                                                                          +   * @param child The child or the id of the child to add to the notes
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  addChild(child: Child | string) {
                                                                                                                                                                                          +    const childId = typeof child === "string" ? child : child?.getId();
                                                                                                                                                                                          +    if (!childId || this.children.includes(childId)) {
                                                                                                                                                                                          +      return;
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +
                                                                                                                                                                                          +    this.children = this.children.concat(childId);
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * adds a new school to this note
                                                                                                                                                                                          +   * @param school The school or its id to be added to the note
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  addSchool(school: School | string) {
                                                                                                                                                                                          +    const schoolId = typeof school === "string" ? school : school.getId();
                                                                                                                                                                                          +    if (this.schools.includes(schoolId)) {
                                                                                                                                                                                          +      return;
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +
                                                                                                                                                                                          +    this.schools = this.schools.concat(schoolId);
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * Returns the event attendance details for the given child.
                                                                                                                                                                                          +   *
                                                                                                                                                                                          +   * This method returns a default object that can be used and updated even if no attendance has been recorded yet.
                                                                                                                                                                                          +   * Returns undefined if the child is not added to this event/note instance.
                                                                                                                                                                                          +   *
                                                                                                                                                                                          +   * @param child: The child or the id of the child to look for
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  getAttendance(child: string | Child): EventAttendance {
                                                                                                                                                                                          +    const childId = typeof child === "string" ? child : child.getId();
                                                                                                                                                                                          +    if (!this.children.includes(childId)) {
                                                                                                                                                                                          +      return undefined;
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +
                                                                                                                                                                                          +    let attendance = this.childrenAttendance.get(childId);
                                                                                                                                                                                          +    if (!attendance) {
                                                                                                                                                                                          +      attendance = new EventAttendance();
                                                                                                                                                                                          +      this.childrenAttendance.set(childId, attendance);
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +    if (!(attendance instanceof EventAttendance)) {
                                                                                                                                                                                          +      attendance = Object.assign(new EventAttendance(), attendance);
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +    return attendance;
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * Whether the attendance context information available through `getAttendance` is missing data for some children.
                                                                                                                                                                                          +   *
                                                                                                                                                                                          +   * While getAttendance will always set and return at least a default value `hasUnknownAttendances` can be used
                                                                                                                                                                                          +   * to flag events with incomplete data.
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  hasUnknownAttendances(childId?: string): boolean {
                                                                                                                                                                                          +    if (childId) {
                                                                                                                                                                                          +      return (
                                                                                                                                                                                          +        this.getAttendance(childId).status.id === NullAttendanceStatusType.id
                                                                                                                                                                                          +      );
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +
                                                                                                                                                                                          +    if (this.childrenAttendance.size < this.children.length) {
                                                                                                                                                                                          +      return true;
                                                                                                                                                                                          +    } else {
                                                                                                                                                                                          +      for (const v of this.childrenAttendance.values()) {
                                                                                                                                                                                          +        if (v.status.id === NullAttendanceStatusType.id) {
                                                                                                                                                                                          +          return true;
                                                                                                                                                                                          +        }
                                                                                                                                                                                          +      }
                                                                                                                                                                                          +    }
                                                                                                                                                                                          +    return false;
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * Counts how many children have the given attendance status.
                                                                                                                                                                                          +   * The status is counted based on the AttendanceLogicalStatus and the `AttendanceStatusType.countAs` attribute
                                                                                                                                                                                          +   * @param status which should be counted
                                                                                                                                                                                          +   * @returns number of children with this status
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  countWithStatus(status: AttendanceLogicalStatus): number {
                                                                                                                                                                                          +    const attendanceValues = this.childrenAttendance.values();
                                                                                                                                                                                          +    return [...attendanceValues].filter(
                                                                                                                                                                                          +      (attendance) => attendance.status.countAs === status,
                                                                                                                                                                                          +    ).length;
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +
                                                                                                                                                                                          +  /**
                                                                                                                                                                                          +   * Performs a deep copy of the note copying all simple data
                                                                                                                                                                                          +   * (such as the date, author, e.t.c.) as well as copying the
                                                                                                                                                                                          +   * child-array
                                                                                                                                                                                          +   */
                                                                                                                                                                                          +  copy(): this {
                                                                                                                                                                                          +    const note = super.copy();
                                                                                                                                                                                          +    note.children = [...this.children];
                                                                                                                                                                                          +    note.schools = [...this.schools];
                                                                                                                                                                                          +    note.relatedEntities = [...this.relatedEntities];
                                                                                                                                                                                          +    note.authors = [...this.authors];
                                                                                                                                                                                          +    note.childrenAttendance = new EventAttendanceMap();
                                                                                                                                                                                          +    this.childrenAttendance.forEach((value, key) => {
                                                                                                                                                                                          +      note.childrenAttendance.set(key, value.copy());
                                                                                                                                                                                          +    });
                                                                                                                                                                                          +    return note;
                                                                                                                                                                                          +  }
                                                                                                                                                                                          +}
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          results matching ""

                                                                                                                                                                                          +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +

                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ObservableMatchersImpl.html b/documentation/classes/ObservableMatchersImpl.html new file mode 100644 index 0000000000..a0187e1404 --- /dev/null +++ b/documentation/classes/ObservableMatchersImpl.html @@ -0,0 +1,393 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            +

                                                                                                                                                                                            +

                                                                                                                                                                                            File

                                                                                                                                                                                            +

                                                                                                                                                                                            +

                                                                                                                                                                                            + src/app/utils/test-utils/observable-utils.ts +

                                                                                                                                                                                            + + + + +

                                                                                                                                                                                            +

                                                                                                                                                                                            Implements

                                                                                                                                                                                            +

                                                                                                                                                                                            +

                                                                                                                                                                                            + ObservableMatchers +

                                                                                                                                                                                            + + +
                                                                                                                                                                                            +

                                                                                                                                                                                            Index

                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            Accessors
                                                                                                                                                                                            +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +

                                                                                                                                                                                            Constructor

                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                            +constructor(observable: Observable) +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                            observable + Observable<T> + + No +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                            +

                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                            + + first +
                                                                                                                                                                                            + getfirst() +
                                                                                                                                                                                            + +
                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                            + + inSequence +
                                                                                                                                                                                            + getinSequence() +
                                                                                                                                                                                            + +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            import { firstValueFrom, Observable } from "rxjs";
                                                                                                                                                                                            +import { toArray } from "rxjs/operators";
                                                                                                                                                                                            +
                                                                                                                                                                                            +export interface ObservableMatchers<T> {
                                                                                                                                                                                            +  /**
                                                                                                                                                                                            +   * only check for the first value if an observable
                                                                                                                                                                                            +   * and discard the rest
                                                                                                                                                                                            +   */
                                                                                                                                                                                            +  first: jasmine.AsyncMatchers<T, any>;
                                                                                                                                                                                            +
                                                                                                                                                                                            +  /**
                                                                                                                                                                                            +   * check for all observables in the sequence that they
                                                                                                                                                                                            +   * arrived
                                                                                                                                                                                            +   */
                                                                                                                                                                                            +  inSequence: jasmine.AsyncMatchers<T[], any>;
                                                                                                                                                                                            +}
                                                                                                                                                                                            +
                                                                                                                                                                                            +export function expectObservable<T>(
                                                                                                                                                                                            +  observable: Observable<T>,
                                                                                                                                                                                            +): ObservableMatchers<T> {
                                                                                                                                                                                            +  return new ObservableMatchersImpl(observable);
                                                                                                                                                                                            +}
                                                                                                                                                                                            +
                                                                                                                                                                                            +class ObservableMatchersImpl<T> implements ObservableMatchers<T> {
                                                                                                                                                                                            +  constructor(private observable: Observable<T>) {}
                                                                                                                                                                                            +
                                                                                                                                                                                            +  get first(): jasmine.AsyncMatchers<T, any> {
                                                                                                                                                                                            +    return expectAsync(firstValueFrom(this.observable));
                                                                                                                                                                                            +  }
                                                                                                                                                                                            +
                                                                                                                                                                                            +  get inSequence(): jasmine.AsyncMatchers<T[], any> {
                                                                                                                                                                                            +    return expectAsync(firstValueFrom(this.observable.pipe(toArray())));
                                                                                                                                                                                            +  }
                                                                                                                                                                                            +}
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                            +
                                                                                                                                                                                            +

                                                                                                                                                                                            results matching ""

                                                                                                                                                                                            +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +

                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ObservableQueue.html b/documentation/classes/ObservableQueue.html new file mode 100644 index 0000000000..86fab19311 --- /dev/null +++ b/documentation/classes/ObservableQueue.html @@ -0,0 +1,351 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              +

                                                                                                                                                                                              +

                                                                                                                                                                                              File

                                                                                                                                                                                              +

                                                                                                                                                                                              +

                                                                                                                                                                                              + src/app/features/file/observable-queue/observable-queue.ts +

                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                              +

                                                                                                                                                                                              Index

                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              Methods
                                                                                                                                                                                              +
                                                                                                                                                                                              + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + +
                                                                                                                                                                                              + +

                                                                                                                                                                                              + Methods +

                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                              + + + add + + +
                                                                                                                                                                                              +add(obs: Observable) +
                                                                                                                                                                                              + +
                                                                                                                                                                                              + Type parameters : +
                                                                                                                                                                                                +
                                                                                                                                                                                              • T
                                                                                                                                                                                              • +
                                                                                                                                                                                              +
                                                                                                                                                                                              + +
                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                              obs + Observable<T> + + No +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              + Returns : Observable<T> + +
                                                                                                                                                                                              +
                                                                                                                                                                                              + +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                              + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              import { last, Observable, of } from "rxjs";
                                                                                                                                                                                              +import { catchError, concatMap, shareReplay } from "rxjs/operators";
                                                                                                                                                                                              +
                                                                                                                                                                                              +export class ObservableQueue {
                                                                                                                                                                                              +  private jobQueue: Observable<any> = of(undefined);
                                                                                                                                                                                              +
                                                                                                                                                                                              +  add<T>(obs: Observable<T>): Observable<T> {
                                                                                                                                                                                              +    const newJob = this.jobQueue.pipe(
                                                                                                                                                                                              +      concatMap(() => obs),
                                                                                                                                                                                              +      shareReplay(),
                                                                                                                                                                                              +    );
                                                                                                                                                                                              +    this.jobQueue = newJob.pipe(
                                                                                                                                                                                              +      last(),
                                                                                                                                                                                              +      catchError(() => of(undefined)),
                                                                                                                                                                                              +    );
                                                                                                                                                                                              +    return newJob;
                                                                                                                                                                                              +  }
                                                                                                                                                                                              +}
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              +
                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                              +
                                                                                                                                                                                              +

                                                                                                                                                                                              results matching ""

                                                                                                                                                                                              +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +

                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ProgressDashboardConfig.html b/documentation/classes/ProgressDashboardConfig.html new file mode 100644 index 0000000000..f9772e59e6 --- /dev/null +++ b/documentation/classes/ProgressDashboardConfig.html @@ -0,0 +1,429 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                +

                                                                                                                                                                                                +

                                                                                                                                                                                                File

                                                                                                                                                                                                +

                                                                                                                                                                                                +

                                                                                                                                                                                                + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard-config.ts +

                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                +

                                                                                                                                                                                                Index

                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                Properties
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                Methods
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + +
                                                                                                                                                                                                + +

                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                + + + + parts + + +
                                                                                                                                                                                                + Type : Array<ProgressDashboardPart> + +
                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                + + @DatabaseField({isArray: true})
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                + + + + title + + +
                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                + Default value : $localize`Progress Widget` +
                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                + + @DatabaseField()
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                +
                                                                                                                                                                                                + +
                                                                                                                                                                                                + +

                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                + + + getTotalPercentage + + +
                                                                                                                                                                                                +getTotalPercentage() +
                                                                                                                                                                                                + +
                                                                                                                                                                                                + +
                                                                                                                                                                                                + Returns : number + +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                +import { DatabaseEntity } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                +import { DatabaseField } from "../../../../core/entity/database-field.decorator";
                                                                                                                                                                                                +
                                                                                                                                                                                                +@DatabaseEntity("ProgressDashboardConfig")
                                                                                                                                                                                                +export class ProgressDashboardConfig extends Entity {
                                                                                                                                                                                                +  @DatabaseField() title: string = $localize`Progress Widget`;
                                                                                                                                                                                                +  @DatabaseField({ isArray: true }) parts: Array<ProgressDashboardPart> = [];
                                                                                                                                                                                                +
                                                                                                                                                                                                +  getTotalPercentage() {
                                                                                                                                                                                                +    const currentTotal = this.parts.reduce(
                                                                                                                                                                                                +      (acc, entry) => acc + entry.currentValue,
                                                                                                                                                                                                +      0,
                                                                                                                                                                                                +    );
                                                                                                                                                                                                +    const targetTotal = this.parts.reduce(
                                                                                                                                                                                                +      (acc, entry) => acc + entry.targetValue,
                                                                                                                                                                                                +      0,
                                                                                                                                                                                                +    );
                                                                                                                                                                                                +    return currentTotal / targetTotal;
                                                                                                                                                                                                +  }
                                                                                                                                                                                                +}
                                                                                                                                                                                                +
                                                                                                                                                                                                +export interface ProgressDashboardPart {
                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                +  currentValue: number;
                                                                                                                                                                                                +  targetValue: number;
                                                                                                                                                                                                +}
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                +
                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                +
                                                                                                                                                                                                +

                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/PublicFormConfig.html b/documentation/classes/PublicFormConfig.html new file mode 100644 index 0000000000..795674a2a7 --- /dev/null +++ b/documentation/classes/PublicFormConfig.html @@ -0,0 +1,462 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  +

                                                                                                                                                                                                  File

                                                                                                                                                                                                  +

                                                                                                                                                                                                  +

                                                                                                                                                                                                  + src/app/features/public-form/public-form-config.ts +

                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  Index

                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  Properties
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + +
                                                                                                                                                                                                  + +

                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  + + + + columns + + +
                                                                                                                                                                                                  + Type : string[][] + +
                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                  + + @DatabaseField()
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  + + + + description + + +
                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                  + + @DatabaseField()
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  + + + + entity + + +
                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                  + + @DatabaseField()
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                  + + + + prefilled + + +
                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                  + + @DatabaseField()
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                  + + + + title + + +
                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                  + + @DatabaseField()
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + + + + + + +
                                                                                                                                                                                                  + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  import { Entity } from "../../core/entity/model/entity";
                                                                                                                                                                                                  +import { DatabaseEntity } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                  +import { DatabaseField } from "../../core/entity/database-field.decorator";
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +@DatabaseEntity("PublicFormConfig")
                                                                                                                                                                                                  +export class PublicFormConfig extends Entity {
                                                                                                                                                                                                  +  @DatabaseField() title: string;
                                                                                                                                                                                                  +  @DatabaseField() description: string;
                                                                                                                                                                                                  +  @DatabaseField() entity: string;
                                                                                                                                                                                                  +  @DatabaseField() columns: string[][];
                                                                                                                                                                                                  +  @DatabaseField() prefilled: { [key in string]: any };
                                                                                                                                                                                                  +}
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                  +
                                                                                                                                                                                                  +

                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                  +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/QueryDataSource.html b/documentation/classes/QueryDataSource.html new file mode 100644 index 0000000000..e678b16847 --- /dev/null +++ b/documentation/classes/QueryDataSource.html @@ -0,0 +1,757 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    File

                                                                                                                                                                                                    +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    + src/app/core/database/query-data-source.ts +

                                                                                                                                                                                                    + + +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Description

                                                                                                                                                                                                    +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Implementation of a datasource that directly queries an index on the Database +supporting optional pagination to only load a subset of the data as required by a paginator.

                                                                                                                                                                                                    +

                                                                                                                                                                                                    An instance of QueryDataSource can be created and used as source for a mat-table component.

                                                                                                                                                                                                    +

                                                                                                                                                                                                    also see https://material.angular.io/cdk/table/overview#connecting-the-table-to-a-data-source +and https://medium.com/angular-in-depth/angular-material-pagination-datasource-73080d3457fe

                                                                                                                                                                                                    + +

                                                                                                                                                                                                    + + +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Implements

                                                                                                                                                                                                    +

                                                                                                                                                                                                    +

                                                                                                                                                                                                    + DataSource +

                                                                                                                                                                                                    + + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Index

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Properties
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Methods
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Accessors
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                    +constructor(database: Database, queryName: string) +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                    database + Database + + No +
                                                                                                                                                                                                    queryName + string + + No +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    + + + Public + loading$ + + +
                                                                                                                                                                                                    + Default value : this.loadingSubject.asObservable() +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Indicates whether the datasource is currently loading new data

                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + +

                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    + + + connect + + +
                                                                                                                                                                                                    +connect(collectionViewer: CollectionViewer) +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Connect to the datasource and receive an observable to subscribe to loaded data. +Whenever pagination is changed this will emit new datasets.

                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                    collectionViewer + CollectionViewer + + No + +

                                                                                                                                                                                                    (not necessary)

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + Returns : Observable<T[]> + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    + + + disconnect + + +
                                                                                                                                                                                                    +disconnect(collectionViewer: CollectionViewer) +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    Disconnect and discard open observables for this datasource.

                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                    collectionViewer + CollectionViewer + + No + +

                                                                                                                                                                                                    (not necessary)

                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    + + + Async + loadData + + +
                                                                                                                                                                                                    + + loadData() +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    (re)load data from the database for the given query and (if set) to current pagination values.

                                                                                                                                                                                                    +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    + Accessors +

                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    + + paginator +
                                                                                                                                                                                                    + getpaginator() +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + setpaginator(value: MatPaginator | null) +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + +
                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                    value + MatPaginator | null + + No +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    import { CollectionViewer, DataSource } from "@angular/cdk/collections";
                                                                                                                                                                                                    +import { BehaviorSubject, Observable } from "rxjs";
                                                                                                                                                                                                    +import { MatPaginator } from "@angular/material/paginator";
                                                                                                                                                                                                    +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                    +import { Database } from "./database";
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +/**
                                                                                                                                                                                                    + * Implementation of a datasource that directly queries an index on the {@link Database}
                                                                                                                                                                                                    + * supporting optional pagination to only load a subset of the data as required by a paginator.
                                                                                                                                                                                                    + *
                                                                                                                                                                                                    + * An instance of QueryDataSource can be created and used as source for a mat-table component.
                                                                                                                                                                                                    + *
                                                                                                                                                                                                    + * also see https://material.angular.io/cdk/table/overview#connecting-the-table-to-a-data-source
                                                                                                                                                                                                    + * and https://medium.com/angular-in-depth/angular-material-pagination-datasource-73080d3457fe
                                                                                                                                                                                                    + */
                                                                                                                                                                                                    +export class QueryDataSource<T extends Entity> implements DataSource<T> {
                                                                                                                                                                                                    +  /** internal observable to emit new result data. This is provided to users calling .connect() */
                                                                                                                                                                                                    +  private dataSubject = new BehaviorSubject<T[]>([]);
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  /** internal observable to emit new loading status. This is provided to users through the public .loading$ */
                                                                                                                                                                                                    +  private loadingSubject = new BehaviorSubject<boolean>(false);
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  /** Indicates whether the datasource is currently loading new data */
                                                                                                                                                                                                    +  public loading$ = this.loadingSubject.asObservable();
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  private _paginator: MatPaginator | null;
                                                                                                                                                                                                    +  get paginator(): MatPaginator | null {
                                                                                                                                                                                                    +    return this._paginator;
                                                                                                                                                                                                    +  }
                                                                                                                                                                                                    +  set paginator(value: MatPaginator | null) {
                                                                                                                                                                                                    +    this._paginator = value;
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +    if (this.paginator) {
                                                                                                                                                                                                    +      this.paginator.page.subscribe(() => this.loadData());
                                                                                                                                                                                                    +      this.loadData();
                                                                                                                                                                                                    +    }
                                                                                                                                                                                                    +  }
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                    +    private database: Database,
                                                                                                                                                                                                    +    private queryName: string,
                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                    +   * Connect to the datasource and receive an observable to subscribe to loaded data.
                                                                                                                                                                                                    +   * Whenever pagination is changed this will emit new datasets.
                                                                                                                                                                                                    +   * @param collectionViewer (not necessary)
                                                                                                                                                                                                    +   */
                                                                                                                                                                                                    +  connect(collectionViewer: CollectionViewer): Observable<T[]> {
                                                                                                                                                                                                    +    this.loadData();
                                                                                                                                                                                                    +    return this.dataSubject.asObservable();
                                                                                                                                                                                                    +  }
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                    +   * Disconnect and discard open observables for this datasource.
                                                                                                                                                                                                    +   * @param collectionViewer (not necessary)
                                                                                                                                                                                                    +   */
                                                                                                                                                                                                    +  disconnect(collectionViewer: CollectionViewer): void {
                                                                                                                                                                                                    +    this.dataSubject.complete();
                                                                                                                                                                                                    +    this.loadingSubject.complete();
                                                                                                                                                                                                    +  }
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                    +   * (re)load data from the database for the given query and (if set) to current pagination values.
                                                                                                                                                                                                    +   */
                                                                                                                                                                                                    +  async loadData() {
                                                                                                                                                                                                    +    this.loadingSubject.next(true);
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +    const options: any = {
                                                                                                                                                                                                    +      include_docs: true,
                                                                                                                                                                                                    +    };
                                                                                                                                                                                                    +    if (this.paginator) {
                                                                                                                                                                                                    +      options.limit = this.paginator.pageSize;
                                                                                                                                                                                                    +      options.skip = this.paginator.pageIndex * this.paginator.pageSize;
                                                                                                                                                                                                    +    }
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +    const results = await this.database.query(this.queryName, options);
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +    this.paginator.length = results.total_rows;
                                                                                                                                                                                                    +    this.dataSubject.next(results.rows);
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +    this.loadingSubject.next(false);
                                                                                                                                                                                                    +  }
                                                                                                                                                                                                    +}
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                    +
                                                                                                                                                                                                    +

                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                    +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/RecurringActivity.html b/documentation/classes/RecurringActivity.html new file mode 100644 index 0000000000..fb04f5bb9b --- /dev/null +++ b/documentation/classes/RecurringActivity.html @@ -0,0 +1,1060 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      +

                                                                                                                                                                                                      File

                                                                                                                                                                                                      +

                                                                                                                                                                                                      +

                                                                                                                                                                                                      + src/app/child-dev-project/attendance/model/recurring-activity.ts +

                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      Index

                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      Properties
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      Methods
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + +
                                                                                                                                                                                                      + +

                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + assignedTo + + +
                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      IDs of the users who are responsible for conducting this activity

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + color + + +
                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                      + Default value : "#00838F" +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + excludedParticipants + + +
                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      IDs of children that should be excluded from this activity despite being a group member

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + label + + +
                                                                                                                                                                                                      + Default value : $localize`:label for entity:Recurring Activity` +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + labelPlural + + +
                                                                                                                                                                                                      + Default value : $localize`:label (plural) for entity:Recurring Activities` +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + linkedGroups + + +
                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      IDs of groups (schools, teams) whose (active) members should be included in the activity

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + participants + + +
                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      IDs of children linked to this activity

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + route + + +
                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                      + Default value : "attendance/recurring-activity" +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + title + + +
                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                      + Default value : "" +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, validators: undefined})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      primary name to identify the activity

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + toStringAttributes + + +
                                                                                                                                                                                                      + Type : [] + +
                                                                                                                                                                                                      + Default value : ["title"] +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + + type + + +
                                                                                                                                                                                                      + Type : InteractionType + +
                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                      + + @DatabaseField({label: undefined, dataType: 'configurable-enum', additional: INTERACTION_TYPE_CONFIG_ID})
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      a category to group and filter activities by.

                                                                                                                                                                                                      +

                                                                                                                                                                                                      This is also assigned to individual events' category generated for this activity.

                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + +

                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + create + + +
                                                                                                                                                                                                      + + create(title: string) +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      NameTypeOptionalDefault value
                                                                                                                                                                                                      title + string + + No + + "" +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + Returns : RecurringActivity + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + Static + isActivityEventNote + + +
                                                                                                                                                                                                      + + isActivityEventNote(note: Note) +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      Check whether the given note instance represents an event of a recurring activity

                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                      note + Note + + No +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      + + + isAssignedTo + + +
                                                                                                                                                                                                      +isAssignedTo(username: string) +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                      username + string + + No +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + Returns : boolean + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                      + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                      +import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                      +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                                                      +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                      +import {
                                                                                                                                                                                                      +  INTERACTION_TYPE_CONFIG_ID,
                                                                                                                                                                                                      +  InteractionType,
                                                                                                                                                                                                      +} from "../../notes/model/interaction-type.interface";
                                                                                                                                                                                                      +import { User } from "../../../core/user/user";
                                                                                                                                                                                                      +import { Child } from "../../children/model/child";
                                                                                                                                                                                                      +import { School } from "../../schools/model/school";
                                                                                                                                                                                                      +import { asArray } from "../../../utils/utils";
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +@DatabaseEntity("RecurringActivity")
                                                                                                                                                                                                      +export class RecurringActivity extends Entity {
                                                                                                                                                                                                      +  static toStringAttributes = ["title"];
                                                                                                                                                                                                      +  static label = $localize`:label for entity:Recurring Activity`;
                                                                                                                                                                                                      +  static labelPlural = $localize`:label (plural) for entity:Recurring Activities`;
                                                                                                                                                                                                      +  static color = "#00838F";
                                                                                                                                                                                                      +  static route = "attendance/recurring-activity";
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  static create(title: string = ""): RecurringActivity {
                                                                                                                                                                                                      +    const instance = new RecurringActivity();
                                                                                                                                                                                                      +    instance.title = title;
                                                                                                                                                                                                      +    return instance;
                                                                                                                                                                                                      +  }
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                      +   * Check whether the given note instance represents an event of a recurring activity
                                                                                                                                                                                                      +   * @param note
                                                                                                                                                                                                      +   */
                                                                                                                                                                                                      +  static isActivityEventNote(note: Note) {
                                                                                                                                                                                                      +    return (note?.relatesTo ?? "").startsWith(RecurringActivity.ENTITY_TYPE);
                                                                                                                                                                                                      +  }
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /** primary name to identify the activity */
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for the title of a recurring activity:Title`,
                                                                                                                                                                                                      +    validators: {
                                                                                                                                                                                                      +      required: true,
                                                                                                                                                                                                      +    },
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  title: string = "";
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                      +   * a category to group and filter activities by.
                                                                                                                                                                                                      +   *
                                                                                                                                                                                                      +   * This is also assigned to individual events' category generated for this activity.
                                                                                                                                                                                                      +   */
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for the interaction type of a recurring activity:Type`,
                                                                                                                                                                                                      +    dataType: "configurable-enum",
                                                                                                                                                                                                      +    additional: INTERACTION_TYPE_CONFIG_ID,
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  type: InteractionType;
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /** IDs of children linked to this activity */
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for the participants of a recurring activity:Participants`,
                                                                                                                                                                                                      +    dataType: "entity",
                                                                                                                                                                                                      +    isArray: true,
                                                                                                                                                                                                      +    additional: Child.ENTITY_TYPE,
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  participants: string[] = [];
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /** IDs of groups (schools, teams) whose (active) members should be included in the activity*/
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for the linked schools of a recurring activity:Groups`,
                                                                                                                                                                                                      +    dataType: "entity",
                                                                                                                                                                                                      +    isArray: true,
                                                                                                                                                                                                      +    additional: School.ENTITY_TYPE,
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  linkedGroups: string[] = [];
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /** IDs of children that should be excluded from this activity despite being a group member */
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for excluded participants of a recurring activity:Excluded Participants`,
                                                                                                                                                                                                      +    dataType: "entity",
                                                                                                                                                                                                      +    isArray: true,
                                                                                                                                                                                                      +    additional: Child.ENTITY_TYPE,
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  excludedParticipants: string[] = [];
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  /** IDs of the users who are responsible for conducting this activity */
                                                                                                                                                                                                      +  @DatabaseField({
                                                                                                                                                                                                      +    label: $localize`:Label for the assigned user(s) of a recurring activity:Assigned user(s)`,
                                                                                                                                                                                                      +    dataType: "entity",
                                                                                                                                                                                                      +    isArray: true,
                                                                                                                                                                                                      +    additional: User.ENTITY_TYPE,
                                                                                                                                                                                                      +  })
                                                                                                                                                                                                      +  assignedTo: string[] = [];
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +  isAssignedTo(username: string): boolean {
                                                                                                                                                                                                      +    return !!asArray(this.assignedTo).find((name) => username === name);
                                                                                                                                                                                                      +  }
                                                                                                                                                                                                      +}
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                      +
                                                                                                                                                                                                      +

                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                      +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Registry.html b/documentation/classes/Registry.html new file mode 100644 index 0000000000..3152f55bf3 --- /dev/null +++ b/documentation/classes/Registry.html @@ -0,0 +1,641 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        File

                                                                                                                                                                                                        +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        + src/app/core/config/registry/dynamic-registry.ts +

                                                                                                                                                                                                        + + +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        Description

                                                                                                                                                                                                        +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        A registry is an affordance to register dynamic objects to strings. +It is commonly used to dynamically load entities, views or routes from the config

                                                                                                                                                                                                        +

                                                                                                                                                                                                        A registry cannot be instantiated directly. Instead, you should subclass from the registry +and register it in the AppModule +See EntityRegistry for an example

                                                                                                                                                                                                        + +

                                                                                                                                                                                                        + +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        Extends

                                                                                                                                                                                                        +

                                                                                                                                                                                                        +

                                                                                                                                                                                                        + Map +

                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        Index

                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        Methods
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                        +constructor(beforeAddCheck?: (key?: string,mapping?: T) => void) +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                        beforeAddCheck + function + + Yes +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + +
                                                                                                                                                                                                        + +

                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        + + + Public + add + + +
                                                                                                                                                                                                        + + add(key: string, mapping: T) +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                        key + string + + No +
                                                                                                                                                                                                        mapping + T + + No +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        + + + Public + addAll + + +
                                                                                                                                                                                                        + + addAll(tuples: []) +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                        tuples + [] + + No +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        + + + Public + allowDuplicates + + +
                                                                                                                                                                                                        + + allowDuplicates() +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        Calling this will allow the same keys to be added multiple times without thrown errors. +This is useful for storybook where live-updates re-trigger the decorator while the registry is cached.

                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        + + + Public + get + + +
                                                                                                                                                                                                        + + get(key: string) +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                        key + string + + No +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + Returns : T + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                        + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        export abstract class Registry<T> extends Map<string, T> {
                                                                                                                                                                                                        +  // This controls whether the registry will throw an error when a key is added multiple times
                                                                                                                                                                                                        +  private failOnDuplicate = true;
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +  constructor(private beforeAddCheck?: (key: string, mapping: T) => void) {
                                                                                                                                                                                                        +    super();
                                                                                                                                                                                                        +  }
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +  public add(key: string, mapping: T) {
                                                                                                                                                                                                        +    this.beforeAddCheck?.(key, mapping);
                                                                                                                                                                                                        +    if (this.has(key) && this.failOnDuplicate) {
                                                                                                                                                                                                        +      throw Error(
                                                                                                                                                                                                        +        `${
                                                                                                                                                                                                        +          this.constructor.name
                                                                                                                                                                                                        +        }: Duplicate entity definition: ${key} is already registered with element ${this.get(
                                                                                                                                                                                                        +          key,
                                                                                                                                                                                                        +        )}`,
                                                                                                                                                                                                        +      );
                                                                                                                                                                                                        +    }
                                                                                                                                                                                                        +    this.set(key, mapping);
                                                                                                                                                                                                        +  }
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +  public addAll(tuples: [string, T][]) {
                                                                                                                                                                                                        +    tuples.forEach(([name, value]) => this.add(name, value));
                                                                                                                                                                                                        +  }
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +  public get(key: string): T {
                                                                                                                                                                                                        +    if (!this.has(key)) {
                                                                                                                                                                                                        +      throw Error(
                                                                                                                                                                                                        +        `${this.constructor.name}: Requested item "${key}" is not registered. See dynamic-registry.ts for more details.`,
                                                                                                                                                                                                        +      );
                                                                                                                                                                                                        +      // To register a component, add @DynamicComponent("COMPONENTNAME") to the components .ts-file and implement the onInitFromDynamicConfig method, e.g. onInitFromDynamicConfig(config: any) {}
                                                                                                                                                                                                        +    }
                                                                                                                                                                                                        +    return super.get(key);
                                                                                                                                                                                                        +  }
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                        +   * Calling this will allow the same keys to be added multiple times without thrown errors.
                                                                                                                                                                                                        +   * This is useful for storybook where live-updates re-trigger the decorator while the registry is cached.
                                                                                                                                                                                                        +   */
                                                                                                                                                                                                        +  public allowDuplicates() {
                                                                                                                                                                                                        +    this.failOnDuplicate = false;
                                                                                                                                                                                                        +  }
                                                                                                                                                                                                        +}
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                        +
                                                                                                                                                                                                        +

                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                        +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +

                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                          +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/RemoteLoginNotAvailableError.html b/documentation/classes/RemoteLoginNotAvailableError.html new file mode 100644 index 0000000000..b4dc168135 --- /dev/null +++ b/documentation/classes/RemoteLoginNotAvailableError.html @@ -0,0 +1,263 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          File

                                                                                                                                                                                                          +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          + src/app/core/session/auth/keycloak/remote-login-not-available.error.ts +

                                                                                                                                                                                                          + + +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          Description

                                                                                                                                                                                                          +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          Custom error indicating that Remote Auth Server cannot be reached.

                                                                                                                                                                                                          + +

                                                                                                                                                                                                          + +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          Extends

                                                                                                                                                                                                          +

                                                                                                                                                                                                          +

                                                                                                                                                                                                          + Error +

                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                          +

                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                          + + + + + + + + + + +
                                                                                                                                                                                                          +constructor() +
                                                                                                                                                                                                          + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                          + + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          export class RemoteLoginNotAvailableError extends Error {
                                                                                                                                                                                                          +  constructor() {
                                                                                                                                                                                                          +    super("Remote login currently unavailable.");
                                                                                                                                                                                                          +    Object.setPrototypeOf(this, RemoteLoginNotAvailableError.prototype);
                                                                                                                                                                                                          +  }
                                                                                                                                                                                                          +}
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                          +
                                                                                                                                                                                                          +

                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                          +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ReportConfig.html b/documentation/classes/ReportConfig.html new file mode 100644 index 0000000000..f44080d354 --- /dev/null +++ b/documentation/classes/ReportConfig.html @@ -0,0 +1,481 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            +

                                                                                                                                                                                                            File

                                                                                                                                                                                                            +

                                                                                                                                                                                                            +

                                                                                                                                                                                                            + src/app/features/reporting/report-config.ts +

                                                                                                                                                                                                            + + +

                                                                                                                                                                                                            +

                                                                                                                                                                                                            Description

                                                                                                                                                                                                            +

                                                                                                                                                                                                            +

                                                                                                                                                                                                            +

                                                                                                                                                                                                            A report can be accessed by users to generate aggregated statistics or customized exports calculated from available data. +"read" permission for a ReportConfig entity is also used to control which users can generate the report's results.

                                                                                                                                                                                                            +

                                                                                                                                                                                                            This is the class which is saved to the database. +However, when using this in code, use the ReportEntity instead which provides better type safety.

                                                                                                                                                                                                            + +

                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            Index

                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            Properties
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + +
                                                                                                                                                                                                            + +

                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                            + + + + aggregationDefinitions + + +
                                                                                                                                                                                                            + Type : any[] + +
                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                            + + @DatabaseField()
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            the definitions to calculate the report's aggregations

                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                            + + + + Optional + mode + + +
                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                            + + @DatabaseField()
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            (optional) mode of export. +The ReportEntity holds the restriction on valid report modes. +Default is "reporting"

                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                            + + + + title + + +
                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                            + + @DatabaseField()
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            human-readable title of the report

                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + +
                                                                                                                                                                                                            + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                                                            +import { DatabaseEntity } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                            +import { Aggregation } from "./data-aggregation.service";
                                                                                                                                                                                                            +import { ExportColumnConfig } from "../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                            +import { DatabaseField } from "../../core/entity/database-field.decorator";
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * A report can be accessed by users to generate aggregated statistics or customized exports calculated from available data.
                                                                                                                                                                                                            + * "read" permission for a ReportConfig entity is also used to control which users can generate the report's results.
                                                                                                                                                                                                            + *
                                                                                                                                                                                                            + * This is the class which is saved to the database.
                                                                                                                                                                                                            + * However, when using this in code, use the {@link ReportEntity} instead which provides better type safety.
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +@DatabaseEntity("ReportConfig")
                                                                                                                                                                                                            +class ReportConfig extends Entity {
                                                                                                                                                                                                            +  /** human-readable title of the report */
                                                                                                                                                                                                            +  @DatabaseField() title: string;
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                            +   * (optional) mode of export.
                                                                                                                                                                                                            +   * The {@link ReportEntity} holds the restriction on valid report modes.
                                                                                                                                                                                                            +   * Default is "reporting"
                                                                                                                                                                                                            +   */
                                                                                                                                                                                                            +  @DatabaseField() mode?: string;
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +  /** the definitions to calculate the report's aggregations */
                                                                                                                                                                                                            +  @DatabaseField() aggregationDefinitions: any[] = [];
                                                                                                                                                                                                            +}
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * Union type to enable type safety for report configs.
                                                                                                                                                                                                            + * Use this instead of the {@class ReportConfig}
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +export type ReportEntity = AggregationReport | ExportingReport | SqlReport;
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * This allows the `ReportEntity` to also be used as a constructor or in the `EntityMapper`
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +export const ReportEntity = ReportConfig as EntityConstructor<ReportEntity>;
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * Reports handles by the {@class DataAggregationService}
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +export interface AggregationReport extends ReportConfig {
                                                                                                                                                                                                            +  mode: "reporting";
                                                                                                                                                                                                            +  aggregationDefinitions: Aggregation[];
                                                                                                                                                                                                            +}
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * Reports handles by the {@class DataTransformationService}
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +export interface ExportingReport extends ReportConfig {
                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                            +   * If no mode is set, it will default to 'exporting'
                                                                                                                                                                                                            +   */
                                                                                                                                                                                                            +  mode?: "exporting";
                                                                                                                                                                                                            +  aggregationDefinitions: ExportColumnConfig[];
                                                                                                                                                                                                            +}
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +/**
                                                                                                                                                                                                            + * Reports handles by the {@class SqlReportService}
                                                                                                                                                                                                            + */
                                                                                                                                                                                                            +export interface SqlReport extends ReportConfig {
                                                                                                                                                                                                            +  mode: "sql";
                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                            +   * Array of valid SQL SELECT statements
                                                                                                                                                                                                            +   */
                                                                                                                                                                                                            +  aggregationDefinitions: string[];
                                                                                                                                                                                                            +}
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                            +
                                                                                                                                                                                                            +

                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                            +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/SchemaEmbedDatatype.html b/documentation/classes/SchemaEmbedDatatype.html new file mode 100644 index 0000000000..721b0cfb2d --- /dev/null +++ b/documentation/classes/SchemaEmbedDatatype.html @@ -0,0 +1,1109 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              File

                                                                                                                                                                                                              +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              + src/app/core/basic-datatypes/schema-embed/schema-embed.datatype.ts +

                                                                                                                                                                                                              + + +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Description

                                                                                                                                                                                                              +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Datatype for the EntitySchemaService transforming values of complex objects recursively.

                                                                                                                                                                                                              +

                                                                                                                                                                                                              (De)serialize instances of any class recognizing the normal @DatabaseField() annotations within that referenced class. +This is useful if your Entity type is complex and has properties that are instances of other classes +rather just basic value types like string or number. +You can then annotate some properties of that referenced class so they will be saved to the database while ignoring other properties. +The referenced class instance will be saved embedded into the entity's object and not as an own "stand-alone" entity.

                                                                                                                                                                                                              +

                                                                                                                                                                                                              see the unit tests in entity-schema.service.spec.ts for an example

                                                                                                                                                                                                              +

                                                                                                                                                                                                              implement this as its own datatype for a specific class functioning as "embedded" schema.

                                                                                                                                                                                                              + +

                                                                                                                                                                                                              + +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Extends

                                                                                                                                                                                                              +

                                                                                                                                                                                                              +

                                                                                                                                                                                                              + DefaultDatatype +

                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              Index

                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Properties
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Methods
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                              +constructor(schemaService: EntitySchemaService) +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                              schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + +

                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Abstract + embeddedType + + +
                                                                                                                                                                                                              + Type : EntityConstructor + +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Static + dataType + + +
                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:41 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              Key for this datatype that must be specified in the DatabaseField annotation to use this transformation.

                                                                                                                                                                                                              +

                                                                                                                                                                                                              for example @DatabaseField({dataType: 'foo'}) myField will trigger the datatype implementation with name "foo".

                                                                                                                                                                                                              +

                                                                                                                                                                                                              If you set the name to a TypeScript type, class properties with this type will automatically use +that EntitySchemaDatatype without the need to explicitly state the dataType config in the annotation +(e.g. @DatabaseField() myField: string is triggering the EntitySchemaDatatype with name "string".

                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + editComponent + + +
                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                              + Default value : "EditText" +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:61 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:121 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Static + label + + +
                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                              + Default value : $localize`:datatype-label:any` +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:49 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              The human-readable name for this dataType, used in config UIs.

                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + viewComponent + + +
                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                              + Default value : "DisplayText" +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:60 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                              +

                                                                                                                                                                                                              The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + +

                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                              +transformToDatabaseFormat(value: any) +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:42 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                              value + any + + No +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + transformToObjectFormat + + +
                                                                                                                                                                                                              +transformToObjectFormat(value: any) +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:49 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                              value + any + + No +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Async + anonymize + + +
                                                                                                                                                                                                              + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:137 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                              value + EntityType + + No + +

                                                                                                                                                                                                              The original value to be anonymized

                                                                                                                                                                                                              + +
                                                                                                                                                                                                              schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                              parent + any + + No + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Returns : Promise<any> + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                              +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:129 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                              col + ColumnMapping + + No +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Returns : string + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              + + + Async + importMapFunction + + +
                                                                                                                                                                                                              + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              Defined in DefaultDatatype:103 +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                              val + any + + No + +

                                                                                                                                                                                                              The value from an imported cell to be mapped

                                                                                                                                                                                                              + +
                                                                                                                                                                                                              schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                              The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                              + +
                                                                                                                                                                                                              additional + any + + Yes + +

                                                                                                                                                                                                              config as returned by the configComponent

                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                              + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                              +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                              +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +/**
                                                                                                                                                                                                              + * Datatype for the EntitySchemaService transforming values of complex objects recursively.
                                                                                                                                                                                                              + *
                                                                                                                                                                                                              + * (De)serialize instances of any class recognizing the normal @DatabaseField() annotations within that referenced class.
                                                                                                                                                                                                              + * This is useful if your Entity type is complex and has properties that are instances of other classes
                                                                                                                                                                                                              + * rather just basic value types like string or number.
                                                                                                                                                                                                              + * You can then annotate some properties of that referenced class so they will be saved to the database while ignoring other properties.
                                                                                                                                                                                                              + * The referenced class instance will be saved embedded into the entity's object and not as an own "stand-alone" entity.
                                                                                                                                                                                                              + *
                                                                                                                                                                                                              + * see the unit tests in entity-schema.service.spec.ts for an example
                                                                                                                                                                                                              + *
                                                                                                                                                                                                              + * implement this as its own datatype for a specific class functioning as "embedded" schema.
                                                                                                                                                                                                              + */
                                                                                                                                                                                                              +export abstract class SchemaEmbedDatatype extends DefaultDatatype {
                                                                                                                                                                                                              +  abstract embeddedType: EntityConstructor;
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +  constructor(private schemaService: EntitySchemaService) {
                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                              +  }
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +  transformToDatabaseFormat(value: any) {
                                                                                                                                                                                                              +    return this.schemaService.transformEntityToDatabaseFormat(
                                                                                                                                                                                                              +      value,
                                                                                                                                                                                                              +      this.embeddedType.schema,
                                                                                                                                                                                                              +    );
                                                                                                                                                                                                              +  }
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +  transformToObjectFormat(value: any) {
                                                                                                                                                                                                              +    const instance = new this.embeddedType();
                                                                                                                                                                                                              +    this.schemaService.loadDataIntoEntity(instance, value);
                                                                                                                                                                                                              +    return instance;
                                                                                                                                                                                                              +  }
                                                                                                                                                                                                              +}
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                              +
                                                                                                                                                                                                              +

                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                              +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +

                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/School.html b/documentation/classes/School.html new file mode 100644 index 0000000000..220ac3a024 --- /dev/null +++ b/documentation/classes/School.html @@ -0,0 +1,585 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +

                                                                                                                                                                                                                +

                                                                                                                                                                                                                File

                                                                                                                                                                                                                +

                                                                                                                                                                                                                +

                                                                                                                                                                                                                + src/app/child-dev-project/schools/model/school.ts +

                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                +

                                                                                                                                                                                                                Index

                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                + +

                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + color + + +
                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                + Default value : "#9E9D24" +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + icon + + +
                                                                                                                                                                                                                + Type : IconName + +
                                                                                                                                                                                                                + Default value : "university" +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + label + + +
                                                                                                                                                                                                                + Default value : $localize`:label for entity:School` +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + labelPlural + + +
                                                                                                                                                                                                                + Default value : $localize`:label (plural) for entity:Schools` +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + + name + + +
                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                + Default value : "" +
                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                + + @DatabaseField({label: undefined, validators: undefined})
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + toStringAttributes + + +
                                                                                                                                                                                                                + Type : [] + +
                                                                                                                                                                                                                + Default value : ["name"] +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + +

                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                + + + Static + create + + +
                                                                                                                                                                                                                + + create(params: Partial<School>) +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                params + Partial<School> + + No +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + Returns : School + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                +import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                                                                +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +@DatabaseEntity("School")
                                                                                                                                                                                                                +export class School extends Entity {
                                                                                                                                                                                                                +  static toStringAttributes = ["name"];
                                                                                                                                                                                                                +  static icon: IconName = "university";
                                                                                                                                                                                                                +  static label = $localize`:label for entity:School`;
                                                                                                                                                                                                                +  static labelPlural = $localize`:label (plural) for entity:Schools`;
                                                                                                                                                                                                                +  static color = "#9E9D24";
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +  static create(params: Partial<School>): School {
                                                                                                                                                                                                                +    const school = new School();
                                                                                                                                                                                                                +    Object.assign(school, params);
                                                                                                                                                                                                                +    return school;
                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +  @DatabaseField({
                                                                                                                                                                                                                +    label: $localize`:Label for the name of a school:Name`,
                                                                                                                                                                                                                +    validators: {
                                                                                                                                                                                                                +      required: true,
                                                                                                                                                                                                                +    },
                                                                                                                                                                                                                +  })
                                                                                                                                                                                                                +  name: string = "";
                                                                                                                                                                                                                +}
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                +
                                                                                                                                                                                                                +

                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/SelectableFilter.html b/documentation/classes/SelectableFilter.html new file mode 100644 index 0000000000..ba3544d8ce --- /dev/null +++ b/documentation/classes/SelectableFilter.html @@ -0,0 +1,1017 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  File

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  + src/app/core/filter/filters/filters.ts +

                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Generic configuration for a filter with different selectable FilterSelectionOption options.

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  This is a reusable format for any kind of dropdown or selection component that offers the user a choice +to narrow down a list of data items. +As the filter function is provided as part of each FilterSelectionOption +an instance of this FilterSelection class can manage all filter selection logic.

                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  + Filter +

                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                  +constructor(name: string, options: FilterSelectionOption<T>[], label: string) +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Create a FilterSelection with different options to be selected. +(optional, defaults to the name of the selection)

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                  name + string + + No + +

                                                                                                                                                                                                                  The name or id describing this filter

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  options + FilterSelectionOption<T>[] + + No + +

                                                                                                                                                                                                                  An array of different filtering variants to chose between

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  label + string + + No + +

                                                                                                                                                                                                                  The user-friendly label describing this filter-selection +(optional, defaults to the name of the selection)

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Public + label + + +
                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                  + Default value : name +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:100 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  The user-friendly label describing this filter-selection +(optional, defaults to the name of the selection)
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Public + name + + +
                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:98 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  The name or id describing this filter
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Public + options + + +
                                                                                                                                                                                                                  + Type : FilterSelectionOption<T>[] + +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  An array of different filtering variants to chose between
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + component + + +
                                                                                                                                                                                                                  + Type : Type<any> + +
                                                                                                                                                                                                                  + Default value : ListFilterComponent +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:35 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  The component used to display filter option to the user.

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + selectedOptionChange + + +
                                                                                                                                                                                                                  + Default value : new EventEmitter<string[]>() +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:45 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Triggered when this filter changes value +(e.g. when the user selects a new value in a FilterComponent).

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  This is part of the filter object because dynamic filter components can't expose @Outputs

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Public + selectedOptionValues + + +
                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:37 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Static + generateOptions + + +
                                                                                                                                                                                                                  + + generateOptions(valuesToMatchAsOptions: (string | number)[], attributeName: string) +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                  • T
                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Generate filter options dynamically from the given value to be matched.

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  This is a utility function to make it easier to generate FilterSelectionOptions for standard cases +if you simply want each option to filter items having the given attribute matching different values. +If you have more sophisticated filtering needs, use the constructor to set FilterSelectionOptions that +you created yourself.

                                                                                                                                                                                                                  +Example :
                                                                                                                                                                                                                     A separate FilterSelectionOption is created for each value with a filter
                                                                                                                                                                                                                  +   that is true of a data item's property exactly matches that value.
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                  valuesToMatchAsOptions + (string | number)[] + + No + +

                                                                                                                                                                                                                  An array of values to be matched. +A separate FilterSelectionOption is created for each value with a filter +that is true of a data item's property exactly matches that value.

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  attributeName + string + + No + +

                                                                                                                                                                                                                  The name of the property of a data item that is compared to the value in the filter function.

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + Returns : FilterSelectionOption[] + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + Public + getFilter + + +
                                                                                                                                                                                                                  + + getFilter() +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Inherited from Filter +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Defined in Filter:120 +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Get the filter query for the given option. +If the given key is undefined or invalid, the returned filter matches any elements.

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + Returns : DataFilter<T> + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  + + + getOption + + +
                                                                                                                                                                                                                  +getOption(key: string) +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Get the full filter option by its key.

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                  key + string + + No + +

                                                                                                                                                                                                                  The identifier of the requested option

                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                  +import { MongoQuery } from "@casl/ability";
                                                                                                                                                                                                                  +import { ListFilterComponent } from "../list-filter/list-filter.component";
                                                                                                                                                                                                                  +import { EventEmitter, Type } from "@angular/core";
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                  + * This filter can be used to filter an array of entities.
                                                                                                                                                                                                                  + * It has to follow the MongoDB Query Syntax {@link https://www.mongodb.com/docs/manual/reference/operator/query/}.
                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                  + * The filter is parsed using ucast {@link https://github.com/stalniy/ucast/tree/master/packages/mongo2js}
                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                  +export type DataFilter<T> = MongoQuery<T> | {};
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +export abstract class Filter<T extends Entity> {
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * The component used to display filter option to the user.
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  component: Type<any> = ListFilterComponent;
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  public selectedOptionValues: string[] = [];
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * Triggered when this filter changes value
                                                                                                                                                                                                                  +   * (e.g. when the user selects a new value in a FilterComponent).
                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                  +   * This is part of the filter object because dynamic filter components can't expose @Outputs
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  selectedOptionChange = new EventEmitter<string[]>();
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  protected constructor(
                                                                                                                                                                                                                  +    public name: string,
                                                                                                                                                                                                                  +    public label: string = name,
                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  abstract getFilter(): DataFilter<T>;
                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                  + * Generic configuration for a filter with different selectable {@link FilterSelectionOption} options.
                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                  + * This is a reusable format for any kind of dropdown or selection component that offers the user a choice
                                                                                                                                                                                                                  + * to narrow down a list of data items.
                                                                                                                                                                                                                  + * As the filter function is provided as part of each {@link FilterSelectionOption}
                                                                                                                                                                                                                  + * an instance of this FilterSelection class can manage all filter selection logic.
                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                  +export class SelectableFilter<T extends Entity> extends Filter<T> {
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * Generate filter options dynamically from the given value to be matched.
                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                  +   * This is a utility function to make it easier to generate {@link FilterSelectionOption}s for standard cases
                                                                                                                                                                                                                  +   * if you simply want each option to filter items having the given attribute matching different values.
                                                                                                                                                                                                                  +   * If you have more sophisticated filtering needs, use the constructor to set {@link FilterSelectionOption}s that
                                                                                                                                                                                                                  +   * you created yourself.
                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                  +   * @param valuesToMatchAsOptions An array of values to be matched.
                                                                                                                                                                                                                  +   *        A separate FilterSelectionOption is created for each value with a filter
                                                                                                                                                                                                                  +   *        that is true of a data item's property exactly matches that value.
                                                                                                                                                                                                                  +   * @param attributeName The name of the property of a data item that is compared to the value in the filter function.
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  public static generateOptions<T extends Entity>(
                                                                                                                                                                                                                  +    valuesToMatchAsOptions: (string | number)[],
                                                                                                                                                                                                                  +    attributeName: string,
                                                                                                                                                                                                                  +  ): FilterSelectionOption<T>[] {
                                                                                                                                                                                                                  +    return valuesToMatchAsOptions
                                                                                                                                                                                                                  +      .filter((k) => !!k)
                                                                                                                                                                                                                  +      .map((k) => ({
                                                                                                                                                                                                                  +        key: k.toString().toLowerCase(),
                                                                                                                                                                                                                  +        label: k.toString(),
                                                                                                                                                                                                                  +        filter: { [attributeName]: k } as DataFilter<T>,
                                                                                                                                                                                                                  +      }));
                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * Create a FilterSelection with different options to be selected.
                                                                                                                                                                                                                  +   * @param name The name or id describing this filter
                                                                                                                                                                                                                  +   * @param options An array of different filtering variants to chose between
                                                                                                                                                                                                                  +   * @param label The user-friendly label describing this filter-selection
                                                                                                                                                                                                                  +   * (optional, defaults to the name of the selection)
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                  +    public name: string,
                                                                                                                                                                                                                  +    public options: FilterSelectionOption<T>[],
                                                                                                                                                                                                                  +    public label: string = name,
                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                  +    super(name, label);
                                                                                                                                                                                                                  +    this.selectedOptionValues = [];
                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * Get the full filter option by its key.
                                                                                                                                                                                                                  +   * @param key The identifier of the requested option
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  getOption(key: string): FilterSelectionOption<T> | undefined {
                                                                                                                                                                                                                  +    return this.options.find((option: FilterSelectionOption<T>): boolean => {
                                                                                                                                                                                                                  +      return option.key === key;
                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * Get the filter query for the given option.
                                                                                                                                                                                                                  +   * If the given key is undefined or invalid, the returned filter matches any elements.
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  public getFilter(): DataFilter<T> {
                                                                                                                                                                                                                  +    const filters: DataFilter<T>[] = this.selectedOptionValues
                                                                                                                                                                                                                  +      .map((value: string) => this.getOption(value))
                                                                                                                                                                                                                  +      .filter((value: FilterSelectionOption<T>) => value !== undefined)
                                                                                                                                                                                                                  +      .map((previousValue: FilterSelectionOption<T>) => {
                                                                                                                                                                                                                  +        return previousValue.filter as DataFilter<T>;
                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +    if (filters.length === 0) {
                                                                                                                                                                                                                  +      return {} as DataFilter<T>;
                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                  +    return {
                                                                                                                                                                                                                  +      $or: [...filters],
                                                                                                                                                                                                                  +    } as unknown as DataFilter<T>;
                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                  + * Represents one specific option to filter data in a certain way.
                                                                                                                                                                                                                  + * used by {@link SelectableFilter}
                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                  +export interface FilterSelectionOption<T> {
                                                                                                                                                                                                                  +  /** identifier for this option in the parent FilterSelection instance */
                                                                                                                                                                                                                  +  key: string;
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /** label displayed for this option to the user in the UI */
                                                                                                                                                                                                                  +  label: string;
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /** Optional color */
                                                                                                                                                                                                                  +  color?: string;
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                  +   * The filter query which should be used if this filter is selected
                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                  +  filter: DataFilter<T>;
                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/SiteSettings.html b/documentation/classes/SiteSettings.html new file mode 100644 index 0000000000..8cd4ecf27f --- /dev/null +++ b/documentation/classes/SiteSettings.html @@ -0,0 +1,880 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    File

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    + src/app/core/site-settings/site-settings.ts +

                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Global settings like styling and title to customize an instance of the app. +The settings are applied at runtime.

                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                    + + + + + + + + + + +
                                                                                                                                                                                                                    +constructor() +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + defaultLanguage + + +
                                                                                                                                                                                                                    + Type : ConfigurableEnumValue + +
                                                                                                                                                                                                                    + Default value : availableLocales.values.find( + ({ id }) => id === "en-US", + ) +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined, description: undefined, dataType: 'configurable-enum', additional: LOCALE_ENUM_ID})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + displayLanguageSelect + + +
                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + Static + ENTITY_ID + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Default value : "global" +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + error + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + favicon + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined, dataType: 'file', editComponent: 'EditPhoto', additional: 256})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + font + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + Static + label + + +
                                                                                                                                                                                                                    + Default value : $localize`Site settings` +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + logo + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined, dataType: 'file', editComponent: 'EditPhoto', additional: 300})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + primary + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + secondary + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + + siteName + + +
                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                    + Default value : "Aam Digital - Demo" +
                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                    + + @DatabaseField({label: undefined})
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    + + + Static + create + + +
                                                                                                                                                                                                                    + + create(value: Partial<SiteSettings>) +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                    value + Partial<SiteSettings> + + No +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + Returns : SiteSettings + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                    +import { DatabaseEntity } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                    +import { DatabaseField } from "../entity/database-field.decorator";
                                                                                                                                                                                                                    +import { availableLocales, LOCALE_ENUM_ID } from "../language/languages";
                                                                                                                                                                                                                    +import { ConfigurableEnumValue } from "../basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                    + * Global settings like styling and title to customize an instance of the app.
                                                                                                                                                                                                                    + * The settings are applied at runtime.
                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                    +@DatabaseEntity("SiteSettings")
                                                                                                                                                                                                                    +export class SiteSettings extends Entity {
                                                                                                                                                                                                                    +  static ENTITY_ID = "global";
                                                                                                                                                                                                                    +  static label = $localize`Site settings`;
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  static create(value: Partial<SiteSettings>): SiteSettings {
                                                                                                                                                                                                                    +    return Object.assign(new SiteSettings(), value);
                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({ label: $localize`Site name` }) siteName: string =
                                                                                                                                                                                                                    +    "Aam Digital - Demo";
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({
                                                                                                                                                                                                                    +    label: $localize`Default language`,
                                                                                                                                                                                                                    +    description: $localize`This will only be applied once the app is reloaded`,
                                                                                                                                                                                                                    +    dataType: "configurable-enum",
                                                                                                                                                                                                                    +    additional: LOCALE_ENUM_ID,
                                                                                                                                                                                                                    +  })
                                                                                                                                                                                                                    +  defaultLanguage: ConfigurableEnumValue = availableLocales.values.find(
                                                                                                                                                                                                                    +    ({ id }) => id === "en-US",
                                                                                                                                                                                                                    +  );
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({
                                                                                                                                                                                                                    +    label: $localize`Display language select`,
                                                                                                                                                                                                                    +  })
                                                                                                                                                                                                                    +  displayLanguageSelect: boolean = true;
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({
                                                                                                                                                                                                                    +    label: $localize`Logo`,
                                                                                                                                                                                                                    +    dataType: "file",
                                                                                                                                                                                                                    +    editComponent: "EditPhoto",
                                                                                                                                                                                                                    +    additional: 300,
                                                                                                                                                                                                                    +  })
                                                                                                                                                                                                                    +  logo: string;
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({
                                                                                                                                                                                                                    +    label: $localize`App favicon`,
                                                                                                                                                                                                                    +    dataType: "file",
                                                                                                                                                                                                                    +    editComponent: "EditPhoto",
                                                                                                                                                                                                                    +    additional: 256,
                                                                                                                                                                                                                    +  })
                                                                                                                                                                                                                    +  favicon: string;
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  @DatabaseField({ label: $localize`Primary color` }) primary: string;
                                                                                                                                                                                                                    +  @DatabaseField({ label: $localize`Secondary color` }) secondary: string;
                                                                                                                                                                                                                    +  @DatabaseField({ label: $localize`Error color` }) error: string;
                                                                                                                                                                                                                    +  @DatabaseField({ label: $localize`Text font` }) font: string;
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  constructor() {
                                                                                                                                                                                                                    +    super(SiteSettings.ENTITY_ID);
                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +  toString() {
                                                                                                                                                                                                                    +    return this.getConstructor().label;
                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                    +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/SqsSchema.html b/documentation/classes/SqsSchema.html new file mode 100644 index 0000000000..be5fc15d91 --- /dev/null +++ b/documentation/classes/SqsSchema.html @@ -0,0 +1,543 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      File

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      + src/app/features/reporting/sql-report/sqs-schema.ts +

                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      SQS schema object. +For more information, see the SQS docs.

                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                      + + + + + + + + + + +
                                                                                                                                                                                                                      +constructor() +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      + + + + language + + +
                                                                                                                                                                                                                      + Default value : "sqlite" +
                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                      + + @DatabaseField()
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      + + + + sql + + +
                                                                                                                                                                                                                      + Type : literal type + +
                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                      + + @DatabaseField()
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      + + + Static + SQS_SCHEMA_ID + + +
                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                      + Default value : "config" +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      + + + Static + create + + +
                                                                                                                                                                                                                      + + create(tables: SqlTables) +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                      tables + SqlTables + + No +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + Returns : SqsSchema + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                      +import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                      +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                      + * SQS schema object.
                                                                                                                                                                                                                      + * For more information, see the SQS docs.
                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                      +@DatabaseEntity("_design/sqlite")
                                                                                                                                                                                                                      +export class SqsSchema extends Entity {
                                                                                                                                                                                                                      +  static SQS_SCHEMA_ID = "config";
                                                                                                                                                                                                                      +  static create(tables: SqlTables) {
                                                                                                                                                                                                                      +    const schema = new SqsSchema();
                                                                                                                                                                                                                      +    schema.sql = {
                                                                                                                                                                                                                      +      tables,
                                                                                                                                                                                                                      +      options: {
                                                                                                                                                                                                                      +        table_name: {
                                                                                                                                                                                                                      +          operation: "prefix",
                                                                                                                                                                                                                      +          field: "_id",
                                                                                                                                                                                                                      +          separator: ":",
                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                      +    return schema;
                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                      +  constructor() {
                                                                                                                                                                                                                      +    super(SqsSchema.SQS_SCHEMA_ID);
                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +  @DatabaseField() language: "sqlite" = "sqlite";
                                                                                                                                                                                                                      +  @DatabaseField() sql: {
                                                                                                                                                                                                                      +    // SQL table definitions
                                                                                                                                                                                                                      +    tables: SqlTables;
                                                                                                                                                                                                                      +    // Optional SQL indices
                                                                                                                                                                                                                      +    indexes?: string[];
                                                                                                                                                                                                                      +    // Further options
                                                                                                                                                                                                                      +    options?: SqlOptions;
                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +export type SqlTables = {
                                                                                                                                                                                                                      +  // Name of the entity
                                                                                                                                                                                                                      +  [table: string]: {
                                                                                                                                                                                                                      +    // Name of the entity attribute and the type of it
                                                                                                                                                                                                                      +    [column: string]: SqlType | { field: string; type: SqlType };
                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                      +};
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +export type SqlType = "TEXT" | "INTEGER" | "REAL";
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +export type SqlOptions = {
                                                                                                                                                                                                                      +  table_name: {
                                                                                                                                                                                                                      +    operation: "prefix";
                                                                                                                                                                                                                      +    field: string;
                                                                                                                                                                                                                      +    separator: string;
                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                      +};
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                      +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/TimeInterval.html b/documentation/classes/TimeInterval.html new file mode 100644 index 0000000000..79736e86ad --- /dev/null +++ b/documentation/classes/TimeInterval.html @@ -0,0 +1,414 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        File

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        + src/app/features/todos/recurring-interval/time-interval.ts +

                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        A simple time interval representation for repetitions or offsets.

                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        + + + amount + + +
                                                                                                                                                                                                                        + Type : number + +
                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        amount of the unit to be offset

                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        + + + Static + DATA_TYPE + + +
                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                        + Default value : "time-interval" +
                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                        + + + unit + + +
                                                                                                                                                                                                                        + Type : unitOfTime.Base + +
                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        unit (e.g. days, weeks) to be offset

                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        import { unitOfTime } from "moment";
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                        + * A simple time interval representation for repetitions or offsets.
                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                        +export class TimeInterval {
                                                                                                                                                                                                                        +  static DATA_TYPE = "time-interval";
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +  /** amount of the unit to be offset */
                                                                                                                                                                                                                        +  amount: number;
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +  /** unit (e.g. days, weeks) to be offset */
                                                                                                                                                                                                                        +  unit: unitOfTime.Base;
                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +export function generateLabelFromInterval(interval: TimeInterval) {
                                                                                                                                                                                                                        +  return (
                                                                                                                                                                                                                        +    " " +
                                                                                                                                                                                                                        +    $localize`:custom interval select option| e.g. every 2 weeks:every ${
                                                                                                                                                                                                                        +      interval.amount
                                                                                                                                                                                                                        +    } ${timeunitLabelMap.get(interval.unit)}`
                                                                                                                                                                                                                        +  );
                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +export const timeUnitsPrimary: { unit: unitOfTime.Base; label: string }[] = [
                                                                                                                                                                                                                        +  { unit: "days", label: $localize`:time unit:days` },
                                                                                                                                                                                                                        +  { unit: "weeks", label: $localize`:time unit:weeks` },
                                                                                                                                                                                                                        +  { unit: "months", label: $localize`:time unit:months` },
                                                                                                                                                                                                                        +  { unit: "years", label: $localize`:time unit:years` },
                                                                                                                                                                                                                        +];
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +const timeunitLabelMap: Map<unitOfTime.Base, string> = new Map([
                                                                                                                                                                                                                        +  ...timeUnitsPrimary.map(
                                                                                                                                                                                                                        +    (e) => [e.unit, e.label] as [unitOfTime.Base, string],
                                                                                                                                                                                                                        +  ),
                                                                                                                                                                                                                        +  // alternative spellings
                                                                                                                                                                                                                        +  ["year", $localize`:time unit:years`],
                                                                                                                                                                                                                        +  ["y", $localize`:time unit:years`],
                                                                                                                                                                                                                        +  ["month", $localize`:time unit:months`],
                                                                                                                                                                                                                        +  ["m", $localize`:time unit:months`],
                                                                                                                                                                                                                        +  ["week", $localize`:time unit:weeks`],
                                                                                                                                                                                                                        +  ["w", $localize`:time unit:weeks`],
                                                                                                                                                                                                                        +  ["day", $localize`:time unit:days`],
                                                                                                                                                                                                                        +  ["d", $localize`:time unit:days`],
                                                                                                                                                                                                                        +]);
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                        +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/TimeIntervalDatatype.html b/documentation/classes/TimeIntervalDatatype.html new file mode 100644 index 0000000000..6180f81123 --- /dev/null +++ b/documentation/classes/TimeIntervalDatatype.html @@ -0,0 +1,1060 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          File

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          + src/app/features/todos/recurring-interval/time-interval.datatype.ts +

                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Datatype for defining a time interval.

                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          + DefaultDatatype +

                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + Static + + dataType + + +
                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                          + Default value : "time-interval" +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:7 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + editComponent + + +
                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                          + Default value : "EditRecurringInterval" +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:11 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + Static + + label + + +
                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                          + Default value : $localize`:datatype-label:time interval` +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:8 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + viewComponent + + +
                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                          + Default value : "DisplayRecurringInterval" +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:10 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + Async + anonymize + + +
                                                                                                                                                                                                                          + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                          value + EntityType + + No + +

                                                                                                                                                                                                                          The original value to be anonymized

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                          parent + any + + No + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                          +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                          col + ColumnMapping + + No +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + Returns : string + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + Async + importMapFunction + + +
                                                                                                                                                                                                                          + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                          val + any + + No + +

                                                                                                                                                                                                                          The value from an imported cell to be mapped

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                          The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          additional + any + + Yes + +

                                                                                                                                                                                                                          config as returned by the configComponent

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                          +transformToDatabaseFormat(value: EntityType, schemaField?: EntitySchemaField, parent?: Entity) +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:72 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Transformation function taking a value in the format that is used in entity instances and returning the value +in the format used in database objects.

                                                                                                                                                                                                                          +Example :
                                                                                                                                                                                                                               This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                          value + EntityType + + No + +

                                                                                                                                                                                                                          The value (in Entity format) to be transformed

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          schemaField + EntitySchemaField + + Yes + +

                                                                                                                                                                                                                          The EntitySchemaField configuration providing details of how the value should be transformed. +This can be set as a parameter to the @DatabaseField() annotation in Entity classes.

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          parent + Entity + + Yes + +

                                                                                                                                                                                                                          The full entity instance this value is part of (e.g. to allow cross-related transformations)

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + Returns : DBType + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          + + + transformToObjectFormat + + +
                                                                                                                                                                                                                          +transformToObjectFormat(value: DBType, schemaField?: EntitySchemaField, parent?: any) +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Defined in DefaultDatatype:89 +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Transformation function taking a value in the format that is used in database objects and returning the value +in the format used in entity instances.

                                                                                                                                                                                                                          +Example :
                                                                                                                                                                                                                               This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                          value + DBType + + No + +

                                                                                                                                                                                                                          The value (in database format) to be transformed

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          schemaField + EntitySchemaField + + Yes + +

                                                                                                                                                                                                                          The EntitySchemaField configuration providing details of how the value should be transformed. +This can be set as a parameter to the @DatabaseField() annotation in Entity classes.

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          parent + any + + Yes + +

                                                                                                                                                                                                                          The full entity instance this value is part of (e.g. to allow cross-related transformations)

                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + Returns : EntityType + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          import { DefaultDatatype } from "../../../core/entity/default-datatype/default.datatype";
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                          + * Datatype for defining a time interval.
                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                          +export class TimeIntervalDatatype extends DefaultDatatype {
                                                                                                                                                                                                                          +  static override dataType = "time-interval";
                                                                                                                                                                                                                          +  static override label: string = $localize`:datatype-label:time interval`;
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +  viewComponent = "DisplayRecurringInterval";
                                                                                                                                                                                                                          +  editComponent = "EditRecurringInterval";
                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/TimePeriod.html b/documentation/classes/TimePeriod.html new file mode 100644 index 0000000000..d7951d680d --- /dev/null +++ b/documentation/classes/TimePeriod.html @@ -0,0 +1,644 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            File

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            + src/app/core/entity-details/related-time-period-entities/time-period.ts +

                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Record that is only active for a given time period.

                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Accessors
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + + + end + + +
                                                                                                                                                                                                                            + Type : Date + +
                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                            + + @DatabaseField({dataType: 'date-only', label: undefined, description: undefined})
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + + + start + + +
                                                                                                                                                                                                                            + Type : Date + +
                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                            + + @DatabaseField({dataType: 'date-only', label: undefined, description: undefined})
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + + assertValid + + +
                                                                                                                                                                                                                            +assertValid() +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + + getColor + + +
                                                                                                                                                                                                                            +getColor() +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + Returns : string + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + + isActiveAt + + +
                                                                                                                                                                                                                            +isActiveAt(date: Date) +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Checks whether this relation was active on a specific date

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                            date + Date + + No + +

                                                                                                                                                                                                                            on which the active status should be checked

                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + Returns : boolean + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            + + isActive +
                                                                                                                                                                                                                            + getisActive() +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Returns true if this relation is currently active

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                            + Returns : boolean + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                            +import { DatabaseEntity } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                            +import { DatabaseField } from "../../entity/database-field.decorator";
                                                                                                                                                                                                                            +import moment from "moment";
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                            + * Record that is only active for a given time period.
                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                            +@DatabaseEntity("TimePeriod")
                                                                                                                                                                                                                            +export class TimePeriod extends Entity {
                                                                                                                                                                                                                            +  @DatabaseField({
                                                                                                                                                                                                                            +    dataType: "date-only",
                                                                                                                                                                                                                            +    label: $localize`:Label for the start date of a relation:Start date`,
                                                                                                                                                                                                                            +    description: $localize`:Description of the start date of a relation:The date from when this is active.`,
                                                                                                                                                                                                                            +  })
                                                                                                                                                                                                                            +  start: Date;
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  @DatabaseField({
                                                                                                                                                                                                                            +    dataType: "date-only",
                                                                                                                                                                                                                            +    label: $localize`:Label for the end date of a relation:End date`,
                                                                                                                                                                                                                            +    description: $localize`:Description of the end date of a relation:The date after which this is inactive.`,
                                                                                                                                                                                                                            +  })
                                                                                                                                                                                                                            +  end: Date;
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                            +   * Returns true if this relation is currently active
                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                            +  get isActive(): boolean {
                                                                                                                                                                                                                            +    if (this.inactive) {
                                                                                                                                                                                                                            +      // manual archiving of records takes precendence
                                                                                                                                                                                                                            +      return false;
                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +    return this.isActiveAt(new Date());
                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                            +   * Checks whether this relation was active on a specific date
                                                                                                                                                                                                                            +   * @param date on which the active status should be checked
                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                            +  isActiveAt(date: Date): boolean {
                                                                                                                                                                                                                            +    return (
                                                                                                                                                                                                                            +      (!this.start || moment(this.start).isSameOrBefore(date, "day")) &&
                                                                                                                                                                                                                            +      (!this.end || moment(this.end).isSameOrAfter(date, "day"))
                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  getColor(): string {
                                                                                                                                                                                                                            +    return this.isActive ? "#90ee9040" : "";
                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  assertValid() {
                                                                                                                                                                                                                            +    super.assertValid();
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +    this.checkValidDateRange();
                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +  private checkValidDateRange() {
                                                                                                                                                                                                                            +    if (!this.end) {
                                                                                                                                                                                                                            +      // without end date, any range is valid
                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +    const startLabel = this.getSchema().get("start").label;
                                                                                                                                                                                                                            +    const endLabel = this.getSchema().get("end").label;
                                                                                                                                                                                                                            +    if (this.end && !this.start) {
                                                                                                                                                                                                                            +      throw new Error(
                                                                                                                                                                                                                            +        $localize`:Error assertValid failed:No "${startLabel}" date is set`,
                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                            +    } else if (moment(this.start).isAfter(this.end, "days")) {
                                                                                                                                                                                                                            +      throw new Error(
                                                                                                                                                                                                                            +        $localize`:Error assertValid failed:The "${startLabel}" date is after the "${endLabel}" date`,
                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/Todo.html b/documentation/classes/Todo.html new file mode 100644 index 0000000000..0fbeccfc29 --- /dev/null +++ b/documentation/classes/Todo.html @@ -0,0 +1,1065 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              File

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              + src/app/features/todos/model/todo.ts +

                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              Accessors
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + assignedTo + + +
                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({label: undefined, dataType: 'entity', isArray: true, additional: undefined, showInDetailsView: true, defaultValue: undefined, anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + Optional + completed + + +
                                                                                                                                                                                                                              + Type : TodoCompletion + +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({label: undefined, viewComponent: 'DisplayTodoCompletion', anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + deadline + + +
                                                                                                                                                                                                                              + Type : Date + +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({dataType: 'date-only', label: undefined, showInDetailsView: true, anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + description + + +
                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({label: undefined, editComponent: 'EditLongText', showInDetailsView: true})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + Static + + hasPII + + +
                                                                                                                                                                                                                              + Default value : true +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + Static + label + + +
                                                                                                                                                                                                                              + Default value : $localize`:label for entity:Task` +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + Static + labelPlural + + +
                                                                                                                                                                                                                              + Default value : $localize`:label (plural) for entity:Tasks` +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + relatedEntities + + +
                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({dataType: 'entity', isArray: true, label: undefined, additional: undefined, entityReferenceRole: 'composite', showInDetailsView: true, anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              other records (e.g. a recurring activity, group membership, ...) to which this task is related in some way.

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              This property saves ids including their entity type prefix.

                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + repetitionInterval + + +
                                                                                                                                                                                                                              + Type : TimeInterval + +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({label: undefined, additional: undefined, showInDetailsView: true, anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + startDate + + +
                                                                                                                                                                                                                              + Type : Date + +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({dataType: 'date-only', label: undefined, description: undefined, showInDetailsView: true, anonymize: 'retain'})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + + subject + + +
                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                              + + @DatabaseField({label: undefined, showInDetailsView: true})
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + Static + toStringAttributes + + +
                                                                                                                                                                                                                              + Type : [] + +
                                                                                                                                                                                                                              + Default value : ["subject"] +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + Static + create + + +
                                                                                                                                                                                                                              + + create(properties: Partial<Todo>) +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                              properties + Partial<Todo> + + No +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + Returns : Todo + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + + getWarningLevel + + +
                                                                                                                                                                                                                              +getWarningLevel() +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + Returns : WarningLevel + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              + Accessors +

                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + isActive +
                                                                                                                                                                                                                              + getisActive() +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                              + + isOverdue +
                                                                                                                                                                                                                              + getisOverdue() +
                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              import { DatabaseEntity } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                              +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                              +import { DatabaseField } from "../../../core/entity/database-field.decorator";
                                                                                                                                                                                                                              +import { User } from "../../../core/user/user";
                                                                                                                                                                                                                              +import { Child } from "../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                              +import { School } from "../../../child-dev-project/schools/model/school";
                                                                                                                                                                                                                              +import { RecurringActivity } from "../../../child-dev-project/attendance/model/recurring-activity";
                                                                                                                                                                                                                              +import { TimeInterval } from "../recurring-interval/time-interval";
                                                                                                                                                                                                                              +import { TodoCompletion } from "./todo-completion";
                                                                                                                                                                                                                              +import { WarningLevel } from "../../../child-dev-project/warning-level";
                                                                                                                                                                                                                              +import { PLACEHOLDERS } from "../../../core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +@DatabaseEntity("Todo")
                                                                                                                                                                                                                              +export class Todo extends Entity {
                                                                                                                                                                                                                              +  static label = $localize`:label for entity:Task`;
                                                                                                                                                                                                                              +  static labelPlural = $localize`:label (plural) for entity:Tasks`;
                                                                                                                                                                                                                              +  static toStringAttributes = ["subject"];
                                                                                                                                                                                                                              +  static override hasPII = true;
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  static create(properties: Partial<Todo>): Todo {
                                                                                                                                                                                                                              +    const instance = new Todo();
                                                                                                                                                                                                                              +    Object.assign(instance, properties);
                                                                                                                                                                                                                              +    return instance;
                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({ label: $localize`:Label:Subject`, showInDetailsView: true })
                                                                                                                                                                                                                              +  subject: string = "";
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    dataType: "date-only",
                                                                                                                                                                                                                              +    label: $localize`:Label:Deadline`,
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  deadline: Date;
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    dataType: "date-only",
                                                                                                                                                                                                                              +    label: $localize`:Label:Start date`,
                                                                                                                                                                                                                              +    description: $localize`:Description:When you are planning to start work so that you keep enough time before the actual hard deadline.`,
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  startDate: Date;
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    label: $localize`:Label:Description`,
                                                                                                                                                                                                                              +    editComponent: "EditLongText",
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  description: string = "";
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    label: $localize`:Label:Assigned to`,
                                                                                                                                                                                                                              +    dataType: "entity",
                                                                                                                                                                                                                              +    isArray: true,
                                                                                                                                                                                                                              +    additional: User.ENTITY_TYPE,
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +    defaultValue: {
                                                                                                                                                                                                                              +      mode: "dynamic",
                                                                                                                                                                                                                              +      value: PLACEHOLDERS.CURRENT_USER,
                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  assignedTo: string[] = [];
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                              +   * other records (e.g. a recurring activity, group membership, ...) to which this task is related in some way.
                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                              +   * This property saves ids including their entity type prefix.
                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    dataType: "entity",
                                                                                                                                                                                                                              +    isArray: true,
                                                                                                                                                                                                                              +    label: $localize`:label for the related Entities:Related Records`,
                                                                                                                                                                                                                              +    additional: [
                                                                                                                                                                                                                              +      Child.ENTITY_TYPE,
                                                                                                                                                                                                                              +      School.ENTITY_TYPE,
                                                                                                                                                                                                                              +      RecurringActivity.ENTITY_TYPE,
                                                                                                                                                                                                                              +    ],
                                                                                                                                                                                                                              +    entityReferenceRole: "composite",
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  relatedEntities: string[] = [];
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    label: $localize`:label for Todo entity property:repeats`,
                                                                                                                                                                                                                              +    additional: [
                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                              +        label: $localize`:repetition interval option:every week`,
                                                                                                                                                                                                                              +        interval: { amount: 1, unit: "week" },
                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                              +        label: $localize`:repetition interval option:every month`,
                                                                                                                                                                                                                              +        interval: { amount: 1, unit: "month" },
                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                              +    ] as { label: string; interval: TimeInterval }[],
                                                                                                                                                                                                                              +    showInDetailsView: true,
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  repetitionInterval: TimeInterval;
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  @DatabaseField({
                                                                                                                                                                                                                              +    label: $localize`:label for Todo entity property:completed`,
                                                                                                                                                                                                                              +    viewComponent: "DisplayTodoCompletion",
                                                                                                                                                                                                                              +    anonymize: "retain",
                                                                                                                                                                                                                              +  })
                                                                                                                                                                                                                              +  completed?: TodoCompletion;
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  get isActive(): boolean {
                                                                                                                                                                                                                              +    if (this.inactive) {
                                                                                                                                                                                                                              +      // manual archiving of records takes precendence
                                                                                                                                                                                                                              +      return false;
                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +    return !this.completed;
                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  get isOverdue(): boolean {
                                                                                                                                                                                                                              +    return !!(
                                                                                                                                                                                                                              +      !this.completed &&
                                                                                                                                                                                                                              +      this.deadline &&
                                                                                                                                                                                                                              +      this.deadline.getTime() < new Date().getTime()
                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +  getWarningLevel(): WarningLevel {
                                                                                                                                                                                                                              +    if (this.isOverdue) {
                                                                                                                                                                                                                              +      return WarningLevel.URGENT;
                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                              +    if (this.completed) {
                                                                                                                                                                                                                              +      return WarningLevel.OK;
                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                              +    return WarningLevel.NONE;
                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/UpdateMetadata.html b/documentation/classes/UpdateMetadata.html new file mode 100644 index 0000000000..d6d1fa5347 --- /dev/null +++ b/documentation/classes/UpdateMetadata.html @@ -0,0 +1,470 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                + src/app/core/entity/model/update-metadata.ts +

                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                Object to store metadata about a "revision" of a document including date and author of the change.

                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                +constructor(by: string, at: Date) +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                by + string + + No +
                                                                                                                                                                                                                                at + Date + + No +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                + + + + at + + +
                                                                                                                                                                                                                                + Type : Date + +
                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                + + @DatabaseField()
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                when the update was saved to db

                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                + + + + by + + +
                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                + + @DatabaseField()
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                username who saved the update

                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                + + + Static + DATA_TYPE + + +
                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                + Default value : "update-metadata" +
                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + +
                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                import { DatabaseField } from "../database-field.decorator";
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                + * Object to store metadata about a "revision" of a document including date and author of the change.
                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                +export class UpdateMetadata {
                                                                                                                                                                                                                                +  static DATA_TYPE = "update-metadata";
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +  /** when the update was saved to db */
                                                                                                                                                                                                                                +  @DatabaseField() at: Date;
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +  /** username who saved the update */
                                                                                                                                                                                                                                +  @DatabaseField() by: string;
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +  constructor(by: string = undefined, at: Date = new Date()) {
                                                                                                                                                                                                                                +    this.by = by;
                                                                                                                                                                                                                                +    this.at = at;
                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/User.html b/documentation/classes/User.html new file mode 100644 index 0000000000..71582cba0f --- /dev/null +++ b/documentation/classes/User.html @@ -0,0 +1,503 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  + src/app/core/user/user.ts +

                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Entity representing a User object including password.

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Note that in addition to the User Entity there also is a "regular" CouchDB user with the same name and password +in the CouchDB _users database which is used for remote database authentication.

                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + Static + + hasPII + + +
                                                                                                                                                                                                                                  + Default value : true +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + Static + icon + + +
                                                                                                                                                                                                                                  + Type : IconName + +
                                                                                                                                                                                                                                  + Default value : "user" +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + Static + label + + +
                                                                                                                                                                                                                                  + Default value : $localize`:label for entity:User` +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + Static + labelPlural + + +
                                                                                                                                                                                                                                  + Default value : $localize`:label (plural) for entity:Users` +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + + name + + +
                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                  + + @DatabaseField({label: undefined, validators: undefined})
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  username used for login and identification

                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                  + + + Static + toStringAttributes + + +
                                                                                                                                                                                                                                  + Type : [] + +
                                                                                                                                                                                                                                  + Default value : ["name"] +
                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + + + + + + +
                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                  +import { DatabaseEntity } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                  +import { DatabaseField } from "../entity/database-field.decorator";
                                                                                                                                                                                                                                  +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                  + * Entity representing a User object including password.
                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                  + * Note that in addition to the User Entity there also is a "regular" CouchDB user with the same name and password
                                                                                                                                                                                                                                  + * in the CouchDB _users database which is used for remote database authentication.
                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                  + * @Deprecated: This entity type does not provide special functionality anymore and will be replaced by a config-only type in the future
                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                  +@DatabaseEntity("User")
                                                                                                                                                                                                                                  +export class User extends Entity {
                                                                                                                                                                                                                                  +  static toStringAttributes = ["name"];
                                                                                                                                                                                                                                  +  static icon: IconName = "user";
                                                                                                                                                                                                                                  +  static label = $localize`:label for entity:User`;
                                                                                                                                                                                                                                  +  static labelPlural = $localize`:label (plural) for entity:Users`;
                                                                                                                                                                                                                                  +  static override hasPII = true;
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +  /** username used for login and identification */
                                                                                                                                                                                                                                  +  @DatabaseField({
                                                                                                                                                                                                                                  +    label: $localize`:Label of username:Username`,
                                                                                                                                                                                                                                  +    validators: { required: true, uniqueId: "User" },
                                                                                                                                                                                                                                  +  })
                                                                                                                                                                                                                                  +  name: string;
                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/classes/ViewComponentContext.html b/documentation/classes/ViewComponentContext.html new file mode 100644 index 0000000000..4f32007495 --- /dev/null +++ b/documentation/classes/ViewComponentContext.html @@ -0,0 +1,436 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    + src/app/core/ui/abstract-view/abstract-view.component.ts +

                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    Service to share context for components that can be used both +in dialogs (wrapped by DialogViewComponent) and +in full screen (wrapped by RoutedViewComponent).

                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    +constructor(isDialog: boolean) +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                    isDialog + boolean + + No +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    + + + actions + + +
                                                                                                                                                                                                                                    + Type : ViewActionsComponent + +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    + + + Public + isDialog + + +
                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                    + + + title + + +
                                                                                                                                                                                                                                    + Type : ViewTitleComponent + +
                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + + + + + + + +
                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    import { Injector } from "@angular/core";
                                                                                                                                                                                                                                    +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                    +import { ViewActionsComponent } from "../../common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                    + * Base class for wrapper components like RoutedViewComponent or DialogViewComponent
                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                    +export abstract class AbstractViewComponent {
                                                                                                                                                                                                                                    +  viewContext: ViewComponentContext;
                                                                                                                                                                                                                                    +  componentInjector: Injector | undefined;
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +  constructor(injector: Injector, isDialog: boolean) {
                                                                                                                                                                                                                                    +    this.viewContext = new ViewComponentContext(isDialog);
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +    this.componentInjector = Injector.create({
                                                                                                                                                                                                                                    +      providers: [
                                                                                                                                                                                                                                    +        { provide: ViewComponentContext, useValue: this.viewContext },
                                                                                                                                                                                                                                    +      ],
                                                                                                                                                                                                                                    +      parent: injector,
                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                    + * Service to share context for components that can be used both
                                                                                                                                                                                                                                    + * in dialogs (wrapped by DialogViewComponent) and
                                                                                                                                                                                                                                    + * in full screen (wrapped by RoutedViewComponent).
                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                    +export class ViewComponentContext {
                                                                                                                                                                                                                                    +  title: ViewTitleComponent;
                                                                                                                                                                                                                                    +  actions: ViewActionsComponent;
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +  constructor(public isDialog: boolean) {}
                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AccountPageComponent.html b/documentation/components/AccountPageComponent.html new file mode 100644 index 0000000000..e6c6384394 --- /dev/null +++ b/documentation/components/AccountPageComponent.html @@ -0,0 +1,671 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      + src/app/core/session/auth/keycloak/account-page/account-page.component.ts +

                                                                                                                                                                                                                                      + + + + +

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      +constructor(authService: KeycloakAuthService, alertService: AlertService) +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                      authService + KeycloakAuthService + + No +
                                                                                                                                                                                                                                      alertService + AlertService + + No +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                      + + disabled +
                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      + + + setEmail + + +
                                                                                                                                                                                                                                      +setEmail() +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      + + + Public + authService + + +
                                                                                                                                                                                                                                      + Type : KeycloakAuthService + +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      + + + email + + +
                                                                                                                                                                                                                                      + Default value : new FormControl("", [Validators.required, Validators.email]) +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                      +import { KeycloakAuthService } from "../keycloak-auth.service";
                                                                                                                                                                                                                                      +import { FormControl, ReactiveFormsModule, Validators } from "@angular/forms";
                                                                                                                                                                                                                                      +import { AlertService } from "../../../../alerts/alert.service";
                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                      +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                      +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                      +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                      +  selector: "app-account-page",
                                                                                                                                                                                                                                      +  templateUrl: "./account-page.component.html",
                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                      +    Angulartics2Module,
                                                                                                                                                                                                                                      +    MatFormFieldModule,
                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                      +    MatInputModule,
                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                      +export class AccountPageComponent implements OnInit {
                                                                                                                                                                                                                                      +  @Input() disabled: boolean;
                                                                                                                                                                                                                                      +  email = new FormControl("", [Validators.required, Validators.email]);
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                      +    public authService: KeycloakAuthService,
                                                                                                                                                                                                                                      +    private alertService: AlertService,
                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                      +    if (this.disabled) {
                                                                                                                                                                                                                                      +      this.email.disable();
                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                      +    this.authService
                                                                                                                                                                                                                                      +      .getUserinfo()
                                                                                                                                                                                                                                      +      .then((res) => this.email.setValue(res.email))
                                                                                                                                                                                                                                      +      .catch((err) => console.debug("user profile not available", err));
                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +  setEmail() {
                                                                                                                                                                                                                                      +    if (this.email.invalid) {
                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +    this.authService.setEmail(this.email.value).subscribe({
                                                                                                                                                                                                                                      +      next: () =>
                                                                                                                                                                                                                                      +        this.alertService.addInfo(
                                                                                                                                                                                                                                      +          $localize`Please click the link in the email we sent you to verify your email address.`,
                                                                                                                                                                                                                                      +        ),
                                                                                                                                                                                                                                      +      error: (err) => this.email.setErrors({ other: err.error.message }),
                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      <button
                                                                                                                                                                                                                                      +  mat-stroked-button
                                                                                                                                                                                                                                      +  angulartics2On="click"
                                                                                                                                                                                                                                      +  angularticsCategory="User"
                                                                                                                                                                                                                                      +  angularticsAction="password_update"
                                                                                                                                                                                                                                      +  (click)="authService.changePassword()"
                                                                                                                                                                                                                                      +  [disabled]="disabled"
                                                                                                                                                                                                                                      +  i18n="Button which opens password reset page"
                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                      +  Change Password
                                                                                                                                                                                                                                      +</button>
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +<form style="margin-top: 20px" onSubmit="return false">
                                                                                                                                                                                                                                      +  <mat-form-field>
                                                                                                                                                                                                                                      +    <input
                                                                                                                                                                                                                                      +      [formControl]="email"
                                                                                                                                                                                                                                      +      type="email"
                                                                                                                                                                                                                                      +      i18n-placeholder="Email address input field"
                                                                                                                                                                                                                                      +      placeholder="Your email address"
                                                                                                                                                                                                                                      +      matInput
                                                                                                                                                                                                                                      +    />
                                                                                                                                                                                                                                      +    <mat-error
                                                                                                                                                                                                                                      +      *ngIf="email.errors?.email || email.errors?.required"
                                                                                                                                                                                                                                      +      i18n="Error message if email format is invalid"
                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                      +      Please provide a valid email
                                                                                                                                                                                                                                      +    </mat-error>
                                                                                                                                                                                                                                      +    <mat-error *ngIf="email.errors?.other">{{ email.errors.other }}</mat-error>
                                                                                                                                                                                                                                      +  </mat-form-field>
                                                                                                                                                                                                                                      +  <p>
                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                      +      angulartics2On="click"
                                                                                                                                                                                                                                      +      angularticsCategory="User"
                                                                                                                                                                                                                                      +      angularticsAction="email_update"
                                                                                                                                                                                                                                      +      (click)="setEmail()"
                                                                                                                                                                                                                                      +      i18n="Button which updates the user's email"
                                                                                                                                                                                                                                      +      style="margin-top: 5px"
                                                                                                                                                                                                                                      +      [disabled]="email.disabled"
                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                      +      Update email
                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                      +  </p>
                                                                                                                                                                                                                                      +</form>
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ActivitiesOverviewComponent.html b/documentation/components/ActivitiesOverviewComponent.html new file mode 100644 index 0000000000..d2764f8487 --- /dev/null +++ b/documentation/components/ActivitiesOverviewComponent.html @@ -0,0 +1,1194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        + src/app/child-dev-project/attendance/activities-overview/activities-overview.component.ts +

                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Deprecated

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        configure a RelatedEntitiesComponent instead

                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        + RelatedEntitiesComponent +

                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + clickMode +
                                                                                                                                                                                                                                        + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                        + Default value : "popup" +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + columns +
                                                                                                                                                                                                                                        + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Columns to be displayed in the table

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + editable +
                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                        + Default value : true +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        entity type of the related entities to be displayed

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + filter +
                                                                                                                                                                                                                                        + Type : DataFilter<E> + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        This filter is applied before displaying the data.

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + property +
                                                                                                                                                                                                                                        + Type : string | string[] + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + showInactive +
                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                        +createNewRecordFactory() +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + Returns : () => any + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + Protected + getData + + +
                                                                                                                                                                                                                                        + + getData() +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + Returns : Promise<E[]> + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + Protected + getProperty + + +
                                                                                                                                                                                                                                        + + getProperty() +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + Returns : string | [] + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + Protected + initFilter + + +
                                                                                                                                                                                                                                        + + initFilter() +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                        + + listenToEntityUpdates() +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + + _columns + + +
                                                                                                                                                                                                                                        + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                        + Default value : [ + this.titleColumn, + { id: "type" }, + { id: "assignedTo" }, + { id: "linkedGroups" }, + { id: "excludedParticipants" }, + ] +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + entityCtr + + +
                                                                                                                                                                                                                                        + Default value : RecurringActivity +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + titleColumn + + +
                                                                                                                                                                                                                                        + Type : FormFieldConfig + +
                                                                                                                                                                                                                                        + Default value : { + id: "title", + editComponent: "EditTextWithAutocomplete", + additional: { + entityType: "RecurringActivity", + relevantProperty: "linkedGroups", + relevantValue: "", + }, + } +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + columnsToDisplay + + +
                                                                                                                                                                                                                                        + Type : string[] + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        + + + data + + +
                                                                                                                                                                                                                                        + Type : E[] + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                        +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                        +import { RelatedEntitiesComponent } from "../../../core/entity-details/related-entities/related-entities.component";
                                                                                                                                                                                                                                        +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                        +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                        + * @deprecated configure a RelatedEntitiesComponent instead
                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                        +@DynamicComponent("ActivitiesOverview")
                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                        +  selector: "app-activities-overview",
                                                                                                                                                                                                                                        +  templateUrl:
                                                                                                                                                                                                                                        +    "../../../core/entity-details/related-entities/related-entities.component.html",
                                                                                                                                                                                                                                        +  imports: [EntitiesTableComponent],
                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                        +export class ActivitiesOverviewComponent
                                                                                                                                                                                                                                        +  extends RelatedEntitiesComponent<RecurringActivity>
                                                                                                                                                                                                                                        +  implements OnInit
                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                        +  entityCtr = RecurringActivity;
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +  titleColumn: FormFieldConfig = {
                                                                                                                                                                                                                                        +    id: "title",
                                                                                                                                                                                                                                        +    editComponent: "EditTextWithAutocomplete",
                                                                                                                                                                                                                                        +    additional: {
                                                                                                                                                                                                                                        +      entityType: "RecurringActivity",
                                                                                                                                                                                                                                        +      relevantProperty: "linkedGroups",
                                                                                                                                                                                                                                        +      relevantValue: "",
                                                                                                                                                                                                                                        +    },
                                                                                                                                                                                                                                        +  };
                                                                                                                                                                                                                                        +  override _columns: FormFieldConfig[] = [
                                                                                                                                                                                                                                        +    this.titleColumn,
                                                                                                                                                                                                                                        +    { id: "type" },
                                                                                                                                                                                                                                        +    { id: "assignedTo" },
                                                                                                                                                                                                                                        +    { id: "linkedGroups" },
                                                                                                                                                                                                                                        +    { id: "excludedParticipants" },
                                                                                                                                                                                                                                        +  ];
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +  async ngOnInit() {
                                                                                                                                                                                                                                        +    this.titleColumn.additional.relevantValue = this.entity.getId();
                                                                                                                                                                                                                                        +    await super.ngOnInit();
                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        <app-entities-table
                                                                                                                                                                                                                                        +  [entityType]="entityCtr"
                                                                                                                                                                                                                                        +  [records]="data"
                                                                                                                                                                                                                                        +  [filter]="filter"
                                                                                                                                                                                                                                        +  [customColumns]="_columns"
                                                                                                                                                                                                                                        +  [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                        +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                        +  [showInactive]="showInactive"
                                                                                                                                                                                                                                        +  [clickMode]="clickMode"
                                                                                                                                                                                                                                        +  [editable]="editable"
                                                                                                                                                                                                                                        +></app-entities-table>
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ActivityAttendanceSectionComponent.html b/documentation/components/ActivityAttendanceSectionComponent.html new file mode 100644 index 0000000000..3202004bc3 --- /dev/null +++ b/documentation/components/ActivityAttendanceSectionComponent.html @@ -0,0 +1,1209 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          + src/app/child-dev-project/attendance/activity-attendance-section/activity-attendance-section.component.ts +

                                                                                                                                                                                                                                          + + + + +

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          +constructor(attendanceService: AttendanceService, locale: string, dialog: MatDialog) +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                          attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                          locale + string + + No +
                                                                                                                                                                                                                                          dialog + MatDialog + + No +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                          + Type : RecurringActivity + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + forChild +
                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + Async + init + + +
                                                                                                                                                                                                                                          + + init(loadAll: boolean) +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          NameTypeOptionalDefault value
                                                                                                                                                                                                                                          loadAll + boolean + + No + + false +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + showDetails + + +
                                                                                                                                                                                                                                          +showDetails(activity: ActivityAttendance) +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                          activity + ActivityAttendance + + No +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + updateDisplayedRecords + + +
                                                                                                                                                                                                                                          +updateDisplayedRecords(includeRecordsWithoutParticipation: boolean) +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                          includeRecordsWithoutParticipation + boolean + + No +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + allRecords + + +
                                                                                                                                                                                                                                          + Type : ActivityAttendance[] + +
                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + columns + + +
                                                                                                                                                                                                                                          + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                          + Default value : [ + { + id: "periodFrom", + label: $localize`:The month something took place:Month`, + viewComponent: "DisplayMonth", + }, + { + id: "presentEvents", + label: $localize`:How many children are present at a meeting|Title of table column:Present`, + viewComponent: "ReadonlyFunction", + additional: (e: ActivityAttendance) => + this.forChild + ? e.countEventsPresent(this.forChild) + : e.countTotalPresent(), + }, + { + id: "totalEvents", + label: $localize`:Events of an attendance:Events`, + viewComponent: "ReadonlyFunction", + additional: (e: ActivityAttendance) => e.countEventsTotal(), + }, + { + id: "attendancePercentage", + label: $localize`:Percentage of people that attended an event:Attended`, + viewComponent: "ReadonlyFunction", + additional: (e: ActivityAttendance) => + formatPercent( + this.forChild + ? e.getAttendancePercentage(this.forChild) + : e.getAttendancePercentageAverage(), + this.locale, + "1.0-0", + ), + }, + ] +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + combinedAttendance + + +
                                                                                                                                                                                                                                          + Type : ActivityAttendance + +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + entityCtr + + +
                                                                                                                                                                                                                                          + Default value : ActivityAttendance +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + Optional + getBackgroundColor + + +
                                                                                                                                                                                                                                          + Type : function + +
                                                                                                                                                                                                                                          + Default value : () => {...} +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + loading + + +
                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                          + Default value : true +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          + + + records + + +
                                                                                                                                                                                                                                          + Type : ActivityAttendance[] + +
                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          import { Component, Inject, Input, LOCALE_ID, OnInit } from "@angular/core";
                                                                                                                                                                                                                                          +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                          +import { AttendanceDetailsComponent } from "../attendance-details/attendance-details.component";
                                                                                                                                                                                                                                          +import { AttendanceService } from "../attendance.service";
                                                                                                                                                                                                                                          +import { formatPercent, NgIf } from "@angular/common";
                                                                                                                                                                                                                                          +import { ActivityAttendance } from "../model/activity-attendance";
                                                                                                                                                                                                                                          +import moment from "moment";
                                                                                                                                                                                                                                          +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                          +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                          +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                          +import { AttendanceCalendarComponent } from "../attendance-calendar/attendance-calendar.component";
                                                                                                                                                                                                                                          +import { AttendanceSummaryComponent } from "../attendance-summary/attendance-summary.component";
                                                                                                                                                                                                                                          +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                          +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +@DynamicComponent("ActivityAttendanceSection")
                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                          +  selector: "app-activity-attendance-section",
                                                                                                                                                                                                                                          +  templateUrl: "./activity-attendance-section.component.html",
                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                          +    MatProgressBarModule,
                                                                                                                                                                                                                                          +    EntitiesTableComponent,
                                                                                                                                                                                                                                          +    MatSlideToggleModule,
                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                          +    AttendanceCalendarComponent,
                                                                                                                                                                                                                                          +    AttendanceSummaryComponent,
                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                          +export class ActivityAttendanceSectionComponent implements OnInit {
                                                                                                                                                                                                                                          +  @Input() entity: RecurringActivity;
                                                                                                                                                                                                                                          +  @Input() forChild?: string;
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  loading: boolean = true;
                                                                                                                                                                                                                                          +  records: ActivityAttendance[] = [];
                                                                                                                                                                                                                                          +  entityCtr = ActivityAttendance;
                                                                                                                                                                                                                                          +  allRecords: ActivityAttendance[] = [];
                                                                                                                                                                                                                                          +  combinedAttendance: ActivityAttendance;
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  columns: FormFieldConfig[] = [
                                                                                                                                                                                                                                          +    {
                                                                                                                                                                                                                                          +      id: "periodFrom",
                                                                                                                                                                                                                                          +      label: $localize`:The month something took place:Month`,
                                                                                                                                                                                                                                          +      viewComponent: "DisplayMonth",
                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                          +    {
                                                                                                                                                                                                                                          +      id: "presentEvents",
                                                                                                                                                                                                                                          +      label: $localize`:How many children are present at a meeting|Title of table column:Present`,
                                                                                                                                                                                                                                          +      viewComponent: "ReadonlyFunction",
                                                                                                                                                                                                                                          +      additional: (e: ActivityAttendance) =>
                                                                                                                                                                                                                                          +        this.forChild
                                                                                                                                                                                                                                          +          ? e.countEventsPresent(this.forChild)
                                                                                                                                                                                                                                          +          : e.countTotalPresent(),
                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                          +    {
                                                                                                                                                                                                                                          +      id: "totalEvents",
                                                                                                                                                                                                                                          +      label: $localize`:Events of an attendance:Events`,
                                                                                                                                                                                                                                          +      viewComponent: "ReadonlyFunction",
                                                                                                                                                                                                                                          +      additional: (e: ActivityAttendance) => e.countEventsTotal(),
                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                          +    {
                                                                                                                                                                                                                                          +      id: "attendancePercentage",
                                                                                                                                                                                                                                          +      label: $localize`:Percentage of people that attended an event:Attended`,
                                                                                                                                                                                                                                          +      viewComponent: "ReadonlyFunction",
                                                                                                                                                                                                                                          +      additional: (e: ActivityAttendance) =>
                                                                                                                                                                                                                                          +        formatPercent(
                                                                                                                                                                                                                                          +          this.forChild
                                                                                                                                                                                                                                          +            ? e.getAttendancePercentage(this.forChild)
                                                                                                                                                                                                                                          +            : e.getAttendancePercentageAverage(),
                                                                                                                                                                                                                                          +          this.locale,
                                                                                                                                                                                                                                          +          "1.0-0",
                                                                                                                                                                                                                                          +        ),
                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                          +  ];
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                          +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                          +    @Inject(LOCALE_ID) private locale: string,
                                                                                                                                                                                                                                          +    private dialog: MatDialog,
                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  ngOnInit() {
                                                                                                                                                                                                                                          +    return this.init();
                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  async init(loadAll: boolean = false) {
                                                                                                                                                                                                                                          +    this.loading = true;
                                                                                                                                                                                                                                          +    if (loadAll) {
                                                                                                                                                                                                                                          +      this.allRecords = await this.attendanceService.getActivityAttendances(
                                                                                                                                                                                                                                          +        this.entity,
                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                          +      this.allRecords = await this.attendanceService.getActivityAttendances(
                                                                                                                                                                                                                                          +        this.entity,
                                                                                                                                                                                                                                          +        moment().startOf("month").subtract(6, "months").toDate(),
                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                          +    this.updateDisplayedRecords(false);
                                                                                                                                                                                                                                          +    this.createCombinedAttendance();
                                                                                                                                                                                                                                          +    this.loading = false;
                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  private createCombinedAttendance() {
                                                                                                                                                                                                                                          +    this.combinedAttendance = new ActivityAttendance();
                                                                                                                                                                                                                                          +    this.combinedAttendance.activity = this.entity;
                                                                                                                                                                                                                                          +    this.allRecords.forEach((record) => {
                                                                                                                                                                                                                                          +      this.combinedAttendance.events.push(...record.events);
                                                                                                                                                                                                                                          +      if (
                                                                                                                                                                                                                                          +        !this.combinedAttendance.periodFrom ||
                                                                                                                                                                                                                                          +        moment(record.periodFrom).isBefore(
                                                                                                                                                                                                                                          +          this.combinedAttendance.periodFrom,
                                                                                                                                                                                                                                          +          "day",
                                                                                                                                                                                                                                          +        )
                                                                                                                                                                                                                                          +      ) {
                                                                                                                                                                                                                                          +        this.combinedAttendance.periodFrom = record.periodFrom;
                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +      if (
                                                                                                                                                                                                                                          +        !this.combinedAttendance.periodTo ||
                                                                                                                                                                                                                                          +        moment(record.periodTo).isAfter(this.combinedAttendance.periodTo, "day")
                                                                                                                                                                                                                                          +      ) {
                                                                                                                                                                                                                                          +        this.combinedAttendance.periodTo = record.periodTo;
                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  updateDisplayedRecords(includeRecordsWithoutParticipation: boolean) {
                                                                                                                                                                                                                                          +    if (includeRecordsWithoutParticipation || !this.forChild) {
                                                                                                                                                                                                                                          +      this.records = this.allRecords;
                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                          +      this.records = this.allRecords.filter(
                                                                                                                                                                                                                                          +        (r) =>
                                                                                                                                                                                                                                          +          r.countEventsAbsent(this.forChild) +
                                                                                                                                                                                                                                          +            r.countEventsPresent(this.forChild) >
                                                                                                                                                                                                                                          +          0,
                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +    if (this.records?.length > 0) {
                                                                                                                                                                                                                                          +      this.records.sort(
                                                                                                                                                                                                                                          +        (a, b) => b.periodFrom.getTime() - a.periodFrom.getTime(),
                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  showDetails(activity: ActivityAttendance) {
                                                                                                                                                                                                                                          +    this.dialog.open(AttendanceDetailsComponent, {
                                                                                                                                                                                                                                          +      data: {
                                                                                                                                                                                                                                          +        forChild: this.forChild,
                                                                                                                                                                                                                                          +        attendance: activity,
                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +  getBackgroundColor?: (rec: ActivityAttendance) => string = (
                                                                                                                                                                                                                                          +    rec: ActivityAttendance,
                                                                                                                                                                                                                                          +  ) => rec.getColor(this.forChild);
                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          <div *ngIf="loading">
                                                                                                                                                                                                                                          +  <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +<div class="flex-row flex-wrap gap-large" *ngIf="!loading">
                                                                                                                                                                                                                                          +  <app-attendance-calendar
                                                                                                                                                                                                                                          +    class="flex-grow"
                                                                                                                                                                                                                                          +    [records]="combinedAttendance?.events || []"
                                                                                                                                                                                                                                          +    [highlightForChild]="forChild"
                                                                                                                                                                                                                                          +    [activity]="entity"
                                                                                                                                                                                                                                          +  ></app-attendance-calendar>
                                                                                                                                                                                                                                          +  <app-attendance-summary
                                                                                                                                                                                                                                          +    [attendance]="combinedAttendance"
                                                                                                                                                                                                                                          +    [forChild]="forChild"
                                                                                                                                                                                                                                          +    [columns]="columns"
                                                                                                                                                                                                                                          +    class="margin-top-regular flex-grow"
                                                                                                                                                                                                                                          +  ></app-attendance-summary>
                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +<app-entities-table
                                                                                                                                                                                                                                          +  [entityType]="entityCtr"
                                                                                                                                                                                                                                          +  [records]="records"
                                                                                                                                                                                                                                          +  [customColumns]="columns"
                                                                                                                                                                                                                                          +  clickMode="none"
                                                                                                                                                                                                                                          +  (entityClick)="showDetails($event)"
                                                                                                                                                                                                                                          +  [getBackgroundColor]="getBackgroundColor"
                                                                                                                                                                                                                                          +  [editable]="false"
                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                          +</app-entities-table>
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +<div class="margin-top-regular">
                                                                                                                                                                                                                                          +  <mat-slide-toggle
                                                                                                                                                                                                                                          +    i18n="
                                                                                                                                                                                                                                          +      slider|show unrelated attendance-entries for an activity that are not
                                                                                                                                                                                                                                          +      linked to the child of interest
                                                                                                                                                                                                                                          +    "
                                                                                                                                                                                                                                          +    (change)="updateDisplayedRecords($event.checked)"
                                                                                                                                                                                                                                          +    i18n-matTooltip="
                                                                                                                                                                                                                                          +      Show unrelated tooltip|Tooltip that will appear when hovered over the
                                                                                                                                                                                                                                          +      show-unrelated button
                                                                                                                                                                                                                                          +    "
                                                                                                                                                                                                                                          +    matTooltip="Activate to also show entries for the activity that do not have any events with actual participation of this person"
                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                          +    Also show unrelated
                                                                                                                                                                                                                                          +  </mat-slide-toggle>
                                                                                                                                                                                                                                          +  &nbsp;
                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                          +    i18n="
                                                                                                                                                                                                                                          +      load-all button|load all records, not only the ones from the last 6 months
                                                                                                                                                                                                                                          +    "
                                                                                                                                                                                                                                          +    mat-stroked-button
                                                                                                                                                                                                                                          +    (click)="init(true)"
                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                          +    Load all records
                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ActivityCardComponent.html b/documentation/components/ActivityCardComponent.html new file mode 100644 index 0000000000..e07a42f3ab --- /dev/null +++ b/documentation/components/ActivityCardComponent.html @@ -0,0 +1,653 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            + src/app/child-dev-project/attendance/activity-card/activity-card.component.ts +

                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Accessors
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            + + event +
                                                                                                                                                                                                                                            + Type : Note + +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            The Note representing the event to be displayed

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            + + recurring +
                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            Whether the event or activity is displayed in the style of events generated from a generic recurring activity.

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            If not explicitly defined, it is inferred from the given event Note's reference to an activity.

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            + + recurring +
                                                                                                                                                                                                                                            + getrecurring() +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            + setrecurring(value: boolean) +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            Whether the event or activity is displayed in the style of events generated from a generic recurring activity.

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            If not explicitly defined, it is inferred from the given event Note's reference to an activity.

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                            value + boolean + + No +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            + + warningLevel +
                                                                                                                                                                                                                                            + getwarningLevel() +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                            +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                            +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                            +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                            +import { BorderHighlightDirective } from "../../../core/common-components/border-highlight/border-highlight.directive";
                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                            +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                            +  selector: "app-activity-card",
                                                                                                                                                                                                                                            +  templateUrl: "./activity-card.component.html",
                                                                                                                                                                                                                                            +  styleUrls: ["./activity-card.component.scss"],
                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                            +    MatCardModule,
                                                                                                                                                                                                                                            +    BorderHighlightDirective,
                                                                                                                                                                                                                                            +    FontAwesomeModule,
                                                                                                                                                                                                                                            +    DatePipe,
                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                            +export class ActivityCardComponent {
                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                            +   * The Note representing the event to be displayed
                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                            +  @Input() event: Note;
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  private _displayAsRecurring: boolean | null = null;
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                            +   * Whether the event or activity is displayed in the style of events generated from a generic recurring activity.
                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                            +   * If not explicitly defined, it is inferred from the given event Note's reference to an activity.
                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                            +  @Input() set recurring(value: boolean) {
                                                                                                                                                                                                                                            +    this._displayAsRecurring = value;
                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  get recurring(): boolean {
                                                                                                                                                                                                                                            +    if (this._displayAsRecurring !== null) {
                                                                                                                                                                                                                                            +      return this._displayAsRecurring;
                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                            +      return RecurringActivity.isActivityEventNote(this.event);
                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  get warningLevel(): "ok" | "warning" | "urgent" {
                                                                                                                                                                                                                                            +    if (!this.event.hasUnknownAttendances()) {
                                                                                                                                                                                                                                            +      return "ok";
                                                                                                                                                                                                                                            +    } else if (!this.recurring && this.event.hasUnknownAttendances()) {
                                                                                                                                                                                                                                            +      return "urgent";
                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                            +      return "warning";
                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            <mat-card
                                                                                                                                                                                                                                            +  appBorderHighlight
                                                                                                                                                                                                                                            +  [borderClass]="'border-' + warningLevel"
                                                                                                                                                                                                                                            +  class="main-card"
                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                            +  <mat-card-header>
                                                                                                                                                                                                                                            +    <mat-card-title>{{ event?.subject }}</mat-card-title>
                                                                                                                                                                                                                                            +  </mat-card-header>
                                                                                                                                                                                                                                            +  <mat-card-content class="text-secondary">
                                                                                                                                                                                                                                            +    <fa-icon icon="child"></fa-icon>
                                                                                                                                                                                                                                            +    {{ event.children.length }}
                                                                                                                                                                                                                                            +    {event.children.length, plural, one {participant} other {participants}}
                                                                                                                                                                                                                                            +    <ng-container *ngIf="!recurring">
                                                                                                                                                                                                                                            +      <span class="sep">/</span>
                                                                                                                                                                                                                                            +      <fa-icon icon="calendar"></fa-icon>
                                                                                                                                                                                                                                            +      {{ event.date | date: "shortDate" }}
                                                                                                                                                                                                                                            +    </ng-container>
                                                                                                                                                                                                                                            +    <span class="sep">/</span>{{ event.category?.label }}
                                                                                                                                                                                                                                            +  </mat-card-content>
                                                                                                                                                                                                                                            +</mat-card>
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            + ./activity-card.component.scss +

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            @use "variables/colors";
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.border-ok {
                                                                                                                                                                                                                                            +  border-color: colors.$success !important;
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.border-warning {
                                                                                                                                                                                                                                            +  border-color: colors.$warn !important;
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.border-urgent {
                                                                                                                                                                                                                                            +  border-color: colors.$error !important;
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.main-card {
                                                                                                                                                                                                                                            +  max-width: 500px;
                                                                                                                                                                                                                                            +  height: 100%;
                                                                                                                                                                                                                                            +  box-sizing: border-box;
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.card-title {
                                                                                                                                                                                                                                            +  font-weight: bold;
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +.sep {
                                                                                                                                                                                                                                            +  font-weight: 900;
                                                                                                                                                                                                                                            +  color: colors.$disabled;
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  /* Add a whitespace before the separator */
                                                                                                                                                                                                                                            +  &::before {
                                                                                                                                                                                                                                            +    content: " ";
                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +  /* Add a whitespace before the separator */
                                                                                                                                                                                                                                            +  &::after {
                                                                                                                                                                                                                                            +    content: " ";
                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AddDayAttendanceComponent.html b/documentation/components/AddDayAttendanceComponent.html new file mode 100644 index 0000000000..cd06ab7d17 --- /dev/null +++ b/documentation/components/AddDayAttendanceComponent.html @@ -0,0 +1,1074 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              + src/app/child-dev-project/attendance/add-day-attendance/add-day-attendance.component.ts +

                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              +constructor(entityMapper: EntityMapperService, confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                              entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                              confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + sortParticipantsBy +
                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              (optional) property name of the participant entities by which they are sorted for the roll call

                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + exit + + +
                                                                                                                                                                                                                                              +exit() +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + finishBasicInformationStage + + +
                                                                                                                                                                                                                                              +finishBasicInformationStage(event: Note) +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                              event + Note + + No +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + finishRollCallState + + +
                                                                                                                                                                                                                                              +finishRollCallState() +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + Async + saveRollCallResult + + +
                                                                                                                                                                                                                                              + + saveRollCallResult(eventNote: Note) +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                              eventNote + Note + + No +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + Readonly + buttons + + +
                                                                                                                                                                                                                                              + Type : ConfirmationDialogButton[] + +
                                                                                                                                                                                                                                              + Default value : [ + { + text: $localize`Save`, + click: (): boolean => { + this.saveRollCallResult(this.event).then(() => { + this.finishRollCallState(); + }); + return true; + }, + }, + { + text: $localize`:Discard changes made to a form:Discard`, + click: (): boolean => { + this.finishRollCallState(); + return false; + }, + }, + ] +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + currentStage + + +
                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                              + Default value : 0 +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + day + + +
                                                                                                                                                                                                                                              + Default value : new Date() +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + event + + +
                                                                                                                                                                                                                                              + Type : Note + +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + + rollCallComponent + + +
                                                                                                                                                                                                                                              + Type : RollCallComponent + +
                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                              + + @ViewChild(RollCallComponent)
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              + + + stages + + +
                                                                                                                                                                                                                                              + Type : [] + +
                                                                                                                                                                                                                                              + Default value : [ + $localize`:One of the stages while recording child-attendances:Select Event`, + $localize`:One of the stages while recording child-attendances:Record Attendance`, + ] +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              import { Component, Input, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                              +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                              +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                              +import { ConfirmationDialogService } from "../../../core/common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                              +import { ConfirmationDialogButton } from "../../../core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component";
                                                                                                                                                                                                                                              +import { RollCallComponent } from "./roll-call/roll-call.component";
                                                                                                                                                                                                                                              +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                              +import { RollCallSetupComponent } from "./roll-call-setup/roll-call-setup.component";
                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                              +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +@RouteTarget("AddDayAttendance")
                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                              +  selector: "app-add-day-attendance",
                                                                                                                                                                                                                                              +  templateUrl: "./add-day-attendance.component.html",
                                                                                                                                                                                                                                              +  styleUrls: ["./add-day-attendance.component.scss"],
                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                              +    RollCallSetupComponent,
                                                                                                                                                                                                                                              +    RollCallComponent,
                                                                                                                                                                                                                                              +    ViewTitleComponent,
                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                              +export class AddDayAttendanceComponent {
                                                                                                                                                                                                                                              +  /** (optional) property name of the participant entities by which they are sorted for the roll call */
                                                                                                                                                                                                                                              +  @Input() sortParticipantsBy: string;
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  currentStage = 0;
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  day = new Date();
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  event: Note;
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  @ViewChild(RollCallComponent) rollCallComponent: RollCallComponent;
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  readonly buttons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                              +    {
                                                                                                                                                                                                                                              +      text: $localize`Save`,
                                                                                                                                                                                                                                              +      click: (): boolean => {
                                                                                                                                                                                                                                              +        this.saveRollCallResult(this.event).then(() => {
                                                                                                                                                                                                                                              +          this.finishRollCallState();
                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                              +        return true;
                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                              +    {
                                                                                                                                                                                                                                              +      text: $localize`:Discard changes made to a form:Discard`,
                                                                                                                                                                                                                                              +      click: (): boolean => {
                                                                                                                                                                                                                                              +        this.finishRollCallState();
                                                                                                                                                                                                                                              +        return false;
                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                              +  ];
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  stages = [
                                                                                                                                                                                                                                              +    $localize`:One of the stages while recording child-attendances:Select Event`,
                                                                                                                                                                                                                                              +    $localize`:One of the stages while recording child-attendances:Record Attendance`,
                                                                                                                                                                                                                                              +  ];
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                              +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                              +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                              +  ) {}
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  finishBasicInformationStage(event: Note) {
                                                                                                                                                                                                                                              +    this.event = event;
                                                                                                                                                                                                                                              +    this.currentStage = 1;
                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  exit() {
                                                                                                                                                                                                                                              +    if (this.rollCallComponent?.isDirty) {
                                                                                                                                                                                                                                              +      this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                              +        $localize`:Exit from the current screen:Exit`,
                                                                                                                                                                                                                                              +        $localize`Do you want to save your progress before going back?`,
                                                                                                                                                                                                                                              +        this.buttons,
                                                                                                                                                                                                                                              +        true,
                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                              +      this.finishRollCallState();
                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  finishRollCallState() {
                                                                                                                                                                                                                                              +    this.currentStage = 0;
                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +  async saveRollCallResult(eventNote: Note) {
                                                                                                                                                                                                                                              +    await this.entityMapper.save(eventNote);
                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              <app-view-title
                                                                                                                                                                                                                                              +  [disableBackButton]="currentStage !== 0"
                                                                                                                                                                                                                                              +  i18n="
                                                                                                                                                                                                                                              +    Record Attendance|Title when recording the attendance at a particular stage
                                                                                                                                                                                                                                              +    (e.g. selecting the event, recording it)
                                                                                                                                                                                                                                              +  "
                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                              +  Record Attendance
                                                                                                                                                                                                                                              +</app-view-title>
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +<h2 *ngIf="currentStage === 0">
                                                                                                                                                                                                                                              +  {{ stages[currentStage] }}
                                                                                                                                                                                                                                              +</h2>
                                                                                                                                                                                                                                              +<div
                                                                                                                                                                                                                                              +  class="flex-row align-center relative-left margin-bottom-small"
                                                                                                                                                                                                                                              +  *ngIf="currentStage !== 0"
                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                              +  <button mat-icon-button (click)="exit()" matTooltip="Back" i18n-matTooltip>
                                                                                                                                                                                                                                              +    <fa-icon icon="arrow-left"></fa-icon>
                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                              +  <h2 class="remove-margin-bottom">{{ event.subject }}</h2>
                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                              +<app-roll-call-setup
                                                                                                                                                                                                                                              +  *ngIf="currentStage === 0"
                                                                                                                                                                                                                                              +  (eventSelected)="finishBasicInformationStage($event)"
                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                              +</app-roll-call-setup>
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +<app-roll-call
                                                                                                                                                                                                                                              +  *ngIf="currentStage === 1"
                                                                                                                                                                                                                                              +  [eventEntity]="event"
                                                                                                                                                                                                                                              +  [sortParticipantsBy]="sortParticipantsBy"
                                                                                                                                                                                                                                              +  (exit)="finishRollCallState()"
                                                                                                                                                                                                                                              +  (complete)="saveRollCallResult($event)"
                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                              +</app-roll-call>
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              + ./add-day-attendance.component.scss +

                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              /* Moves the component 12 pixels to the left so that the "go back" button is aligned with the left border */
                                                                                                                                                                                                                                              +.relative-left {
                                                                                                                                                                                                                                              +  position: relative;
                                                                                                                                                                                                                                              +  left: -12px;
                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +:host {
                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                              +  flex-direction: column;
                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AddressEditComponent.html b/documentation/components/AddressEditComponent.html new file mode 100644 index 0000000000..f27e327273 --- /dev/null +++ b/documentation/components/AddressEditComponent.html @@ -0,0 +1,1039 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                + src/app/features/location/address-edit/address-edit.component.ts +

                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Edit a GeoLocation / Address, including options to search via API and customize the string location being saved.

                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Outputs
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                +constructor(confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + disabled +
                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Whether the search box is enabled and visible.

                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + selectedLocation +
                                                                                                                                                                                                                                                + Type : GeoLocation + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                The initially pre-selected location (displayed in addition to the search field allowing to change it).

                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Outputs

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + selectedLocationChange +
                                                                                                                                                                                                                                                + Type : EventEmitter + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Whenever the user selects an actual looked up location, it is emitted here.

                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + + clearLocation + + +
                                                                                                                                                                                                                                                +clearLocation() +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + + Async + updateFromAddressSearch + + +
                                                                                                                                                                                                                                                + + updateFromAddressSearch(value: GeoLocation | undefined, skipConfirmation: boolean) +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                NameTypeOptionalDefault value
                                                                                                                                                                                                                                                value + GeoLocation | undefined + + No + +
                                                                                                                                                                                                                                                skipConfirmation + boolean + + No + + false +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + + updateLocation + + +
                                                                                                                                                                                                                                                +updateLocation(selected: GeoLocation | undefined) +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                selected + GeoLocation | undefined + + No +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + + updateLocationString + + +
                                                                                                                                                                                                                                                +updateLocationString(value: string) +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                value + string + + No +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                + + + manualAddressEnabled + + +
                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                +import { MatButton, MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                +import { AddressSearchComponent } from "../address-search/address-search.component";
                                                                                                                                                                                                                                                +import { GeoResult } from "../geo.service";
                                                                                                                                                                                                                                                +import { ConfirmationDialogService } from "../../../core/common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                +import { MatFormField, MatHint, MatLabel } from "@angular/material/form-field";
                                                                                                                                                                                                                                                +import { MatInput } from "@angular/material/input";
                                                                                                                                                                                                                                                +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                + * Edit a GeoLocation / Address, including options to search via API and customize the string location being saved.
                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                +  selector: "app-address-edit",
                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                +    MatButton,
                                                                                                                                                                                                                                                +    AddressSearchComponent,
                                                                                                                                                                                                                                                +    MatFormField,
                                                                                                                                                                                                                                                +    MatLabel,
                                                                                                                                                                                                                                                +    MatInput,
                                                                                                                                                                                                                                                +    MatHint,
                                                                                                                                                                                                                                                +    MatTooltip,
                                                                                                                                                                                                                                                +    MatIconButton,
                                                                                                                                                                                                                                                +    FaIconComponent,
                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                +  templateUrl: "./address-edit.component.html",
                                                                                                                                                                                                                                                +  styleUrl: "./address-edit.component.scss",
                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                +export class AddressEditComponent {
                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                +   * Whenever the user selects an actual looked up location, it is emitted here.
                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                +  @Output() selectedLocationChange = new EventEmitter<GeoLocation>();
                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                +   * The initially pre-selected location (displayed in addition to the search field allowing to change it).
                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                +  @Input() selectedLocation: GeoLocation;
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                +   * Whether the search box is enabled and visible.
                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                +  @Input() disabled: boolean;
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  manualAddressEnabled: boolean;
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  constructor(private confirmationDialog: ConfirmationDialogService) {}
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  updateLocation(selected: GeoLocation | undefined) {
                                                                                                                                                                                                                                                +    this.selectedLocation = selected;
                                                                                                                                                                                                                                                +    this.selectedLocationChange.emit(selected);
                                                                                                                                                                                                                                                +    this.manualAddressEnabled =
                                                                                                                                                                                                                                                +      this.selectedLocation?.geoLookup?.display_name !==
                                                                                                                                                                                                                                                +      this.selectedLocation?.locationString;
                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  clearLocation() {
                                                                                                                                                                                                                                                +    this.updateLocation(undefined);
                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  updateLocationString(value: string) {
                                                                                                                                                                                                                                                +    const manualAddress: string = value ?? "";
                                                                                                                                                                                                                                                +    if (manualAddress === "" && this.selectedLocation?.geoLookup) {
                                                                                                                                                                                                                                                +      this.clearLocation();
                                                                                                                                                                                                                                                +      // possible alternative UX: ask user if they want to remove the mapped location also? or update the location with the display_location?
                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +    this.updateLocation({
                                                                                                                                                                                                                                                +      locationString: manualAddress,
                                                                                                                                                                                                                                                +      geoLookup: this.selectedLocation?.geoLookup,
                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +  async updateFromAddressSearch(
                                                                                                                                                                                                                                                +    value: GeoLocation | undefined,
                                                                                                                                                                                                                                                +    skipConfirmation: boolean = false,
                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                +      value?.geoLookup === this.selectedLocation?.geoLookup &&
                                                                                                                                                                                                                                                +      value?.locationString === this.selectedLocation?.locationString
                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                +      // nothing changed, skip
                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +    let manualAddress: string = this.selectedLocation?.locationString ?? "";
                                                                                                                                                                                                                                                +    let lookupAddress: string =
                                                                                                                                                                                                                                                +      value?.locationString ?? value?.geoLookup?.display_name ?? "";
                                                                                                                                                                                                                                                +    if (manualAddress === "") {
                                                                                                                                                                                                                                                +      // auto-apply lookup location for empty field
                                                                                                                                                                                                                                                +      manualAddress = lookupAddress;
                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +    if (manualAddress !== lookupAddress) {
                                                                                                                                                                                                                                                +      if (
                                                                                                                                                                                                                                                +        // if manualAddress has been automatically set before, we assume the user wants to auto update now also
                                                                                                                                                                                                                                                +        manualAddress === this.selectedLocation?.geoLookup?.display_name ||
                                                                                                                                                                                                                                                +        // otherwise ask user if they want to apply the lookup location
                                                                                                                                                                                                                                                +        (!skipConfirmation &&
                                                                                                                                                                                                                                                +          (await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                +            $localize`Update custom address?`,
                                                                                                                                                                                                                                                +            $localize`Do you want to overwrite the custom address to the full address from the online lookup? This will replace "${manualAddress}" with "${lookupAddress}". The marked location on the map will be unaffected by this choice.`,
                                                                                                                                                                                                                                                +          )))
                                                                                                                                                                                                                                                +      ) {
                                                                                                                                                                                                                                                +        manualAddress = lookupAddress;
                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +    this.updateLocation({
                                                                                                                                                                                                                                                +      locationString: manualAddress,
                                                                                                                                                                                                                                                +      geoLookup: value?.geoLookup,
                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +function matchGeoResults(a: GeoResult, b: GeoResult) {
                                                                                                                                                                                                                                                +  return a.lat === b.lat && a.lon === b.lon;
                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                <div class="margin-bottom-regular container">
                                                                                                                                                                                                                                                +  <div class="flex-row gap-regular align-center full-width">
                                                                                                                                                                                                                                                +    <mat-form-field floatLabel="always" class="full-width">
                                                                                                                                                                                                                                                +      <mat-label i18n>Selected Location</mat-label>
                                                                                                                                                                                                                                                +      <input
                                                                                                                                                                                                                                                +        #manualAddressInput
                                                                                                                                                                                                                                                +        matInput
                                                                                                                                                                                                                                                +        [value]="
                                                                                                                                                                                                                                                +          selectedLocation?.locationString ??
                                                                                                                                                                                                                                                +          selectedLocation?.geoLookup?.display_name
                                                                                                                                                                                                                                                +        "
                                                                                                                                                                                                                                                +        (change)="updateLocationString(manualAddressInput.value)"
                                                                                                                                                                                                                                                +        placeholder="no location selected"
                                                                                                                                                                                                                                                +        i18n-placeholder
                                                                                                                                                                                                                                                +        [disabled]="disabled || !manualAddressEnabled"
                                                                                                                                                                                                                                                +      />
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +      @if (
                                                                                                                                                                                                                                                +        selectedLocation?.geoLookup?.display_name !==
                                                                                                                                                                                                                                                +        selectedLocation?.locationString
                                                                                                                                                                                                                                                +      ) {
                                                                                                                                                                                                                                                +        <mat-hint>
                                                                                                                                                                                                                                                +          @if (selectedLocation?.geoLookup) {
                                                                                                                                                                                                                                                +            <span
                                                                                                                                                                                                                                                +              matTooltip="You have manually edited the exact address above, this is the actual mapped location. To change the location marked on the map, use the adress search field or click on the map."
                                                                                                                                                                                                                                                +              i18n-matTooltip
                                                                                                                                                                                                                                                +            >
                                                                                                                                                                                                                                                +              {{ selectedLocation.geoLookup.display_name }}
                                                                                                                                                                                                                                                +            </span>
                                                                                                                                                                                                                                                +          } @else {
                                                                                                                                                                                                                                                +            <span
                                                                                                                                                                                                                                                +              matTooltip="You have manually entered the address above without locating it on the map. To change the location marked on the map, use the adress search field or click on the map."
                                                                                                                                                                                                                                                +              i18n-matTooltip
                                                                                                                                                                                                                                                +              i18n
                                                                                                                                                                                                                                                +            >
                                                                                                                                                                                                                                                +              No location marked on map
                                                                                                                                                                                                                                                +            </span>
                                                                                                                                                                                                                                                +          }
                                                                                                                                                                                                                                                +        </mat-hint>
                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                +    </mat-form-field>
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +    @if (!disabled && selectedLocation) {
                                                                                                                                                                                                                                                +      @if (!manualAddressEnabled) {
                                                                                                                                                                                                                                                +        <button
                                                                                                                                                                                                                                                +          mat-icon-button
                                                                                                                                                                                                                                                +          (click)="manualAddressEnabled = true"
                                                                                                                                                                                                                                                +          matTooltip="Manually overwrite the address text (e.g. to add details that are not available from the automatic address lookup). The mapped location will be unaffected by this."
                                                                                                                                                                                                                                                +          i18n-matTooltip
                                                                                                                                                                                                                                                +        >
                                                                                                                                                                                                                                                +          <fa-icon icon="edit"></fa-icon>
                                                                                                                                                                                                                                                +        </button>
                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +      <button
                                                                                                                                                                                                                                                +        mat-icon-button
                                                                                                                                                                                                                                                +        (click)="clearLocation()"
                                                                                                                                                                                                                                                +        matTooltip="Delete the selected location."
                                                                                                                                                                                                                                                +        i18n-matTooltip
                                                                                                                                                                                                                                                +      >
                                                                                                                                                                                                                                                +        <fa-icon icon="trash"></fa-icon>
                                                                                                                                                                                                                                                +      </button>
                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +@if (!disabled) {
                                                                                                                                                                                                                                                +  <app-address-search
                                                                                                                                                                                                                                                +    (locationSelected)="updateFromAddressSearch($event)"
                                                                                                                                                                                                                                                +  ></app-address-search>
                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AddressSearchComponent.html b/documentation/components/AddressSearchComponent.html new file mode 100644 index 0000000000..d8ce328e6d --- /dev/null +++ b/documentation/components/AddressSearchComponent.html @@ -0,0 +1,1094 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  + src/app/features/location/address-search/address-search.component.ts +

                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  A search box integrated with OpenStreetMaps lookup of the entered address, +offering matching locations as an autocomplete-style dropdown.

                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Outputs
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Accessors
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  +constructor(location: GeoService) +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                  location + GeoService + + No +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + searchText +
                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  The search text, for which locations are looked up (as initial input to prefill the field).

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Outputs

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + locationSelected +
                                                                                                                                                                                                                                                  + Type : EventEmitter + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Whenever the user selects an actual looked up location, it is emitted here.

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + searchClick + + +
                                                                                                                                                                                                                                                  +searchClick() +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + selectLocation + + +
                                                                                                                                                                                                                                                  +selectLocation(selected: GeoResult | string | undefined) +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                  selected + GeoResult | string | undefined + + No +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + triggerInputUpdate + + +
                                                                                                                                                                                                                                                  +triggerInputUpdate() +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + _searchText + + +
                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                  + Default value : "" +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + displayFn + + +
                                                                                                                                                                                                                                                  + Default value : () => {...} +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  do not display selected item in the input field because this should be an empty search field

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + filteredOptions + + +
                                                                                                                                                                                                                                                  + Default value : new Subject<GeoResult[]>() +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + loading + + +
                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + + nothingFound + + +
                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  + Accessors +

                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  + + searchText +
                                                                                                                                                                                                                                                  + setsearchText(value: string) +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  The search text, for which locations are looked up (as initial input to prefill the field).

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                  value + string + + No +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  import {
                                                                                                                                                                                                                                                  +  Component,
                                                                                                                                                                                                                                                  +  ElementRef,
                                                                                                                                                                                                                                                  +  EventEmitter,
                                                                                                                                                                                                                                                  +  Input,
                                                                                                                                                                                                                                                  +  Output,
                                                                                                                                                                                                                                                  +  ViewChild,
                                                                                                                                                                                                                                                  +  OnInit,
                                                                                                                                                                                                                                                  +} from "@angular/core";
                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                  +  MatAutocomplete,
                                                                                                                                                                                                                                                  +  MatAutocompleteTrigger,
                                                                                                                                                                                                                                                  +  MatOption,
                                                                                                                                                                                                                                                  +} from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                  +  MatFormField,
                                                                                                                                                                                                                                                  +  MatLabel,
                                                                                                                                                                                                                                                  +  MatSuffix,
                                                                                                                                                                                                                                                  +} from "@angular/material/form-field";
                                                                                                                                                                                                                                                  +import { MatInput } from "@angular/material/input";
                                                                                                                                                                                                                                                  +import { AsyncPipe } from "@angular/common";
                                                                                                                                                                                                                                                  +import { merge, Subject } from "rxjs";
                                                                                                                                                                                                                                                  +import { GeoResult, GeoService } from "../geo.service";
                                                                                                                                                                                                                                                  +import { concatMap, debounceTime, filter, map, tap } from "rxjs/operators";
                                                                                                                                                                                                                                                  +import { Logging } from "../../../core/logging/logging.service";
                                                                                                                                                                                                                                                  +import { MatButton, MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                  +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                  +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                  + * A search box integrated with OpenStreetMaps lookup of the entered address,
                                                                                                                                                                                                                                                  + * offering matching locations as an autocomplete-style dropdown.
                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                  +  selector: "app-address-search",
                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                  +    MatOption,
                                                                                                                                                                                                                                                  +    MatAutocomplete,
                                                                                                                                                                                                                                                  +    MatLabel,
                                                                                                                                                                                                                                                  +    MatFormField,
                                                                                                                                                                                                                                                  +    MatAutocompleteTrigger,
                                                                                                                                                                                                                                                  +    MatInput,
                                                                                                                                                                                                                                                  +    AsyncPipe,
                                                                                                                                                                                                                                                  +    MatButton,
                                                                                                                                                                                                                                                  +    MatIconButton,
                                                                                                                                                                                                                                                  +    MatSuffix,
                                                                                                                                                                                                                                                  +    FaIconComponent,
                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                  +  templateUrl: "./address-search.component.html",
                                                                                                                                                                                                                                                  +  styleUrl: "./address-search.component.scss",
                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                  +export class AddressSearchComponent implements OnInit {
                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                  +   * The search text, for which locations are looked up (as initial input to prefill the field).
                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                  +  @Input() set searchText(value: string) {
                                                                                                                                                                                                                                                  +    if (!(typeof value === "string")) {
                                                                                                                                                                                                                                                  +      Logging.debug("Invalid address searchText input", value);
                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +    this._searchText = value;
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +  _searchText: string = "";
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                  +   * Whenever the user selects an actual looked up location, it is emitted here.
                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                  +  @Output() locationSelected = new EventEmitter<GeoLocation>();
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  filteredOptions = new Subject<GeoResult[]>();
                                                                                                                                                                                                                                                  +  loading = false;
                                                                                                                                                                                                                                                  +  nothingFound = false;
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  @ViewChild("inputElement") private inputElem: ElementRef<HTMLInputElement>;
                                                                                                                                                                                                                                                  +  private inputStream = new Subject<string>();
                                                                                                                                                                                                                                                  +  private searchClickStream = new Subject<string>();
                                                                                                                                                                                                                                                  +  private lastSearch: string;
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  /** do not display selected item in the input field because this should be an empty search field */
                                                                                                                                                                                                                                                  +  displayFn = () => "";
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  constructor(private location: GeoService) {}
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                  +    this.initSearchPipeline();
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  private initSearchPipeline() {
                                                                                                                                                                                                                                                  +    merge(this.inputStream.pipe(debounceTime(2500)), this.searchClickStream)
                                                                                                                                                                                                                                                  +      .pipe(
                                                                                                                                                                                                                                                  +        map((input) => input.trim()),
                                                                                                                                                                                                                                                  +        filter((input) => this.isRelevantInput(input)),
                                                                                                                                                                                                                                                  +        tap(() => {
                                                                                                                                                                                                                                                  +          this.nothingFound = false;
                                                                                                                                                                                                                                                  +          this.loading = true;
                                                                                                                                                                                                                                                  +        }),
                                                                                                                                                                                                                                                  +        debounceTime(200),
                                                                                                                                                                                                                                                  +        concatMap((res) => this.getGeoLookupResult(res)),
                                                                                                                                                                                                                                                  +      )
                                                                                                                                                                                                                                                  +      .subscribe((res) => this.filteredOptions.next(res));
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  triggerInputUpdate() {
                                                                                                                                                                                                                                                  +    this.inputStream.next(this.inputElem.nativeElement.value);
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +  searchClick() {
                                                                                                                                                                                                                                                  +    this.searchClickStream.next(this.inputElem.nativeElement.value);
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  private isRelevantInput(input: string): boolean {
                                                                                                                                                                                                                                                  +    return (
                                                                                                                                                                                                                                                  +      !!input &&
                                                                                                                                                                                                                                                  +      input.length > 3 &&
                                                                                                                                                                                                                                                  +      input.localeCompare("[object Object]") !== 0 &&
                                                                                                                                                                                                                                                  +      input.localeCompare(this.lastSearch) !== 0
                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  selectLocation(selected: GeoResult | string | undefined) {
                                                                                                                                                                                                                                                  +    let result: GeoLocation;
                                                                                                                                                                                                                                                  +    if (typeof selected === "object") {
                                                                                                                                                                                                                                                  +      result = { geoLookup: selected };
                                                                                                                                                                                                                                                  +    } else if (typeof selected === "string") {
                                                                                                                                                                                                                                                  +      // special case to set address text from search without mapped location (when no result was found)
                                                                                                                                                                                                                                                  +      result = { locationString: selected };
                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +    this.locationSelected.emit(result);
                                                                                                                                                                                                                                                  +    this.filteredOptions.next([]);
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  private getGeoLookupResult(searchTerm: string) {
                                                                                                                                                                                                                                                  +    return this.location.lookup(searchTerm).pipe(
                                                                                                                                                                                                                                                  +      tap((res) => {
                                                                                                                                                                                                                                                  +        this.lastSearch = searchTerm;
                                                                                                                                                                                                                                                  +        this.loading = false;
                                                                                                                                                                                                                                                  +        this.nothingFound = res.length === 0;
                                                                                                                                                                                                                                                  +      }),
                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  <mat-form-field class="form-field">
                                                                                                                                                                                                                                                  +  <mat-label i18n>Search an address</mat-label>
                                                                                                                                                                                                                                                  +  <input
                                                                                                                                                                                                                                                  +    #inputElement
                                                                                                                                                                                                                                                  +    class="address-search-input"
                                                                                                                                                                                                                                                  +    type="text"
                                                                                                                                                                                                                                                  +    matInput
                                                                                                                                                                                                                                                  +    [value]="_searchText"
                                                                                                                                                                                                                                                  +    (keyup)="triggerInputUpdate()"
                                                                                                                                                                                                                                                  +    [matAutocomplete]="auto"
                                                                                                                                                                                                                                                  +  />
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  <button mat-icon-button matIconSuffix (click)="searchClick()">
                                                                                                                                                                                                                                                  +    <fa-icon icon="search"></fa-icon>
                                                                                                                                                                                                                                                  +  </button>
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +  <mat-autocomplete
                                                                                                                                                                                                                                                  +    #auto="matAutocomplete"
                                                                                                                                                                                                                                                  +    (optionSelected)="selectLocation($event.option.value)"
                                                                                                                                                                                                                                                  +    [displayWith]="displayFn"
                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                  +    @if (loading) {
                                                                                                                                                                                                                                                  +      <mat-option disabled i18n>Loading results...</mat-option>
                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                  +    @if (nothingFound) {
                                                                                                                                                                                                                                                  +      <mat-option disabled i18n>Location not found</mat-option>
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +      @if (inputElement.value?.length > 2) {
                                                                                                                                                                                                                                                  +        <mat-option [value]="inputElement.value" i18n
                                                                                                                                                                                                                                                  +          >Set address without map location as "{{
                                                                                                                                                                                                                                                  +            inputElement.value
                                                                                                                                                                                                                                                  +          }}"</mat-option
                                                                                                                                                                                                                                                  +        >
                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +    @for (option of filteredOptions | async; track option) {
                                                                                                                                                                                                                                                  +      <mat-option [value]="option">
                                                                                                                                                                                                                                                  +        {{ option.display_name }}
                                                                                                                                                                                                                                                  +      </mat-option>
                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                  +  </mat-autocomplete>
                                                                                                                                                                                                                                                  +</mat-form-field>
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminComponent.html b/documentation/components/AdminComponent.html new file mode 100644 index 0000000000..9bcb8ef1ce --- /dev/null +++ b/documentation/components/AdminComponent.html @@ -0,0 +1,1202 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    + src/app/core/admin/admin/admin.component.ts +

                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Admin GUI giving administrative users different options/actions.

                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    +constructor(alertService: AlertService, backupService: BackupService, downloadService: DownloadService, db: Database, confirmationDialog: ConfirmationDialogService, snackBar: MatSnackBar, configService: ConfigService) +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                    alertService + AlertService + + No +
                                                                                                                                                                                                                                                    backupService + BackupService + + No +
                                                                                                                                                                                                                                                    downloadService + DownloadService + + No +
                                                                                                                                                                                                                                                    db + Database + + No +
                                                                                                                                                                                                                                                    confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                    snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                    configService + ConfigService + + No +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + clearDatabase + + +
                                                                                                                                                                                                                                                    + + clearDatabase() +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Reset the database removing all entities except user accounts.

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + debugDatabase + + +
                                                                                                                                                                                                                                                    +debugDatabase() +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Send a reference of the PouchDB to the browser's developer console for real-time debugging.

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + downloadConfigClick + + +
                                                                                                                                                                                                                                                    + + downloadConfigClick() +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + loadBackup + + +
                                                                                                                                                                                                                                                    + + loadBackup(inputEvent: Event) +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Reset the database to the state from the loaded backup file.

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                                                                    inputEvent + Event + + No + +

                                                                                                                                                                                                                                                    for the input where a file has been selected

                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + saveBackup + + +
                                                                                                                                                                                                                                                    + + saveBackup() +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Download a full backup of the database as (json) file.

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + saveCsvExport + + +
                                                                                                                                                                                                                                                    + + saveCsvExport() +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    Download a full export of the database as csv file.

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + Async + uploadConfigFile + + +
                                                                                                                                                                                                                                                    + + uploadConfigFile(inputEvent: Event) +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                    inputEvent + Event + + No +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    + + + alerts + + +
                                                                                                                                                                                                                                                    + Type : ExtendedAlertConfig[] + +
                                                                                                                                                                                                                                                    + Default value : [] +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    all alerts

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                    +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                    +import { BackupService } from "../backup/backup.service";
                                                                                                                                                                                                                                                    +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                    +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                    +import { ConfigService } from "../../config/config.service";
                                                                                                                                                                                                                                                    +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                    +import { readFile } from "../../../utils/utils";
                                                                                                                                                                                                                                                    +import { Database } from "../../database/database";
                                                                                                                                                                                                                                                    +import { ExtendedAlertConfig } from "../../alerts/alert-config";
                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                    +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                    +import { DatePipe, NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                    +import { DownloadService } from "../../export/download-service/download.service";
                                                                                                                                                                                                                                                    +import { MatListModule } from "@angular/material/list";
                                                                                                                                                                                                                                                    +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                    + * Admin GUI giving administrative users different options/actions.
                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                    +@UntilDestroy()
                                                                                                                                                                                                                                                    +@RouteTarget("Admin")
                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                    +  selector: "app-admin",
                                                                                                                                                                                                                                                    +  templateUrl: "./admin.component.html",
                                                                                                                                                                                                                                                    +  styleUrls: ["./admin.component.scss"],
                                                                                                                                                                                                                                                    +  imports: [MatButtonModule, RouterLink, NgForOf, DatePipe, MatListModule],
                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                    +export class AdminComponent implements OnInit {
                                                                                                                                                                                                                                                    +  /** all alerts */
                                                                                                                                                                                                                                                    +  alerts: ExtendedAlertConfig[] = [];
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                    +    private alertService: AlertService,
                                                                                                                                                                                                                                                    +    private backupService: BackupService,
                                                                                                                                                                                                                                                    +    private downloadService: DownloadService,
                                                                                                                                                                                                                                                    +    private db: Database,
                                                                                                                                                                                                                                                    +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                    +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                    +    private configService: ConfigService,
                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                    +    this.alerts = this.alertService.alerts;
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                    +   * Send a reference of the PouchDB to the browser's developer console for real-time debugging.
                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                    +  debugDatabase() {
                                                                                                                                                                                                                                                    +    console.log(this.db);
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                    +   * Download a full backup of the database as (json) file.
                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                    +  async saveBackup() {
                                                                                                                                                                                                                                                    +    const backup = await this.backupService.getDatabaseExport();
                                                                                                                                                                                                                                                    +    await this.downloadService.triggerDownload(backup, "json", "backup");
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                    +   * Download a full export of the database as csv file.
                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                    +  async saveCsvExport() {
                                                                                                                                                                                                                                                    +    const backup = await this.backupService.getDatabaseExport();
                                                                                                                                                                                                                                                    +    await this.downloadService.triggerDownload(backup, "csv", "export");
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  async downloadConfigClick() {
                                                                                                                                                                                                                                                    +    const configString = this.configService.exportConfig();
                                                                                                                                                                                                                                                    +    await this.downloadService.triggerDownload(configString, "json", "config");
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  async uploadConfigFile(inputEvent: Event) {
                                                                                                                                                                                                                                                    +    const loadedFile = await readFile(this.getFileFromInputEvent(inputEvent));
                                                                                                                                                                                                                                                    +    await this.configService.saveConfig(JSON.parse(loadedFile));
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                    +   * Reset the database to the state from the loaded backup file.
                                                                                                                                                                                                                                                    +   * @param inputEvent for the input where a file has been selected
                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                    +  async loadBackup(inputEvent: Event) {
                                                                                                                                                                                                                                                    +    const restorePoint = await this.backupService.getDatabaseExport();
                                                                                                                                                                                                                                                    +    const dataToBeRestored = JSON.parse(
                                                                                                                                                                                                                                                    +      await readFile(this.getFileFromInputEvent(inputEvent)),
                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    const confirmed = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                    +      `Overwrite complete database?`,
                                                                                                                                                                                                                                                    +      `Are you sure you want to restore this backup? This will
                                                                                                                                                                                                                                                    +      delete all ${restorePoint.length} existing records,
                                                                                                                                                                                                                                                    +      restoring ${dataToBeRestored.length} records from the loaded file.`,
                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    if (!confirmed) {
                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    await this.backupService.clearDatabase();
                                                                                                                                                                                                                                                    +    await this.backupService.restoreData(dataToBeRestored, true);
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    const snackBarRef = this.snackBar.open(`Backup restored`, "Undo", {
                                                                                                                                                                                                                                                    +      duration: 8000,
                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                    +    snackBarRef
                                                                                                                                                                                                                                                    +      .onAction()
                                                                                                                                                                                                                                                    +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                    +      .subscribe(async () => {
                                                                                                                                                                                                                                                    +        await this.backupService.clearDatabase();
                                                                                                                                                                                                                                                    +        await this.backupService.restoreData(restorePoint, true);
                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  private getFileFromInputEvent(inputEvent: Event): Blob {
                                                                                                                                                                                                                                                    +    const target = inputEvent.target as HTMLInputElement;
                                                                                                                                                                                                                                                    +    return target.files[0];
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                    +   * Reset the database removing all entities except user accounts.
                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                    +  async clearDatabase() {
                                                                                                                                                                                                                                                    +    const restorePoint = await this.backupService.getDatabaseExport();
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    const confirmed = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                    +      `Empty complete database?`,
                                                                                                                                                                                                                                                    +      `Are you sure you want to clear the database? This will delete all existing records in the database!`,
                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    if (!confirmed) {
                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    await this.backupService.clearDatabase();
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +    const snackBarRef = this.snackBar.open(`Import completed`, "Undo", {
                                                                                                                                                                                                                                                    +      duration: 8000,
                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                    +    snackBarRef
                                                                                                                                                                                                                                                    +      .onAction()
                                                                                                                                                                                                                                                    +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                    +      .subscribe(async () => {
                                                                                                                                                                                                                                                    +        await this.backupService.restoreData(restorePoint, true);
                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    <h1>Administration & Configuration</h1>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<p style="font-weight: bold; font-style: italic">
                                                                                                                                                                                                                                                    +  Warning: This section is intended for system administrators only. Make sure
                                                                                                                                                                                                                                                    +  you know what you are doing.
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<h2>Shortcuts</h2>
                                                                                                                                                                                                                                                    +<mat-nav-list>
                                                                                                                                                                                                                                                    +  <mat-list-item [routerLink]="['/admin/site-settings']" i18n="admin menu item">
                                                                                                                                                                                                                                                    +    Site Settings
                                                                                                                                                                                                                                                    +  </mat-list-item>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  <mat-list-item [routerLink]="['/admin/conflicts']" i18n="admin menu item">
                                                                                                                                                                                                                                                    +    Database Conflicts
                                                                                                                                                                                                                                                    +  </mat-list-item>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  <mat-list-item [routerLink]="['/admin/entity']" i18n="admin menu item">
                                                                                                                                                                                                                                                    +    Administer Entity Types
                                                                                                                                                                                                                                                    +  </mat-list-item>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  <mat-list-item [routerLink]="['/admin/setup-wizard']" i18n="admin menu item">
                                                                                                                                                                                                                                                    +    Setup Wizard
                                                                                                                                                                                                                                                    +  </mat-list-item>
                                                                                                                                                                                                                                                    +</mat-nav-list>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<h2>Backup</h2>
                                                                                                                                                                                                                                                    +<p>
                                                                                                                                                                                                                                                    +  <button (click)="saveBackup()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Download Backup (.json)
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +  &nbsp;
                                                                                                                                                                                                                                                    +  <button (click)="backupImport.click()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Restore Backup (.json)
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +  <input #backupImport type="file" hidden (change)="loadBackup($event)" />
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<br />
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +<h2>Export</h2>
                                                                                                                                                                                                                                                    +<p>
                                                                                                                                                                                                                                                    +  <button (click)="saveCsvExport()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Download whole database (.csv)
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +<br />
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +<h2>Application Configuration</h2>
                                                                                                                                                                                                                                                    +<p>
                                                                                                                                                                                                                                                    +  <button (click)="downloadConfigClick()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Download configuration
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +  &nbsp;
                                                                                                                                                                                                                                                    +  <button (click)="configImport.click()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Upload new configuration
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +  <input #configImport type="file" hidden (change)="uploadConfigFile($event)" />
                                                                                                                                                                                                                                                    +  &nbsp;
                                                                                                                                                                                                                                                    +  <button routerLink="config-import" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Generate configuration from spreadsheet
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<br />
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +<h2>Debug the PouchDB</h2>
                                                                                                                                                                                                                                                    +<p>
                                                                                                                                                                                                                                                    +  <button (click)="debugDatabase()" mat-stroked-button>
                                                                                                                                                                                                                                                    +    Send to console.log()
                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +<p>
                                                                                                                                                                                                                                                    +  <button (click)="clearDatabase()" mat-stroked-button>Empty Database</button>
                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +<br />
                                                                                                                                                                                                                                                    +<hr />
                                                                                                                                                                                                                                                    +<h2 id="alert-log-heading">Alert Log</h2>
                                                                                                                                                                                                                                                    +<table aria-describedby="alert-log-heading" class="admin-table">
                                                                                                                                                                                                                                                    +  <thead>
                                                                                                                                                                                                                                                    +    <th class="shrink-width">Timestamp</th>
                                                                                                                                                                                                                                                    +    <th class="shrink-width">Type</th>
                                                                                                                                                                                                                                                    +    <th>Message</th>
                                                                                                                                                                                                                                                    +  </thead>
                                                                                                                                                                                                                                                    +  <tbody>
                                                                                                                                                                                                                                                    +    <tr *ngFor="let alert of alerts.reverse()">
                                                                                                                                                                                                                                                    +      <td>{{ alert.timestamp | date: "medium" }}</td>
                                                                                                                                                                                                                                                    +      <td>{{ alert.type }}</td>
                                                                                                                                                                                                                                                    +      <td>{{ alert.message }}</td>
                                                                                                                                                                                                                                                    +    </tr>
                                                                                                                                                                                                                                                    +  </tbody>
                                                                                                                                                                                                                                                    +</table>
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    + ./admin.component.scss +

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    @use "../../../../styles/variables/colors";
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +.admin-table {
                                                                                                                                                                                                                                                    +  border-collapse: collapse;
                                                                                                                                                                                                                                                    +  width: 100%;
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  > thead > th {
                                                                                                                                                                                                                                                    +    padding: 10px 12px;
                                                                                                                                                                                                                                                    +    text-align: left;
                                                                                                                                                                                                                                                    +    vertical-align: bottom;
                                                                                                                                                                                                                                                    +    font-weight: 400;
                                                                                                                                                                                                                                                    +    color: colors.$muted-background;
                                                                                                                                                                                                                                                    +    text-transform: uppercase;
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  > tbody > tr > td {
                                                                                                                                                                                                                                                    +    padding: 10px 12px;
                                                                                                                                                                                                                                                    +    vertical-align: top;
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +  > tbody > tr {
                                                                                                                                                                                                                                                    +    border-top: 1px solid colors.$disabled;
                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +.shrink-width {
                                                                                                                                                                                                                                                    +  width: 15%;
                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEditDescriptionOnlyFieldComponent.html b/documentation/components/AdminEditDescriptionOnlyFieldComponent.html new file mode 100644 index 0000000000..461f725014 --- /dev/null +++ b/documentation/components/AdminEditDescriptionOnlyFieldComponent.html @@ -0,0 +1,701 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      + src/app/core/admin/admin-entity-details/admin-entity-field/admin-edit-description-only-field/admin-edit-description-only-field.component.ts +

                                                                                                                                                                                                                                                      + + + + +

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      + OnChanges +

                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      +constructor(data: FormFieldConfig, dialogRef: MatDialogRef, fb: FormBuilder) +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                      data + FormFieldConfig + + No +
                                                                                                                                                                                                                                                      dialogRef + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                      fb + FormBuilder + + No +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      + + + Public + initSettings + + +
                                                                                                                                                                                                                                                      + + initSettings() +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      + + + save + + +
                                                                                                                                                                                                                                                      +save() +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      + + + formField + + +
                                                                                                                                                                                                                                                      + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      + + + schemaFieldsForm + + +
                                                                                                                                                                                                                                                      + Type : FormGroup + +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      import { Component, Inject, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                      +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                      +  MatDialogModule,
                                                                                                                                                                                                                                                      +  MatDialogRef,
                                                                                                                                                                                                                                                      +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                      +import { DialogCloseComponent } from "../../../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                      +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                      +import { ErrorHintComponent } from "../../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                      +  FormBuilder,
                                                                                                                                                                                                                                                      +  FormGroup,
                                                                                                                                                                                                                                                      +  FormsModule,
                                                                                                                                                                                                                                                      +  ReactiveFormsModule,
                                                                                                                                                                                                                                                      +  Validators,
                                                                                                                                                                                                                                                      +} from "@angular/forms";
                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                      +import { v4 as uuid } from "uuid";
                                                                                                                                                                                                                                                      +import { FormFieldConfig } from "../../../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                      +  selector: "app-admin-edit-description-only-field",
                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                      +    MatDialogModule,
                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                      +    DialogCloseComponent,
                                                                                                                                                                                                                                                      +    MatInputModule,
                                                                                                                                                                                                                                                      +    ErrorHintComponent,
                                                                                                                                                                                                                                                      +    FormsModule,
                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                      +  templateUrl: "./admin-edit-description-only-field.component.html",
                                                                                                                                                                                                                                                      +  styleUrl: "./admin-edit-description-only-field.component.scss",
                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                      +export class AdminEditDescriptionOnlyFieldComponent implements OnChanges {
                                                                                                                                                                                                                                                      +  formField: FormFieldConfig;
                                                                                                                                                                                                                                                      +  schemaFieldsForm: FormGroup;
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                      +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                      +    data: FormFieldConfig,
                                                                                                                                                                                                                                                      +    private dialogRef: MatDialogRef<any>,
                                                                                                                                                                                                                                                      +    private fb: FormBuilder,
                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                      +    this.formField = data;
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +    this.initSettings();
                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                      +    if (changes.entitySchemaField) {
                                                                                                                                                                                                                                                      +      this.initSettings();
                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +  public initSettings() {
                                                                                                                                                                                                                                                      +    this.schemaFieldsForm = this.fb.group({
                                                                                                                                                                                                                                                      +      label: [this.formField.label, Validators.required],
                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +  save() {
                                                                                                                                                                                                                                                      +    this.schemaFieldsForm.markAllAsTouched();
                                                                                                                                                                                                                                                      +    if (this.schemaFieldsForm.invalid) {
                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                      +    if (!this.formField.id) {
                                                                                                                                                                                                                                                      +      this.formField.id = uuid();
                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +    const newSchemaField = {
                                                                                                                                                                                                                                                      +      id: this.formField.id,
                                                                                                                                                                                                                                                      +      editComponent: "EditDescriptionOnly",
                                                                                                                                                                                                                                                      +      label: this.schemaFieldsForm.get("label").value,
                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +    this.dialogRef.close(newSchemaField);
                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      <h2 mat-dialog-title i18n>Configure Text Block</h2>
                                                                                                                                                                                                                                                      +<app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +<mat-dialog-content>
                                                                                                                                                                                                                                                      +  <p i18n>
                                                                                                                                                                                                                                                      +    This text is displayed as part of the form to provide additional information
                                                                                                                                                                                                                                                      +    without any input options for the user:
                                                                                                                                                                                                                                                      +  </p>
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +  <form [formGroup]="schemaFieldsForm">
                                                                                                                                                                                                                                                      +    <div class="entity-form-cell">
                                                                                                                                                                                                                                                      +      <mat-form-field>
                                                                                                                                                                                                                                                      +        <textarea formControlName="label" matInput rows="3"></textarea>
                                                                                                                                                                                                                                                      +      </mat-form-field>
                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                      +  </form>
                                                                                                                                                                                                                                                      +</mat-dialog-content>
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +<mat-dialog-actions>
                                                                                                                                                                                                                                                      +  <button mat-button (click)="save()" i18n="Button label">Save</button>
                                                                                                                                                                                                                                                      +  <button mat-button mat-dialog-close i18n="Button label">Cancel</button>
                                                                                                                                                                                                                                                      +</mat-dialog-actions>
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityComponent.html b/documentation/components/AdminEntityComponent.html new file mode 100644 index 0000000000..94c281d1a3 --- /dev/null +++ b/documentation/components/AdminEntityComponent.html @@ -0,0 +1,1074 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        + src/app/core/admin/admin-entity/admin-entity.component.ts +

                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        +constructor(entities: EntityRegistry, configService: ConfigService, location: Location, entityMapper: EntityMapperService, entityActionsService: EntityActionsService, routes: ActivatedRoute) +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                        configService + ConfigService + + No +
                                                                                                                                                                                                                                                        location + Location + + No +
                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                        entityActionsService + EntityActionsService + + No +
                                                                                                                                                                                                                                                        routes + ActivatedRoute + + No +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + cancel + + +
                                                                                                                                                                                                                                                        +cancel() +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + Async + save + + +
                                                                                                                                                                                                                                                        + + save() +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + configDetailsView + + +
                                                                                                                                                                                                                                                        + Type : EntityDetailsConfig + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + configEntitySettings + + +
                                                                                                                                                                                                                                                        + Type : EntityConfig + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + configListView + + +
                                                                                                                                                                                                                                                        + Type : EntityListConfig + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + entityConstructor + + +
                                                                                                                                                                                                                                                        + Type : EntityConstructor + +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + Protected + mode + + +
                                                                                                                                                                                                                                                        + Type : "details" | "list" | "general" + +
                                                                                                                                                                                                                                                        + Default value : "details" +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        + + + + templateRef + + +
                                                                                                                                                                                                                                                        + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                        + + @ContentChild(TemplateRef)
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                        +  ContentChild,
                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                        +  OnInit,
                                                                                                                                                                                                                                                        +  TemplateRef,
                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                        +import { CommonModule, Location } from "@angular/common";
                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                        +import { ConfigService } from "../../config/config.service";
                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                        +import { EntityActionsService } from "../../entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                        +import { ViewConfig } from "../../config/dynamic-routing/view-config.interface";
                                                                                                                                                                                                                                                        +import { EntityDetailsConfig } from "../../entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                        +import { EntityConfigService } from "../../entity/entity-config.service";
                                                                                                                                                                                                                                                        +import { Config } from "../../config/config";
                                                                                                                                                                                                                                                        +import { EntityConfig } from "../../entity/entity-config";
                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                        +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                        +import { EntityListConfig } from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                        +import { EntityTypeLabelPipe } from "../../common-components/entity-type-label/entity-type-label.pipe";
                                                                                                                                                                                                                                                        +import { MatButton, MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                        +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                        +import { AdminEntityListComponent } from "../admin-entity-list/admin-entity-list.component";
                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                        +  MatSidenav,
                                                                                                                                                                                                                                                        +  MatSidenavContainer,
                                                                                                                                                                                                                                                        +  MatSidenavContent,
                                                                                                                                                                                                                                                        +} from "@angular/material/sidenav";
                                                                                                                                                                                                                                                        +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                        +import { ActivatedRoute, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                        +import { MatListItem, MatNavList } from "@angular/material/list";
                                                                                                                                                                                                                                                        +import { AdminEntityDetailsComponent } from "../admin-entity-details/admin-entity-details/admin-entity-details.component";
                                                                                                                                                                                                                                                        +import { AdminEntityGeneralSettingsComponent } from "./admin-entity-general-settings/admin-entity-general-settings.component";
                                                                                                                                                                                                                                                        +import { BetaFeatureComponent } from "../../../features/coming-soon/beta-feature/beta-feature.component";
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                        +  selector: "app-admin-entity",
                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                        +    CommonModule,
                                                                                                                                                                                                                                                        +    EntityTypeLabelPipe,
                                                                                                                                                                                                                                                        +    MatButton,
                                                                                                                                                                                                                                                        +    ViewTitleComponent,
                                                                                                                                                                                                                                                        +    AdminEntityListComponent,
                                                                                                                                                                                                                                                        +    MatSidenav,
                                                                                                                                                                                                                                                        +    MatSidenavContainer,
                                                                                                                                                                                                                                                        +    MatSidenavContent,
                                                                                                                                                                                                                                                        +    FaIconComponent,
                                                                                                                                                                                                                                                        +    MatIconButton,
                                                                                                                                                                                                                                                        +    RouterLink,
                                                                                                                                                                                                                                                        +    MatNavList,
                                                                                                                                                                                                                                                        +    MatListItem,
                                                                                                                                                                                                                                                        +    AdminEntityDetailsComponent,
                                                                                                                                                                                                                                                        +    AdminEntityGeneralSettingsComponent,
                                                                                                                                                                                                                                                        +    BetaFeatureComponent,
                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                        +  templateUrl: "./admin-entity.component.html",
                                                                                                                                                                                                                                                        +  styleUrl: "./admin-entity.component.scss",
                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                        +export class AdminEntityComponent implements OnInit {
                                                                                                                                                                                                                                                        +  @Input() entityType: string;
                                                                                                                                                                                                                                                        +  entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                        +  private originalEntitySchemaFields: [string, EntitySchemaField][];
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  configDetailsView: EntityDetailsConfig;
                                                                                                                                                                                                                                                        +  configListView: EntityListConfig;
                                                                                                                                                                                                                                                        +  configEntitySettings: EntityConfig;
                                                                                                                                                                                                                                                        +  protected mode: "details" | "list" | "general" = "details";
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  @ContentChild(TemplateRef) templateRef: TemplateRef<any>;
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                        +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                        +    private configService: ConfigService,
                                                                                                                                                                                                                                                        +    private location: Location,
                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                        +    private entityActionsService: EntityActionsService,
                                                                                                                                                                                                                                                        +    private routes: ActivatedRoute,
                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  ngOnInit(): void {
                                                                                                                                                                                                                                                        +    this.init();
                                                                                                                                                                                                                                                        +    this.routes.queryParams.subscribe((params) => {
                                                                                                                                                                                                                                                        +      this.mode = params.mode ?? this.mode;
                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  private init() {
                                                                                                                                                                                                                                                        +    this.entityConstructor = this.entities.get(this.entityType);
                                                                                                                                                                                                                                                        +    this.originalEntitySchemaFields = JSON.parse(
                                                                                                                                                                                                                                                        +      JSON.stringify(Array.from(this.entityConstructor.schema.entries())),
                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    this.configDetailsView = this.loadViewConfig(
                                                                                                                                                                                                                                                        +      EntityConfigService.getDetailsViewId(this.entityConstructor),
                                                                                                                                                                                                                                                        +    ) ?? { entityType: this.entityType, panels: [] };
                                                                                                                                                                                                                                                        +    this.configListView = this.loadViewConfig(
                                                                                                                                                                                                                                                        +      EntityConfigService.getListViewId(this.entityConstructor),
                                                                                                                                                                                                                                                        +    ) ?? { entityType: this.entityType };
                                                                                                                                                                                                                                                        +    this.configEntitySettings = this.entityConstructor;
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  private loadViewConfig<
                                                                                                                                                                                                                                                        +    C = EntityDetailsConfig | EntityListConfig | undefined,
                                                                                                                                                                                                                                                        +  >(viewId: string): C | undefined {
                                                                                                                                                                                                                                                        +    const viewConfig: ViewConfig<C> = this.configService.getConfig(viewId);
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    // work on a deep copy as we are editing in place (for titles, sections, etc.)
                                                                                                                                                                                                                                                        +    return viewConfig?.config
                                                                                                                                                                                                                                                        +      ? JSON.parse(JSON.stringify(viewConfig.config))
                                                                                                                                                                                                                                                        +      : undefined;
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  cancel() {
                                                                                                                                                                                                                                                        +    this.entityConstructor.schema = new Map(this.originalEntitySchemaFields);
                                                                                                                                                                                                                                                        +    this.location.back();
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  async save() {
                                                                                                                                                                                                                                                        +    const originalConfig = await this.entityMapper.load(
                                                                                                                                                                                                                                                        +      Config,
                                                                                                                                                                                                                                                        +      Config.CONFIG_KEY,
                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                        +    const newConfig = originalConfig.copy();
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    this.setViewConfig(
                                                                                                                                                                                                                                                        +      newConfig,
                                                                                                                                                                                                                                                        +      EntityConfigService.getDetailsViewId(this.entityConstructor),
                                                                                                                                                                                                                                                        +      this.configDetailsView,
                                                                                                                                                                                                                                                        +      "EntityDetails",
                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                        +    this.setViewConfig(
                                                                                                                                                                                                                                                        +      newConfig,
                                                                                                                                                                                                                                                        +      EntityConfigService.getListViewId(this.entityConstructor),
                                                                                                                                                                                                                                                        +      this.configListView,
                                                                                                                                                                                                                                                        +      "EntityList",
                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                        +    this.setEntityConfig(newConfig);
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    await this.entityMapper.save(newConfig);
                                                                                                                                                                                                                                                        +    this.entityActionsService.showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                        +      $localize`:Save config confirmation message:Configuration updated`,
                                                                                                                                                                                                                                                        +      [originalConfig],
                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    this.location.back();
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  private setEntityConfig(newConfig: Config) {
                                                                                                                                                                                                                                                        +    const entityConfigKey =
                                                                                                                                                                                                                                                        +      EntityConfigService.PREFIX_ENTITY_CONFIG + this.entityType;
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    // init config if not present
                                                                                                                                                                                                                                                        +    newConfig.data[entityConfigKey] =
                                                                                                                                                                                                                                                        +      newConfig.data[entityConfigKey] ?? ({ attributes: {} } as EntityConfig);
                                                                                                                                                                                                                                                        +    newConfig.data[entityConfigKey].attributes =
                                                                                                                                                                                                                                                        +      newConfig.data[entityConfigKey].attributes ?? {};
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    const entitySchemaConfig: EntityConfig = newConfig.data[entityConfigKey];
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    for (const [fieldId, field] of this.entityConstructor.schema.entries()) {
                                                                                                                                                                                                                                                        +      if (!field._isCustomizedField) {
                                                                                                                                                                                                                                                        +        // do not write unchanged default fields from the classes into config
                                                                                                                                                                                                                                                        +        continue;
                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                        +      entitySchemaConfig.attributes[fieldId] = field;
                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                        +    if (this.configEntitySettings) {
                                                                                                                                                                                                                                                        +      entitySchemaConfig.label = this.configEntitySettings.label;
                                                                                                                                                                                                                                                        +      entitySchemaConfig.labelPlural = this.configEntitySettings.labelPlural;
                                                                                                                                                                                                                                                        +      entitySchemaConfig.icon = this.configEntitySettings.icon;
                                                                                                                                                                                                                                                        +      entitySchemaConfig.toStringAttributes =
                                                                                                                                                                                                                                                        +        this.configEntitySettings.toStringAttributes;
                                                                                                                                                                                                                                                        +      entitySchemaConfig.hasPII = this.configEntitySettings.hasPII;
                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  private setViewConfig(
                                                                                                                                                                                                                                                        +    targetConfig,
                                                                                                                                                                                                                                                        +    detailsViewId: string,
                                                                                                                                                                                                                                                        +    viewConfig: EntityDetailsConfig | EntityListConfig,
                                                                                                                                                                                                                                                        +    componentForNewConfig: string,
                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                        +    if (targetConfig.data[detailsViewId]) {
                                                                                                                                                                                                                                                        +      targetConfig.data[detailsViewId].config = viewConfig;
                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                        +      // create new config
                                                                                                                                                                                                                                                        +      viewConfig.entityType = this.entityType;
                                                                                                                                                                                                                                                        +      targetConfig.data[detailsViewId] = {
                                                                                                                                                                                                                                                        +        component: componentForNewConfig,
                                                                                                                                                                                                                                                        +        config: viewConfig,
                                                                                                                                                                                                                                                        +      } as ViewConfig<EntityDetailsConfig | EntityListConfig>;
                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        <div class="host-container flex-column">
                                                                                                                                                                                                                                                        +  <div class="header flex-row flex-wrap justify-space-between">
                                                                                                                                                                                                                                                        +    <app-view-title
                                                                                                                                                                                                                                                        +      class="admin-ui-title"
                                                                                                                                                                                                                                                        +      i18n="page title"
                                                                                                                                                                                                                                                        +      [displayInPlace]="true"
                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                        +      Editing data structure for "{{ entityType | entityTypeLabel }}" records
                                                                                                                                                                                                                                                        +    </app-view-title>
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    <div class="flex-row gap-small save-buttons">
                                                                                                                                                                                                                                                        +      <button mat-raised-button color="accent" (click)="save()" i18n>
                                                                                                                                                                                                                                                        +        Save
                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                        +      <button mat-stroked-button (click)="cancel()" i18n>Cancel</button>
                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +  <div class="main-container flex-row">
                                                                                                                                                                                                                                                        +    <mat-nav-list class="config-nav">
                                                                                                                                                                                                                                                        +      <mat-list-item
                                                                                                                                                                                                                                                        +        (click)="mode = 'details'"
                                                                                                                                                                                                                                                        +        [activated]="mode === 'details'"
                                                                                                                                                                                                                                                        +        i18n="admin entity: nav item"
                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                        +        Details View & Fields
                                                                                                                                                                                                                                                        +      </mat-list-item>
                                                                                                                                                                                                                                                        +      <mat-list-item
                                                                                                                                                                                                                                                        +        (click)="mode = 'list'"
                                                                                                                                                                                                                                                        +        [activated]="mode === 'list'"
                                                                                                                                                                                                                                                        +        i18n="admin entity: nav item"
                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                        +        List View
                                                                                                                                                                                                                                                        +      </mat-list-item>
                                                                                                                                                                                                                                                        +      <mat-list-item
                                                                                                                                                                                                                                                        +        (click)="mode = 'general'"
                                                                                                                                                                                                                                                        +        [activated]="mode === 'general'"
                                                                                                                                                                                                                                                        +        i18n="admin entity: nav item"
                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                        +        General Settings
                                                                                                                                                                                                                                                        +      </mat-list-item>
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +      <app-beta-feature></app-beta-feature>
                                                                                                                                                                                                                                                        +    </mat-nav-list>
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +    <div class="config-component flex-grow mat-elevation-z1">
                                                                                                                                                                                                                                                        +      @switch (mode) {
                                                                                                                                                                                                                                                        +        @case ("details") {
                                                                                                                                                                                                                                                        +          <app-admin-entity-details
                                                                                                                                                                                                                                                        +            [entityConstructor]="entityConstructor"
                                                                                                                                                                                                                                                        +            [config]="configDetailsView"
                                                                                                                                                                                                                                                        +          ></app-admin-entity-details>
                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                        +        @case ("list") {
                                                                                                                                                                                                                                                        +          <app-admin-entity-list
                                                                                                                                                                                                                                                        +            [entityConstructor]="entityConstructor"
                                                                                                                                                                                                                                                        +            [config]="configListView"
                                                                                                                                                                                                                                                        +          ></app-admin-entity-list>
                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                        +        @case ("general") {
                                                                                                                                                                                                                                                        +          <app-admin-entity-general-settings
                                                                                                                                                                                                                                                        +            [entityConstructor]="entityConstructor"
                                                                                                                                                                                                                                                        +            [(generalSettings)]="configEntitySettings"
                                                                                                                                                                                                                                                        +          ></app-admin-entity-general-settings>
                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityDetailsComponent.html b/documentation/components/AdminEntityDetailsComponent.html new file mode 100644 index 0000000000..283b53a3d3 --- /dev/null +++ b/documentation/components/AdminEntityDetailsComponent.html @@ -0,0 +1,702 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          + src/app/core/admin/admin-entity-details/admin-entity-details/admin-entity-details.component.ts +

                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          + + config +
                                                                                                                                                                                                                                                          + Type : EntityDetailsConfig + +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          + + entityConstructor +
                                                                                                                                                                                                                                                          + Type : EntityConstructor + +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          + + + addComponent + + +
                                                                                                                                                                                                                                                          +addComponent(panel: Panel) +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                          panel + Panel + + No +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          + + + newPanelFactory + + +
                                                                                                                                                                                                                                                          +newPanelFactory() +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + Returns : Panel + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                          +  EntityDetailsConfig,
                                                                                                                                                                                                                                                          +  Panel,
                                                                                                                                                                                                                                                          +} from "../../../entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                          +import { EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                          +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                          +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                          +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                          +import { EntityTypeLabelPipe } from "../../../common-components/entity-type-label/entity-type-label.pipe";
                                                                                                                                                                                                                                                          +import { ViewTitleComponent } from "../../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                          +import { AdminSectionHeaderComponent } from "../../building-blocks/admin-section-header/admin-section-header.component";
                                                                                                                                                                                                                                                          +import { AdminEntityFormComponent } from "../admin-entity-form/admin-entity-form.component";
                                                                                                                                                                                                                                                          +import { AdminEntityPanelComponentComponent } from "../admin-entity-panel-component/admin-entity-panel-component.component";
                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                          +import { AdminTabsComponent } from "../../building-blocks/admin-tabs/admin-tabs.component";
                                                                                                                                                                                                                                                          +import { AdminTabTemplateDirective } from "../../building-blocks/admin-tabs/admin-tab-template.directive";
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +@DynamicComponent("AdminEntityDetails")
                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                          +  selector: "app-admin-entity-details",
                                                                                                                                                                                                                                                          +  templateUrl: "./admin-entity-details.component.html",
                                                                                                                                                                                                                                                          +  styleUrls: [
                                                                                                                                                                                                                                                          +    "./admin-entity-details.component.scss",
                                                                                                                                                                                                                                                          +    "../../admin-entity/admin-entity-styles.scss",
                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                          +    MatTabsModule,
                                                                                                                                                                                                                                                          +    FaIconComponent,
                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                          +    EntityTypeLabelPipe,
                                                                                                                                                                                                                                                          +    ViewTitleComponent,
                                                                                                                                                                                                                                                          +    AdminSectionHeaderComponent,
                                                                                                                                                                                                                                                          +    AdminEntityFormComponent,
                                                                                                                                                                                                                                                          +    AdminEntityPanelComponentComponent,
                                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                          +    AdminTabsComponent,
                                                                                                                                                                                                                                                          +    AdminTabTemplateDirective,
                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                          +export class AdminEntityDetailsComponent {
                                                                                                                                                                                                                                                          +  @Input() entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                          +  @Input() config: EntityDetailsConfig;
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +  newPanelFactory(): Panel {
                                                                                                                                                                                                                                                          +    return { title: "New Tab", components: [] };
                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +  addComponent(panel: Panel) {
                                                                                                                                                                                                                                                          +    panel.components.push({
                                                                                                                                                                                                                                                          +      title: $localize`:Default title:New Section`,
                                                                                                                                                                                                                                                          +      component: "Form", // TODO: make this configurable
                                                                                                                                                                                                                                                          +      config: { fieldGroups: [] },
                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          <div class="hint-banner" i18n>
                                                                                                                                                                                                                                                          +  You can edit how users will see the details of a single record of this type.
                                                                                                                                                                                                                                                          +  Drag and drop fields and sections in this preview of a profile view and group
                                                                                                                                                                                                                                                          +  them as appropriate. The editor below closely resembles how the form will look
                                                                                                                                                                                                                                                          +  for users later.
                                                                                                                                                                                                                                                          +  <br />
                                                                                                                                                                                                                                                          +  We recommend to keep things simple: Only add fields that you really need for
                                                                                                                                                                                                                                                          +  your work.
                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +<app-view-title [disableBackButton]="true" [displayInPlace]="true">
                                                                                                                                                                                                                                                          +  &lt;Name of displayed {{ this.entityConstructor?.label }}&gt;
                                                                                                                                                                                                                                                          +</app-view-title>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +<app-admin-tabs [tabs]="config?.panels" [newTabFactory]="newPanelFactory">
                                                                                                                                                                                                                                                          +  <ng-template [appAdminTabTemplate]="config?.panels" let-item>
                                                                                                                                                                                                                                                          +    <div class="flex-column gap-large padding-top-large">
                                                                                                                                                                                                                                                          +      <div
                                                                                                                                                                                                                                                          +        *ngFor="let componentConfig of item.components; let j = index"
                                                                                                                                                                                                                                                          +        class="section-wrapper"
                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                          +        <app-admin-section-header
                                                                                                                                                                                                                                                          +          [(title)]="componentConfig.title"
                                                                                                                                                                                                                                                          +          (remove)="item.components.splice(j, 1)"
                                                                                                                                                                                                                                                          +        ></app-admin-section-header>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +        <app-admin-entity-form
                                                                                                                                                                                                                                                          +          *ngIf="componentConfig.component === 'Form'; else otherComponent"
                                                                                                                                                                                                                                                          +          [config]="componentConfig.config"
                                                                                                                                                                                                                                                          +          [entityType]="entityConstructor"
                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                          +        </app-admin-entity-form>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +        <ng-template #otherComponent>
                                                                                                                                                                                                                                                          +          <app-admin-entity-panel-component
                                                                                                                                                                                                                                                          +            [config]="componentConfig"
                                                                                                                                                                                                                                                          +            [entityType]="entityConstructor"
                                                                                                                                                                                                                                                          +          ></app-admin-entity-panel-component>
                                                                                                                                                                                                                                                          +        </ng-template>
                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                          +        mat-stroked-button
                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                          +        class="section-add-button"
                                                                                                                                                                                                                                                          +        (click)="addComponent(item)"
                                                                                                                                                                                                                                                          +        i18n
                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                          +        <fa-icon
                                                                                                                                                                                                                                                          +          aria-label="add element"
                                                                                                                                                                                                                                                          +          icon="plus-circle"
                                                                                                                                                                                                                                                          +          class="standard-icon-with-text"
                                                                                                                                                                                                                                                          +        ></fa-icon>
                                                                                                                                                                                                                                                          +        Add Section
                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                          +  </ng-template>
                                                                                                                                                                                                                                                          +</app-admin-tabs>
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          + ./admin-entity-details.component.scss +

                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                          +@use "variables/sizes";
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +.admin-ui-title {
                                                                                                                                                                                                                                                          +  font-style: italic;
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +.save-buttons {
                                                                                                                                                                                                                                                          +  margin: auto 0;
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +.section-wrapper {
                                                                                                                                                                                                                                                          +  @include mat-elevation.elevation(1);
                                                                                                                                                                                                                                                          +  margin: sizes.$small;
                                                                                                                                                                                                                                                          +  padding: sizes.$small;
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +/* TODO: making direct child of app-admin-section-header somehow breaks this
                                                                                                                                                                                                                                                          +   although `:has(> app-admin-section-header .group-remove-button` (without :hover) does work ... */
                                                                                                                                                                                                                                                          +.section-wrapper:has(> app-admin-section-header .group-remove-button:hover) {
                                                                                                                                                                                                                                                          +  border-color: rgb(255, 0, 0);
                                                                                                                                                                                                                                                          +  background-color: rgba(255, 0, 0, 0.1);
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +.section-add-button {
                                                                                                                                                                                                                                                          +  padding: sizes.$large;
                                                                                                                                                                                                                                                          +  margin: sizes.$small;
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          + ../../admin-entity/admin-entity-styles.scss +

                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +.hint-banner {
                                                                                                                                                                                                                                                          +  background: #e8e8e8;
                                                                                                                                                                                                                                                          +  padding: 1em;
                                                                                                                                                                                                                                                          +  margin-bottom: 1em;
                                                                                                                                                                                                                                                          +  @include mat-elevation.elevation(1);
                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityFieldComponent.html b/documentation/components/AdminEntityFieldComponent.html new file mode 100644 index 0000000000..115b3c42bc --- /dev/null +++ b/documentation/components/AdminEntityFieldComponent.html @@ -0,0 +1,1672 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            + src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts +

                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Allows configuration of the schema of a single Entity field, like its dataType and labels.

                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            + OnChanges +

                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            +constructor(data: literal type, dialogRef: MatDialogRef, fb: FormBuilder, allDataTypes: DefaultDatatype[], configurableEnumService: ConfigurableEnumService, entityRegistry: EntityRegistry, adminEntityService: AdminEntityService, dialog: MatDialog) +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                            data + literal type + + No +
                                                                                                                                                                                                                                                            dialogRef + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                            fb + FormBuilder + + No +
                                                                                                                                                                                                                                                            allDataTypes + DefaultDatatype[] + + No +
                                                                                                                                                                                                                                                            configurableEnumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                            entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                            adminEntityService + AdminEntityService + + No +
                                                                                                                                                                                                                                                            dialog + MatDialog + + No +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + entityType +
                                                                                                                                                                                                                                                            + Type : EntityConstructor + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + fieldId +
                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + entityFieldValidatorChanges + + +
                                                                                                                                                                                                                                                            +entityFieldValidatorChanges(validatorData: FormValidatorConfig) +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                            validatorData + FormValidatorConfig + + No +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + openEnumOptions + + +
                                                                                                                                                                                                                                                            +openEnumOptions(event: Event) +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                            event + Event + + No +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + save + + +
                                                                                                                                                                                                                                                            +save() +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + additionalForm + + +
                                                                                                                                                                                                                                                            + Type : FormControl + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + createNewAdditionalOption + + +
                                                                                                                                                                                                                                                            + Type : function + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + createNewAdditionalOptionAsync + + +
                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + dataTypes + + +
                                                                                                                                                                                                                                                            + Type : SimpleDropdownValue[] + +
                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + entitySchemaField + + +
                                                                                                                                                                                                                                                            + Type : EntitySchemaField + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + fieldIdForm + + +
                                                                                                                                                                                                                                                            + Type : FormControl + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + form + + +
                                                                                                                                                                                                                                                            + Type : FormGroup + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + objectToLabel + + +
                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + objectToValue + + +
                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + schemaFieldsForm + + +
                                                                                                                                                                                                                                                            + Type : FormGroup + +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            form group of all fields in EntitySchemaField (i.e. without fieldId)

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            + + + typeAdditionalOptions + + +
                                                                                                                                                                                                                                                            + Type : SimpleDropdownValue[] + +
                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                            +  Inject,
                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                            +  OnChanges,
                                                                                                                                                                                                                                                            +  SimpleChanges,
                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                            +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                            +  MatDialog,
                                                                                                                                                                                                                                                            +  MatDialogModule,
                                                                                                                                                                                                                                                            +  MatDialogRef,
                                                                                                                                                                                                                                                            +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                            +import { DialogCloseComponent } from "../../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                            +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                            +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                            +  FormBuilder,
                                                                                                                                                                                                                                                            +  FormControl,
                                                                                                                                                                                                                                                            +  FormGroup,
                                                                                                                                                                                                                                                            +  FormsModule,
                                                                                                                                                                                                                                                            +  ReactiveFormsModule,
                                                                                                                                                                                                                                                            +  Validators,
                                                                                                                                                                                                                                                            +} from "@angular/forms";
                                                                                                                                                                                                                                                            +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                            +import { EntitySchemaField } from "../../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                            +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                            +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                            +import { BasicAutocompleteComponent } from "../../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                            +import { DefaultDatatype } from "../../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                            +import { ConfigurableEnumDatatype } from "../../../basic-datatypes/configurable-enum/configurable-enum-datatype/configurable-enum.datatype";
                                                                                                                                                                                                                                                            +import { EntityDatatype } from "../../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                            +import { ConfigurableEnumService } from "../../../basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                            +import { EntityRegistry } from "../../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                            +import { AdminEntityService } from "../../admin-entity.service";
                                                                                                                                                                                                                                                            +import { ConfigureEnumPopupComponent } from "../../../basic-datatypes/configurable-enum/configure-enum-popup/configure-enum-popup.component";
                                                                                                                                                                                                                                                            +import { ConfigurableEnum } from "../../../basic-datatypes/configurable-enum/configurable-enum";
                                                                                                                                                                                                                                                            +import { generateIdFromLabel } from "../../../../utils/generate-id-from-label/generate-id-from-label";
                                                                                                                                                                                                                                                            +import { merge } from "rxjs";
                                                                                                                                                                                                                                                            +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                            +import { uniqueIdValidator } from "app/core/common-components/entity-form/unique-id-validator/unique-id-validator";
                                                                                                                                                                                                                                                            +import { ConfigureEntityFieldValidatorComponent } from "./configure-entity-field-validator/configure-entity-field-validator.component";
                                                                                                                                                                                                                                                            +import { FormValidatorConfig } from "app/core/common-components/entity-form/dynamic-form-validators/form-validator-config";
                                                                                                                                                                                                                                                            +import { AnonymizeOptionsComponent } from "./anonymize-options/anonymize-options.component";
                                                                                                                                                                                                                                                            +import { MatCheckbox } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                            +import { DefaultValueOptionsComponent } from "./default-value-options/default-value-options.component";
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                            + * Allows configuration of the schema of a single Entity field, like its dataType and labels.
                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                            +  selector: "app-admin-entity-field",
                                                                                                                                                                                                                                                            +  templateUrl: "./admin-entity-field.component.html",
                                                                                                                                                                                                                                                            +  styleUrls: [
                                                                                                                                                                                                                                                            +    "./admin-entity-field.component.scss",
                                                                                                                                                                                                                                                            +    "../../../common-components/entity-form/entity-form/entity-form.component.scss",
                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                            +    MatDialogModule,
                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                            +    DialogCloseComponent,
                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                            +    ErrorHintComponent,
                                                                                                                                                                                                                                                            +    FormsModule,
                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                            +    MatTabsModule,
                                                                                                                                                                                                                                                            +    MatSlideToggleModule,
                                                                                                                                                                                                                                                            +    ReactiveFormsModule,
                                                                                                                                                                                                                                                            +    FontAwesomeModule,
                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                            +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                            +    ConfigureEntityFieldValidatorComponent,
                                                                                                                                                                                                                                                            +    AnonymizeOptionsComponent,
                                                                                                                                                                                                                                                            +    MatCheckbox,
                                                                                                                                                                                                                                                            +    DefaultValueOptionsComponent,
                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                            +export class AdminEntityFieldComponent implements OnChanges {
                                                                                                                                                                                                                                                            +  @Input() fieldId: string;
                                                                                                                                                                                                                                                            +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  entitySchemaField: EntitySchemaField;
                                                                                                                                                                                                                                                            +  form: FormGroup;
                                                                                                                                                                                                                                                            +  fieldIdForm: FormControl;
                                                                                                                                                                                                                                                            +  /** form group of all fields in EntitySchemaField (i.e. without fieldId) */
                                                                                                                                                                                                                                                            +  schemaFieldsForm: FormGroup;
                                                                                                                                                                                                                                                            +  additionalForm: FormControl;
                                                                                                                                                                                                                                                            +  typeAdditionalOptions: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                            +  dataTypes: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                            +    data: {
                                                                                                                                                                                                                                                            +      fieldId: string;
                                                                                                                                                                                                                                                            +      entityType: EntityConstructor;
                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                            +    private dialogRef: MatDialogRef<any>,
                                                                                                                                                                                                                                                            +    private fb: FormBuilder,
                                                                                                                                                                                                                                                            +    @Inject(DefaultDatatype) allDataTypes: DefaultDatatype[],
                                                                                                                                                                                                                                                            +    private configurableEnumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                            +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                            +    private adminEntityService: AdminEntityService,
                                                                                                                                                                                                                                                            +    private dialog: MatDialog,
                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                            +    this.fieldId = data.fieldId;
                                                                                                                                                                                                                                                            +    this.entityType = data.entityType;
                                                                                                                                                                                                                                                            +    this.entitySchemaField = this.entityType.schema.get(this.fieldId) ?? {};
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.initSettings();
                                                                                                                                                                                                                                                            +    this.initAvailableDatatypes(allDataTypes);
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                            +    if (changes.entitySchemaField) {
                                                                                                                                                                                                                                                            +      this.initSettings();
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private initSettings() {
                                                                                                                                                                                                                                                            +    this.fieldIdForm = this.fb.control(this.fieldId, {
                                                                                                                                                                                                                                                            +      validators: [Validators.required],
                                                                                                                                                                                                                                                            +      asyncValidators: [
                                                                                                                                                                                                                                                            +        uniqueIdValidator(Array.from(this.entityType.schema.keys())),
                                                                                                                                                                                                                                                            +      ],
                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                            +    this.additionalForm = this.fb.control(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.schemaFieldsForm = this.fb.group({
                                                                                                                                                                                                                                                            +      label: [this.entitySchemaField.label, Validators.required],
                                                                                                                                                                                                                                                            +      labelShort: [this.entitySchemaField.labelShort],
                                                                                                                                                                                                                                                            +      description: [this.entitySchemaField.description],
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +      dataType: [this.entitySchemaField.dataType, Validators.required],
                                                                                                                                                                                                                                                            +      isArray: [this.entitySchemaField.isArray],
                                                                                                                                                                                                                                                            +      additional: this.additionalForm,
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +      defaultValue: [this.entitySchemaField.defaultValue],
                                                                                                                                                                                                                                                            +      searchable: [this.entitySchemaField.searchable],
                                                                                                                                                                                                                                                            +      anonymize: [this.entitySchemaField.anonymize],
                                                                                                                                                                                                                                                            +      //viewComponent: [],
                                                                                                                                                                                                                                                            +      //editComponent: [],
                                                                                                                                                                                                                                                            +      //showInDetailsView: [],
                                                                                                                                                                                                                                                            +      //generateIndex: [],
                                                                                                                                                                                                                                                            +      validators: [this.entitySchemaField.validators],
                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                            +    this.form = this.fb.group({
                                                                                                                                                                                                                                                            +      id: this.fieldIdForm,
                                                                                                                                                                                                                                                            +      schemaFields: this.schemaFieldsForm,
                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.schemaFieldsForm
                                                                                                                                                                                                                                                            +      .get("labelShort")
                                                                                                                                                                                                                                                            +      .valueChanges.pipe(filter((v) => v === ""))
                                                                                                                                                                                                                                                            +      .subscribe((v) => {
                                                                                                                                                                                                                                                            +        // labelShort should never be empty string, in that case it has to be removed so that label works as fallback
                                                                                                                                                                                                                                                            +        this.schemaFieldsForm.get("labelShort").setValue(null);
                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                            +    this.updateDataTypeAdditional(this.schemaFieldsForm.get("dataType").value);
                                                                                                                                                                                                                                                            +    this.schemaFieldsForm
                                                                                                                                                                                                                                                            +      .get("dataType")
                                                                                                                                                                                                                                                            +      .valueChanges.subscribe((v) => this.updateDataTypeAdditional(v));
                                                                                                                                                                                                                                                            +    this.updateForNewOrExistingField();
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private updateForNewOrExistingField() {
                                                                                                                                                                                                                                                            +    if (!!this.fieldId) {
                                                                                                                                                                                                                                                            +      // existing fields' id is readonly
                                                                                                                                                                                                                                                            +      this.fieldIdForm.disable();
                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                            +      const autoGenerateSubscr = merge(
                                                                                                                                                                                                                                                            +        this.schemaFieldsForm.get("label").valueChanges,
                                                                                                                                                                                                                                                            +        this.schemaFieldsForm.get("labelShort").valueChanges,
                                                                                                                                                                                                                                                            +      ).subscribe(() => this.autoGenerateId());
                                                                                                                                                                                                                                                            +      // stop updating id when user manually edits
                                                                                                                                                                                                                                                            +      this.fieldIdForm.valueChanges.subscribe(() =>
                                                                                                                                                                                                                                                            +        autoGenerateSubscr.unsubscribe(),
                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  entityFieldValidatorChanges(validatorData: FormValidatorConfig) {
                                                                                                                                                                                                                                                            +    this.schemaFieldsForm.get("validators").setValue(validatorData);
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +  private autoGenerateId() {
                                                                                                                                                                                                                                                            +    // prefer labelShort if it exists, as this makes less verbose IDs
                                                                                                                                                                                                                                                            +    const label =
                                                                                                                                                                                                                                                            +      this.schemaFieldsForm.get("labelShort").value ??
                                                                                                                                                                                                                                                            +      this.schemaFieldsForm.get("label").value;
                                                                                                                                                                                                                                                            +    const generatedId = generateIdFromLabel(label);
                                                                                                                                                                                                                                                            +    this.fieldIdForm.setValue(generatedId, { emitEvent: false });
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private initAvailableDatatypes(dataTypes: DefaultDatatype[]) {
                                                                                                                                                                                                                                                            +    this.dataTypes = dataTypes
                                                                                                                                                                                                                                                            +      .filter((d) => d.label !== DefaultDatatype.label) // hide "internal" technical dataTypes that did not define a human-readable label
                                                                                                                                                                                                                                                            +      .map((d) => ({
                                                                                                                                                                                                                                                            +        label: d.label,
                                                                                                                                                                                                                                                            +        value: d.dataType,
                                                                                                                                                                                                                                                            +      }));
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +  objectToLabel = (v: SimpleDropdownValue) => v?.label;
                                                                                                                                                                                                                                                            +  objectToValue = (v: SimpleDropdownValue) => v?.value;
                                                                                                                                                                                                                                                            +  createNewAdditionalOption: (input: string) => SimpleDropdownValue;
                                                                                                                                                                                                                                                            +  createNewAdditionalOptionAsync = async (input) =>
                                                                                                                                                                                                                                                            +    this.createNewAdditionalOption(input);
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private updateDataTypeAdditional(dataType: string) {
                                                                                                                                                                                                                                                            +    this.resetAdditional();
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    if (dataType === ConfigurableEnumDatatype.dataType) {
                                                                                                                                                                                                                                                            +      this.initAdditionalForEnum();
                                                                                                                                                                                                                                                            +    } else if (dataType === EntityDatatype.dataType) {
                                                                                                                                                                                                                                                            +      this.initAdditionalForEntityRef();
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    // hasInnerType: [ArrayDatatype.dataType].includes(d.dataType),
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    // TODO: this mapping of having an "additional" schema should probably become part of Datatype classes
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private initAdditionalForEnum() {
                                                                                                                                                                                                                                                            +    this.typeAdditionalOptions = this.configurableEnumService
                                                                                                                                                                                                                                                            +      .listEnums()
                                                                                                                                                                                                                                                            +      .map((x) => ({
                                                                                                                                                                                                                                                            +        label: Entity.extractEntityIdFromId(x), // TODO: add human-readable label to configurable-enum entities
                                                                                                                                                                                                                                                            +        value: Entity.extractEntityIdFromId(x),
                                                                                                                                                                                                                                                            +      }));
                                                                                                                                                                                                                                                            +    this.additionalForm.addValidators(Validators.required);
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.createNewAdditionalOption = (text) => ({
                                                                                                                                                                                                                                                            +      value: generateIdFromLabel(text),
                                                                                                                                                                                                                                                            +      label: text,
                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    if (this.entitySchemaField.additional) {
                                                                                                                                                                                                                                                            +      this.additionalForm.setValue(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                            +    } else if (this.schemaFieldsForm.get("label").value) {
                                                                                                                                                                                                                                                            +      // when switching to enum datatype in the form, if unset generate a suggested enum-id immediately
                                                                                                                                                                                                                                                            +      const newOption = this.createNewAdditionalOption(
                                                                                                                                                                                                                                                            +        this.schemaFieldsForm.get("label").value,
                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                            +      this.typeAdditionalOptions.push(newOption);
                                                                                                                                                                                                                                                            +      this.additionalForm.setValue(newOption.value);
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private initAdditionalForEntityRef() {
                                                                                                                                                                                                                                                            +    this.typeAdditionalOptions = this.entityRegistry
                                                                                                                                                                                                                                                            +      .getEntityTypes(true)
                                                                                                                                                                                                                                                            +      .map((x) => ({ label: x.value.label, value: x.value.ENTITY_TYPE }));
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.additionalForm.addValidators(Validators.required);
                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                            +      this.typeAdditionalOptions.some(
                                                                                                                                                                                                                                                            +        (x) => x.value === this.entitySchemaField.additional,
                                                                                                                                                                                                                                                            +      )
                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                            +      this.additionalForm.setValue(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  private resetAdditional() {
                                                                                                                                                                                                                                                            +    this.additionalForm.removeValidators(Validators.required);
                                                                                                                                                                                                                                                            +    this.additionalForm.reset(null);
                                                                                                                                                                                                                                                            +    this.typeAdditionalOptions = [];
                                                                                                                                                                                                                                                            +    this.createNewAdditionalOption = undefined;
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  save() {
                                                                                                                                                                                                                                                            +    this.form.markAllAsTouched();
                                                                                                                                                                                                                                                            +    if (this.form.invalid) {
                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    const formValues = this.schemaFieldsForm.getRawValue();
                                                                                                                                                                                                                                                            +    for (const key of Object.keys(formValues)) {
                                                                                                                                                                                                                                                            +      if (formValues[key] === null) {
                                                                                                                                                                                                                                                            +        delete formValues[key];
                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +    const updatedEntitySchema = Object.assign(
                                                                                                                                                                                                                                                            +      { _isCustomizedField: true },
                                                                                                                                                                                                                                                            +      this.entitySchemaField, // TODO: remove this merge once all schema fields are in the form (then only form values should apply)
                                                                                                                                                                                                                                                            +      formValues,
                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                            +    const fieldId = this.fieldIdForm.getRawValue();
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.adminEntityService.updateSchemaField(
                                                                                                                                                                                                                                                            +      this.entityType,
                                                                                                                                                                                                                                                            +      fieldId,
                                                                                                                                                                                                                                                            +      updatedEntitySchema,
                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    this.dialogRef.close(fieldId);
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  openEnumOptions(event: Event) {
                                                                                                                                                                                                                                                            +    event.stopPropagation(); // do not open the autocomplete dropdown when clicking the settings icon
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +    let enumEntity = this.configurableEnumService.getEnum(
                                                                                                                                                                                                                                                            +      this.additionalForm.value,
                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                            +    if (!enumEntity) {
                                                                                                                                                                                                                                                            +      // if the user makes changes, the dialog component itself is saving the new entity to the database already
                                                                                                                                                                                                                                                            +      enumEntity = new ConfigurableEnum(this.additionalForm.value);
                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                            +    this.dialog.open(ConfigureEnumPopupComponent, { data: enumEntity });
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +interface SimpleDropdownValue {
                                                                                                                                                                                                                                                            +  label: string;
                                                                                                                                                                                                                                                            +  value: string;
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            <h2 mat-dialog-title i18n>Configure Field "{{ entitySchemaField.label }}"</h2>
                                                                                                                                                                                                                                                            +<app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +<mat-dialog-content>
                                                                                                                                                                                                                                                            +  <p i18n>
                                                                                                                                                                                                                                                            +    The field settings here apply to the record type overall and affect both the
                                                                                                                                                                                                                                                            +    field here in the current view as well as all other forms and lists where
                                                                                                                                                                                                                                                            +    this field is displayed.
                                                                                                                                                                                                                                                            +  </p>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  <form [formGroup]="form">
                                                                                                                                                                                                                                                            +    <mat-tab-group formGroupName="schemaFields">
                                                                                                                                                                                                                                                            +      <mat-tab label="Basics" i18n-label>
                                                                                                                                                                                                                                                            +        <div class="grid-layout margin-top-regular">
                                                                                                                                                                                                                                                            +          <div class="entity-form-cell">
                                                                                                                                                                                                                                                            +            <mat-form-field>
                                                                                                                                                                                                                                                            +              <mat-label i18n>Label</mat-label>
                                                                                                                                                                                                                                                            +              <input formControlName="label" matInput #formLabel />
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <mat-form-field floatLabel="always">
                                                                                                                                                                                                                                                            +              <mat-label i18n>
                                                                                                                                                                                                                                                            +                Label (short)
                                                                                                                                                                                                                                                            +                <fa-icon
                                                                                                                                                                                                                                                            +                  icon="question-circle"
                                                                                                                                                                                                                                                            +                  matTooltip="Optionally you can define an additional shorter label to be displayed in table headers and other places where space is limited."
                                                                                                                                                                                                                                                            +                  i18n-matTooltip
                                                                                                                                                                                                                                                            +                ></fa-icon>
                                                                                                                                                                                                                                                            +              </mat-label>
                                                                                                                                                                                                                                                            +              <input
                                                                                                                                                                                                                                                            +                formControlName="labelShort"
                                                                                                                                                                                                                                                            +                matInput
                                                                                                                                                                                                                                                            +                [placeholder]="formLabel.value"
                                                                                                                                                                                                                                                            +              />
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <mat-form-field>
                                                                                                                                                                                                                                                            +              <mat-label i18n>
                                                                                                                                                                                                                                                            +                Description
                                                                                                                                                                                                                                                            +                <fa-icon
                                                                                                                                                                                                                                                            +                  icon="question-circle"
                                                                                                                                                                                                                                                            +                  matTooltip="The description provides additional explanation or context about this field. It is usually displayed as a help icon with tooltip."
                                                                                                                                                                                                                                                            +                  i18n-matTooltip
                                                                                                                                                                                                                                                            +                ></fa-icon>
                                                                                                                                                                                                                                                            +              </mat-label>
                                                                                                                                                                                                                                                            +              <textarea
                                                                                                                                                                                                                                                            +                formControlName="description"
                                                                                                                                                                                                                                                            +                matInput
                                                                                                                                                                                                                                                            +                rows="3"
                                                                                                                                                                                                                                                            +              ></textarea>
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +          </div>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +          <div class="entity-form-cell">
                                                                                                                                                                                                                                                            +            <mat-form-field>
                                                                                                                                                                                                                                                            +              <mat-label i18n>
                                                                                                                                                                                                                                                            +                Field ID (readonly)
                                                                                                                                                                                                                                                            +                <fa-icon
                                                                                                                                                                                                                                                            +                  icon="question-circle"
                                                                                                                                                                                                                                                            +                  matTooltip="The internal ID of the field is used at a technical level in the database. The ID cannot be changed after the field has been created."
                                                                                                                                                                                                                                                            +                  i18n-matTooltip
                                                                                                                                                                                                                                                            +                ></fa-icon>
                                                                                                                                                                                                                                                            +              </mat-label>
                                                                                                                                                                                                                                                            +              <input [formControl]="fieldIdForm" matInput />
                                                                                                                                                                                                                                                            +              <fa-icon
                                                                                                                                                                                                                                                            +                *ngIf="fieldIdForm.disabled"
                                                                                                                                                                                                                                                            +                icon="lock"
                                                                                                                                                                                                                                                            +                matSuffix
                                                                                                                                                                                                                                                            +              ></fa-icon>
                                                                                                                                                                                                                                                            +              <mat-error *ngIf="fieldIdForm.hasError('uniqueId')">
                                                                                                                                                                                                                                                            +                {{ fieldIdForm.getError("uniqueId") }}
                                                                                                                                                                                                                                                            +              </mat-error>
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <mat-form-field>
                                                                                                                                                                                                                                                            +              <mat-label i18n>Type</mat-label>
                                                                                                                                                                                                                                                            +              <app-basic-autocomplete
                                                                                                                                                                                                                                                            +                formControlName="dataType"
                                                                                                                                                                                                                                                            +                #formDataType
                                                                                                                                                                                                                                                            +                [options]="dataTypes"
                                                                                                                                                                                                                                                            +                [optionToString]="objectToLabel"
                                                                                                                                                                                                                                                            +                [valueMapper]="objectToValue"
                                                                                                                                                                                                                                                            +              ></app-basic-autocomplete>
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            @if (
                                                                                                                                                                                                                                                            +              formDataType.value === "configurable-enum" ||
                                                                                                                                                                                                                                                            +              formDataType.value === "entity"
                                                                                                                                                                                                                                                            +            ) {
                                                                                                                                                                                                                                                            +              <mat-checkbox formControlName="isArray" i18n>
                                                                                                                                                                                                                                                            +                allow multiple values (multi-select)
                                                                                                                                                                                                                                                            +              </mat-checkbox>
                                                                                                                                                                                                                                                            +            }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <!-- "additional" for enum datatype -->
                                                                                                                                                                                                                                                            +            <mat-form-field *ngIf="formDataType.value === 'configurable-enum'">
                                                                                                                                                                                                                                                            +              <mat-label i18n>
                                                                                                                                                                                                                                                            +                Type Details (dropdown options set)
                                                                                                                                                                                                                                                            +                <fa-icon
                                                                                                                                                                                                                                                            +                  icon="question-circle"
                                                                                                                                                                                                                                                            +                  matTooltip="Select an existing set of options to share between multiple fields or create a new, independent list of dropdown options."
                                                                                                                                                                                                                                                            +                  i18n-matTooltip
                                                                                                                                                                                                                                                            +                ></fa-icon>
                                                                                                                                                                                                                                                            +              </mat-label>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +              <app-basic-autocomplete
                                                                                                                                                                                                                                                            +                formControlName="additional"
                                                                                                                                                                                                                                                            +                [options]="typeAdditionalOptions"
                                                                                                                                                                                                                                                            +                [optionToString]="objectToLabel"
                                                                                                                                                                                                                                                            +                [valueMapper]="objectToValue"
                                                                                                                                                                                                                                                            +                [createOption]="createNewAdditionalOptionAsync"
                                                                                                                                                                                                                                                            +              ></app-basic-autocomplete>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +              <button
                                                                                                                                                                                                                                                            +                mat-icon-button
                                                                                                                                                                                                                                                            +                matSuffix
                                                                                                                                                                                                                                                            +                (click)="openEnumOptions($event)"
                                                                                                                                                                                                                                                            +              >
                                                                                                                                                                                                                                                            +                <fa-icon icon="wrench"></fa-icon>
                                                                                                                                                                                                                                                            +              </button>
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <!-- "additional" for entity ref datatypes -->
                                                                                                                                                                                                                                                            +            <mat-form-field *ngIf="formDataType.value === 'entity'">
                                                                                                                                                                                                                                                            +              <mat-label i18n>
                                                                                                                                                                                                                                                            +                Type Details (target record type)
                                                                                                                                                                                                                                                            +                <fa-icon
                                                                                                                                                                                                                                                            +                  icon="question-circle"
                                                                                                                                                                                                                                                            +                  matTooltip="Select from which type of records the user can select and link to with this field."
                                                                                                                                                                                                                                                            +                  i18n-matTooltip
                                                                                                                                                                                                                                                            +                ></fa-icon>
                                                                                                                                                                                                                                                            +              </mat-label>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +              <app-basic-autocomplete
                                                                                                                                                                                                                                                            +                formControlName="additional"
                                                                                                                                                                                                                                                            +                [options]="typeAdditionalOptions"
                                                                                                                                                                                                                                                            +                [optionToString]="objectToLabel"
                                                                                                                                                                                                                                                            +                [valueMapper]="objectToValue"
                                                                                                                                                                                                                                                            +                [createOption]="createNewAdditionalOptionAsync"
                                                                                                                                                                                                                                                            +              ></app-basic-autocomplete>
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +          </div>
                                                                                                                                                                                                                                                            +        </div>
                                                                                                                                                                                                                                                            +      </mat-tab>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +      <!--
                                                                                                                                                                                                                                                            +        ADVANCED SETTINGS
                                                                                                                                                                                                                                                            +      -->
                                                                                                                                                                                                                                                            +      <mat-tab label="Advanced Options & Validation" i18n-label>
                                                                                                                                                                                                                                                            +        <div class="grid-layout-wide margin-top-regular">
                                                                                                                                                                                                                                                            +          <div class="entity-form-cell">
                                                                                                                                                                                                                                                            +            <app-default-value-options
                                                                                                                                                                                                                                                            +              [value]="entitySchemaField.defaultValue"
                                                                                                                                                                                                                                                            +              (valueChange)="
                                                                                                                                                                                                                                                            +                schemaFieldsForm.get('defaultValue').setValue($event)
                                                                                                                                                                                                                                                            +              "
                                                                                                                                                                                                                                                            +              [entityType]="entityType"
                                                                                                                                                                                                                                                            +            >
                                                                                                                                                                                                                                                            +            </app-default-value-options>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <app-anonymize-options
                                                                                                                                                                                                                                                            +              [value]="entitySchemaField.anonymize"
                                                                                                                                                                                                                                                            +              (valueChange)="schemaFieldsForm.get('anonymize').setValue($event)"
                                                                                                                                                                                                                                                            +            >
                                                                                                                                                                                                                                                            +              <span i18n>Anonymize</span>
                                                                                                                                                                                                                                                            +              <fa-icon
                                                                                                                                                                                                                                                            +                icon="question-circle"
                                                                                                                                                                                                                                                            +                matTooltip="Optionally This will remove all personal information (PII) permanently related to this field."
                                                                                                                                                                                                                                                            +                i18n-matTooltip
                                                                                                                                                                                                                                                            +              ></fa-icon>
                                                                                                                                                                                                                                                            +            </app-anonymize-options>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +            <!-- TODO: not supported yet
                                                                                                                                                                                                                                                            +            <mat-form-field>
                                                                                                                                                                                                                                                            +              <mat-label i18n>Searchable</mat-label>
                                                                                                                                                                                                                                                            +              <input formControlName="searchable" matInput />
                                                                                                                                                                                                                                                            +            </mat-form-field>
                                                                                                                                                                                                                                                            +            -->
                                                                                                                                                                                                                                                            +          </div>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +          <div class="entity-form-cell">
                                                                                                                                                                                                                                                            +            <app-configure-entity-field-validator
                                                                                                                                                                                                                                                            +              [entitySchemaField]="entitySchemaField"
                                                                                                                                                                                                                                                            +              (entityValidatorChanges)="entityFieldValidatorChanges($event)"
                                                                                                                                                                                                                                                            +            ></app-configure-entity-field-validator>
                                                                                                                                                                                                                                                            +          </div>
                                                                                                                                                                                                                                                            +        </div>
                                                                                                                                                                                                                                                            +      </mat-tab>
                                                                                                                                                                                                                                                            +    </mat-tab-group>
                                                                                                                                                                                                                                                            +  </form>
                                                                                                                                                                                                                                                            +</mat-dialog-content>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +<mat-dialog-actions>
                                                                                                                                                                                                                                                            +  <button mat-button (click)="save()" i18n="Button label">Save</button>
                                                                                                                                                                                                                                                            +  <button mat-button mat-dialog-close i18n="Button label">Cancel</button>
                                                                                                                                                                                                                                                            +</mat-dialog-actions>
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            + ./admin-entity-field.component.scss +

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            @use "../../../../../styles/mixins/grid-layout";
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +.grid-layout {
                                                                                                                                                                                                                                                            +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                            +    $min-block-width: 250px,
                                                                                                                                                                                                                                                            +    $max-screen-width: 414px
                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +.grid-layout-wide {
                                                                                                                                                                                                                                                            +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                            +    $min-block-width: 450px,
                                                                                                                                                                                                                                                            +    $max-screen-width: 500px
                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            + ../../../common-components/entity-form/entity-form/entity-form.component.scss +

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            @use "mixins/grid-layout";
                                                                                                                                                                                                                                                            +@use "variables/sizes";
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +.grid-layout {
                                                                                                                                                                                                                                                            +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                            +    $min-block-width: sizes.$form-group-min-width,
                                                                                                                                                                                                                                                            +    $max-screen-width: 414px
                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +.entity-form-cell {
                                                                                                                                                                                                                                                            +  display: flex;
                                                                                                                                                                                                                                                            +  flex-direction: column;
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  /* set the width of each form field to 100% in every form component that is a descendent
                                                                                                                                                                                                                                                            +     of the columns-wrapper class */
                                                                                                                                                                                                                                                            +  mat-form-field {
                                                                                                                                                                                                                                                            +    width: 100%;
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +  /* We align the photo (and only tht photo) to the center of the cell if there is one.
                                                                                                                                                                                                                                                            +     This looks better on desktop and mobile compared to an alignment to the start of the cell
                                                                                                                                                                                                                                                            +     which is the default for all other elements */
                                                                                                                                                                                                                                                            +  > app-edit-photo {
                                                                                                                                                                                                                                                            +    align-self: center;
                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityFormComponent.html b/documentation/components/AdminEntityFormComponent.html new file mode 100644 index 0000000000..51502498f4 --- /dev/null +++ b/documentation/components/AdminEntityFormComponent.html @@ -0,0 +1,1846 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              + src/app/core/admin/admin-entity-details/admin-entity-form/admin-entity-form.component.ts +

                                                                                                                                                                                                                                                              + + + + +

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              + OnChanges +

                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              +constructor(entityFormService: EntityFormService, matDialog: MatDialog, adminEntityService: AdminEntityService) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                              entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                              matDialog + MatDialog + + No +
                                                                                                                                                                                                                                                              adminEntityService + AdminEntityService + + No +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + config +
                                                                                                                                                                                                                                                              + Type : FormConfig + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + entityType +
                                                                                                                                                                                                                                                              + Type : EntityConstructor + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + drop + + +
                                                                                                                                                                                                                                                              +drop(event: CdkDragDrop<ColumnConfig[] | ColumnConfig[]>) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                              event + CdkDragDrop<ColumnConfig[] | ColumnConfig[]> + + No +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + dropNewGroup + + +
                                                                                                                                                                                                                                                              +dropNewGroup(event: CdkDragDrop) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                              event + CdkDragDrop<any | any> + + No +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + hideField + + +
                                                                                                                                                                                                                                                              +hideField(field: ColumnConfig, group: FieldGroup) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                              field + ColumnConfig + + No +
                                                                                                                                                                                                                                                              group + FieldGroup + + No +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + Async + openConfigDetails + + +
                                                                                                                                                                                                                                                              + + openConfigDetails(field: ColumnConfig) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Opens the configuration settings for a field. +If the field has an editComponent defined in the schema, it opens the text configuration. +Otherwise, it opens the field configuration.

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                              field + ColumnConfig + + No + +

                                                                                                                                                                                                                                                              The field to open the configuration settings for.

                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + Async + openFieldConfig + + +
                                                                                                                                                                                                                                                              + + openFieldConfig(field: ColumnConfig) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Open the form to edit details of a single field's schema.

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                              field + ColumnConfig + + No + +

                                                                                                                                                                                                                                                              field to edit or { id: null } to create a new field

                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : Promise<string> + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              the id of the field that was edited or created (which is newly defined in the dialog for new fields)

                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + Async + openTextConfig + + +
                                                                                                                                                                                                                                                              + + openTextConfig(textField: FormFieldConfig) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Open the form to edit details of a single text's schema.

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                              textField + FormFieldConfig + + No + +

                                                                                                                                                                                                                                                              text to edit or { id: null } to create a new text

                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : Promise<FormFieldConfig> + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              the id of the text that was edited or created (which is newly defined in the dialog for new fields)

                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + removeGroup + + +
                                                                                                                                                                                                                                                              +removeGroup(i: number) +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                              i + number + + No +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + availableFields + + +
                                                                                                                                                                                                                                                              + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + Readonly + createNewFieldPlaceholder + + +
                                                                                                                                                                                                                                                              + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                              + Default value : { + id: null, + label: $localize`:Label drag and drop item:Create New Field`, + } +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + Readonly + createNewTextPlaceholder + + +
                                                                                                                                                                                                                                                              + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                              + Default value : { + id: null, + label: $localize`:Label drag and drop item:Create Text Block`, + } +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + dummyEntity + + +
                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              + + + dummyForm + + +
                                                                                                                                                                                                                                                              + Type : FormGroup + +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                              +import { EntityFormService } from "../../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                              +import { FormControl, FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                              +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                              +import { AdminEntityFieldComponent } from "../admin-entity-field/admin-entity-field.component";
                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                              +  CdkDragDrop,
                                                                                                                                                                                                                                                              +  DragDropModule,
                                                                                                                                                                                                                                                              +  moveItemInArray,
                                                                                                                                                                                                                                                              +  transferArrayItem,
                                                                                                                                                                                                                                                              +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                              +  ColumnConfig,
                                                                                                                                                                                                                                                              +  FormFieldConfig,
                                                                                                                                                                                                                                                              +  toFormFieldConfig,
                                                                                                                                                                                                                                                              +} from "../../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                              +import { AdminEntityService } from "../../admin-entity.service";
                                                                                                                                                                                                                                                              +import { lastValueFrom } from "rxjs";
                                                                                                                                                                                                                                                              +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                              +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                              +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                              +import { EntityFieldLabelComponent } from "../../../common-components/entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                              +import { EntityFieldEditComponent } from "../../../common-components/entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                              +import { AdminSectionHeaderComponent } from "../../building-blocks/admin-section-header/admin-section-header.component";
                                                                                                                                                                                                                                                              +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                              +import { FormConfig } from "../../../entity-details/form/form.component";
                                                                                                                                                                                                                                                              +import { AdminEditDescriptionOnlyFieldComponent } from "../admin-entity-field/admin-edit-description-only-field/admin-edit-description-only-field.component";
                                                                                                                                                                                                                                                              +import { FieldGroup } from "app/core/entity-details/form/field-group";
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +@UntilDestroy()
                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                              +  selector: "app-admin-entity-form",
                                                                                                                                                                                                                                                              +  templateUrl: "./admin-entity-form.component.html",
                                                                                                                                                                                                                                                              +  styleUrls: [
                                                                                                                                                                                                                                                              +    "./admin-entity-form.component.scss",
                                                                                                                                                                                                                                                              +    "../../building-blocks/admin-section-header/admin-section-header.component.scss",
                                                                                                                                                                                                                                                              +    "../../../common-components/entity-form/entity-form/entity-form.component.scss",
                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                              +    DragDropModule,
                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                              +    FaIconComponent,
                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                              +    MatCardModule,
                                                                                                                                                                                                                                                              +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                              +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                              +    AdminSectionHeaderComponent,
                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                              +export class AdminEntityFormComponent implements OnChanges {
                                                                                                                                                                                                                                                              +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  @Input() config: FormConfig;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  dummyEntity: Entity;
                                                                                                                                                                                                                                                              +  dummyForm: FormGroup;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  availableFields: ColumnConfig[] = [];
                                                                                                                                                                                                                                                              +  readonly createNewFieldPlaceholder: FormFieldConfig = {
                                                                                                                                                                                                                                                              +    id: null,
                                                                                                                                                                                                                                                              +    label: $localize`:Label drag and drop item:Create New Field`,
                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  readonly createNewTextPlaceholder: FormFieldConfig = {
                                                                                                                                                                                                                                                              +    id: null,
                                                                                                                                                                                                                                                              +    label: $localize`:Label drag and drop item:Create Text Block`,
                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                              +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                              +    private matDialog: MatDialog,
                                                                                                                                                                                                                                                              +    adminEntityService: AdminEntityService,
                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                              +    adminEntityService.entitySchemaUpdated
                                                                                                                                                                                                                                                              +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                              +      .subscribe(() => {
                                                                                                                                                                                                                                                              +        this.availableFields = []; // force re-init of the label components that otherwise do not detect the change
                                                                                                                                                                                                                                                              +        setTimeout(() => this.initForm());
                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                              +    if (changes.config) {
                                                                                                                                                                                                                                                              +      this.initForm();
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  private initForm() {
                                                                                                                                                                                                                                                              +    this.initAvailableFields();
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    this.dummyEntity = new this.entityType();
                                                                                                                                                                                                                                                              +    this.dummyForm = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                              +      [...this.getUsedFields(this.config), ...this.availableFields],
                                                                                                                                                                                                                                                              +      this.dummyEntity,
                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                              +    this.dummyForm.disable();
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  private getUsedFields(config: FormConfig): ColumnConfig[] {
                                                                                                                                                                                                                                                              +    return config.fieldGroups.reduce((p, c) => p.concat(c.fields), []);
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * Load any fields from schema that are not already in the form, so that the user can drag them into the form.
                                                                                                                                                                                                                                                              +   * @param config
                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  private initAvailableFields() {
                                                                                                                                                                                                                                                              +    const usedFields = this.getUsedFields(this.config);
                                                                                                                                                                                                                                                              +    const unusedFields = Array.from(this.entityType.schema.entries())
                                                                                                                                                                                                                                                              +      .filter(
                                                                                                                                                                                                                                                              +        ([key]) =>
                                                                                                                                                                                                                                                              +          !usedFields.some(
                                                                                                                                                                                                                                                              +            (x) => x === key || (x as FormFieldConfig).id === key,
                                                                                                                                                                                                                                                              +          ),
                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                              +      .filter(([key, value]) => value.label) // no technical, internal fields
                                                                                                                                                                                                                                                              +      .sort(([aId, a], [bId, b]) => a.label.localeCompare(b.label))
                                                                                                                                                                                                                                                              +      .map(([key]) => key);
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    this.availableFields = [
                                                                                                                                                                                                                                                              +      this.createNewFieldPlaceholder,
                                                                                                                                                                                                                                                              +      this.createNewTextPlaceholder,
                                                                                                                                                                                                                                                              +      ...unusedFields,
                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * Open the form to edit details of a single field's schema.
                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                              +   * @param field field to edit or { id: null } to create a new field
                                                                                                                                                                                                                                                              +   * @returns the id of the field that was edited or created (which is newly defined in the dialog for new fields)
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  async openFieldConfig(field: ColumnConfig): Promise<string> {
                                                                                                                                                                                                                                                              +    let fieldIdToEdit = toFormFieldConfig(field).id;
                                                                                                                                                                                                                                                              +    const dialogRef = this.matDialog.open(AdminEntityFieldComponent, {
                                                                                                                                                                                                                                                              +      width: "99%",
                                                                                                                                                                                                                                                              +      maxHeight: "90vh",
                                                                                                                                                                                                                                                              +      data: {
                                                                                                                                                                                                                                                              +        fieldId: fieldIdToEdit,
                                                                                                                                                                                                                                                              +        entityType: this.entityType,
                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                              +    return lastValueFrom(dialogRef.afterClosed());
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * Open the form to edit details of a single text's schema.
                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                              +   * @param textField text to edit or { id: null } to create a new text
                                                                                                                                                                                                                                                              +   * @returns the id of the text that was edited or created (which is newly defined in the dialog for new fields)
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  async openTextConfig(textField: FormFieldConfig): Promise<FormFieldConfig> {
                                                                                                                                                                                                                                                              +    const dialogRef = this.matDialog.open(
                                                                                                                                                                                                                                                              +      AdminEditDescriptionOnlyFieldComponent,
                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                              +        data: textField,
                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    const result = await lastValueFrom(dialogRef.afterClosed());
                                                                                                                                                                                                                                                              +    return result;
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  drop(event: CdkDragDrop<ColumnConfig[], ColumnConfig[]>) {
                                                                                                                                                                                                                                                              +    const prevFieldsArray = event.previousContainer.data;
                                                                                                                                                                                                                                                              +    const newFieldsArray = event.container.data;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    if (
                                                                                                                                                                                                                                                              +      prevFieldsArray[event.previousIndex] === this.createNewFieldPlaceholder
                                                                                                                                                                                                                                                              +    ) {
                                                                                                                                                                                                                                                              +      this.dropNewField(event);
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    if (
                                                                                                                                                                                                                                                              +      prevFieldsArray[event.previousIndex] === this.createNewTextPlaceholder
                                                                                                                                                                                                                                                              +    ) {
                                                                                                                                                                                                                                                              +      this.dropNewText(event);
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    if (event.previousContainer === event.container) {
                                                                                                                                                                                                                                                              +      moveItemInArray(newFieldsArray, event.previousIndex, event.currentIndex);
                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                              +      transferArrayItem(
                                                                                                                                                                                                                                                              +        prevFieldsArray,
                                                                                                                                                                                                                                                              +        newFieldsArray,
                                                                                                                                                                                                                                                              +        event.previousIndex,
                                                                                                                                                                                                                                                              +        event.currentIndex,
                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    if (newFieldsArray === this.availableFields) {
                                                                                                                                                                                                                                                              +      // ensure available fields have consistent order
                                                                                                                                                                                                                                                              +      this.initAvailableFields();
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * Opens the configuration settings for a field.
                                                                                                                                                                                                                                                              +   * If the field has an editComponent defined in the schema, it opens the text configuration.
                                                                                                                                                                                                                                                              +   * Otherwise, it opens the field configuration.
                                                                                                                                                                                                                                                              +   * @param field The field to open the configuration settings for.
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  async openConfigDetails(field: ColumnConfig) {
                                                                                                                                                                                                                                                              +    let fieldIdToEdit = toFormFieldConfig(field).id;
                                                                                                                                                                                                                                                              +    const configDetails = Object.assign(
                                                                                                                                                                                                                                                              +      {},
                                                                                                                                                                                                                                                              +      this.entityType.schema.get(fieldIdToEdit) ?? {},
                                                                                                                                                                                                                                                              +      field,
                                                                                                                                                                                                                                                              +    ) as FormFieldConfig;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    if (configDetails.editComponent == "EditDescriptionOnly") {
                                                                                                                                                                                                                                                              +      const updatedField = await this.openTextConfig(configDetails);
                                                                                                                                                                                                                                                              +      Object.assign(field, updatedField);
                                                                                                                                                                                                                                                              +      this.initForm();
                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                              +      await this.openFieldConfig(field);
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * drop handler specifically for the "create new field" item
                                                                                                                                                                                                                                                              +   * @param event
                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  private async dropNewField(
                                                                                                                                                                                                                                                              +    event: CdkDragDrop<ColumnConfig[], ColumnConfig[]>,
                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                              +    if (event.container.data === this.availableFields) {
                                                                                                                                                                                                                                                              +      // don't add new field to the available fields that are not in the form yet
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    const newFieldId = await this.openFieldConfig({ id: null });
                                                                                                                                                                                                                                                              +    if (!newFieldId) {
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    this.dummyForm.addControl(newFieldId, new FormControl());
                                                                                                                                                                                                                                                              +    this.dummyForm.disable();
                                                                                                                                                                                                                                                              +    event.container.data.splice(event.currentIndex, 0, newFieldId);
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    // the schema update has added the new field to the available fields already, remove it from there
                                                                                                                                                                                                                                                              +    this.availableFields.splice(this.availableFields.indexOf(newFieldId), 1);
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                              +   * drop handler specifically for the "create new Text field" item
                                                                                                                                                                                                                                                              +   * @param event
                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                              +  private async dropNewText(
                                                                                                                                                                                                                                                              +    event: CdkDragDrop<ColumnConfig[], ColumnConfig[]>,
                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                              +    if (event.container.data === this.availableFields) {
                                                                                                                                                                                                                                                              +      // don't add new Text field to the available fields that are not in the form yet
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    const newTextField = await this.openTextConfig({ id: null });
                                                                                                                                                                                                                                                              +    if (!newTextField) {
                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    this.dummyForm.addControl(newTextField.id, new FormControl());
                                                                                                                                                                                                                                                              +    this.dummyForm.disable();
                                                                                                                                                                                                                                                              +    event.container.data.splice(event.currentIndex, 0, newTextField);
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    // the schema update has added the new Text field to the available fields already, remove it from there
                                                                                                                                                                                                                                                              +    this.availableFields.splice(this.availableFields.indexOf(newTextField), 1);
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  dropNewGroup(event: CdkDragDrop<any, any>) {
                                                                                                                                                                                                                                                              +    const newCol = { fields: [] };
                                                                                                                                                                                                                                                              +    this.config.fieldGroups.push(newCol);
                                                                                                                                                                                                                                                              +    event.container.data = newCol.fields;
                                                                                                                                                                                                                                                              +    this.drop(event);
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  removeGroup(i: number) {
                                                                                                                                                                                                                                                              +    const [removedFieldGroup] = this.config.fieldGroups.splice(i, 1);
                                                                                                                                                                                                                                                              +    this.initAvailableFields();
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  hideField(field: ColumnConfig, group: FieldGroup) {
                                                                                                                                                                                                                                                              +    const fieldIndex = group.fields.indexOf(field);
                                                                                                                                                                                                                                                              +    group.fields.splice(fieldIndex, 1);
                                                                                                                                                                                                                                                              +    this.initAvailableFields();
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              <div cdkDropListGroup class="overall-container flex-row">
                                                                                                                                                                                                                                                              +  <!-- FORM PREVIEW -->
                                                                                                                                                                                                                                                              +  <div class="flex-grow admin-grid-layout padding-right-regular">
                                                                                                                                                                                                                                                              +    <!-- FIELD GROUPS -->
                                                                                                                                                                                                                                                              +    <div
                                                                                                                                                                                                                                                              +      *ngFor="let group of config.fieldGroups; let i = index"
                                                                                                                                                                                                                                                              +      class="entity-form-cell admin-form-column section-container"
                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                              +      <!-- GROUP HEADER -->
                                                                                                                                                                                                                                                              +      <app-admin-section-header
                                                                                                                                                                                                                                                              +        [(title)]="group.header"
                                                                                                                                                                                                                                                              +        (remove)="removeGroup(i)"
                                                                                                                                                                                                                                                              +      ></app-admin-section-header>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +      <div
                                                                                                                                                                                                                                                              +        cdkDropList
                                                                                                                                                                                                                                                              +        [cdkDropListData]="group.fields"
                                                                                                                                                                                                                                                              +        (cdkDropListDropped)="drop($event)"
                                                                                                                                                                                                                                                              +        class="fields-group-list drop-list"
                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                              +        <!-- FIELD [start] -->
                                                                                                                                                                                                                                                              +        <div
                                                                                                                                                                                                                                                              +          *ngFor="let field of group.fields"
                                                                                                                                                                                                                                                              +          class="admin-form-field flex-row align-center"
                                                                                                                                                                                                                                                              +          cdkDrag
                                                                                                                                                                                                                                                              +          cdkDragBoundary=".overall-container"
                                                                                                                                                                                                                                                              +        >
                                                                                                                                                                                                                                                              +          <fa-icon icon="grip-vertical" size="xl" class="drag-handle"></fa-icon>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +          <div class="field-hover-buttons flex-row align-center gap-small">
                                                                                                                                                                                                                                                              +            <button
                                                                                                                                                                                                                                                              +              class="field-edit-button"
                                                                                                                                                                                                                                                              +              mat-stroked-button
                                                                                                                                                                                                                                                              +              color="accent"
                                                                                                                                                                                                                                                              +              (click)="openConfigDetails(field)"
                                                                                                                                                                                                                                                              +              i18n="Button label"
                                                                                                                                                                                                                                                              +            >
                                                                                                                                                                                                                                                              +              Edit Field
                                                                                                                                                                                                                                                              +            </button>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +            <button
                                                                                                                                                                                                                                                              +              mat-icon-button
                                                                                                                                                                                                                                                              +              color="black"
                                                                                                                                                                                                                                                              +              (click)="hideField(field, group)"
                                                                                                                                                                                                                                                              +              aria-label="Hide Field"
                                                                                                                                                                                                                                                              +              matTooltip="remove (i.e. hide) this field from the form"
                                                                                                                                                                                                                                                              +              i18n-matTooltip
                                                                                                                                                                                                                                                              +            >
                                                                                                                                                                                                                                                              +              <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                              +            </button>
                                                                                                                                                                                                                                                              +          </div>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +          <div class="dummy-form-field">
                                                                                                                                                                                                                                                              +            <app-entity-field-edit
                                                                                                                                                                                                                                                              +              [field]="field"
                                                                                                                                                                                                                                                              +              [entity]="dummyEntity"
                                                                                                                                                                                                                                                              +              [form]="dummyForm"
                                                                                                                                                                                                                                                              +            ></app-entity-field-edit>
                                                                                                                                                                                                                                                              +          </div>
                                                                                                                                                                                                                                                              +        </div>
                                                                                                                                                                                                                                                              +        <!-- FIELD [end]-->
                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                              +    </div>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +    <!-- DROP AREA: NEW FIELD GROUP -->
                                                                                                                                                                                                                                                              +    <div class="entity-form-cell admin-form-column">
                                                                                                                                                                                                                                                              +      <div
                                                                                                                                                                                                                                                              +        cdkDropList
                                                                                                                                                                                                                                                              +        (cdkDropListDropped)="dropNewGroup($event)"
                                                                                                                                                                                                                                                              +        class="fields-group-list drop-list drop-area-hint"
                                                                                                                                                                                                                                                              +        i18n="Header of drag and drop box"
                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                              +        drop here to create new field group
                                                                                                                                                                                                                                                              +        <fa-icon
                                                                                                                                                                                                                                                              +          icon="question-circle"
                                                                                                                                                                                                                                                              +          matTooltip="You can group fields so that they will always appear next to each other while the layout is automatically adjusted to different screen sizes. Such field groups can also have a title displayed to users."
                                                                                                                                                                                                                                                              +          i18n-matTooltip
                                                                                                                                                                                                                                                              +        ></fa-icon>
                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                              +    </div>
                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  <!-- TOOLBAR -->
                                                                                                                                                                                                                                                              +  <mat-card class="toolbar">
                                                                                                                                                                                                                                                              +    <mat-card-content
                                                                                                                                                                                                                                                              +      cdkDropList
                                                                                                                                                                                                                                                              +      (cdkDropListDropped)="drop($event)"
                                                                                                                                                                                                                                                              +      [cdkDropListData]="availableFields"
                                                                                                                                                                                                                                                              +      class="drop-list"
                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                              +      <div class="drop-area-hint">
                                                                                                                                                                                                                                                              +        <em i18n="title for drag and drop section">hidden fields</em><br />
                                                                                                                                                                                                                                                              +        <span i18n="subtitle for drag and drop section">
                                                                                                                                                                                                                                                              +          drag & drop to / from here
                                                                                                                                                                                                                                                              +        </span>
                                                                                                                                                                                                                                                              +        <fa-icon
                                                                                                                                                                                                                                                              +          icon="question-circle"
                                                                                                                                                                                                                                                              +          matTooltip="You can remove fields from this form without deleting them completely. The fields here will not be visible or editable for users but you can display them in other views or keep them archived to not lose previously collected data. Drag a field back into the form preview to display it."
                                                                                                                                                                                                                                                              +          i18n-matTooltip
                                                                                                                                                                                                                                                              +        ></fa-icon>
                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +      <div
                                                                                                                                                                                                                                                              +        *ngFor="let field of availableFields"
                                                                                                                                                                                                                                                              +        class="admin-form-field flex-row align-center"
                                                                                                                                                                                                                                                              +        [class.admin-form-field-new]="
                                                                                                                                                                                                                                                              +          field === createNewFieldPlaceholder ||
                                                                                                                                                                                                                                                              +          field === createNewTextPlaceholder
                                                                                                                                                                                                                                                              +        "
                                                                                                                                                                                                                                                              +        cdkDrag
                                                                                                                                                                                                                                                              +        cdkDragBoundary="mat-drawer-container"
                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                              +        <fa-icon icon="grip-vertical" size="xl" class="drag-handle"></fa-icon>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +        <div>
                                                                                                                                                                                                                                                              +          <app-entity-field-label
                                                                                                                                                                                                                                                              +            [field]="field"
                                                                                                                                                                                                                                                              +            [entityType]="entityType"
                                                                                                                                                                                                                                                              +          ></app-entity-field-label>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +          <button
                                                                                                                                                                                                                                                              +            *ngIf="
                                                                                                                                                                                                                                                              +              field !== createNewFieldPlaceholder &&
                                                                                                                                                                                                                                                              +              field !== createNewTextPlaceholder
                                                                                                                                                                                                                                                              +            "
                                                                                                                                                                                                                                                              +            mat-stroked-button
                                                                                                                                                                                                                                                              +            color="accent"
                                                                                                                                                                                                                                                              +            class="field-hover-buttons field-edit-button-small"
                                                                                                                                                                                                                                                              +            (click)="openFieldConfig(field)"
                                                                                                                                                                                                                                                              +          >
                                                                                                                                                                                                                                                              +            Edit
                                                                                                                                                                                                                                                              +          </button>
                                                                                                                                                                                                                                                              +        </div>
                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                              +    </mat-card-content>
                                                                                                                                                                                                                                                              +  </mat-card>
                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              + ./admin-entity-form.component.scss +

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              @use "variables/colors";
                                                                                                                                                                                                                                                              +@use "variables/sizes";
                                                                                                                                                                                                                                                              +@use "mixins/grid-layout";
                                                                                                                                                                                                                                                              +@use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +$toolbar-width: 300px;
                                                                                                                                                                                                                                                              +.toolbar {
                                                                                                                                                                                                                                                              +  width: $toolbar-width;
                                                                                                                                                                                                                                                              +  padding: sizes.$small;
                                                                                                                                                                                                                                                              +  margin-right: -(sizes.$small);
                                                                                                                                                                                                                                                              +  margin-bottom: -(sizes.$small);
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  @include mat-elevation.elevation(4);
                                                                                                                                                                                                                                                              +  border-bottom-left-radius: 0;
                                                                                                                                                                                                                                                              +  border-top-right-radius: 0;
                                                                                                                                                                                                                                                              +  background-color: transparent;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.admin-grid-layout {
                                                                                                                                                                                                                                                              +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                              +    $min-block-width:
                                                                                                                                                                                                                                                              +      calc(#{sizes.$form-group-min-width} + 28px + 2 * 2 *#{sizes.$small}),
                                                                                                                                                                                                                                                              +    $max-screen-width: 414px
                                                                                                                                                                                                                                                              +  );
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.fields-group-list {
                                                                                                                                                                                                                                                              +  border: dashed 1px #ccc;
                                                                                                                                                                                                                                                              +  border-radius: 4px;
                                                                                                                                                                                                                                                              +  overflow: hidden;
                                                                                                                                                                                                                                                              +  display: block;
                                                                                                                                                                                                                                                              +  padding: 0 sizes.$small;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.drop-list {
                                                                                                                                                                                                                                                              +  min-height: 60px;
                                                                                                                                                                                                                                                              +  height: 99%;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.admin-form-field {
                                                                                                                                                                                                                                                              +  padding: sizes.$small;
                                                                                                                                                                                                                                                              +  margin: sizes.$small auto;
                                                                                                                                                                                                                                                              +  border: dotted 1px colors.$accent;
                                                                                                                                                                                                                                                              +  border-radius: sizes.$x-small;
                                                                                                                                                                                                                                                              +  position: relative;
                                                                                                                                                                                                                                                              +  overflow: hidden;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /* draggable item must not be wider than toolbar, otherwise it cannot be dropped there due to cdkDragBoundary */
                                                                                                                                                                                                                                                              +  max-width: $toolbar-width;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.admin-form-field:hover {
                                                                                                                                                                                                                                                              +  background-color: colors.$grey-transparent;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.admin-form-field-new,
                                                                                                                                                                                                                                                              +.admin-form-field-new:hover {
                                                                                                                                                                                                                                                              +  border-color: green;
                                                                                                                                                                                                                                                              +  background-color: rgba(0, 255, 0, 0.05);
                                                                                                                                                                                                                                                              +  font-style: italic;
                                                                                                                                                                                                                                                              +  cursor: move;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.drag-handle {
                                                                                                                                                                                                                                                              +  color: colors.$accent;
                                                                                                                                                                                                                                                              +  cursor: move;
                                                                                                                                                                                                                                                              +  min-width: 2em;
                                                                                                                                                                                                                                                              +  text-align: center;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.field-hover-buttons {
                                                                                                                                                                                                                                                              +  visibility: hidden;
                                                                                                                                                                                                                                                              +  z-index: 10;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  position: absolute;
                                                                                                                                                                                                                                                              +  /* center within parent: */
                                                                                                                                                                                                                                                              +  top: 0;
                                                                                                                                                                                                                                                              +  bottom: 0;
                                                                                                                                                                                                                                                              +  left: 0;
                                                                                                                                                                                                                                                              +  right: 0;
                                                                                                                                                                                                                                                              +  margin: auto;
                                                                                                                                                                                                                                                              +  width: fit-content;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  align-self: center;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.admin-form-field:hover .field-hover-buttons {
                                                                                                                                                                                                                                                              +  visibility: visible;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.field-edit-button-small {
                                                                                                                                                                                                                                                              +  left: unset;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.field-edit-button {
                                                                                                                                                                                                                                                              +  background: white !important;
                                                                                                                                                                                                                                                              +  padding: 1.5em;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.dummy-form-field {
                                                                                                                                                                                                                                                              +  width: 100%;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.dummy-form-field ::ng-deep input,
                                                                                                                                                                                                                                                              +.dummy-form-field ::ng-deep button {
                                                                                                                                                                                                                                                              +  pointer-events: none;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.dummy-form-field ::ng-deep mat-form-field {
                                                                                                                                                                                                                                                              +  width: 100%;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +.dummy-form-field ::ng-deep app-help-button {
                                                                                                                                                                                                                                                              +  opacity: 50%;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.drop-area-hint {
                                                                                                                                                                                                                                                              +  text-align: center;
                                                                                                                                                                                                                                                              +  padding: sizes.$small;
                                                                                                                                                                                                                                                              +  color: colors.$hint-text;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.admin-form-column {
                                                                                                                                                                                                                                                              +  border: dashed 1px #ccc;
                                                                                                                                                                                                                                                              +  padding: sizes.$small;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.cdk-drag-preview {
                                                                                                                                                                                                                                                              +  box-sizing: border-box;
                                                                                                                                                                                                                                                              +  border-radius: 4px;
                                                                                                                                                                                                                                                              +  box-shadow:
                                                                                                                                                                                                                                                              +    0 5px 5px -3px rgba(0, 0, 0, 0.2),
                                                                                                                                                                                                                                                              +    0 8px 10px 1px rgba(0, 0, 0, 0.14),
                                                                                                                                                                                                                                                              +    0 3px 14px 2px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.cdk-drag-placeholder {
                                                                                                                                                                                                                                                              +  opacity: 0.4;
                                                                                                                                                                                                                                                              +  border-color: green;
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.cdk-drag-animating {
                                                                                                                                                                                                                                                              +  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.drop-list.cdk-drop-list-dragging .admin-form-field:not(.cdk-drag-placeholder) {
                                                                                                                                                                                                                                                              +  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              + ../../building-blocks/admin-section-header/admin-section-header.component.scss +

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              .section-container:has(.group-remove-button:hover) {
                                                                                                                                                                                                                                                              +  border-color: rgb(255, 0, 0);
                                                                                                                                                                                                                                                              +  background-color: rgba(255, 0, 0, 0.1);
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              + ../../../common-components/entity-form/entity-form/entity-form.component.scss +

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              @use "mixins/grid-layout";
                                                                                                                                                                                                                                                              +@use "variables/sizes";
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.grid-layout {
                                                                                                                                                                                                                                                              +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                              +    $min-block-width: sizes.$form-group-min-width,
                                                                                                                                                                                                                                                              +    $max-screen-width: 414px
                                                                                                                                                                                                                                                              +  );
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +.entity-form-cell {
                                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                                              +  flex-direction: column;
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /* set the width of each form field to 100% in every form component that is a descendent
                                                                                                                                                                                                                                                              +     of the columns-wrapper class */
                                                                                                                                                                                                                                                              +  mat-form-field {
                                                                                                                                                                                                                                                              +    width: 100%;
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +  /* We align the photo (and only tht photo) to the center of the cell if there is one.
                                                                                                                                                                                                                                                              +     This looks better on desktop and mobile compared to an alignment to the start of the cell
                                                                                                                                                                                                                                                              +     which is the default for all other elements */
                                                                                                                                                                                                                                                              +  > app-edit-photo {
                                                                                                                                                                                                                                                              +    align-self: center;
                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityGeneralSettingsComponent.html b/documentation/components/AdminEntityGeneralSettingsComponent.html new file mode 100644 index 0000000000..3de6509384 --- /dev/null +++ b/documentation/components/AdminEntityGeneralSettingsComponent.html @@ -0,0 +1,1269 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                + src/app/core/admin/admin-entity/admin-entity-general-settings/admin-entity-general-settings.component.ts +

                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Outputs
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                +constructor(fb: FormBuilder, adminEntityService: AdminEntityService) +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                adminEntityService + AdminEntityService + + No +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + entityConstructor +
                                                                                                                                                                                                                                                                + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + generalSettings +
                                                                                                                                                                                                                                                                + Type : EntityConfig + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + showPIIDetails +
                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                Outputs

                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + generalSettingsChange +
                                                                                                                                                                                                                                                                + Type : EventEmitter<EntityConfig> + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + changeFieldAnonymization + + +
                                                                                                                                                                                                                                                                +changeFieldAnonymization(fieldSchema: EntitySchemaField, newAnonymizationValue) +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                fieldSchema + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                newAnonymizationValue + + No +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + fetchAnonymizationTableData + + +
                                                                                                                                                                                                                                                                +fetchAnonymizationTableData() +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + toggleAnonymizationTable + + +
                                                                                                                                                                                                                                                                +toggleAnonymizationTable(event: MatCheckboxChange) +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                event + MatCheckboxChange + + No +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + basicSettingsForm + + +
                                                                                                                                                                                                                                                                + Type : FormGroup + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + fieldAnonymizationDataSource + + +
                                                                                                                                                                                                                                                                + Type : MatTableDataSource<literal type> + +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + objectToLabel + + +
                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + objectToValue + + +
                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                + + + toStringAttributesOptions + + +
                                                                                                                                                                                                                                                                + Type : SimpleDropdownValue[] + +
                                                                                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
                                                                                                                                                                                                                                                                +import { EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                +  FormBuilder,
                                                                                                                                                                                                                                                                +  FormGroup,
                                                                                                                                                                                                                                                                +  FormsModule,
                                                                                                                                                                                                                                                                +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                +  Validators,
                                                                                                                                                                                                                                                                +} from "@angular/forms";
                                                                                                                                                                                                                                                                +import { CommonModule, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                +import { BasicAutocompleteComponent } from "../../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                +import { EntityConfig } from "../../../entity/entity-config";
                                                                                                                                                                                                                                                                +import { MatTableDataSource, MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                +  MatCheckboxChange,
                                                                                                                                                                                                                                                                +  MatCheckboxModule,
                                                                                                                                                                                                                                                                +} from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                +import { MatOptionModule } from "@angular/material/core";
                                                                                                                                                                                                                                                                +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                +import { EntitySchemaField } from "app/core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                +import { AdminEntityService } from "../../admin-entity.service";
                                                                                                                                                                                                                                                                +import { StringDatatype } from "../../../basic-datatypes/string/string.datatype";
                                                                                                                                                                                                                                                                +import { HelpButtonComponent } from "../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                +import { MatSort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                +import { EntityFieldLabelComponent } from "../../../common-components/entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                +import { AnonymizeOptionsComponent } from "../../admin-entity-details/admin-entity-field/anonymize-options/anonymize-options.component";
                                                                                                                                                                                                                                                                +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                +  selector: "app-admin-entity-general-settings",
                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                +  templateUrl: "./admin-entity-general-settings.component.html",
                                                                                                                                                                                                                                                                +  styleUrls: [
                                                                                                                                                                                                                                                                +    "./admin-entity-general-settings.component.scss",
                                                                                                                                                                                                                                                                +    "../admin-entity-styles.scss",
                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                +    MatButtonModule,
                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                +    MatTabsModule,
                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                +    MatTooltipModule,
                                                                                                                                                                                                                                                                +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                +    MatCheckboxModule,
                                                                                                                                                                                                                                                                +    MatTableModule,
                                                                                                                                                                                                                                                                +    MatOptionModule,
                                                                                                                                                                                                                                                                +    MatSelectModule,
                                                                                                                                                                                                                                                                +    CommonModule,
                                                                                                                                                                                                                                                                +    MatTooltipModule,
                                                                                                                                                                                                                                                                +    HelpButtonComponent,
                                                                                                                                                                                                                                                                +    MatSort,
                                                                                                                                                                                                                                                                +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                +    AnonymizeOptionsComponent,
                                                                                                                                                                                                                                                                +    FaIconComponent,
                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                +export class AdminEntityGeneralSettingsComponent implements OnInit {
                                                                                                                                                                                                                                                                +  @Input() entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                                +  @Output() generalSettingsChange: EventEmitter<EntityConfig> =
                                                                                                                                                                                                                                                                +    new EventEmitter<EntityConfig>();
                                                                                                                                                                                                                                                                +  @Input() generalSettings: EntityConfig;
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  @Input() showPIIDetails: boolean;
                                                                                                                                                                                                                                                                +  fieldAnonymizationDataSource: MatTableDataSource<{
                                                                                                                                                                                                                                                                +    key: string;
                                                                                                                                                                                                                                                                +    label: string;
                                                                                                                                                                                                                                                                +    field: EntitySchemaField;
                                                                                                                                                                                                                                                                +  }>;
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  basicSettingsForm: FormGroup;
                                                                                                                                                                                                                                                                +  toStringAttributesOptions: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                +    private adminEntityService: AdminEntityService,
                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  ngOnInit(): void {
                                                                                                                                                                                                                                                                +    this.init();
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  private init() {
                                                                                                                                                                                                                                                                +    this.basicSettingsForm = this.fb.group({
                                                                                                                                                                                                                                                                +      label: [this.generalSettings.label, Validators.required],
                                                                                                                                                                                                                                                                +      labelPlural: [this.generalSettings.labelPlural],
                                                                                                                                                                                                                                                                +      icon: [this.generalSettings.icon],
                                                                                                                                                                                                                                                                +      toStringAttributes: [this.generalSettings.toStringAttributes],
                                                                                                                                                                                                                                                                +      hasPII: [this.generalSettings.hasPII],
                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                +    this.showPIIDetails = this.basicSettingsForm.get("hasPII").value;
                                                                                                                                                                                                                                                                +    this.fetchAnonymizationTableData();
                                                                                                                                                                                                                                                                +    this.initToStringAttributesOptions();
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +    this.basicSettingsForm.valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                +      this.generalSettingsChange.emit(this.basicSettingsForm.getRawValue()); // Optionally, emit the initial value
                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  fetchAnonymizationTableData() {
                                                                                                                                                                                                                                                                +    if (this.showPIIDetails) {
                                                                                                                                                                                                                                                                +      const fields = Array.from(this.entityConstructor.schema.entries())
                                                                                                                                                                                                                                                                +        .filter(([key, field]) => field.label)
                                                                                                                                                                                                                                                                +        .map(([key, field]) => ({
                                                                                                                                                                                                                                                                +          key: key,
                                                                                                                                                                                                                                                                +          label: field.label,
                                                                                                                                                                                                                                                                +          field: field,
                                                                                                                                                                                                                                                                +        }));
                                                                                                                                                                                                                                                                +      this.fieldAnonymizationDataSource = new MatTableDataSource(fields);
                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  toggleAnonymizationTable(event: MatCheckboxChange) {
                                                                                                                                                                                                                                                                +    this.showPIIDetails = event.checked;
                                                                                                                                                                                                                                                                +    this.basicSettingsForm.get("hasPII").setValue(this.showPIIDetails);
                                                                                                                                                                                                                                                                +    this.fetchAnonymizationTableData();
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  changeFieldAnonymization(
                                                                                                                                                                                                                                                                +    fieldSchema: EntitySchemaField,
                                                                                                                                                                                                                                                                +    newAnonymizationValue,
                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                +    fieldSchema.anonymize = newAnonymizationValue;
                                                                                                                                                                                                                                                                +    fieldSchema._isCustomizedField = true;
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +    this.adminEntityService.updateSchemaField(
                                                                                                                                                                                                                                                                +      this.entityConstructor,
                                                                                                                                                                                                                                                                +      this.fieldAnonymizationDataSource.data.find(
                                                                                                                                                                                                                                                                +        (v) => v.field === fieldSchema,
                                                                                                                                                                                                                                                                +      ).key,
                                                                                                                                                                                                                                                                +      fieldSchema,
                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +  private initToStringAttributesOptions() {
                                                                                                                                                                                                                                                                +    if (!this.generalSettings.toStringAttributes) {
                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +    const selectedOptions = this.generalSettings.toStringAttributes;
                                                                                                                                                                                                                                                                +    const unselectedOptions = Array.from(
                                                                                                                                                                                                                                                                +      this.entityConstructor.schema.entries(),
                                                                                                                                                                                                                                                                +    )
                                                                                                                                                                                                                                                                +      .filter(
                                                                                                                                                                                                                                                                +        ([key, field]) =>
                                                                                                                                                                                                                                                                +          field.dataType === StringDatatype.dataType &&
                                                                                                                                                                                                                                                                +          field.label &&
                                                                                                                                                                                                                                                                +          !selectedOptions.includes(key),
                                                                                                                                                                                                                                                                +      )
                                                                                                                                                                                                                                                                +      .map(([key, field]) => ({ key: key, label: field.label }));
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +    this.toStringAttributesOptions = [
                                                                                                                                                                                                                                                                +      ...selectedOptions.map((key) => ({
                                                                                                                                                                                                                                                                +        key: key,
                                                                                                                                                                                                                                                                +        label: this.entityConstructor.schema.get(key)?.label,
                                                                                                                                                                                                                                                                +      })),
                                                                                                                                                                                                                                                                +      ...unselectedOptions,
                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +  objectToLabel = (v: SimpleDropdownValue) => v?.label;
                                                                                                                                                                                                                                                                +  objectToValue = (v: SimpleDropdownValue) => v?.key;
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +interface SimpleDropdownValue {
                                                                                                                                                                                                                                                                +  key: string;
                                                                                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                <div class="hint-banner" i18n>
                                                                                                                                                                                                                                                                +  The settings here apply to the entity type overall and take effect everywhere
                                                                                                                                                                                                                                                                +  the entity is displayed, including lists, forms and other views.
                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +<h2 i18n>General Settings of "{{ entityConstructor.label }}" Records</h2>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +<form [formGroup]="basicSettingsForm">
                                                                                                                                                                                                                                                                +  <mat-tab-group>
                                                                                                                                                                                                                                                                +    <mat-tab label="Basics" i18n-label>
                                                                                                                                                                                                                                                                +      <div class="grid-layout flex-grow margin-top-regular">
                                                                                                                                                                                                                                                                +        <div class="entity-form-cell">
                                                                                                                                                                                                                                                                +          <mat-form-field>
                                                                                                                                                                                                                                                                +            <mat-label i18n>Label</mat-label>
                                                                                                                                                                                                                                                                +            <input formControlName="label" matInput #formLabel />
                                                                                                                                                                                                                                                                +          </mat-form-field>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +          <mat-form-field floatLabel="always">
                                                                                                                                                                                                                                                                +            <mat-label>
                                                                                                                                                                                                                                                                +              <span i18n>Label (Plural)</span>
                                                                                                                                                                                                                                                                +              &nbsp;
                                                                                                                                                                                                                                                                +              <fa-icon
                                                                                                                                                                                                                                                                +                icon="question-circle"
                                                                                                                                                                                                                                                                +                matTooltip="Optionally you can define how multiple records of this entity should be called, e.g. in lists."
                                                                                                                                                                                                                                                                +                i18n-matTooltip
                                                                                                                                                                                                                                                                +              ></fa-icon>
                                                                                                                                                                                                                                                                +            </mat-label>
                                                                                                                                                                                                                                                                +            <input
                                                                                                                                                                                                                                                                +              formControlName="labelPlural"
                                                                                                                                                                                                                                                                +              matInput
                                                                                                                                                                                                                                                                +              [placeholder]="formLabel.value"
                                                                                                                                                                                                                                                                +            />
                                                                                                                                                                                                                                                                +          </mat-form-field>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +          <mat-form-field floatLabel="always">
                                                                                                                                                                                                                                                                +            <mat-label>
                                                                                                                                                                                                                                                                +              <span i18n>Icon</span>
                                                                                                                                                                                                                                                                +              &nbsp;
                                                                                                                                                                                                                                                                +              <fa-icon
                                                                                                                                                                                                                                                                +                icon="question-circle"
                                                                                                                                                                                                                                                                +                matTooltip="The icon to represent this entity type, e.g. when displaying records as a small preview block."
                                                                                                                                                                                                                                                                +                i18n-matTooltip
                                                                                                                                                                                                                                                                +              ></fa-icon>
                                                                                                                                                                                                                                                                +            </mat-label>
                                                                                                                                                                                                                                                                +            <input formControlName="icon" matInput />
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +            <mat-hint i18n>
                                                                                                                                                                                                                                                                +              Find available icon names at
                                                                                                                                                                                                                                                                +              <a
                                                                                                                                                                                                                                                                +                href="https://fontawesome.com/v6/search?o=r&m=free"
                                                                                                                                                                                                                                                                +                target="_blank"
                                                                                                                                                                                                                                                                +                >fontawesome.com</a
                                                                                                                                                                                                                                                                +              >
                                                                                                                                                                                                                                                                +            </mat-hint>
                                                                                                                                                                                                                                                                +          </mat-form-field>
                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +        <div class="entity-form-cell">
                                                                                                                                                                                                                                                                +          <mat-form-field>
                                                                                                                                                                                                                                                                +            <mat-label>
                                                                                                                                                                                                                                                                +              <span i18n>Generated Title of Record</span>
                                                                                                                                                                                                                                                                +              &nbsp;
                                                                                                                                                                                                                                                                +              <fa-icon
                                                                                                                                                                                                                                                                +                icon="question-circle"
                                                                                                                                                                                                                                                                +                matTooltip="Select the fields that should be used (in that order) to generate a simple name/title for a record. This generated title is used in previews, search and for form fields that allow to select a record of this type. (Only text fields can be used here)"
                                                                                                                                                                                                                                                                +                i18n-matTooltip
                                                                                                                                                                                                                                                                +              ></fa-icon>
                                                                                                                                                                                                                                                                +            </mat-label>
                                                                                                                                                                                                                                                                +            <app-basic-autocomplete
                                                                                                                                                                                                                                                                +              formControlName="toStringAttributes"
                                                                                                                                                                                                                                                                +              #formDataType
                                                                                                                                                                                                                                                                +              [options]="toStringAttributesOptions"
                                                                                                                                                                                                                                                                +              [optionToString]="objectToLabel"
                                                                                                                                                                                                                                                                +              [valueMapper]="objectToValue"
                                                                                                                                                                                                                                                                +              [multi]="true"
                                                                                                                                                                                                                                                                +              [reorder]="true"
                                                                                                                                                                                                                                                                +            ></app-basic-autocomplete>
                                                                                                                                                                                                                                                                +          </mat-form-field>
                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                +      </div>
                                                                                                                                                                                                                                                                +    </mat-tab>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +    <!--
                                                                                                                                                                                                                                                                +        ADVANCED SETTINGS
                                                                                                                                                                                                                                                                +      -->
                                                                                                                                                                                                                                                                +    <mat-tab
                                                                                                                                                                                                                                                                +      label="Configure PII / Anonymization"
                                                                                                                                                                                                                                                                +      i18n-label
                                                                                                                                                                                                                                                                +      [disabled]="false"
                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                +      <div class="margin-top-regular overflow-table">
                                                                                                                                                                                                                                                                +        <div class="flex-row align-center">
                                                                                                                                                                                                                                                                +          <mat-checkbox
                                                                                                                                                                                                                                                                +            [checked]="showPIIDetails"
                                                                                                                                                                                                                                                                +            (change)="toggleAnonymizationTable($event)"
                                                                                                                                                                                                                                                                +            i18n
                                                                                                                                                                                                                                                                +            >Has personal information (PII)</mat-checkbox
                                                                                                                                                                                                                                                                +          >
                                                                                                                                                                                                                                                                +          <app-help-button
                                                                                                                                                                                                                                                                +            text="If the fields of this record type contain personal, sensitive information you can mark this here. Checking this box enables the 'anonymization' feature. This allows users to anonymize records of this type instead of just archiving or deleting them."
                                                                                                                                                                                                                                                                +            i18n-text
                                                                                                                                                                                                                                                                +          ></app-help-button>
                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +        <div *ngIf="showPIIDetails">
                                                                                                                                                                                                                                                                +          <p i18n>
                                                                                                                                                                                                                                                                +            Configure how records of this type can be anonymized. Users can
                                                                                                                                                                                                                                                                +            "anonymize" a record as an alternative to just archiving it (keeping
                                                                                                                                                                                                                                                                +            all personal details) or deleting it (losing any trace of the
                                                                                                                                                                                                                                                                +            record, even in reports). Select below which fields can be
                                                                                                                                                                                                                                                                +            "retained" to keep some limited data for statistical reporting and
                                                                                                                                                                                                                                                                +            which fields have to be removed because they contain personal
                                                                                                                                                                                                                                                                +            details.
                                                                                                                                                                                                                                                                +          </p>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +          <mat-table [dataSource]="fieldAnonymizationDataSource">
                                                                                                                                                                                                                                                                +            <ng-container matColumnDef="label">
                                                                                                                                                                                                                                                                +              <mat-cell *matCellDef="let anonymizeData">
                                                                                                                                                                                                                                                                +                {{ anonymizeData.label }}
                                                                                                                                                                                                                                                                +              </mat-cell>
                                                                                                                                                                                                                                                                +            </ng-container>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +            <ng-container matColumnDef="field">
                                                                                                                                                                                                                                                                +              <mat-cell *matCellDef="let anonymizeData">
                                                                                                                                                                                                                                                                +                <app-anonymize-options
                                                                                                                                                                                                                                                                +                  [value]="anonymizeData.field.anonymize"
                                                                                                                                                                                                                                                                +                  (valueChange)="
                                                                                                                                                                                                                                                                +                    changeFieldAnonymization(anonymizeData.field, $event)
                                                                                                                                                                                                                                                                +                  "
                                                                                                                                                                                                                                                                +                ></app-anonymize-options>
                                                                                                                                                                                                                                                                +              </mat-cell>
                                                                                                                                                                                                                                                                +            </ng-container>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +            <mat-row
                                                                                                                                                                                                                                                                +              *matRowDef="let row; columns: ['label', 'field']"
                                                                                                                                                                                                                                                                +            ></mat-row>
                                                                                                                                                                                                                                                                +          </mat-table>
                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                +      </div>
                                                                                                                                                                                                                                                                +    </mat-tab>
                                                                                                                                                                                                                                                                +  </mat-tab-group>
                                                                                                                                                                                                                                                                +</form>
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                + ./admin-entity-general-settings.component.scss +

                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                @use "mixins/grid-layout";
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +.grid-layout {
                                                                                                                                                                                                                                                                +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                                +    $min-block-width: 250px,
                                                                                                                                                                                                                                                                +    $max-screen-width: 414px
                                                                                                                                                                                                                                                                +  );
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +.entity-form-cell {
                                                                                                                                                                                                                                                                +  display: flex;
                                                                                                                                                                                                                                                                +  flex-direction: column;
                                                                                                                                                                                                                                                                +  /* set the width of each form field to 100% in every form component that is a descendent of the columns-wrapper class */
                                                                                                                                                                                                                                                                +  mat-form-field {
                                                                                                                                                                                                                                                                +    width: 100%;
                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +.overflow-table {
                                                                                                                                                                                                                                                                +  max-height: calc(100vh - 250px);
                                                                                                                                                                                                                                                                +  overflow: auto;
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                + ../admin-entity-styles.scss +

                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +.hint-banner {
                                                                                                                                                                                                                                                                +  background: #e8e8e8;
                                                                                                                                                                                                                                                                +  padding: 1em;
                                                                                                                                                                                                                                                                +  margin-bottom: 1em;
                                                                                                                                                                                                                                                                +  @include mat-elevation.elevation(1);
                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityListComponent.html b/documentation/components/AdminEntityListComponent.html new file mode 100644 index 0000000000..8a41587f4b --- /dev/null +++ b/documentation/components/AdminEntityListComponent.html @@ -0,0 +1,1359 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  + src/app/core/admin/admin-entity-list/admin-entity-list.component.ts +

                                                                                                                                                                                                                                                                  + + + + +

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  + OnChanges + AfterViewInit +

                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + config +
                                                                                                                                                                                                                                                                  + Type : EntityListConfig + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + entityConstructor +
                                                                                                                                                                                                                                                                  + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + drop + + +
                                                                                                                                                                                                                                                                  +drop(event: CdkDragDrop, columnsArray: E[]) +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                  • E
                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                  event + CdkDragDrop<E[] | any> + + No +
                                                                                                                                                                                                                                                                  columnsArray + E[] + + No +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + newColumnGroupFactory + + +
                                                                                                                                                                                                                                                                  +newColumnGroupFactory() +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Returns : GroupConfig + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + onDropListDropped + + +
                                                                                                                                                                                                                                                                  +onDropListDropped() +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + onDropListEntered + + +
                                                                                                                                                                                                                                                                  +onDropListEntered(undefined: CdkDragEnter) +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                  + CdkDragEnter + + No +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + removeItem + + +
                                                                                                                                                                                                                                                                  +removeItem(array: E[], item: E) +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                  • E
                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                  array + E[] + + No +
                                                                                                                                                                                                                                                                  item + E + + No +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + updateFilters + + +
                                                                                                                                                                                                                                                                  +updateFilters(filters: string[]) +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                  filters + string[] + + No +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + allFields + + +
                                                                                                                                                                                                                                                                  + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + filters + + +
                                                                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  + + + + placeholder + + +
                                                                                                                                                                                                                                                                  + Type : CdkDropList + +
                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                  + + @ViewChild(CdkDropList)
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  import {
                                                                                                                                                                                                                                                                  +  AfterViewInit,
                                                                                                                                                                                                                                                                  +  Component,
                                                                                                                                                                                                                                                                  +  Input,
                                                                                                                                                                                                                                                                  +  OnChanges,
                                                                                                                                                                                                                                                                  +  SimpleChanges,
                                                                                                                                                                                                                                                                  +  ViewChild,
                                                                                                                                                                                                                                                                  +} from "@angular/core";
                                                                                                                                                                                                                                                                  +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                  +import { FilterComponent } from "../../filter/filter/filter.component";
                                                                                                                                                                                                                                                                  +import { MatTab, MatTabGroup } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                  +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                  +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                  +  EntityListConfig,
                                                                                                                                                                                                                                                                  +  GroupConfig,
                                                                                                                                                                                                                                                                  +} from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                  +import { EntityFieldsMenuComponent } from "../../common-components/entity-fields-menu/entity-fields-menu.component";
                                                                                                                                                                                                                                                                  +import { ColumnConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                  +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                  +import { EntityFieldLabelComponent } from "../../common-components/entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                  +  CdkDrag,
                                                                                                                                                                                                                                                                  +  CdkDragDrop,
                                                                                                                                                                                                                                                                  +  CdkDragEnter,
                                                                                                                                                                                                                                                                  +  CdkDropList,
                                                                                                                                                                                                                                                                  +  CdkDropListGroup,
                                                                                                                                                                                                                                                                  +  DragRef,
                                                                                                                                                                                                                                                                  +  moveItemInArray,
                                                                                                                                                                                                                                                                  +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                                  +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                  +import { MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                  +import { MatFormField, MatLabel } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                  +import { MatSelect } from "@angular/material/select";
                                                                                                                                                                                                                                                                  +import { AdminTabsComponent } from "../building-blocks/admin-tabs/admin-tabs.component";
                                                                                                                                                                                                                                                                  +import { AdminTabTemplateDirective } from "../building-blocks/admin-tabs/admin-tab-template.directive";
                                                                                                                                                                                                                                                                  +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                  +  selector: "app-admin-entity-list",
                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                  +    CommonModule,
                                                                                                                                                                                                                                                                  +    FilterComponent,
                                                                                                                                                                                                                                                                  +    MatTabGroup,
                                                                                                                                                                                                                                                                  +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                  +    MatTab,
                                                                                                                                                                                                                                                                  +    EntityFieldsMenuComponent,
                                                                                                                                                                                                                                                                  +    MatTableModule,
                                                                                                                                                                                                                                                                  +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                  +    CdkDrag,
                                                                                                                                                                                                                                                                  +    FaIconComponent,
                                                                                                                                                                                                                                                                  +    MatIconButton,
                                                                                                                                                                                                                                                                  +    CdkDropList,
                                                                                                                                                                                                                                                                  +    MatFormField,
                                                                                                                                                                                                                                                                  +    MatLabel,
                                                                                                                                                                                                                                                                  +    MatSelect,
                                                                                                                                                                                                                                                                  +    AdminTabsComponent,
                                                                                                                                                                                                                                                                  +    AdminTabTemplateDirective,
                                                                                                                                                                                                                                                                  +    ViewTitleComponent,
                                                                                                                                                                                                                                                                  +    CdkDropListGroup,
                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                  +  templateUrl: "./admin-entity-list.component.html",
                                                                                                                                                                                                                                                                  +  styleUrls: [
                                                                                                                                                                                                                                                                  +    "./admin-entity-list.component.scss",
                                                                                                                                                                                                                                                                  +    "../admin-entity/admin-entity-styles.scss",
                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                  +export class AdminEntityListComponent implements OnChanges, AfterViewInit {
                                                                                                                                                                                                                                                                  +  @ViewChild(CdkDropList) placeholder: CdkDropList;
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  private target: CdkDropList = null;
                                                                                                                                                                                                                                                                  +  private targetIndex: number;
                                                                                                                                                                                                                                                                  +  private source: CdkDropList = null;
                                                                                                                                                                                                                                                                  +  private sourceIndex: number;
                                                                                                                                                                                                                                                                  +  private dragRef: DragRef = null;
                                                                                                                                                                                                                                                                  +  @Input() entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                                  +  @Input() config: EntityListConfig;
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  allFields: ColumnConfig[] = [];
                                                                                                                                                                                                                                                                  +  filters: string[];
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                  +    if (changes.config) {
                                                                                                                                                                                                                                                                  +      this.config = this.config ?? {
                                                                                                                                                                                                                                                                  +        entityType: this.entityConstructor.ENTITY_TYPE,
                                                                                                                                                                                                                                                                  +      };
                                                                                                                                                                                                                                                                  +      this.config.filters = this.config.filters ?? [];
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +      this.initColumnGroupsIfNecessary();
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +      this.initAvailableFields();
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +  ngAfterViewInit() {
                                                                                                                                                                                                                                                                  +    const placeholderElement = this.placeholder.element.nativeElement;
                                                                                                                                                                                                                                                                  +    placeholderElement.style.display = "none";
                                                                                                                                                                                                                                                                  +    placeholderElement.parentNode.removeChild(placeholderElement);
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                  +   * Config allows to not have columnGroups and by default then display all `columns`,
                                                                                                                                                                                                                                                                  +   * create an initial columnGroup in this case to allow full editing.
                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                  +  private initColumnGroupsIfNecessary() {
                                                                                                                                                                                                                                                                  +    if (!this.config.columnGroups) {
                                                                                                                                                                                                                                                                  +      this.config.columnGroups = {
                                                                                                                                                                                                                                                                  +        groups: [
                                                                                                                                                                                                                                                                  +          {
                                                                                                                                                                                                                                                                  +            name: "",
                                                                                                                                                                                                                                                                  +            columns: (this.config.columns ?? []).map((c) =>
                                                                                                                                                                                                                                                                  +              typeof c === "string" ? c : c.id,
                                                                                                                                                                                                                                                                  +            ),
                                                                                                                                                                                                                                                                  +          },
                                                                                                                                                                                                                                                                  +        ],
                                                                                                                                                                                                                                                                  +      };
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  private initAvailableFields() {
                                                                                                                                                                                                                                                                  +    this.allFields = [
                                                                                                                                                                                                                                                                  +      ...(this.config.columns ?? []),
                                                                                                                                                                                                                                                                  +      ...this.entityConstructor.schema.keys(),
                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                  +    this.filters = (this.config.filters ?? []).map((f) => f.id);
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  onDropListDropped() {
                                                                                                                                                                                                                                                                  +    if (!this.target) {
                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +    const placeholderElement: HTMLElement =
                                                                                                                                                                                                                                                                  +      this.placeholder.element.nativeElement;
                                                                                                                                                                                                                                                                  +    const placeholderParentElement: HTMLElement =
                                                                                                                                                                                                                                                                  +      placeholderElement.parentElement;
                                                                                                                                                                                                                                                                  +    placeholderElement.style.display = "none";
                                                                                                                                                                                                                                                                  +    placeholderParentElement.removeChild(placeholderElement);
                                                                                                                                                                                                                                                                  +    placeholderParentElement.appendChild(placeholderElement);
                                                                                                                                                                                                                                                                  +    placeholderParentElement.insertBefore(
                                                                                                                                                                                                                                                                  +      this.source.element.nativeElement,
                                                                                                                                                                                                                                                                  +      placeholderParentElement.children[this.sourceIndex],
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +    if (this.placeholder._dropListRef.isDragging()) {
                                                                                                                                                                                                                                                                  +      this.placeholder._dropListRef.exit(this.dragRef);
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +    this.target = null;
                                                                                                                                                                                                                                                                  +    this.source = null;
                                                                                                                                                                                                                                                                  +    this.dragRef = null;
                                                                                                                                                                                                                                                                  +    if (this.sourceIndex !== this.targetIndex) {
                                                                                                                                                                                                                                                                  +      moveItemInArray(this.config.filters, this.sourceIndex, this.targetIndex);
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  onDropListEntered({ item, container }: CdkDragEnter) {
                                                                                                                                                                                                                                                                  +    if (container == this.placeholder) {
                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +    const placeholderElement: HTMLElement =
                                                                                                                                                                                                                                                                  +      this.placeholder.element.nativeElement;
                                                                                                                                                                                                                                                                  +    const sourceElement: HTMLElement = item.dropContainer.element.nativeElement;
                                                                                                                                                                                                                                                                  +    const dropElement: HTMLElement = container.element.nativeElement;
                                                                                                                                                                                                                                                                  +    const dragIndex: number = Array.prototype.indexOf.call(
                                                                                                                                                                                                                                                                  +      dropElement.parentElement.children,
                                                                                                                                                                                                                                                                  +      this.source ? placeholderElement : sourceElement,
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +    const dropIndex: number = Array.prototype.indexOf.call(
                                                                                                                                                                                                                                                                  +      dropElement.parentElement.children,
                                                                                                                                                                                                                                                                  +      dropElement,
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +    if (!this.source) {
                                                                                                                                                                                                                                                                  +      this.sourceIndex = dragIndex;
                                                                                                                                                                                                                                                                  +      this.source = item.dropContainer;
                                                                                                                                                                                                                                                                  +      sourceElement.parentElement.removeChild(sourceElement);
                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                  +    this.targetIndex = dropIndex;
                                                                                                                                                                                                                                                                  +    this.target = container;
                                                                                                                                                                                                                                                                  +    this.dragRef = item._dragRef;
                                                                                                                                                                                                                                                                  +    placeholderElement.style.display = "";
                                                                                                                                                                                                                                                                  +    dropElement.parentElement.insertBefore(
                                                                                                                                                                                                                                                                  +      placeholderElement,
                                                                                                                                                                                                                                                                  +      dropIndex > dragIndex ? dropElement.nextSibling : dropElement,
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +    this.placeholder._dropListRef.enter(
                                                                                                                                                                                                                                                                  +      item._dragRef,
                                                                                                                                                                                                                                                                  +      item.element.nativeElement.offsetLeft,
                                                                                                                                                                                                                                                                  +      item.element.nativeElement.offsetTop,
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  updateFilters(filters: string[]) {
                                                                                                                                                                                                                                                                  +    this.filters = filters;
                                                                                                                                                                                                                                                                  +    this.config.filters = filters.map(
                                                                                                                                                                                                                                                                  +      (f) =>
                                                                                                                                                                                                                                                                  +        this.config.filters.find(
                                                                                                                                                                                                                                                                  +          (existingFilter) => existingFilter.id === f,
                                                                                                                                                                                                                                                                  +        ) ?? { id: f },
                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  newColumnGroupFactory(): GroupConfig {
                                                                                                                                                                                                                                                                  +    return { name: "", columns: [] };
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  removeItem<E>(array: E[], item: E) {
                                                                                                                                                                                                                                                                  +    array.splice(array.indexOf(item), 1);
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  drop<E>(event: CdkDragDrop<E[], any>, columnsArray: E[]) {
                                                                                                                                                                                                                                                                  +    moveItemInArray(columnsArray, event.previousIndex, event.currentIndex);
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  <div class="hint-banner" i18n>
                                                                                                                                                                                                                                                                  +  You can edit how users will see the list of all records of this type. Drag and
                                                                                                                                                                                                                                                                  +  drop filters and change table columns in this preview. The editor below
                                                                                                                                                                                                                                                                  +  closely resembles how the list will look for users later.
                                                                                                                                                                                                                                                                  +  <br />
                                                                                                                                                                                                                                                                  +  To create new fields, use the "Details View" section.
                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +<app-view-title [disableBackButton]="true" [displayInPlace]="true">
                                                                                                                                                                                                                                                                  +  {{ entityConstructor.labelPlural }}
                                                                                                                                                                                                                                                                  +</app-view-title>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +<div>
                                                                                                                                                                                                                                                                  +  <div
                                                                                                                                                                                                                                                                  +    cdkDropListGroup
                                                                                                                                                                                                                                                                  +    class="drop-list flex-row gap-regular flex-wrap gap-large"
                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                  +    <div
                                                                                                                                                                                                                                                                  +      cdkDropList
                                                                                                                                                                                                                                                                  +      (cdkDropListEntered)="onDropListEntered($event)"
                                                                                                                                                                                                                                                                  +      (cdkDropListDropped)="onDropListDropped()"
                                                                                                                                                                                                                                                                  +    ></div>
                                                                                                                                                                                                                                                                  +    <div
                                                                                                                                                                                                                                                                  +      cdkDropList
                                                                                                                                                                                                                                                                  +      (cdkDropListEntered)="onDropListEntered($event)"
                                                                                                                                                                                                                                                                  +      (cdkDropListDropped)="onDropListDropped()"
                                                                                                                                                                                                                                                                  +      *ngFor="let filter of config?.filters"
                                                                                                                                                                                                                                                                  +    >
                                                                                                                                                                                                                                                                  +      <div cdkDrag class="filter-field drop-item flex-row gap-small">
                                                                                                                                                                                                                                                                  +        <fa-icon icon="grip-vertical" size="xl" class="drag-handle"></fa-icon>
                                                                                                                                                                                                                                                                  +        <mat-form-field appearance="fill">
                                                                                                                                                                                                                                                                  +          <mat-label
                                                                                                                                                                                                                                                                  +            ><app-entity-field-label
                                                                                                                                                                                                                                                                  +              [field]="filter"
                                                                                                                                                                                                                                                                  +              [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                  +            ></app-entity-field-label>
                                                                                                                                                                                                                                                                  +          </mat-label>
                                                                                                                                                                                                                                                                  +          <mat-select disabled></mat-select>
                                                                                                                                                                                                                                                                  +        </mat-form-field>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +        <fa-icon
                                                                                                                                                                                                                                                                  +          icon="times"
                                                                                                                                                                                                                                                                  +          class="remove-icon"
                                                                                                                                                                                                                                                                  +          (click)="removeItem(filters, filter.id); updateFilters(filters)"
                                                                                                                                                                                                                                                                  +        ></fa-icon>
                                                                                                                                                                                                                                                                  +      </div>
                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  <div class="table-content-preview" i18n>
                                                                                                                                                                                                                                                                  +    Add Filter:
                                                                                                                                                                                                                                                                  +    <app-entity-fields-menu
                                                                                                                                                                                                                                                                  +      [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                  +      [activeFields]="filters"
                                                                                                                                                                                                                                                                  +      (activeFieldsChange)="updateFilters($event)"
                                                                                                                                                                                                                                                                  +      [availableFields]="allFields"
                                                                                                                                                                                                                                                                  +      icon="square-plus"
                                                                                                                                                                                                                                                                  +    ></app-entity-fields-menu>
                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +<div class="mat-elevation-z1">
                                                                                                                                                                                                                                                                  +  <app-admin-tabs
                                                                                                                                                                                                                                                                  +    [tabs]="config?.columnGroups?.groups"
                                                                                                                                                                                                                                                                  +    [newTabFactory]="newColumnGroupFactory"
                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                  +    <ng-template [appAdminTabTemplate]="config?.columnGroups?.groups" let-item>
                                                                                                                                                                                                                                                                  +      <div
                                                                                                                                                                                                                                                                  +        class="table-header drop-list flex-row"
                                                                                                                                                                                                                                                                  +        cdkDropList
                                                                                                                                                                                                                                                                  +        cdkDropListOrientation="horizontal"
                                                                                                                                                                                                                                                                  +        cdkDropListLockAxis="x"
                                                                                                                                                                                                                                                                  +        (cdkDropListDropped)="drop($event, item.columns)"
                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                  +        @for (col of item["columns"]; track col) {
                                                                                                                                                                                                                                                                  +          <div cdkDrag class="column-header drop-item flex-row gap-small">
                                                                                                                                                                                                                                                                  +            <fa-icon icon="grip-vertical" class="drag-handle"></fa-icon>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +            <!-- TODO: for custom column overrides, this cannot display the label yet -->
                                                                                                                                                                                                                                                                  +            <app-entity-field-label
                                                                                                                                                                                                                                                                  +              [field]="col"
                                                                                                                                                                                                                                                                  +              [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                  +            ></app-entity-field-label>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +            <fa-icon
                                                                                                                                                                                                                                                                  +              icon="times"
                                                                                                                                                                                                                                                                  +              class="remove-icon"
                                                                                                                                                                                                                                                                  +              (click)="removeItem(item.columns, col)"
                                                                                                                                                                                                                                                                  +            ></fa-icon>
                                                                                                                                                                                                                                                                  +          </div>
                                                                                                                                                                                                                                                                  +        }
                                                                                                                                                                                                                                                                  +      </div>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +      <div class="table-content-preview" i18n>
                                                                                                                                                                                                                                                                  +        Drag & drop table column headers. Add columns:
                                                                                                                                                                                                                                                                  +        <app-entity-fields-menu
                                                                                                                                                                                                                                                                  +          [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                  +          [(activeFields)]="item.columns"
                                                                                                                                                                                                                                                                  +          [availableFields]="allFields"
                                                                                                                                                                                                                                                                  +          icon="square-plus"
                                                                                                                                                                                                                                                                  +        ></app-entity-fields-menu>
                                                                                                                                                                                                                                                                  +      </div>
                                                                                                                                                                                                                                                                  +    </ng-template>
                                                                                                                                                                                                                                                                  +  </app-admin-tabs>
                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  + ./admin-entity-list.component.scss +

                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  @use "variables/colors";
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.table-header {
                                                                                                                                                                                                                                                                  +  height: 56px;
                                                                                                                                                                                                                                                                  +  border-bottom: 1px solid #0000001f;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +.table-content-preview {
                                                                                                                                                                                                                                                                  +  font-style: italic;
                                                                                                                                                                                                                                                                  +  padding: 16px;
                                                                                                                                                                                                                                                                  +  color: #5f5f5f;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.column-header {
                                                                                                                                                                                                                                                                  +  padding: 8px 16px;
                                                                                                                                                                                                                                                                  +  margin: auto;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.filter-field {
                                                                                                                                                                                                                                                                  +  padding: 0 16px;
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +  ::ng-deep .mat-mdc-form-field-subscript-wrapper {
                                                                                                                                                                                                                                                                  +    height: 0;
                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.cdk-drag-preview {
                                                                                                                                                                                                                                                                  +  box-sizing: border-box;
                                                                                                                                                                                                                                                                  +  border-radius: 4px;
                                                                                                                                                                                                                                                                  +  box-shadow:
                                                                                                                                                                                                                                                                  +    0 5px 5px -3px rgba(0, 0, 0, 0.2),
                                                                                                                                                                                                                                                                  +    0 8px 10px 1px rgba(0, 0, 0, 0.14),
                                                                                                                                                                                                                                                                  +    0 3px 14px 2px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.cdk-drag-placeholder {
                                                                                                                                                                                                                                                                  +  opacity: 0;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.cdk-drag-animating {
                                                                                                                                                                                                                                                                  +  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.drop-list.cdk-drop-list-dragging .drop-item:not(.cdk-drag-placeholder) {
                                                                                                                                                                                                                                                                  +  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.drag-handle {
                                                                                                                                                                                                                                                                  +  cursor: move;
                                                                                                                                                                                                                                                                  +  margin: auto;
                                                                                                                                                                                                                                                                  +  color: colors.$accent;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +app-entity-fields-menu {
                                                                                                                                                                                                                                                                  +  color: colors.$accent;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.remove-icon {
                                                                                                                                                                                                                                                                  +  cursor: pointer;
                                                                                                                                                                                                                                                                  +  margin: auto;
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +.drop-item:has(.remove-icon:hover) {
                                                                                                                                                                                                                                                                  +  color: rgb(255, 0, 0);
                                                                                                                                                                                                                                                                  +  background-color: rgba(255, 0, 0, 0.1);
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  + ../admin-entity/admin-entity-styles.scss +

                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +.hint-banner {
                                                                                                                                                                                                                                                                  +  background: #e8e8e8;
                                                                                                                                                                                                                                                                  +  padding: 1em;
                                                                                                                                                                                                                                                                  +  margin-bottom: 1em;
                                                                                                                                                                                                                                                                  +  @include mat-elevation.elevation(1);
                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityPanelComponentComponent.html b/documentation/components/AdminEntityPanelComponentComponent.html new file mode 100644 index 0000000000..a890e905c0 --- /dev/null +++ b/documentation/components/AdminEntityPanelComponentComponent.html @@ -0,0 +1,419 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    + src/app/core/admin/admin-entity-details/admin-entity-panel-component/admin-entity-panel-component.component.ts +

                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    + + config +
                                                                                                                                                                                                                                                                    + Type : PanelComponent + +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    + + entityType +
                                                                                                                                                                                                                                                                    + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                    +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                    +import { PanelComponent } from "../../../entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                                    +import { EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                    +  selector: "app-admin-entity-panel-component",
                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                    +  imports: [CommonModule],
                                                                                                                                                                                                                                                                    +  templateUrl: "./admin-entity-panel-component.component.html",
                                                                                                                                                                                                                                                                    +  styleUrl: "./admin-entity-panel-component.component.scss",
                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                    +export class AdminEntityPanelComponentComponent {
                                                                                                                                                                                                                                                                    +  @Input() config: PanelComponent;
                                                                                                                                                                                                                                                                    +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    <div class="padding-regular">
                                                                                                                                                                                                                                                                    +  <p>[ {{ config.component }} ]</p>
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +  <p style="font-size: 0.9em; color: darkgray" i18n>
                                                                                                                                                                                                                                                                    +    Editing advanced sub-sections is not supported yet in this preview.
                                                                                                                                                                                                                                                                    +  </p>
                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminEntityTypesComponent.html b/documentation/components/AdminEntityTypesComponent.html new file mode 100644 index 0000000000..de3e15156b --- /dev/null +++ b/documentation/components/AdminEntityTypesComponent.html @@ -0,0 +1,858 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      + src/app/core/admin/admin-entity-types/admin-entity-types.component.ts +

                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Manage the configuration of all entity types. +Currently, this only serves as a utility for internal use, speeding up setup processes.

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      TODO: This component is only a raw prototype! Needs further concept and implementation.

                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      +constructor(entities: EntityRegistry, entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                      entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      + + + Async + create + + +
                                                                                                                                                                                                                                                                      + + create() +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      + + + Protected + loadEntityTypes + + +
                                                                                                                                                                                                                                                                      + + loadEntityTypes(onlyUserFacing) +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      NameOptionalDefault value
                                                                                                                                                                                                                                                                      onlyUserFacing + No + + true +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                      + Default value : ["label", "icon"] +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      + + + entityTypes + + +
                                                                                                                                                                                                                                                                      + Type : EntityConstructor[] + +
                                                                                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                      +  MatCell,
                                                                                                                                                                                                                                                                      +  MatCellDef,
                                                                                                                                                                                                                                                                      +  MatColumnDef,
                                                                                                                                                                                                                                                                      +  MatHeaderCell,
                                                                                                                                                                                                                                                                      +  MatHeaderCellDef,
                                                                                                                                                                                                                                                                      +  MatHeaderRow,
                                                                                                                                                                                                                                                                      +  MatHeaderRowDef,
                                                                                                                                                                                                                                                                      +  MatRow,
                                                                                                                                                                                                                                                                      +  MatRowDef,
                                                                                                                                                                                                                                                                      +  MatTable,
                                                                                                                                                                                                                                                                      +} from "@angular/material/table";
                                                                                                                                                                                                                                                                      +import { MatButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                      +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                      +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                      +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                      +import { generateIdFromLabel } from "../../../utils/generate-id-from-label/generate-id-from-label";
                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                      +import { EntityConfig } from "../../entity/entity-config";
                                                                                                                                                                                                                                                                      +import { EntityDetailsConfig } from "../../entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                                      +import { EntityListConfig } from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                      +import { Config } from "../../config/config";
                                                                                                                                                                                                                                                                      +import { EntityConfigService } from "../../entity/entity-config.service";
                                                                                                                                                                                                                                                                      +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                      + * Manage the configuration of all entity types.
                                                                                                                                                                                                                                                                      + * Currently, this only serves as a utility for internal use, speeding up setup processes.
                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                      + * TODO: This component is only a raw prototype! Needs further concept and implementation.
                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                      +  selector: "app-admin-entity-types",
                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                      +    MatHeaderRow,
                                                                                                                                                                                                                                                                      +    MatHeaderRowDef,
                                                                                                                                                                                                                                                                      +    MatRow,
                                                                                                                                                                                                                                                                      +    MatRowDef,
                                                                                                                                                                                                                                                                      +    MatCell,
                                                                                                                                                                                                                                                                      +    MatHeaderCell,
                                                                                                                                                                                                                                                                      +    MatColumnDef,
                                                                                                                                                                                                                                                                      +    MatTable,
                                                                                                                                                                                                                                                                      +    MatButton,
                                                                                                                                                                                                                                                                      +    MatCellDef,
                                                                                                                                                                                                                                                                      +    MatHeaderCellDef,
                                                                                                                                                                                                                                                                      +    FaIconComponent,
                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                      +    RouterLink,
                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                      +  templateUrl: "./admin-entity-types.component.html",
                                                                                                                                                                                                                                                                      +  styleUrl: "./admin-entity-types.component.scss",
                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                      +export class AdminEntityTypesComponent implements OnInit {
                                                                                                                                                                                                                                                                      +  entityTypes: EntityConstructor[] = [];
                                                                                                                                                                                                                                                                      +  columnsToDisplay: string[] = ["label", "icon"];
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                      +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                      +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                      +    this.loadEntityTypes();
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  protected loadEntityTypes(onlyUserFacing = true) {
                                                                                                                                                                                                                                                                      +    this.entityTypes = this.entities
                                                                                                                                                                                                                                                                      +      .getEntityTypes(onlyUserFacing)
                                                                                                                                                                                                                                                                      +      .map((e) => e.value);
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  async create() {
                                                                                                                                                                                                                                                                      +    const name = prompt("Please enter entity type name:");
                                                                                                                                                                                                                                                                      +    if (!name) {
                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                      +    const id = generateIdFromLabel(name);
                                                                                                                                                                                                                                                                      +    if (this.entityTypeExists(id)) {
                                                                                                                                                                                                                                                                      +      alert("Entity type already exists.");
                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +    // save default entity schema
                                                                                                                                                                                                                                                                      +    await this.saveDefaultEntityConfig(
                                                                                                                                                                                                                                                                      +      id,
                                                                                                                                                                                                                                                                      +      this.getDefaultEntityConfig(id, name),
                                                                                                                                                                                                                                                                      +      this.getDefaultDetailsViewConfig(id),
                                                                                                                                                                                                                                                                      +      this.getDefaultListViewConfig(id),
                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  private entityTypeExists(id: string) {
                                                                                                                                                                                                                                                                      +    return Array.from(this.entities.keys()).some(
                                                                                                                                                                                                                                                                      +      (key) => key.toLowerCase() === id.toLowerCase(),
                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  private async saveDefaultEntityConfig(
                                                                                                                                                                                                                                                                      +    id: string,
                                                                                                                                                                                                                                                                      +    entityConfig: EntityConfig,
                                                                                                                                                                                                                                                                      +    detailsViewConfig: DynamicComponentConfig,
                                                                                                                                                                                                                                                                      +    listViewConfig: DynamicComponentConfig,
                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                      +    const originalConfig = await this.entityMapper.load(
                                                                                                                                                                                                                                                                      +      Config,
                                                                                                                                                                                                                                                                      +      Config.CONFIG_KEY,
                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                      +    const newConfig = originalConfig.copy();
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +    newConfig.data[EntityConfigService.PREFIX_ENTITY_CONFIG + id] =
                                                                                                                                                                                                                                                                      +      entityConfig;
                                                                                                                                                                                                                                                                      +    newConfig.data[EntityConfigService.getDetailsViewId(entityConfig)] =
                                                                                                                                                                                                                                                                      +      detailsViewConfig;
                                                                                                                                                                                                                                                                      +    newConfig.data[EntityConfigService.getListViewId(entityConfig)] =
                                                                                                                                                                                                                                                                      +      listViewConfig;
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +    await this.entityMapper.save(newConfig);
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  private getDefaultEntityConfig(
                                                                                                                                                                                                                                                                      +    entityTypeId: string,
                                                                                                                                                                                                                                                                      +    name: string,
                                                                                                                                                                                                                                                                      +  ): EntityConfig {
                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                      +      label: name,
                                                                                                                                                                                                                                                                      +      route: entityTypeId,
                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  private getDefaultDetailsViewConfig(
                                                                                                                                                                                                                                                                      +    entityType: string,
                                                                                                                                                                                                                                                                      +  ): DynamicComponentConfig<EntityDetailsConfig> {
                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                      +      component: "EntityDetails",
                                                                                                                                                                                                                                                                      +      config: {
                                                                                                                                                                                                                                                                      +        entityType: entityType,
                                                                                                                                                                                                                                                                      +        panels: [
                                                                                                                                                                                                                                                                      +          {
                                                                                                                                                                                                                                                                      +            title: "Basic Information",
                                                                                                                                                                                                                                                                      +            components: [
                                                                                                                                                                                                                                                                      +              {
                                                                                                                                                                                                                                                                      +                title: "",
                                                                                                                                                                                                                                                                      +                component: "Form",
                                                                                                                                                                                                                                                                      +                config: {
                                                                                                                                                                                                                                                                      +                  fieldGroups: [{ fields: [] }],
                                                                                                                                                                                                                                                                      +                },
                                                                                                                                                                                                                                                                      +              },
                                                                                                                                                                                                                                                                      +            ],
                                                                                                                                                                                                                                                                      +          },
                                                                                                                                                                                                                                                                      +        ],
                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  private getDefaultListViewConfig(
                                                                                                                                                                                                                                                                      +    entityType: string,
                                                                                                                                                                                                                                                                      +  ): DynamicComponentConfig<EntityListConfig> {
                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                      +      component: "EntityList",
                                                                                                                                                                                                                                                                      +      config: {
                                                                                                                                                                                                                                                                      +        entityType: entityType,
                                                                                                                                                                                                                                                                      +        columnGroups: {
                                                                                                                                                                                                                                                                      +          default: "Overview",
                                                                                                                                                                                                                                                                      +          mobile: "Overview",
                                                                                                                                                                                                                                                                      +          groups: [
                                                                                                                                                                                                                                                                      +            {
                                                                                                                                                                                                                                                                      +              name: "Overview",
                                                                                                                                                                                                                                                                      +              columns: [],
                                                                                                                                                                                                                                                                      +            },
                                                                                                                                                                                                                                                                      +          ],
                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      <p style="color: red">
                                                                                                                                                                                                                                                                      +  This is an internal server admin preview and not stable functionality yet.
                                                                                                                                                                                                                                                                      +</p>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +<div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                      +  <button mat-raised-button color="accent" (click)="create()">
                                                                                                                                                                                                                                                                      +    Add New Entity Type
                                                                                                                                                                                                                                                                      +  </button>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  <button mat-stroked-button color="accent" (click)="loadEntityTypes(false)">
                                                                                                                                                                                                                                                                      +    Also load internal types
                                                                                                                                                                                                                                                                      +  </button>
                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +<table mat-table [dataSource]="entityTypes">
                                                                                                                                                                                                                                                                      +  <ng-container matColumnDef="label">
                                                                                                                                                                                                                                                                      +    <th mat-header-cell *matHeaderCellDef class="table-header">Entity Type</th>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +    <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                      +      {{ row.label }}
                                                                                                                                                                                                                                                                      +    </td>
                                                                                                                                                                                                                                                                      +  </ng-container>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  <ng-container matColumnDef="icon">
                                                                                                                                                                                                                                                                      +    <th mat-header-cell *matHeaderCellDef class="table-header">Icon</th>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +    <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                      +      <fa-icon *ngIf="row.icon" [icon]="row.icon"></fa-icon>
                                                                                                                                                                                                                                                                      +    </td>
                                                                                                                                                                                                                                                                      +  </ng-container>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +  <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
                                                                                                                                                                                                                                                                      +  <tr
                                                                                                                                                                                                                                                                      +    mat-row
                                                                                                                                                                                                                                                                      +    *matRowDef="let row; columns: columnsToDisplay"
                                                                                                                                                                                                                                                                      +    [routerLink]="['/admin', 'entity', row.ENTITY_TYPE]"
                                                                                                                                                                                                                                                                      +    style="cursor: pointer"
                                                                                                                                                                                                                                                                      +  ></tr>
                                                                                                                                                                                                                                                                      +</table>
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminSectionHeaderComponent.html b/documentation/components/AdminSectionHeaderComponent.html new file mode 100644 index 0000000000..902fb7109f --- /dev/null +++ b/documentation/components/AdminSectionHeaderComponent.html @@ -0,0 +1,714 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        + src/app/core/admin/building-blocks/admin-section-header/admin-section-header.component.ts +

                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Simple building block for UI Builder for a section title including button to remove the section.

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Supports two-way binding for the title.

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        add css class "section-container" and import this component's scss in the parent's styleUrl +to get visual highlighting on hovering over the remove button, +or copy the style from there. +LIMITATION: multiple hierarchies each using this have to define seperate container classes, otherwise styles will leak

                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        +constructor(confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                        confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + disableConfirmation +
                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        disable the confirmation dialog displayed before a remove output is emitted

                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + label +
                                                                                                                                                                                                                                                                        + Type : any + +
                                                                                                                                                                                                                                                                        + Default value : $localize`:Admin UI - Config Section Header form field label:Title` +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        overwrite the label (default: "title") displayed for the form field

                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + title +
                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + remove +
                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + titleChange +
                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        supports two-way data binding for the editable title: <app-admin-section-header [(title)]="section.title"

                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        + + + Async + removeSection + + +
                                                                                                                                                                                                                                                                        + + removeSection() +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                        +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                        +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                        +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                        + * Simple building block for UI Builder for a section title including button to remove the section.
                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                        + * Supports two-way binding for the title.
                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                        + * add css class "section-container" and import this component's scss in the parent's styleUrl
                                                                                                                                                                                                                                                                        + * to get visual highlighting on hovering over the remove button,
                                                                                                                                                                                                                                                                        + * or copy the style from there.
                                                                                                                                                                                                                                                                        + * LIMITATION: multiple hierarchies each using this have to define seperate container classes, otherwise styles will leak
                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                        +  selector: "app-admin-section-header",
                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                        +    CommonModule,
                                                                                                                                                                                                                                                                        +    FaIconComponent,
                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                        +  templateUrl: "./admin-section-header.component.html",
                                                                                                                                                                                                                                                                        +  styleUrl: "./admin-section-header.component.scss",
                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                        +export class AdminSectionHeaderComponent {
                                                                                                                                                                                                                                                                        +  @Input() title: string;
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  /** supports two-way data binding for the editable title: `<app-admin-section-header [(title)]="section.title"` */
                                                                                                                                                                                                                                                                        +  @Output() titleChange = new EventEmitter<string>();
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  @Output() remove = new EventEmitter();
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  /** disable the confirmation dialog displayed before a remove output is emitted */
                                                                                                                                                                                                                                                                        +  @Input() disableConfirmation = false;
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  /** overwrite the label (default: "title") displayed for the form field */
                                                                                                                                                                                                                                                                        +  @Input()
                                                                                                                                                                                                                                                                        +  label = $localize`:Admin UI - Config Section Header form field label:Title`;
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  constructor(private confirmationDialog: ConfirmationDialogService) {}
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  async removeSection() {
                                                                                                                                                                                                                                                                        +    if (this.disableConfirmation) {
                                                                                                                                                                                                                                                                        +      this.remove.emit();
                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +    const confirmation = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                        +      $localize`:Admin UI - Delete Section Confirmation Title:Delete Section?`,
                                                                                                                                                                                                                                                                        +      $localize`:Admin UI - Delete Section Confirmation Text:Do you really want to delete this section with all its content?`,
                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                        +    if (confirmation) {
                                                                                                                                                                                                                                                                        +      this.remove.emit();
                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        <div class="flex-row align-baseline">
                                                                                                                                                                                                                                                                        +  <mat-form-field floatLabel="always" class="flex-grow">
                                                                                                                                                                                                                                                                        +    <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                        +    <input
                                                                                                                                                                                                                                                                        +      matInput
                                                                                                                                                                                                                                                                        +      [ngModel]="title"
                                                                                                                                                                                                                                                                        +      (ngModelChange)="titleChange.emit($event)"
                                                                                                                                                                                                                                                                        +      placeholder="(no title)"
                                                                                                                                                                                                                                                                        +      i18n-placeholder="Placeholder for entering a title"
                                                                                                                                                                                                                                                                        +    />
                                                                                                                                                                                                                                                                        +  </mat-form-field>
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +  <button (click)="removeSection()" mat-icon-button class="group-remove-button">
                                                                                                                                                                                                                                                                        +    <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AdminTabsComponent.html b/documentation/components/AdminTabsComponent.html new file mode 100644 index 0000000000..8a0df43a2d --- /dev/null +++ b/documentation/components/AdminTabsComponent.html @@ -0,0 +1,965 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          + src/app/core/admin/building-blocks/admin-tabs/admin-tabs.component.ts +

                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Building block for drag&drop form builder to let an admin user manage multiple tabs.

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Provide a template for the tab content when using this component: +<app-admin-tabs +[tabs]="myTabsArray" +[newTabFactory]="newTabFactory"

                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                          <ng-template [appAdminTabTemplate]="myTabsArray" let-item> +{{ item.title }} + +

                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          + OnChanges +

                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + newTabFactory +
                                                                                                                                                                                                                                                                          + Type : function + +
                                                                                                                                                                                                                                                                          + Default value : () => + ({ [this.tabTitleProperty]: "" }) as E +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + tabs +
                                                                                                                                                                                                                                                                          + Type : E[] + +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + createTab + + +
                                                                                                                                                                                                                                                                          +createTab() +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + drop + + +
                                                                                                                                                                                                                                                                          +drop(event: CdkDragDrop) +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                          event + CdkDragDrop<string[]> + + No +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + getAllTabs + + +
                                                                                                                                                                                                                                                                          +getAllTabs(index: number) +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          A list of tab element ids required for linking drag&drop targets +due to the complex template of tab headers.

                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                          index + number + + No +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + Returns : {} + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + + tabGroup + + +
                                                                                                                                                                                                                                                                          + Type : MatTabGroup + +
                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                          + + @ViewChild(MatTabGroup)
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + + tabTemplate + + +
                                                                                                                                                                                                                                                                          + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                          + + @ContentChild(undefined, {read: TemplateRef})
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          + + + tabTitleProperty + + +
                                                                                                                                                                                                                                                                          + Type : "title" | "name" + +
                                                                                                                                                                                                                                                                          + Default value : "title" +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          import {
                                                                                                                                                                                                                                                                          +  Component,
                                                                                                                                                                                                                                                                          +  ContentChild,
                                                                                                                                                                                                                                                                          +  Input,
                                                                                                                                                                                                                                                                          +  OnChanges,
                                                                                                                                                                                                                                                                          +  SimpleChanges,
                                                                                                                                                                                                                                                                          +  TemplateRef,
                                                                                                                                                                                                                                                                          +  ViewChild,
                                                                                                                                                                                                                                                                          +} from "@angular/core";
                                                                                                                                                                                                                                                                          +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                          +import { AdminEntityFormComponent } from "../../admin-entity-details/admin-entity-form/admin-entity-form.component";
                                                                                                                                                                                                                                                                          +import { AdminEntityPanelComponentComponent } from "../../admin-entity-details/admin-entity-panel-component/admin-entity-panel-component.component";
                                                                                                                                                                                                                                                                          +import { AdminSectionHeaderComponent } from "../admin-section-header/admin-section-header.component";
                                                                                                                                                                                                                                                                          +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                          +import { MatButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                          +  MatTab,
                                                                                                                                                                                                                                                                          +  MatTabContent,
                                                                                                                                                                                                                                                                          +  MatTabGroup,
                                                                                                                                                                                                                                                                          +  MatTabLabel,
                                                                                                                                                                                                                                                                          +} from "@angular/material/tabs";
                                                                                                                                                                                                                                                                          +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                          +import { AdminTabTemplateDirective } from "./admin-tab-template.directive";
                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                          +  CdkDragDrop,
                                                                                                                                                                                                                                                                          +  DragDropModule,
                                                                                                                                                                                                                                                                          +  moveItemInArray,
                                                                                                                                                                                                                                                                          +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                          + * Building block for drag&drop form builder to let an admin user manage multiple tabs.
                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                          + * Provide a template for the tab content when using this component:
                                                                                                                                                                                                                                                                          + <app-admin-tabs
                                                                                                                                                                                                                                                                          + [tabs]="myTabsArray"
                                                                                                                                                                                                                                                                          + [newTabFactory]="newTabFactory"
                                                                                                                                                                                                                                                                          + >
                                                                                                                                                                                                                                                                          + <!-- provide the array of tabs to the `appAdminTabTemplate` to infer typing -->
                                                                                                                                                                                                                                                                          + <ng-template [appAdminTabTemplate]="myTabsArray" let-item>
                                                                                                                                                                                                                                                                          + {{ item.title }} <!-- use the tab entry in your template -->
                                                                                                                                                                                                                                                                          + </ng-template>
                                                                                                                                                                                                                                                                          + </app-admin-tabs>
                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                          +  selector: "app-admin-tabs",
                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                          +    CommonModule,
                                                                                                                                                                                                                                                                          +    AdminEntityFormComponent,
                                                                                                                                                                                                                                                                          +    AdminEntityPanelComponentComponent,
                                                                                                                                                                                                                                                                          +    AdminSectionHeaderComponent,
                                                                                                                                                                                                                                                                          +    FaIconComponent,
                                                                                                                                                                                                                                                                          +    MatButton,
                                                                                                                                                                                                                                                                          +    MatTab,
                                                                                                                                                                                                                                                                          +    MatTabContent,
                                                                                                                                                                                                                                                                          +    MatTabGroup,
                                                                                                                                                                                                                                                                          +    MatTabLabel,
                                                                                                                                                                                                                                                                          +    MatTooltip,
                                                                                                                                                                                                                                                                          +    AdminTabTemplateDirective,
                                                                                                                                                                                                                                                                          +    DragDropModule,
                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                          +  templateUrl: "./admin-tabs.component.html",
                                                                                                                                                                                                                                                                          +  styleUrl: "./admin-tabs.component.scss",
                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                          +export class AdminTabsComponent<E extends { title: string } | { name: string }>
                                                                                                                                                                                                                                                                          +  implements OnChanges
                                                                                                                                                                                                                                                                          +{
                                                                                                                                                                                                                                                                          +  @Input() tabs: E[];
                                                                                                                                                                                                                                                                          +  @Input() newTabFactory: () => E = () =>
                                                                                                                                                                                                                                                                          +    ({ [this.tabTitleProperty]: "" }) as E;
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  tabTitleProperty: "title" | "name" = "title";
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  @ContentChild(AdminTabTemplateDirective<E>, { read: TemplateRef })
                                                                                                                                                                                                                                                                          +  tabTemplate: TemplateRef<any>;
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  @ViewChild(MatTabGroup) tabGroup: MatTabGroup;
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                          +    if (changes.tabs) {
                                                                                                                                                                                                                                                                          +      this.detectTabTitleProperty();
                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  private detectTabTitleProperty() {
                                                                                                                                                                                                                                                                          +    if (!this.tabs || this.tabs.length < 1) {
                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    this.tabTitleProperty = this.tabs[0].hasOwnProperty("name")
                                                                                                                                                                                                                                                                          +      ? "name"
                                                                                                                                                                                                                                                                          +      : "title";
                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  createTab() {
                                                                                                                                                                                                                                                                          +    const newTab = this.newTabFactory();
                                                                                                                                                                                                                                                                          +    this.tabs.push(newTab);
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    // wait until view has actually added the new tab before we can auto-select it
                                                                                                                                                                                                                                                                          +    setTimeout(() => {
                                                                                                                                                                                                                                                                          +      const newTabIndex = this.tabs.length - 1;
                                                                                                                                                                                                                                                                          +      this.tabGroup.selectedIndex = newTabIndex;
                                                                                                                                                                                                                                                                          +      this.tabGroup.focusTab(newTabIndex);
                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                          +   * A list of tab element ids required for linking drag&drop targets
                                                                                                                                                                                                                                                                          +   * due to the complex template of tab headers.
                                                                                                                                                                                                                                                                          +   * @param index
                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                          +  getAllTabs(index: number) {
                                                                                                                                                                                                                                                                          +    const allTabs = [];
                                                                                                                                                                                                                                                                          +    for (let i = 0; i < this.tabs?.length; i++) {
                                                                                                                                                                                                                                                                          +      if (i != index) {
                                                                                                                                                                                                                                                                          +        allTabs.push("tabs-" + i);
                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    return allTabs;
                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  drop(event: CdkDragDrop<string[]>) {
                                                                                                                                                                                                                                                                          +    const previousIndex = parseInt(
                                                                                                                                                                                                                                                                          +      event.previousContainer.id.replace("tabs-", ""),
                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                          +    const currentIndex = parseInt(event.container.id.replace("tabs-", ""));
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    const previouslySelectedTab = this.tabs[this.tabGroup.selectedIndex];
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    moveItemInArray(this.tabs, previousIndex, currentIndex);
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    // re-select the previously selected tab, even after its index shifted
                                                                                                                                                                                                                                                                          +    let shiftedSelectedIndex = this.tabs.indexOf(previouslySelectedTab);
                                                                                                                                                                                                                                                                          +    if (shiftedSelectedIndex !== this.tabGroup.selectedIndex) {
                                                                                                                                                                                                                                                                          +      this.tabGroup.selectedIndex = shiftedSelectedIndex;
                                                                                                                                                                                                                                                                          +      this.tabGroup.focusTab(shiftedSelectedIndex);
                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    this.tabs = JSON.parse(JSON.stringify(this.tabs)); // Needed to avoid Angular Ivy render bug
                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          <mat-tab-group [preserveContent]="true" #matTabGroup>
                                                                                                                                                                                                                                                                          +  <mat-tab *ngFor="let tab of tabs; index as tabIndex">
                                                                                                                                                                                                                                                                          +    <ng-template mat-tab-label>
                                                                                                                                                                                                                                                                          +      <div
                                                                                                                                                                                                                                                                          +        class="drop-list flex-row"
                                                                                                                                                                                                                                                                          +        [id]="'tabs-' + tabIndex"
                                                                                                                                                                                                                                                                          +        cdkDropList
                                                                                                                                                                                                                                                                          +        cdkDropListOrientation="horizontal"
                                                                                                                                                                                                                                                                          +        (cdkDropListDropped)="drop($event)"
                                                                                                                                                                                                                                                                          +        [cdkDropListConnectedTo]="getAllTabs(tabIndex)"
                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                          +        <div
                                                                                                                                                                                                                                                                          +          cdkDrag
                                                                                                                                                                                                                                                                          +          cdkDragLockAxis="x"
                                                                                                                                                                                                                                                                          +          class="flex-row align-center drop-item gap-small"
                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                          +          <fa-icon icon="grip-vertical" size="xl" class="drag-handle"></fa-icon>
                                                                                                                                                                                                                                                                          +          @if (tabIndex === matTabGroup.selectedIndex) {
                                                                                                                                                                                                                                                                          +            <app-admin-section-header
                                                                                                                                                                                                                                                                          +              [(title)]="tab[tabTitleProperty]"
                                                                                                                                                                                                                                                                          +              (remove)="
                                                                                                                                                                                                                                                                          +                tabs.splice(tabIndex, 1);
                                                                                                                                                                                                                                                                          +                matTabGroup.selectedIndex = tabIndex - 1
                                                                                                                                                                                                                                                                          +              "
                                                                                                                                                                                                                                                                          +            ></app-admin-section-header>
                                                                                                                                                                                                                                                                          +          } @else {
                                                                                                                                                                                                                                                                          +            <!-- only current tab can be renamed -->
                                                                                                                                                                                                                                                                          +            {{ tab[tabTitleProperty] }}
                                                                                                                                                                                                                                                                          +          }
                                                                                                                                                                                                                                                                          +        </div>
                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +    <ng-template matTabContent>
                                                                                                                                                                                                                                                                          +      <ng-template
                                                                                                                                                                                                                                                                          +        *ngTemplateOutlet="tabTemplate; context: { $implicit: tab }"
                                                                                                                                                                                                                                                                          +      ></ng-template>
                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                          +  </mat-tab>
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +  <!-- Add new tab -->
                                                                                                                                                                                                                                                                          +  <mat-tab>
                                                                                                                                                                                                                                                                          +    <ng-template mat-tab-label>
                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                          +        mat-stroked-button
                                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                                          +        matTooltip="add a new tab"
                                                                                                                                                                                                                                                                          +        i18n-matTooltip
                                                                                                                                                                                                                                                                          +        (click)="createTab()"
                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                          +        <fa-icon aria-label="add" icon="plus-circle"></fa-icon>
                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                          +  </mat-tab>
                                                                                                                                                                                                                                                                          +</mat-tab-group>
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AlertStoriesHelperComponent.html b/documentation/components/AlertStoriesHelperComponent.html new file mode 100644 index 0000000000..d2746e2d5f --- /dev/null +++ b/documentation/components/AlertStoriesHelperComponent.html @@ -0,0 +1,427 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            + src/app/core/alerts/alert-stories-helper.component.ts +

                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            +constructor(alertService: AlertService) +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                            alertService + AlertService + + No +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            + + + Public + alertService + + +
                                                                                                                                                                                                                                                                            + Type : AlertService + +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                            +import { AlertService } from "./alert.service";
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                            +  selector: "app-alert-demo",
                                                                                                                                                                                                                                                                            +  template: `
                                                                                                                                                                                                                                                                            +    <button (click)="alertService.addWarning('warn')">warn</button>
                                                                                                                                                                                                                                                                            +    <button (click)="alertService.addDanger('danger')">danger</button>
                                                                                                                                                                                                                                                                            +    <button (click)="alertService.addInfo('info')">info</button>
                                                                                                                                                                                                                                                                            +  `,
                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                            +export class AlertStoriesHelperComponent {
                                                                                                                                                                                                                                                                            +  constructor(public alertService: AlertService) {}
                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AnonymizeOptionsComponent.html b/documentation/components/AnonymizeOptionsComponent.html new file mode 100644 index 0000000000..3e2d52239d --- /dev/null +++ b/documentation/components/AnonymizeOptionsComponent.html @@ -0,0 +1,488 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              + src/app/core/admin/admin-entity-details/admin-entity-field/anonymize-options/anonymize-options.component.ts +

                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Simple form field for admins to select the "anonymize" mode for an entity field. +Displays tooltips as descriptions also.

                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              + OnInit +

                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              Outputs
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              + + value +
                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              Outputs

                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              + + valueChange +
                                                                                                                                                                                                                                                                              + Type : EventEmitter + +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
                                                                                                                                                                                                                                                                              +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                              +import { MatOptionModule } from "@angular/material/core";
                                                                                                                                                                                                                                                                              +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                              + * Simple form field for admins to select the "anonymize" mode for an entity field.
                                                                                                                                                                                                                                                                              + * Displays tooltips as descriptions also.
                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                              +  selector: "app-anonymize-options",
                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                              +  imports: [CommonModule, MatOptionModule, MatSelectModule, MatTooltipModule],
                                                                                                                                                                                                                                                                              +  templateUrl: "./anonymize-options.component.html",
                                                                                                                                                                                                                                                                              +  styleUrl: "./anonymize-options.component.scss",
                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                              +export class AnonymizeOptionsComponent implements OnInit {
                                                                                                                                                                                                                                                                              +  @Input() value: string;
                                                                                                                                                                                                                                                                              +  @Output() valueChange = new EventEmitter<string>();
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +  ngOnInit(): void {
                                                                                                                                                                                                                                                                              +    if (!this.value) {
                                                                                                                                                                                                                                                                              +      this.value = "";
                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              <mat-form-field appearance="fill">
                                                                                                                                                                                                                                                                              +  <mat-label>
                                                                                                                                                                                                                                                                              +    <ng-content></ng-content>
                                                                                                                                                                                                                                                                              +  </mat-label>
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +  <mat-select
                                                                                                                                                                                                                                                                              +    [(value)]="value"
                                                                                                                                                                                                                                                                              +    (selectionChange)="valueChange.emit($event.value)"
                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                              +    <mat-option
                                                                                                                                                                                                                                                                              +      value=""
                                                                                                                                                                                                                                                                              +      matTooltip="Completely remove the value from the record during anonymization."
                                                                                                                                                                                                                                                                              +      i18n-matTooltip
                                                                                                                                                                                                                                                                              +      matTooltipPosition="before"
                                                                                                                                                                                                                                                                              +      i18n
                                                                                                                                                                                                                                                                              +      >Remove</mat-option
                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                              +    <mat-option
                                                                                                                                                                                                                                                                              +      value="retain"
                                                                                                                                                                                                                                                                              +      matTooltip="Keep the original value without any anonymization."
                                                                                                                                                                                                                                                                              +      i18n-matTooltip
                                                                                                                                                                                                                                                                              +      matTooltipPosition="before"
                                                                                                                                                                                                                                                                              +      i18n
                                                                                                                                                                                                                                                                              +      >Retain</mat-option
                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                              +    <mat-option
                                                                                                                                                                                                                                                                              +      value="retain-anonymized"
                                                                                                                                                                                                                                                                              +      matTooltip="Anonymize the value, but retain some generalized information. For dates, this removes the day and only keeps the year for statistical reporting. If a datatype (like the simple text field) does not support partial anonymization, the value will instead be removed completely."
                                                                                                                                                                                                                                                                              +      i18n-matTooltip
                                                                                                                                                                                                                                                                              +      matTooltipPosition="before"
                                                                                                                                                                                                                                                                              +      i18n
                                                                                                                                                                                                                                                                              +      >Partially Anonymize</mat-option
                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                              +  </mat-select>
                                                                                                                                                                                                                                                                              +</mat-form-field>
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AppComponent.html b/documentation/components/AppComponent.html new file mode 100644 index 0000000000..0b7be64dcb --- /dev/null +++ b/documentation/components/AppComponent.html @@ -0,0 +1,459 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                + src/app/app.component.ts +

                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                Component as the main entry point for the app. +Actual logic and UI structure is defined in other modules.

                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                +constructor(router: Router) +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                router + Router + + No +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                + + + configFullscreen + + +
                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                +import { NavigationEnd, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                + * Component as the main entry point for the app.
                                                                                                                                                                                                                                                                                + * Actual logic and UI structure is defined in other modules.
                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                +  selector: "app-root",
                                                                                                                                                                                                                                                                                +  template: `@if (configFullscreen) {
                                                                                                                                                                                                                                                                                +      <router-outlet></router-outlet>
                                                                                                                                                                                                                                                                                +    } @else {
                                                                                                                                                                                                                                                                                +      <app-ui></app-ui>
                                                                                                                                                                                                                                                                                +    }`,
                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                +export class AppComponent {
                                                                                                                                                                                                                                                                                +  configFullscreen: boolean = false;
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +  constructor(private router: Router) {
                                                                                                                                                                                                                                                                                +    this.detectConfigMode();
                                                                                                                                                                                                                                                                                +    router.events
                                                                                                                                                                                                                                                                                +      .pipe(filter((e) => e instanceof NavigationEnd))
                                                                                                                                                                                                                                                                                +      .subscribe(() => this.detectConfigMode());
                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                +   * Switch the layout for certain admin routes to display those fullscreen without app menu and toolbar.
                                                                                                                                                                                                                                                                                +   * @private
                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                +  private detectConfigMode() {
                                                                                                                                                                                                                                                                                +    const currentUrl = this.router.url;
                                                                                                                                                                                                                                                                                +    this.configFullscreen = currentUrl.startsWith("/admin/entity/");
                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AppVersionComponent.html b/documentation/components/AppVersionComponent.html new file mode 100644 index 0000000000..a27ebdbab6 --- /dev/null +++ b/documentation/components/AppVersionComponent.html @@ -0,0 +1,554 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  + src/app/core/ui/latest-changes/app-version/app-version.component.ts +

                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Simple component displaying the current app version +including functionality to open an info dialog showing the latest change when the user clicks on it.

                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  +constructor(changelogDialog: LatestChangesDialogService) +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                  changelogDialog + LatestChangesDialogService + + No +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  + + + Public + showLatestChanges + + +
                                                                                                                                                                                                                                                                                  + + showLatestChanges() +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  Open dialog box to display changelog information about the latest version to the user.

                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  + + + currentVersion + + +
                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  the current app version

                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  import { ChangeDetectionStrategy, Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                  +import { LatestChangesDialogService } from "../latest-changes-dialog.service";
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                  + * Simple component displaying the current app version
                                                                                                                                                                                                                                                                                  + * including functionality to open an info dialog showing the latest change when the user clicks on it.
                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                  +  selector: "app-version",
                                                                                                                                                                                                                                                                                  +  templateUrl: "./app-version.component.html",
                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                  +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                  +export class AppVersionComponent implements OnInit {
                                                                                                                                                                                                                                                                                  +  /** the current app version */
                                                                                                                                                                                                                                                                                  +  currentVersion: string;
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +  constructor(private changelogDialog: LatestChangesDialogService) {}
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                  +    this.currentVersion = this.changelogDialog.getCurrentVersion();
                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                  +   * Open dialog box to display changelog information about the latest version to the user.
                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                  +  public showLatestChanges(): void {
                                                                                                                                                                                                                                                                                  +    this.changelogDialog.showLatestChanges();
                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  <!--
                                                                                                                                                                                                                                                                                  +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                  +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                  +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                  +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                  +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                  +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                  +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                  +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                  +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                  +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                  +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +<small>
                                                                                                                                                                                                                                                                                  +  {{ currentVersion }}
                                                                                                                                                                                                                                                                                  +</small>
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ApplicationLoadingComponent.html b/documentation/components/ApplicationLoadingComponent.html new file mode 100644 index 0000000000..6906f7fb32 --- /dev/null +++ b/documentation/components/ApplicationLoadingComponent.html @@ -0,0 +1,346 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    + src/app/core/config/dynamic-routing/empty/application-loading.component.ts +

                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                    +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                    +  templateUrl: "./application-loading.component.html",
                                                                                                                                                                                                                                                                                    +  styleUrls: ["./application-loading.component.scss"],
                                                                                                                                                                                                                                                                                    +  imports: [MatProgressBarModule],
                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                    +export class ApplicationLoadingComponent {}
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    <h1 i18n="Sync notification line 1">Building application</h1>
                                                                                                                                                                                                                                                                                    +<p i18n="Sync notification line 2">The application will be ready in a moment</p>
                                                                                                                                                                                                                                                                                    +<mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    + ./application-loading.component.scss +

                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    :host {
                                                                                                                                                                                                                                                                                    +  display: flex;
                                                                                                                                                                                                                                                                                    +  flex-direction: column;
                                                                                                                                                                                                                                                                                    +  place-items: center;
                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceBlockComponent.html b/documentation/components/AttendanceBlockComponent.html new file mode 100644 index 0000000000..8bb9bf4b04 --- /dev/null +++ b/documentation/components/AttendanceBlockComponent.html @@ -0,0 +1,745 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/attendance/attendance-block/attendance-block.component.ts +

                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Display attendance details of a single period for a participant as a compact block.

                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      + OnChanges +

                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Accessors
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      +constructor(locale: string) +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                      locale + string + + No +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + attendanceData +
                                                                                                                                                                                                                                                                                      + Type : ActivityAttendance + +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + forChild +
                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + + logicalCount + + +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + + LStatus + + +
                                                                                                                                                                                                                                                                                      + Default value : AttendanceLogicalStatus +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      + Accessors +

                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + attendanceDescription +
                                                                                                                                                                                                                                                                                      + getattendanceDescription() +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + attendancePercentage +
                                                                                                                                                                                                                                                                                      + getattendancePercentage() +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      + + warningLevel +
                                                                                                                                                                                                                                                                                      + getwarningLevel() +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      import { Component, Inject, Input, LOCALE_ID, OnChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                      +import { ActivityAttendance } from "../model/activity-attendance";
                                                                                                                                                                                                                                                                                      +import { AttendanceLogicalStatus } from "../model/attendance-status";
                                                                                                                                                                                                                                                                                      +import { DatePipe, formatPercent, NgIf, PercentPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                      +import { TemplateTooltipDirective } from "../../../core/common-components/template-tooltip/template-tooltip.directive";
                                                                                                                                                                                                                                                                                      +import { AttendanceCalendarComponent } from "../attendance-calendar/attendance-calendar.component";
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                      + * Display attendance details of a single period for a participant as a compact block.
                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                      +  selector: "app-attendance-block",
                                                                                                                                                                                                                                                                                      +  templateUrl: "./attendance-block.component.html",
                                                                                                                                                                                                                                                                                      +  styleUrls: ["./attendance-block.component.scss"],
                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                      +    PercentPipe,
                                                                                                                                                                                                                                                                                      +    DatePipe,
                                                                                                                                                                                                                                                                                      +    TemplateTooltipDirective,
                                                                                                                                                                                                                                                                                      +    AttendanceCalendarComponent,
                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                      +export class AttendanceBlockComponent implements OnChanges {
                                                                                                                                                                                                                                                                                      +  @Input() attendanceData: ActivityAttendance;
                                                                                                                                                                                                                                                                                      +  @Input() forChild: string;
                                                                                                                                                                                                                                                                                      +  LStatus = AttendanceLogicalStatus;
                                                                                                                                                                                                                                                                                      +  logicalCount: { [key in AttendanceLogicalStatus]?: number };
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +  constructor(@Inject(LOCALE_ID) private locale: string) {}
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +  ngOnChanges() {
                                                                                                                                                                                                                                                                                      +    this.logicalCount =
                                                                                                                                                                                                                                                                                      +      this.attendanceData.individualLogicalStatusCounts.get(this.forChild) ??
                                                                                                                                                                                                                                                                                      +      {};
                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +  get attendanceDescription(): string {
                                                                                                                                                                                                                                                                                      +    return `${this.logicalCount[this.LStatus.PRESENT]} / ${
                                                                                                                                                                                                                                                                                      +      (this.logicalCount[this.LStatus.PRESENT] || 0) +
                                                                                                                                                                                                                                                                                      +      (this.logicalCount[this.LStatus.ABSENT] || 0)
                                                                                                                                                                                                                                                                                      +    }`;
                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +  get attendancePercentage(): string {
                                                                                                                                                                                                                                                                                      +    const percentage = this.attendanceData.getAttendancePercentage(
                                                                                                                                                                                                                                                                                      +      this.forChild,
                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                      +    if (!Number.isFinite(percentage)) {
                                                                                                                                                                                                                                                                                      +      return "-";
                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                      +      return formatPercent(percentage, this.locale, "1.0-0");
                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +  get warningLevel(): string {
                                                                                                                                                                                                                                                                                      +    return this.attendanceData.getWarningLevel(this.forChild);
                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      <span
                                                                                                                                                                                                                                                                                      +  class="mat-elevation-z1 attendance-block w-{{
                                                                                                                                                                                                                                                                                      +    attendanceData.getWarningLevel(forChild)
                                                                                                                                                                                                                                                                                      +  }}"
                                                                                                                                                                                                                                                                                      +  [appTemplateTooltip]="tooltip"
                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                      +  <span *ngIf="attendanceData.getAttendancePercentage(forChild)">
                                                                                                                                                                                                                                                                                      +    {{ attendanceData.getAttendancePercentage(forChild) | percent: "1.0-0" }}
                                                                                                                                                                                                                                                                                      +  </span>
                                                                                                                                                                                                                                                                                      +  <span *ngIf="!attendanceData.getAttendancePercentage(forChild)"> - </span>
                                                                                                                                                                                                                                                                                      +</span>
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +<ng-template #tooltip>
                                                                                                                                                                                                                                                                                      +  <div class="attendance-tooltip-container">
                                                                                                                                                                                                                                                                                      +    <strong>
                                                                                                                                                                                                                                                                                      +      {{ attendanceData.periodFrom | date: "shortDate" }} -
                                                                                                                                                                                                                                                                                      +      {{ attendanceData.periodTo | date: "shortDate" }}
                                                                                                                                                                                                                                                                                      +      {{ attendanceData.activity.title }}
                                                                                                                                                                                                                                                                                      +    </strong>
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +    <div
                                                                                                                                                                                                                                                                                      +      i18n="
                                                                                                                                                                                                                                                                                      +        Attended Tooltip|How many attendees were present / how many attendees
                                                                                                                                                                                                                                                                                      +        were absent
                                                                                                                                                                                                                                                                                      +      "
                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                      +      attended {{ attendanceDescription }} events
                                                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +    <em
                                                                                                                                                                                                                                                                                      +      *ngIf="logicalCount[LStatus.IGNORE] > 0"
                                                                                                                                                                                                                                                                                      +      i18n="Attended Tooltip|How many events were excluded"
                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                      +      (excluding {{ logicalCount[LStatus.IGNORE] }} events excused or unknown)
                                                                                                                                                                                                                                                                                      +    </em>
                                                                                                                                                                                                                                                                                      +    <app-attendance-calendar
                                                                                                                                                                                                                                                                                      +      [records]="attendanceData.events"
                                                                                                                                                                                                                                                                                      +      [highlightForChild]="forChild"
                                                                                                                                                                                                                                                                                      +      [activity]="attendanceData.activity"
                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                      +    </app-attendance-calendar>
                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                      +</ng-template>
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      + ./attendance-block.component.scss +

                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      .attendance-block {
                                                                                                                                                                                                                                                                                      +  display: inline-block;
                                                                                                                                                                                                                                                                                      +  text-align: center;
                                                                                                                                                                                                                                                                                      +  border-radius: 4px;
                                                                                                                                                                                                                                                                                      +  margin: 3px;
                                                                                                                                                                                                                                                                                      +  width: 42px;
                                                                                                                                                                                                                                                                                      +  padding-top: 5px;
                                                                                                                                                                                                                                                                                      +  padding-bottom: 5px;
                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +.attendance-tooltip-container {
                                                                                                                                                                                                                                                                                      +  padding: 0.5em;
                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceCalendarComponent.html b/documentation/components/AttendanceCalendarComponent.html new file mode 100644 index 0000000000..0fc57b5a50 --- /dev/null +++ b/documentation/components/AttendanceCalendarComponent.html @@ -0,0 +1,1484 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + src/app/child-dev-project/attendance/attendance-calendar/attendance-calendar.component.ts +

                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + OnChanges +

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Accessors
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, formDialog: FormDialogService, analyticsService: AnalyticsService, attendanceService: AttendanceService) +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                        formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                        analyticsService + AnalyticsService + + No +
                                                                                                                                                                                                                                                                                        attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + activity +
                                                                                                                                                                                                                                                                                        + Type : RecurringActivity + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + highlightForChild +
                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + records +
                                                                                                                                                                                                                                                                                        + Type : Note[] + +
                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + createNewEvent + + +
                                                                                                                                                                                                                                                                                        +createNewEvent() +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + Async + save + + +
                                                                                                                                                                                                                                                                                        + + save() +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectDay + + +
                                                                                                                                                                                                                                                                                        +selectDay(newDate?: Date) +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                        newDate + Date + + Yes +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + showEventDetails + + +
                                                                                                                                                                                                                                                                                        +showEventDetails(selectedEvent: Note) +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                        selectedEvent + Note + + No +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + calendar + + +
                                                                                                                                                                                                                                                                                        + Type : MatCalendar<Date> + +
                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                        + + @ViewChild(MatCalendar)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + highlightDate + + +
                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + maxDate + + +
                                                                                                                                                                                                                                                                                        + Type : Date + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + minDate + + +
                                                                                                                                                                                                                                                                                        + Type : Date + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectedDate + + +
                                                                                                                                                                                                                                                                                        + Type : moment.Moment + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectedEvent + + +
                                                                                                                                                                                                                                                                                        + Type : Note + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectedEventAttendance + + +
                                                                                                                                                                                                                                                                                        + Type : EventAttendance + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectedEventAttendanceOriginal + + +
                                                                                                                                                                                                                                                                                        + Type : EventAttendance + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + selectedEventStats + + +
                                                                                                                                                                                                                                                                                        + Type : AverageAttendanceStats + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Accessors +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + hasAverage +
                                                                                                                                                                                                                                                                                        + gethasAverage() +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                        +  OnChanges,
                                                                                                                                                                                                                                                                                        +  SimpleChanges,
                                                                                                                                                                                                                                                                                        +  ViewChild,
                                                                                                                                                                                                                                                                                        +  ViewEncapsulation,
                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                        +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                        +  MatCalendar,
                                                                                                                                                                                                                                                                                        +  MatCalendarCellCssClasses,
                                                                                                                                                                                                                                                                                        +  MatDatepickerModule,
                                                                                                                                                                                                                                                                                        +} from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                        +import moment, { Moment } from "moment";
                                                                                                                                                                                                                                                                                        +import { EventAttendance } from "../model/event-attendance";
                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                        +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                        +  AverageAttendanceStats,
                                                                                                                                                                                                                                                                                        +  calculateAverageAttendance,
                                                                                                                                                                                                                                                                                        +} from "../model/calculate-average-event-attendance";
                                                                                                                                                                                                                                                                                        +import { EventNote } from "../model/event-note";
                                                                                                                                                                                                                                                                                        +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                                                                        +import { applyUpdate } from "../../../core/entity/model/entity-update";
                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                        +import { AttendanceService } from "../attendance.service";
                                                                                                                                                                                                                                                                                        +import { AnalyticsService } from "../../../core/analytics/analytics.service";
                                                                                                                                                                                                                                                                                        +import { DatePipe, NgIf, PercentPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                        +import { DialogCloseComponent } from "../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                        +import { AttendanceStatusSelectComponent } from "../attendance-status-select/attendance-status-select.component";
                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                        +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                        +  selector: "app-attendance-calendar",
                                                                                                                                                                                                                                                                                        +  templateUrl: "./attendance-calendar.component.html",
                                                                                                                                                                                                                                                                                        +  styleUrls: ["./attendance-calendar.component.scss"],
                                                                                                                                                                                                                                                                                        +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                        +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                        +    DatePipe,
                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                        +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                        +    AttendanceStatusSelectComponent,
                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                        +    PercentPipe,
                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                        +    Angulartics2Module,
                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                        +export class AttendanceCalendarComponent implements OnChanges {
                                                                                                                                                                                                                                                                                        +  @Input() records: Note[] = [];
                                                                                                                                                                                                                                                                                        +  @Input() highlightForChild: string;
                                                                                                                                                                                                                                                                                        +  @Input() activity: RecurringActivity;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  @ViewChild(MatCalendar) calendar: MatCalendar<Date>;
                                                                                                                                                                                                                                                                                        +  minDate: Date;
                                                                                                                                                                                                                                                                                        +  maxDate: Date;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  selectedDate: moment.Moment;
                                                                                                                                                                                                                                                                                        +  selectedEvent: Note;
                                                                                                                                                                                                                                                                                        +  selectedEventAttendance: EventAttendance;
                                                                                                                                                                                                                                                                                        +  selectedEventAttendanceOriginal: EventAttendance;
                                                                                                                                                                                                                                                                                        +  selectedEventStats: AverageAttendanceStats;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                        +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                        +    private analyticsService: AnalyticsService,
                                                                                                                                                                                                                                                                                        +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                        +    this.entityMapper
                                                                                                                                                                                                                                                                                        +      .receiveUpdates(EventNote)
                                                                                                                                                                                                                                                                                        +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                        +      .subscribe((newNotes) => {
                                                                                                                                                                                                                                                                                        +        this.records = applyUpdate(this.records, newNotes, false);
                                                                                                                                                                                                                                                                                        +        this.selectDay(this.selectedDate?.toDate());
                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  highlightDate = (cellDate: Date): MatCalendarCellCssClasses => {
                                                                                                                                                                                                                                                                                        +    const cellMoment = moment(cellDate);
                                                                                                                                                                                                                                                                                        +    const classes = {
                                                                                                                                                                                                                                                                                        +      "attendance-calendar-date-general": true,
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    if (this.selectedDate) {
                                                                                                                                                                                                                                                                                        +      classes["attendance-calendar-date-selected"] = cellMoment.isSame(
                                                                                                                                                                                                                                                                                        +        this.selectedDate,
                                                                                                                                                                                                                                                                                        +        "day",
                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    const event = this.records.find((e) => cellMoment.isSame(e.date, "day"));
                                                                                                                                                                                                                                                                                        +    if (event && this.highlightForChild) {
                                                                                                                                                                                                                                                                                        +      // coloring for individual child
                                                                                                                                                                                                                                                                                        +      const eventAttendance = event.getAttendance(this.highlightForChild);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      const statusClass = eventAttendance?.status?.style;
                                                                                                                                                                                                                                                                                        +      classes[statusClass] = true;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      classes["attendance-calendar-date-has-remarks"] =
                                                                                                                                                                                                                                                                                        +        eventAttendance?.remarks && eventAttendance?.remarks !== "";
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    if (event && !this.highlightForChild) {
                                                                                                                                                                                                                                                                                        +      // coloring based on averages across all children
                                                                                                                                                                                                                                                                                        +      const stats = calculateAverageAttendance(event);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      const percentageSlab = Math.round(stats.average * 10) * 10;
                                                                                                                                                                                                                                                                                        +      classes["w-" + percentageSlab] = true;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      classes["attendance-calendar-date-has-participants-with-unknown-status"] =
                                                                                                                                                                                                                                                                                        +        stats.excludedUnknown > 0;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    return classes;
                                                                                                                                                                                                                                                                                        +  };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                        +    if (changes.hasOwnProperty("records")) {
                                                                                                                                                                                                                                                                                        +      this.updateDateRange();
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                        +   * restrict period available for user navigation to the months for which events are given
                                                                                                                                                                                                                                                                                        +   * @private
                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                        +  private updateDateRange() {
                                                                                                                                                                                                                                                                                        +    const dates: Moment[] = this.records.map((e) => moment(e.date));
                                                                                                                                                                                                                                                                                        +    this.minDate = moment.min(dates).startOf("month").toDate();
                                                                                                                                                                                                                                                                                        +    this.maxDate = moment.max(dates).endOf("month").toDate();
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    if (this.calendar) {
                                                                                                                                                                                                                                                                                        +      // it is only possible to update the active date (i.e. which month is visible)
                                                                                                                                                                                                                                                                                        +      // after minDate is propagated with the next change cycle ...
                                                                                                                                                                                                                                                                                        +      setTimeout(() => (this.calendar.activeDate = this.minDate));
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  get hasAverage(): boolean {
                                                                                                                                                                                                                                                                                        +    return !Number.isNaN(this.selectedEventStats.average);
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  selectDay(newDate?: Date) {
                                                                                                                                                                                                                                                                                        +    if (!newDate) {
                                                                                                                                                                                                                                                                                        +      this.selectedDate = undefined;
                                                                                                                                                                                                                                                                                        +      this.selectedEvent = undefined;
                                                                                                                                                                                                                                                                                        +      this.selectedEventAttendance = undefined;
                                                                                                                                                                                                                                                                                        +      this.selectedEventAttendanceOriginal = undefined;
                                                                                                                                                                                                                                                                                        +      this.selectedEventStats = undefined;
                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                        +      this.selectedDate = moment(newDate);
                                                                                                                                                                                                                                                                                        +      this.selectedEvent = this.records.find((e) =>
                                                                                                                                                                                                                                                                                        +        this.selectedDate.isSame(e.date, "day"),
                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                        +      if (this.selectedEvent && this.highlightForChild) {
                                                                                                                                                                                                                                                                                        +        this.selectedEvent.addChild(this.highlightForChild); // ensure child is part of the event
                                                                                                                                                                                                                                                                                        +        this.selectedEventAttendance = this.selectedEvent.getAttendance(
                                                                                                                                                                                                                                                                                        +          this.highlightForChild,
                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                        +      // clone attendance information to allow detecting and reverting changes
                                                                                                                                                                                                                                                                                        +      this.selectedEventAttendanceOriginal = Object.assign(
                                                                                                                                                                                                                                                                                        +        {},
                                                                                                                                                                                                                                                                                        +        this.selectedEventAttendanceOriginal,
                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                        +      if (this.selectedEvent) {
                                                                                                                                                                                                                                                                                        +        this.selectedEventStats = calculateAverageAttendance(
                                                                                                                                                                                                                                                                                        +          this.selectedEvent,
                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      this.analyticsService.eventTrack("calendar_select_date", {
                                                                                                                                                                                                                                                                                        +        category: "Attendance",
                                                                                                                                                                                                                                                                                        +        label: this.selectedEvent ? "with event" : "without event",
                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    this.calendar.updateTodaysDate();
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  async save() {
                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                        +      this.selectedEventAttendance.status ===
                                                                                                                                                                                                                                                                                        +        this.selectedEventAttendanceOriginal.status &&
                                                                                                                                                                                                                                                                                        +      this.selectedEventAttendance.remarks ===
                                                                                                                                                                                                                                                                                        +        this.selectedEventAttendanceOriginal.remarks
                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                        +      // don't write unchanged object
                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    await this.entityMapper.save(this.selectedEvent);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    this.analyticsService.eventTrack("calendar_save_event_changes", {
                                                                                                                                                                                                                                                                                        +      category: "Attendance",
                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  createNewEvent() {
                                                                                                                                                                                                                                                                                        +    this.attendanceService
                                                                                                                                                                                                                                                                                        +      .createEventForActivity(this.activity, this.selectedDate.toDate())
                                                                                                                                                                                                                                                                                        +      .then((note) => {
                                                                                                                                                                                                                                                                                        +        this.showEventDetails(note);
                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  showEventDetails(selectedEvent: Note) {
                                                                                                                                                                                                                                                                                        +    this.formDialog.openView(selectedEvent, "NoteDetails");
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        <mat-calendar
                                                                                                                                                                                                                                                                                        +  (selectedChange)="selectDay($event)"
                                                                                                                                                                                                                                                                                        +  [dateClass]="highlightDate"
                                                                                                                                                                                                                                                                                        +  [minDate]="minDate"
                                                                                                                                                                                                                                                                                        +  [maxDate]="maxDate"
                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                        +</mat-calendar>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<div *ngIf="selectedDate" class="attendance-calendar-details-form">
                                                                                                                                                                                                                                                                                        +  <h3 class="remove-margin-top">
                                                                                                                                                                                                                                                                                        +    {{ selectedDate.toDate() | date }}
                                                                                                                                                                                                                                                                                        +  </h3>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  <app-dialog-close (click)="selectDay()"></app-dialog-close>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  <div *ngIf="selectedEvent && highlightForChild">
                                                                                                                                                                                                                                                                                        +    <div>
                                                                                                                                                                                                                                                                                        +      <app-attendance-status-select
                                                                                                                                                                                                                                                                                        +        [(value)]="selectedEventAttendance.status"
                                                                                                                                                                                                                                                                                        +        (valueChange)="save()"
                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                        +      </app-attendance-status-select>
                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    <div>
                                                                                                                                                                                                                                                                                        +      <mat-form-field class="full-width">
                                                                                                                                                                                                                                                                                        +        <textarea
                                                                                                                                                                                                                                                                                        +          matInput
                                                                                                                                                                                                                                                                                        +          i18n-placeholder="
                                                                                                                                                                                                                                                                                        +            Remarks|Placeholder if no remarks for the attendance of a child are
                                                                                                                                                                                                                                                                                        +            given
                                                                                                                                                                                                                                                                                        +          "
                                                                                                                                                                                                                                                                                        +          placeholder="Remarks"
                                                                                                                                                                                                                                                                                        +          [(ngModel)]="selectedEventAttendance.remarks"
                                                                                                                                                                                                                                                                                        +          (blur)="save()"
                                                                                                                                                                                                                                                                                        +        ></textarea>
                                                                                                                                                                                                                                                                                        +      </mat-form-field>
                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  <div *ngIf="selectedEvent && !highlightForChild">
                                                                                                                                                                                                                                                                                        +    <div
                                                                                                                                                                                                                                                                                        +      *ngIf="!hasAverage"
                                                                                                                                                                                                                                                                                        +      i18n="
                                                                                                                                                                                                                                                                                        +        Event participants|How many participants attended at an event (in
                                                                                                                                                                                                                                                                                        +        percent)
                                                                                                                                                                                                                                                                                        +      "
                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                        +      All excused (out of
                                                                                                                                                                                                                                                                                        +      {{ selectedEvent.children.length }}
                                                                                                                                                                                                                                                                                        +      {selectedEvent.children.length, plural,
                                                                                                                                                                                                                                                                                        +        one {participant}
                                                                                                                                                                                                                                                                                        +        other {participants}
                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                        +    <div *ngIf="hasAverage" i18n>
                                                                                                                                                                                                                                                                                        +      {{ selectedEventStats.average | percent: "1.0-0" }}
                                                                                                                                                                                                                                                                                        +      attended (of
                                                                                                                                                                                                                                                                                        +      {{ selectedEvent.children.length }}
                                                                                                                                                                                                                                                                                        +      {selectedEvent.children.length, plural,
                                                                                                                                                                                                                                                                                        +        one {participant}
                                                                                                                                                                                                                                                                                        +        other {participants}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +      })
                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                        +    <div
                                                                                                                                                                                                                                                                                        +      *ngIf="selectedEventStats.excludedUnknown > 0"
                                                                                                                                                                                                                                                                                        +      i18n="Unknown status|How many children are without a status"
                                                                                                                                                                                                                                                                                        +      class="unknown-status-notice"
                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                        +      {{ selectedEventStats.excludedUnknown }}
                                                                                                                                                                                                                                                                                        +      {selectedEventStats.excludedUnknown, plural,
                                                                                                                                                                                                                                                                                        +        one {participant}
                                                                                                                                                                                                                                                                                        +        other {participants}
                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                        +      without recorded status
                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                        +    <button
                                                                                                                                                                                                                                                                                        +      class="margin-top-regular"
                                                                                                                                                                                                                                                                                        +      i18n="
                                                                                                                                                                                                                                                                                        +        Show Details Button|Allows the user to see details of an event that took
                                                                                                                                                                                                                                                                                        +        place at a particular day
                                                                                                                                                                                                                                                                                        +      "
                                                                                                                                                                                                                                                                                        +      mat-stroked-button
                                                                                                                                                                                                                                                                                        +      (click)="showEventDetails(selectedEvent)"
                                                                                                                                                                                                                                                                                        +      angulartics2On="click"
                                                                                                                                                                                                                                                                                        +      angularticsCategory="Attendance"
                                                                                                                                                                                                                                                                                        +      angularticsAction="calendar_show_event_details"
                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                        +      Details
                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  <ng-container *ngIf="!selectedEvent">
                                                                                                                                                                                                                                                                                        +    <em
                                                                                                                                                                                                                                                                                        +      i18n="
                                                                                                                                                                                                                                                                                        +        No Events|Informs the user that there are no events at a particular date
                                                                                                                                                                                                                                                                                        +      "
                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                        +      no events on this date
                                                                                                                                                                                                                                                                                        +    </em>
                                                                                                                                                                                                                                                                                        +    <button
                                                                                                                                                                                                                                                                                        +      mat-stroked-button
                                                                                                                                                                                                                                                                                        +      (click)="createNewEvent()"
                                                                                                                                                                                                                                                                                        +      i18n="
                                                                                                                                                                                                                                                                                        +        Add New Event Button|Allows the user to create a new event for the
                                                                                                                                                                                                                                                                                        +        selected date
                                                                                                                                                                                                                                                                                        +      "
                                                                                                                                                                                                                                                                                        +      angulartics2On="click"
                                                                                                                                                                                                                                                                                        +      angularticsCategory="Attendance"
                                                                                                                                                                                                                                                                                        +      angularticsAction="calendar_create_event"
                                                                                                                                                                                                                                                                                        +      style="margin-top: 12px; display: block"
                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                        +      Add new event
                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                        +  </ng-container>
                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + ./attendance-calendar.component.scss +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        @use "variables/colors";
                                                                                                                                                                                                                                                                                        +@use "functions/gradient-helpers";
                                                                                                                                                                                                                                                                                        +@use "variables/sizes";
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +mat-calendar {
                                                                                                                                                                                                                                                                                        +  min-width: 200px;
                                                                                                                                                                                                                                                                                        +  max-width: 300px;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +.unknown-status-notice {
                                                                                                                                                                                                                                                                                        +  font-style: italic;
                                                                                                                                                                                                                                                                                        +  color: colors.$error;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +.attendance-calendar-date-general {
                                                                                                                                                                                                                                                                                        +  &.attendance-calendar-date-selected {
                                                                                                                                                                                                                                                                                        +    font-weight: 900;
                                                                                                                                                                                                                                                                                        +    font-size: 115%;
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  &.attendance-calendar-date-has-remarks {
                                                                                                                                                                                                                                                                                        +    background: gradient-helpers.top-right-triangle(#5f5f5f);
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  &.attendance-calendar-date-has-participants-with-unknown-status {
                                                                                                                                                                                                                                                                                        +    background: gradient-helpers.top-right-triangle(red);
                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +.attendance-calendar-details-form {
                                                                                                                                                                                                                                                                                        +  padding: 10px;
                                                                                                                                                                                                                                                                                        +  max-width: 300px;
                                                                                                                                                                                                                                                                                        +  position: relative;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +  border: 5px solid black;
                                                                                                                                                                                                                                                                                        +  box-sizing: border-box;
                                                                                                                                                                                                                                                                                        +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceDayBlockComponent.html b/documentation/components/AttendanceDayBlockComponent.html new file mode 100644 index 0000000000..88fc3fe03a --- /dev/null +++ b/documentation/components/AttendanceDayBlockComponent.html @@ -0,0 +1,471 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-day-block/attendance-day-block.component.ts +

                                                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          Accessors
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          + + attendance +
                                                                                                                                                                                                                                                                                          + Type : EventAttendance + +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          + Accessors +

                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          + + tooltip +
                                                                                                                                                                                                                                                                                          + gettooltip() +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                          +import { EventAttendance } from "../../../model/event-attendance";
                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                          +  selector: "app-attendance-day-block]",
                                                                                                                                                                                                                                                                                          +  templateUrl: "./attendance-day-block.component.html",
                                                                                                                                                                                                                                                                                          +  styleUrls: ["./attendance-day-block.component.scss"],
                                                                                                                                                                                                                                                                                          +  imports: [MatTooltipModule],
                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                          +export class AttendanceDayBlockComponent {
                                                                                                                                                                                                                                                                                          +  @Input() attendance?: EventAttendance;
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +  get tooltip(): string {
                                                                                                                                                                                                                                                                                          +    if (!this.attendance) {
                                                                                                                                                                                                                                                                                          +      return $localize`No attendance information`;
                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                          +    if (this.attendance?.remarks) {
                                                                                                                                                                                                                                                                                          +      return this.attendance?.status.label + ": " + this.attendance?.remarks;
                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                          +      return this.attendance?.status.label;
                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          <div
                                                                                                                                                                                                                                                                                          +  class="day-cell attendance-{{ attendance?.status?.shortName || 'U' }} "
                                                                                                                                                                                                                                                                                          +  [class.has-remark]="attendance?.remarks"
                                                                                                                                                                                                                                                                                          +  [matTooltipShowDelay]="200"
                                                                                                                                                                                                                                                                                          +  [matTooltip]="tooltip"
                                                                                                                                                                                                                                                                                          +  matTooltipPosition="above"
                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                          +  {{ attendance?.status?.shortName || "-" }}
                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          + ./attendance-day-block.component.scss +

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          @use "variables/colors";
                                                                                                                                                                                                                                                                                          +@use "functions/gradient-helpers";
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +.day-cell {
                                                                                                                                                                                                                                                                                          +  padding: 0.28em;
                                                                                                                                                                                                                                                                                          +  line-height: 1em;
                                                                                                                                                                                                                                                                                          +  width: 1ch;
                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +.has-remark {
                                                                                                                                                                                                                                                                                          +  background-image: gradient-helpers.top-right-triangle(
                                                                                                                                                                                                                                                                                          +    colors.$muted-background
                                                                                                                                                                                                                                                                                          +  );
                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceDetailsComponent.html b/documentation/components/AttendanceDetailsComponent.html new file mode 100644 index 0000000000..51ab5f2205 --- /dev/null +++ b/documentation/components/AttendanceDetailsComponent.html @@ -0,0 +1,867 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/attendance/attendance-details/attendance-details.component.ts +

                                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            +constructor(formDialog: FormDialogService, data: literal type) +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                            formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                            data + literal type + + No +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                            + Type : ActivityAttendance + +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + + forChild +
                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + + + showEventDetails + + +
                                                                                                                                                                                                                                                                                            +showEventDetails(event: EventNote) +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                            event + EventNote + + No +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + + + EventNote + + +
                                                                                                                                                                                                                                                                                            + Default value : EventNote +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            + + + eventsColumns + + +
                                                                                                                                                                                                                                                                                            + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                            + Default value : [ + { id: "date" }, + { id: "subject", label: $localize`Event` }, + { + id: "getAttendance", + label: $localize`:How a child attended, e.g. too late, in time, excused, e.t.c:Attended`, + viewComponent: "ReadonlyFunction", + additional: (note: Note) => { + if (this.forChild) { + return note.getAttendance(this.forChild)?.status?.label || "-"; + } else { + return ( + (calculateAverageAttendance(note).average * 100).toFixed(0) + "%" || + "N/A" + ); + } + }, + }, + ] +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            import { Component, Inject, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                            +import { ActivityAttendance } from "../model/activity-attendance";
                                                                                                                                                                                                                                                                                            +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                                                                            +import { calculateAverageAttendance } from "../model/calculate-average-event-attendance";
                                                                                                                                                                                                                                                                                            +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                            +import { EventNote } from "../model/event-note";
                                                                                                                                                                                                                                                                                            +import { DialogCloseComponent } from "../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                            +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                            +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                            +import { DatePipe, NgIf, PercentPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                            +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                            +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                            +import { AttendanceCalendarComponent } from "../attendance-calendar/attendance-calendar.component";
                                                                                                                                                                                                                                                                                            +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                            +  selector: "app-attendance-details",
                                                                                                                                                                                                                                                                                            +  templateUrl: "./attendance-details.component.html",
                                                                                                                                                                                                                                                                                            +  styleUrls: ["./attendance-details.component.scss"],
                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                            +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                            +    MatDialogModule,
                                                                                                                                                                                                                                                                                            +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                            +    PercentPipe,
                                                                                                                                                                                                                                                                                            +    DatePipe,
                                                                                                                                                                                                                                                                                            +    FormsModule,
                                                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                                                            +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                            +    AttendanceCalendarComponent,
                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                            +export class AttendanceDetailsComponent {
                                                                                                                                                                                                                                                                                            +  @Input() entity: ActivityAttendance;
                                                                                                                                                                                                                                                                                            +  @Input() forChild: string;
                                                                                                                                                                                                                                                                                            +  EventNote = EventNote;
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  eventsColumns: FormFieldConfig[] = [
                                                                                                                                                                                                                                                                                            +    { id: "date" },
                                                                                                                                                                                                                                                                                            +    { id: "subject", label: $localize`Event` },
                                                                                                                                                                                                                                                                                            +    {
                                                                                                                                                                                                                                                                                            +      id: "getAttendance",
                                                                                                                                                                                                                                                                                            +      label: $localize`:How a child attended, e.g. too late, in time, excused, e.t.c:Attended`,
                                                                                                                                                                                                                                                                                            +      viewComponent: "ReadonlyFunction",
                                                                                                                                                                                                                                                                                            +      additional: (note: Note) => {
                                                                                                                                                                                                                                                                                            +        if (this.forChild) {
                                                                                                                                                                                                                                                                                            +          return note.getAttendance(this.forChild)?.status?.label || "-";
                                                                                                                                                                                                                                                                                            +        } else {
                                                                                                                                                                                                                                                                                            +          return (
                                                                                                                                                                                                                                                                                            +            (calculateAverageAttendance(note).average * 100).toFixed(0) + "%" ||
                                                                                                                                                                                                                                                                                            +            "N/A"
                                                                                                                                                                                                                                                                                            +          );
                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                            +  ];
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                            +    data: { forChild: string; attendance: ActivityAttendance },
                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                            +    this.entity = data.attendance;
                                                                                                                                                                                                                                                                                            +    this.forChild = data.forChild;
                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  showEventDetails(event: EventNote) {
                                                                                                                                                                                                                                                                                            +    this.formDialog.openView(event, "NoteDetails");
                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            <!--
                                                                                                                                                                                                                                                                                            +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                            +  ~
                                                                                                                                                                                                                                                                                            +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                            +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                            +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                            +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                            +  ~
                                                                                                                                                                                                                                                                                            +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                            +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                            +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                            +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                            +  ~
                                                                                                                                                                                                                                                                                            +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                            +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                            +  -->
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +<h1 mat-dialog-title>
                                                                                                                                                                                                                                                                                            +  <app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                            +  {{ entity?.activity?.title }}: {{ entity.periodFrom | date: "shortDate" }} -
                                                                                                                                                                                                                                                                                            +  {{ entity.periodTo | date: "shortDate" }}
                                                                                                                                                                                                                                                                                            +</h1>
                                                                                                                                                                                                                                                                                            +<div mat-dialog-content>
                                                                                                                                                                                                                                                                                            +  <div
                                                                                                                                                                                                                                                                                            +    class="summary w-{{ entity.getWarningLevel() }}"
                                                                                                                                                                                                                                                                                            +    i18n="
                                                                                                                                                                                                                                                                                            +      Attendance|Attendance of a child (in percent) or the average of the event
                                                                                                                                                                                                                                                                                            +      (in percent)
                                                                                                                                                                                                                                                                                            +    "
                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                            +    Attendance:
                                                                                                                                                                                                                                                                                            +    {{
                                                                                                                                                                                                                                                                                            +      (forChild
                                                                                                                                                                                                                                                                                            +        ? entity?.getAttendancePercentage(forChild)
                                                                                                                                                                                                                                                                                            +        : entity?.getAttendancePercentageAverage()
                                                                                                                                                                                                                                                                                            +      ) | percent: "1.0-0"
                                                                                                                                                                                                                                                                                            +    }}
                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  <div class="flex-row flex-wrap gap-regular" *ngIf="forChild">
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="days present|How many days a child was present"
                                                                                                                                                                                                                                                                                            +        placeholder="days present"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countEventsPresent(forChild)"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="days absent|How many days a child was absent"
                                                                                                                                                                                                                                                                                            +        placeholder="days absent"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countEventsAbsent(forChild)"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="
                                                                                                                                                                                                                                                                                            +          days absent|How many days the presence or absence of a child is
                                                                                                                                                                                                                                                                                            +          unknown
                                                                                                                                                                                                                                                                                            +        "
                                                                                                                                                                                                                                                                                            +        placeholder="unknown status"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countEventsWithUnknownStatus(forChild)"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  <div class="flex-row flex-wrap gap-regular" *ngIf="!forChild">
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="Total present|How many children were present"
                                                                                                                                                                                                                                                                                            +        placeholder="Total present"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countTotalPresent()"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="Total absent|How many children were absent"
                                                                                                                                                                                                                                                                                            +        placeholder="Total absent"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countTotalAbsent()"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +    <mat-form-field>
                                                                                                                                                                                                                                                                                            +      <input
                                                                                                                                                                                                                                                                                            +        matInput
                                                                                                                                                                                                                                                                                            +        type="number"
                                                                                                                                                                                                                                                                                            +        i18n-placeholder="
                                                                                                                                                                                                                                                                                            +          Total unknown|How many children have an unknown presence or absence
                                                                                                                                                                                                                                                                                            +          status
                                                                                                                                                                                                                                                                                            +        "
                                                                                                                                                                                                                                                                                            +        placeholder="Total unknown"
                                                                                                                                                                                                                                                                                            +        [value]="entity.countEventsWithUnknownStatus()"
                                                                                                                                                                                                                                                                                            +        readonly
                                                                                                                                                                                                                                                                                            +      />
                                                                                                                                                                                                                                                                                            +    </mat-form-field>
                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  <app-entities-table
                                                                                                                                                                                                                                                                                            +    [entityType]="EventNote"
                                                                                                                                                                                                                                                                                            +    [records]="entity.events"
                                                                                                                                                                                                                                                                                            +    [customColumns]="eventsColumns"
                                                                                                                                                                                                                                                                                            +    clickMode="none"
                                                                                                                                                                                                                                                                                            +    (entityClick)="showEventDetails($event)"
                                                                                                                                                                                                                                                                                            +    [editable]="false"
                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                            +  </app-entities-table>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +  <app-attendance-calendar
                                                                                                                                                                                                                                                                                            +    [records]="entity.events"
                                                                                                                                                                                                                                                                                            +    [highlightForChild]="forChild"
                                                                                                                                                                                                                                                                                            +    [activity]="entity.activity"
                                                                                                                                                                                                                                                                                            +  ></app-attendance-calendar>
                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            + ./attendance-details.component.scss +

                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            @use "variables/sizes";
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +.summary {
                                                                                                                                                                                                                                                                                            +  font-weight: bold;
                                                                                                                                                                                                                                                                                            +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceManagerComponent.html b/documentation/components/AttendanceManagerComponent.html new file mode 100644 index 0000000000..5f7af706fa --- /dev/null +++ b/documentation/components/AttendanceManagerComponent.html @@ -0,0 +1,561 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/attendance/attendance-manager/attendance-manager.component.ts +

                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              +constructor(comingSoonDialog: ComingSoonDialogService) +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                              comingSoonDialog + ComingSoonDialogService + + No +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              + + + Public + comingSoonDialog + + +
                                                                                                                                                                                                                                                                                              + Type : ComingSoonDialogService + +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                              +import { ComingSoonDialogService } from "../../../features/coming-soon/coming-soon-dialog.service";
                                                                                                                                                                                                                                                                                              +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                              +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                              +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +@RouteTarget("AttendanceManager")
                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                              +  selector: "app-attendance-manager",
                                                                                                                                                                                                                                                                                              +  templateUrl: "./attendance-manager.component.html",
                                                                                                                                                                                                                                                                                              +  styleUrls: ["./attendance-manager.component.scss"],
                                                                                                                                                                                                                                                                                              +  imports: [MatCardModule, MatButtonModule, RouterLink, ViewTitleComponent],
                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                              +export class AttendanceManagerComponent {
                                                                                                                                                                                                                                                                                              +  constructor(public comingSoonDialog: ComingSoonDialogService) {}
                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              <app-view-title
                                                                                                                                                                                                                                                                                              +  i18n="
                                                                                                                                                                                                                                                                                              +    Heading for Attendance Register|The heading for the view showing the
                                                                                                                                                                                                                                                                                              +    Attendance Register
                                                                                                                                                                                                                                                                                              +  "
                                                                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                                                                              +  Managing Attendance
                                                                                                                                                                                                                                                                                              +</app-view-title>
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +<div class="cards-wrapper">
                                                                                                                                                                                                                                                                                              +  <mat-card appearance="raised">
                                                                                                                                                                                                                                                                                              +    <mat-card-header>
                                                                                                                                                                                                                                                                                              +      <mat-card-title i18n="Record attendance title">
                                                                                                                                                                                                                                                                                              +        Record Attendance
                                                                                                                                                                                                                                                                                              +      </mat-card-title>
                                                                                                                                                                                                                                                                                              +    </mat-card-header>
                                                                                                                                                                                                                                                                                              +    <mat-card-content>
                                                                                                                                                                                                                                                                                              +      <p i18n="Record attendance content">
                                                                                                                                                                                                                                                                                              +        Record attendance for an activity on a certain day. Optimized for
                                                                                                                                                                                                                                                                                              +        smartphones.
                                                                                                                                                                                                                                                                                              +      </p>
                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                              +        routerLink="/attendance/add-day"
                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                              +        i18n="Record attendance button"
                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                              +        Record
                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                              +    </mat-card-content>
                                                                                                                                                                                                                                                                                              +  </mat-card>
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +  <mat-card appearance="raised">
                                                                                                                                                                                                                                                                                              +    <mat-card-header>
                                                                                                                                                                                                                                                                                              +      <mat-card-title i18n="Manage Activities title">
                                                                                                                                                                                                                                                                                              +        Recurring Activities
                                                                                                                                                                                                                                                                                              +      </mat-card-title>
                                                                                                                                                                                                                                                                                              +    </mat-card-header>
                                                                                                                                                                                                                                                                                              +    <mat-card-content>
                                                                                                                                                                                                                                                                                              +      <p i18n="Manage Activities content">
                                                                                                                                                                                                                                                                                              +        Manage "recurring activities" for which you regularly record attendance.
                                                                                                                                                                                                                                                                                              +        You can assign participants and users to these activities and analyze
                                                                                                                                                                                                                                                                                              +        their attendance across time.
                                                                                                                                                                                                                                                                                              +      </p>
                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                              +        routerLink="/attendance/recurring-activity"
                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                              +        i18n="Manage activities button"
                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                              +        Manage Activities
                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                              +    </mat-card-content>
                                                                                                                                                                                                                                                                                              +  </mat-card>
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +  <mat-card appearance="raised" disabled>
                                                                                                                                                                                                                                                                                              +    <mat-card-header>
                                                                                                                                                                                                                                                                                              +      <mat-card-title i18n="Monthly attendance title">
                                                                                                                                                                                                                                                                                              +        Monthly Attendance
                                                                                                                                                                                                                                                                                              +      </mat-card-title>
                                                                                                                                                                                                                                                                                              +    </mat-card-header>
                                                                                                                                                                                                                                                                                              +    <mat-card-content>
                                                                                                                                                                                                                                                                                              +      <p i18n="Monthly attendance content">
                                                                                                                                                                                                                                                                                              +        Document attendance totals for a whole month that were collected on
                                                                                                                                                                                                                                                                                              +        paper.
                                                                                                                                                                                                                                                                                              +      </p>
                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                              +        (click)="comingSoonDialog.open('monthly-attendance')"
                                                                                                                                                                                                                                                                                              +        mat-stroked-button
                                                                                                                                                                                                                                                                                              +        i18n="Enter attendance button"
                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                              +        Document Month
                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                              +    </mat-card-content>
                                                                                                                                                                                                                                                                                              +  </mat-card>
                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              + ./attendance-manager.component.scss +

                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                              +@use "variables/colors";
                                                                                                                                                                                                                                                                                              +@use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                              +@use "typography/custom-typography";
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +.cards-wrapper {
                                                                                                                                                                                                                                                                                              +  @include grid-layout.adaptive($min-block-width: 250px);
                                                                                                                                                                                                                                                                                              +  margin-top: sizes.$large;
                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +.mat-mdc-card[disabled] {
                                                                                                                                                                                                                                                                                              +  background-color: colors.$disabled-transparent;
                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +mat-card-content {
                                                                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                                                                              +  flex-direction: column;
                                                                                                                                                                                                                                                                                              +  justify-content: space-between;
                                                                                                                                                                                                                                                                                              +  height: 100%;
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +  > button {
                                                                                                                                                                                                                                                                                              +    width: 100%;
                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceStatusSelectComponent.html b/documentation/components/AttendanceStatusSelectComponent.html new file mode 100644 index 0000000000..0d32c80af1 --- /dev/null +++ b/documentation/components/AttendanceStatusSelectComponent.html @@ -0,0 +1,605 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                + src/app/child-dev-project/attendance/attendance-status-select/attendance-status-select.component.ts +

                                                                                                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Outputs
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + + disabled +
                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + + value +
                                                                                                                                                                                                                                                                                                + Type : AttendanceStatusType + +
                                                                                                                                                                                                                                                                                                + Default value : NullAttendanceStatusType +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                Outputs

                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + + valueChange +
                                                                                                                                                                                                                                                                                                + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + + + compareFn + + +
                                                                                                                                                                                                                                                                                                + Default value : compareEnums +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                + + + statusID + + +
                                                                                                                                                                                                                                                                                                + Default value : ATTENDANCE_STATUS_CONFIG_ID +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                +  ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                +  AttendanceStatusType,
                                                                                                                                                                                                                                                                                                +  NullAttendanceStatusType,
                                                                                                                                                                                                                                                                                                +} from "../model/attendance-status";
                                                                                                                                                                                                                                                                                                +import { compareEnums } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                +import { ConfigurableEnumDirective } from "../../../core/basic-datatypes/configurable-enum/configurable-enum-directive/configurable-enum.directive";
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                +  selector: "app-attendance-status-select",
                                                                                                                                                                                                                                                                                                +  templateUrl: "./attendance-status-select.component.html",
                                                                                                                                                                                                                                                                                                +  styleUrls: ["./attendance-status-select.component.scss"],
                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                +    MatSelectModule,
                                                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                                                +    ConfigurableEnumDirective,
                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                +export class AttendanceStatusSelectComponent {
                                                                                                                                                                                                                                                                                                +  @Input() value: AttendanceStatusType = NullAttendanceStatusType;
                                                                                                                                                                                                                                                                                                +  @Input() disabled: boolean = false;
                                                                                                                                                                                                                                                                                                +  @Output() valueChange = new EventEmitter<AttendanceStatusType>();
                                                                                                                                                                                                                                                                                                +  statusID = ATTENDANCE_STATUS_CONFIG_ID;
                                                                                                                                                                                                                                                                                                +  compareFn = compareEnums;
                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                <mat-form-field class="compact-form-field">
                                                                                                                                                                                                                                                                                                +  <div
                                                                                                                                                                                                                                                                                                +    [class]="value.style"
                                                                                                                                                                                                                                                                                                +    class="indicator indicator__prefix"
                                                                                                                                                                                                                                                                                                +    matPrefix
                                                                                                                                                                                                                                                                                                +  ></div>
                                                                                                                                                                                                                                                                                                +  <mat-select
                                                                                                                                                                                                                                                                                                +    [(ngModel)]="value"
                                                                                                                                                                                                                                                                                                +    (ngModelChange)="valueChange.emit(value)"
                                                                                                                                                                                                                                                                                                +    [disabled]="disabled"
                                                                                                                                                                                                                                                                                                +    [compareWith]="compareFn"
                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                +    <mat-option *appConfigurableEnum="let s of statusID" [value]="s">
                                                                                                                                                                                                                                                                                                +      <span class="indicator indicator__option" [class]="s.style"></span
                                                                                                                                                                                                                                                                                                +      >{{ s.label }}
                                                                                                                                                                                                                                                                                                +    </mat-option>
                                                                                                                                                                                                                                                                                                +  </mat-select>
                                                                                                                                                                                                                                                                                                +</mat-form-field>
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                + ./attendance-status-select.component.scss +

                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                @use "variables/sizes";
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +/* The indicator is a round, colored shape with a small margin on the right
                                                                                                                                                                                                                                                                                                +it is used as prefix in the form field and for the individual options */
                                                                                                                                                                                                                                                                                                +.indicator {
                                                                                                                                                                                                                                                                                                +  width: sizes.$regular;
                                                                                                                                                                                                                                                                                                +  height: sizes.$regular;
                                                                                                                                                                                                                                                                                                +  border-radius: 50%;
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +  margin-right: sizes.$small;
                                                                                                                                                                                                                                                                                                +  margin-left: sizes.$small;
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +  /* when the indicator is used as prefix in a form field
                                                                                                                                                                                                                                                                                                +     it should be center-aligned with the content, but is baseline-aligned
                                                                                                                                                                                                                                                                                                +     without this small margin */
                                                                                                                                                                                                                                                                                                +  &__prefix {
                                                                                                                                                                                                                                                                                                +    margin-bottom: 0.15em;
                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +  /* when the indicator is used inside the option-field it has `display: inline`
                                                                                                                                                                                                                                                                                                +     which causes the field not to draw correctly */
                                                                                                                                                                                                                                                                                                +  &__option {
                                                                                                                                                                                                                                                                                                +    display: inline-block;
                                                                                                                                                                                                                                                                                                +    vertical-align: middle;
                                                                                                                                                                                                                                                                                                +    margin-bottom: 0.225em;
                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceSummaryComponent.html b/documentation/components/AttendanceSummaryComponent.html new file mode 100644 index 0000000000..53e41e3db5 --- /dev/null +++ b/documentation/components/AttendanceSummaryComponent.html @@ -0,0 +1,647 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/attendance/attendance-summary/attendance-summary.component.ts +

                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Accessors
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + + attendance +
                                                                                                                                                                                                                                                                                                  + Type : ActivityAttendance + +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + + columns +
                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + + forChild +
                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + + + _columns + + +
                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  + Accessors +

                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  + + columns +
                                                                                                                                                                                                                                                                                                  + setcolumns(value: FormFieldConfig[]) +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                  value + FormFieldConfig[] + + No +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                  +import { ActivityAttendance } from "../model/activity-attendance";
                                                                                                                                                                                                                                                                                                  +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                  +import { DatePipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                  +import { DynamicComponentDirective } from "../../../core/config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                  +  selector: "app-attendance-summary",
                                                                                                                                                                                                                                                                                                  +  templateUrl: "./attendance-summary.component.html",
                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./attendance-summary.component.scss"],
                                                                                                                                                                                                                                                                                                  +  imports: [NgIf, DatePipe, NgForOf, DynamicComponentDirective],
                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                  +export class AttendanceSummaryComponent {
                                                                                                                                                                                                                                                                                                  +  @Input() attendance: ActivityAttendance;
                                                                                                                                                                                                                                                                                                  +  @Input() forChild: string;
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +  @Input() set columns(value: FormFieldConfig[]) {
                                                                                                                                                                                                                                                                                                  +    this._columns = value
                                                                                                                                                                                                                                                                                                  +      // hide periodFrom / periodTo as it is displayed in custom styling directly in the template
                                                                                                                                                                                                                                                                                                  +      .filter((col) => !["periodFrom", "periodTo"].includes(col.id))
                                                                                                                                                                                                                                                                                                  +      // start with most summative column, usually displayed right-most in table
                                                                                                                                                                                                                                                                                                  +      .reverse();
                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +  _columns: FormFieldConfig[] = [];
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  <ng-container *ngIf="attendance">
                                                                                                                                                                                                                                                                                                  +  <h4 class="summary-title" i18n="Attendance summary title">
                                                                                                                                                                                                                                                                                                  +    Overall Attendance
                                                                                                                                                                                                                                                                                                  +  </h4>
                                                                                                                                                                                                                                                                                                  +  <p class="summary-period">
                                                                                                                                                                                                                                                                                                  +    {{ attendance.periodFrom | date: "shortDate" }} -
                                                                                                                                                                                                                                                                                                  +    {{ attendance.periodTo | date: "shortDate" }}
                                                                                                                                                                                                                                                                                                  +  </p>
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +  <table class="summary-table">
                                                                                                                                                                                                                                                                                                  +    <tr *ngFor="let col of _columns" class="summary-row">
                                                                                                                                                                                                                                                                                                  +      <td class="padding-small">{{ col.label }}:</td>
                                                                                                                                                                                                                                                                                                  +      <td class="summary-cell">
                                                                                                                                                                                                                                                                                                  +        <ng-container
                                                                                                                                                                                                                                                                                                  +          [appDynamicComponent]="{
                                                                                                                                                                                                                                                                                                  +            component: col.viewComponent,
                                                                                                                                                                                                                                                                                                  +            config: {
                                                                                                                                                                                                                                                                                                  +              id: col.id,
                                                                                                                                                                                                                                                                                                  +              entity: attendance,
                                                                                                                                                                                                                                                                                                  +              config: col.additional,
                                                                                                                                                                                                                                                                                                  +            },
                                                                                                                                                                                                                                                                                                  +          }"
                                                                                                                                                                                                                                                                                                  +        ></ng-container>
                                                                                                                                                                                                                                                                                                  +      </td>
                                                                                                                                                                                                                                                                                                  +    </tr>
                                                                                                                                                                                                                                                                                                  +  </table>
                                                                                                                                                                                                                                                                                                  +</ng-container>
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  + ./attendance-summary.component.scss +

                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  @use "sass:map";
                                                                                                                                                                                                                                                                                                  +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                  +@use "variables/colors";
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +.summary-title {
                                                                                                                                                                                                                                                                                                  +  margin-bottom: 0.25em;
                                                                                                                                                                                                                                                                                                  +  font-size: 150%;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +.summary-period {
                                                                                                                                                                                                                                                                                                  +  color: colors.$hint-text;
                                                                                                                                                                                                                                                                                                  +  font-size: 110%;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +.summary-table {
                                                                                                                                                                                                                                                                                                  +  border-spacing: 0 sizes.$small;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +.summary-row {
                                                                                                                                                                                                                                                                                                  +  background-color: colors.$grey-transparent;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +.summary-cell {
                                                                                                                                                                                                                                                                                                  +  font-size: 150%;
                                                                                                                                                                                                                                                                                                  +  text-align: right;
                                                                                                                                                                                                                                                                                                  +  padding: sizes.$small;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +:host {
                                                                                                                                                                                                                                                                                                  +  display: block;
                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/AttendanceWeekDashboardComponent.html b/documentation/components/AttendanceWeekDashboardComponent.html new file mode 100644 index 0000000000..787db8829f --- /dev/null +++ b/documentation/components/AttendanceWeekDashboardComponent.html @@ -0,0 +1,1033 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-week-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    + DashboardWidget +

                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    +constructor(attendanceService: AttendanceService, router: Router) +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                    attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                                    router + Router + + No +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + absentWarningThreshold +
                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                    + Default value : 1 +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    Only participants who were absent more than this threshold are counted and shown in the dashboard.

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    The default is 1. +That means if someone was absent two or more days within a specific activity in the given week +the person will be counted and displayed as a critical case in this dashboard widget.

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + attendanceStatusType +
                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    The special attendance status type for which this widget should filter.

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    (Optional) If this is not set, all status types that are counted as logically "ABSENT" are considered.

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + daysOffset +
                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                    + Default value : 0 +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    The offset from the default time period, which is the last complete week.

                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    For example: +If you set the offset of 0, the widget displays attendance for the last completed week (i.e. ending last Saturday). +If you set the offset to 7 and today is Thursday, the widget displays attendance from the Monday 3 days ago +(i.e. the current running week).

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + label +
                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    description displayed to users for what this widget is analysing +e.g. "Absences this week"

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + periodLabel +
                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                    + + getRequiredEntities() +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Defined in DashboardWidget:45 +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + + goToChild + + +
                                                                                                                                                                                                                                                                                                    +goToChild(childId: string) +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                    childId + string + + No +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    + + + entries + + +
                                                                                                                                                                                                                                                                                                    + Type : AttendanceWeekRow[][] + +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                    +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                    +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                    +import { AttendanceLogicalStatus } from "../../model/attendance-status";
                                                                                                                                                                                                                                                                                                    +import { AttendanceService } from "../../attendance.service";
                                                                                                                                                                                                                                                                                                    +import { EventAttendance } from "../../model/event-attendance";
                                                                                                                                                                                                                                                                                                    +import { ActivityAttendance } from "../../model/activity-attendance";
                                                                                                                                                                                                                                                                                                    +import { RecurringActivity } from "../../model/recurring-activity";
                                                                                                                                                                                                                                                                                                    +import moment, { Moment } from "moment";
                                                                                                                                                                                                                                                                                                    +import { groupBy } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                    +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                    +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                    +import { AttendanceDayBlockComponent } from "./attendance-day-block/attendance-day-block.component";
                                                                                                                                                                                                                                                                                                    +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                    +import { EventNote } from "../../model/event-note";
                                                                                                                                                                                                                                                                                                    +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +interface AttendanceWeekRow {
                                                                                                                                                                                                                                                                                                    +  childId: string;
                                                                                                                                                                                                                                                                                                    +  activity: RecurringActivity;
                                                                                                                                                                                                                                                                                                    +  attendanceDays: (EventAttendance | undefined)[];
                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +@DynamicComponent("AttendanceWeekDashboard")
                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                    +  selector: "app-attendance-week-dashboard",
                                                                                                                                                                                                                                                                                                    +  templateUrl: "./attendance-week-dashboard.component.html",
                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./attendance-week-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                    +    MatTableModule,
                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                    +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                    +    AttendanceDayBlockComponent,
                                                                                                                                                                                                                                                                                                    +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                    +export class AttendanceWeekDashboardComponent
                                                                                                                                                                                                                                                                                                    +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                    +  implements OnInit
                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                    +  static getRequiredEntities() {
                                                                                                                                                                                                                                                                                                    +    return EventNote.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                    +   * The offset from the default time period, which is the last complete week.
                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                    +   * For example:
                                                                                                                                                                                                                                                                                                    +   * If you set the offset of 0, the widget displays attendance for the last completed week (i.e. ending last Saturday).
                                                                                                                                                                                                                                                                                                    +   * If you set the offset to 7 and today is Thursday, the widget displays attendance from the Monday 3 days ago
                                                                                                                                                                                                                                                                                                    +   * (i.e. the current running week).
                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                    +  @Input() daysOffset = 0;
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                    +   * description displayed to users for what this widget is analysing
                                                                                                                                                                                                                                                                                                    +   * e.g. "Absences this week"
                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                    +  @Input() label: string;
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  @Input() periodLabel: string;
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                    +   * Only participants who were absent more than this threshold are counted and shown in the dashboard.
                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                    +   * The default is 1.
                                                                                                                                                                                                                                                                                                    +   * That means if someone was absent two or more days within a specific activity in the given week
                                                                                                                                                                                                                                                                                                    +   * the person will be counted and displayed as a critical case in this dashboard widget.
                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                    +  @Input() absentWarningThreshold: number = 1;
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                    +   * The special attendance status type for which this widget should filter.
                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                    +   * (Optional) If this is not set, all status types that are counted as logically "ABSENT" are considered.
                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                    +  @Input() attendanceStatusType: string;
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  entries: AttendanceWeekRow[][];
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                    +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                    +    private router: Router,
                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                    +    super();
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                                                                    +    if (this.periodLabel && !this.label) {
                                                                                                                                                                                                                                                                                                    +      this.label = $localize`:Dashboard attendance component subtitle:Absences ${this.periodLabel}`;
                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                    +    return this.loadAttendanceOfAbsentees();
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  private async loadAttendanceOfAbsentees() {
                                                                                                                                                                                                                                                                                                    +    const previousMonday = moment()
                                                                                                                                                                                                                                                                                                    +      .startOf("isoWeek")
                                                                                                                                                                                                                                                                                                    +      .subtract(1, "week")
                                                                                                                                                                                                                                                                                                    +      .add(this.daysOffset, "days");
                                                                                                                                                                                                                                                                                                    +    const previousSaturday = moment(previousMonday).add(5, "days");
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    const activityAttendances =
                                                                                                                                                                                                                                                                                                    +      await this.attendanceService.getAllActivityAttendancesForPeriod(
                                                                                                                                                                                                                                                                                                    +        previousMonday.toDate(),
                                                                                                                                                                                                                                                                                                    +        previousSaturday.toDate(),
                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                    +    const lowAttendanceCases = new Set<string>();
                                                                                                                                                                                                                                                                                                    +    const records: AttendanceWeekRow[] = [];
                                                                                                                                                                                                                                                                                                    +    for (const att of activityAttendances) {
                                                                                                                                                                                                                                                                                                    +      const rows = this.generateRowsFromActivityAttendance(
                                                                                                                                                                                                                                                                                                    +        att,
                                                                                                                                                                                                                                                                                                    +        moment(previousMonday),
                                                                                                                                                                                                                                                                                                    +        moment(previousSaturday),
                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                    +      records.push(...rows);
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +      rows
                                                                                                                                                                                                                                                                                                    +        .filter((r) => this.filterLowAttendance(r))
                                                                                                                                                                                                                                                                                                    +        .forEach((r) => lowAttendanceCases.add(r.childId));
                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    const groups = groupBy(records, "childId");
                                                                                                                                                                                                                                                                                                    +    this.entries = groups
                                                                                                                                                                                                                                                                                                    +      .filter(([childId]) => lowAttendanceCases.has(childId))
                                                                                                                                                                                                                                                                                                    +      .map(([_, attendance]) => attendance);
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  private generateRowsFromActivityAttendance(
                                                                                                                                                                                                                                                                                                    +    att: ActivityAttendance,
                                                                                                                                                                                                                                                                                                    +    from: Moment,
                                                                                                                                                                                                                                                                                                    +    to: Moment,
                                                                                                                                                                                                                                                                                                    +  ): AttendanceWeekRow[] {
                                                                                                                                                                                                                                                                                                    +    if (!att.activity) {
                                                                                                                                                                                                                                                                                                    +      return [];
                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    const results: AttendanceWeekRow[] = [];
                                                                                                                                                                                                                                                                                                    +    for (const participant of att.activity.participants) {
                                                                                                                                                                                                                                                                                                    +      const eventAttendances = [];
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +      let day = moment(from);
                                                                                                                                                                                                                                                                                                    +      while (day.isSameOrBefore(to, "day")) {
                                                                                                                                                                                                                                                                                                    +        const event = att.events.find((e) => day.isSame(e.date, "day"));
                                                                                                                                                                                                                                                                                                    +        if (event) {
                                                                                                                                                                                                                                                                                                    +          eventAttendances.push(event.getAttendance(participant));
                                                                                                                                                                                                                                                                                                    +        } else {
                                                                                                                                                                                                                                                                                                    +          // put a "placeholder" into the array for the current day
                                                                                                                                                                                                                                                                                                    +          eventAttendances.push(undefined);
                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                    +        day = day.add(1, "day");
                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +      results.push({
                                                                                                                                                                                                                                                                                                    +        childId: participant,
                                                                                                                                                                                                                                                                                                    +        activity: att.activity,
                                                                                                                                                                                                                                                                                                    +        attendanceDays: eventAttendances,
                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    return results;
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  private filterLowAttendance(row: AttendanceWeekRow): boolean {
                                                                                                                                                                                                                                                                                                    +    let countAbsences = 0;
                                                                                                                                                                                                                                                                                                    +    if (!this.attendanceStatusType) {
                                                                                                                                                                                                                                                                                                    +      countAbsences = row.attendanceDays.filter(
                                                                                                                                                                                                                                                                                                    +        (e) => e?.status?.countAs === AttendanceLogicalStatus.ABSENT,
                                                                                                                                                                                                                                                                                                    +      ).length;
                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                    +      countAbsences = row.attendanceDays.filter(
                                                                                                                                                                                                                                                                                                    +        (e) => e?.status?.id === this.attendanceStatusType,
                                                                                                                                                                                                                                                                                                    +      ).length;
                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    return countAbsences > this.absentWarningThreshold;
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +  goToChild(childId: string) {
                                                                                                                                                                                                                                                                                                    +    this.router.navigate([Child.route, childId]);
                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                    +  icon="exclamation-triangle"
                                                                                                                                                                                                                                                                                                    +  theme="attendance"
                                                                                                                                                                                                                                                                                                    +  [subtitle]="label"
                                                                                                                                                                                                                                                                                                    +  explanation="Cases absent multiple times in the given week"
                                                                                                                                                                                                                                                                                                    +  i18n-explanation="Dashboard attendance component explanation tooltip"
                                                                                                                                                                                                                                                                                                    +  [entries]="entries"
                                                                                                                                                                                                                                                                                                    +>
                                                                                                                                                                                                                                                                                                    +  <div class="table-wrapper">
                                                                                                                                                                                                                                                                                                    +    <table mat-table i18n-aria-label aria-label="cases absent multiple times">
                                                                                                                                                                                                                                                                                                    +      <!-- Table header only for assistive technologies like screen readers -->
                                                                                                                                                                                                                                                                                                    +      <tr hidden="true">
                                                                                                                                                                                                                                                                                                    +        <th scope="col" i18n="The participant of a group, e.g. a school">
                                                                                                                                                                                                                                                                                                    +          Participant
                                                                                                                                                                                                                                                                                                    +        </th>
                                                                                                                                                                                                                                                                                                    +        <th scope="col" i18n="The attendance of a participant, e.g. a student">
                                                                                                                                                                                                                                                                                                    +          Attendance
                                                                                                                                                                                                                                                                                                    +        </th>
                                                                                                                                                                                                                                                                                                    +      </tr>
                                                                                                                                                                                                                                                                                                    +      <ng-container matColumnDef="child">
                                                                                                                                                                                                                                                                                                    +        <td
                                                                                                                                                                                                                                                                                                    +          *matCellDef="let rowGroup"
                                                                                                                                                                                                                                                                                                    +          (click)="goToChild(rowGroup[0].childId)"
                                                                                                                                                                                                                                                                                                    +          class="pointer"
                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                    +          <app-entity-block
                                                                                                                                                                                                                                                                                                    +            [entityId]="rowGroup[0].childId"
                                                                                                                                                                                                                                                                                                    +            entityType="Child"
                                                                                                                                                                                                                                                                                                    +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                    +        </td>
                                                                                                                                                                                                                                                                                                    +      </ng-container>
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +      <ng-container matColumnDef="attendance">
                                                                                                                                                                                                                                                                                                    +        <td *matCellDef="let rowGroup">
                                                                                                                                                                                                                                                                                                    +          <div
                                                                                                                                                                                                                                                                                                    +            *ngFor="let activityRecord of rowGroup"
                                                                                                                                                                                                                                                                                                    +            class="activities-record"
                                                                                                                                                                                                                                                                                                    +          >
                                                                                                                                                                                                                                                                                                    +            <ng-container *ngFor="let day of activityRecord.attendanceDays">
                                                                                                                                                                                                                                                                                                    +              <app-attendance-day-block
                                                                                                                                                                                                                                                                                                    +                [attendance]="day"
                                                                                                                                                                                                                                                                                                    +              ></app-attendance-day-block>
                                                                                                                                                                                                                                                                                                    +            </ng-container>
                                                                                                                                                                                                                                                                                                    +          </div>
                                                                                                                                                                                                                                                                                                    +        </td>
                                                                                                                                                                                                                                                                                                    +      </ng-container>
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +      <tr mat-row *matRowDef="let row; columns: ['child', 'attendance']"></tr>
                                                                                                                                                                                                                                                                                                    +    </table>
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +    <div
                                                                                                                                                                                                                                                                                                    +      *ngIf="entries?.length === 0"
                                                                                                                                                                                                                                                                                                    +      i18n="Placeholder if no absences are visible in dashboar"
                                                                                                                                                                                                                                                                                                    +      class="headline"
                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                    +      no absences recorded
                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                    +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    + ./attendance-week-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +/* Lays out the single day components */
                                                                                                                                                                                                                                                                                                    +.activities-record {
                                                                                                                                                                                                                                                                                                    +  display: flex;
                                                                                                                                                                                                                                                                                                    +  flex-direction: row;
                                                                                                                                                                                                                                                                                                    +  gap: 3px;
                                                                                                                                                                                                                                                                                                    +  /* puts the whole component to the end */
                                                                                                                                                                                                                                                                                                    +  justify-content: flex-end;
                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/BackgroundProcessingIndicatorComponent.html b/documentation/components/BackgroundProcessingIndicatorComponent.html new file mode 100644 index 0000000000..f3269da932 --- /dev/null +++ b/documentation/components/BackgroundProcessingIndicatorComponent.html @@ -0,0 +1,806 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      + src/app/core/ui/sync-status/background-processing-indicator/background-processing-indicator.component.ts +

                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      A dumb component handling presentation of the sync indicator icon +and an additional details dropdown listing all currently running background processes.

                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + backgroundProcesses +
                                                                                                                                                                                                                                                                                                      + Type : Observable<BackgroundProcessState[]> + +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      details on current background processes to be displayed to user

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + summarize +
                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                      + Default value : true +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      whether processes of with the same title shall be summarized into one line

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + + allTasksFinished + + +
                                                                                                                                                                                                                                                                                                      + Type : Observable<boolean> + +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + + filteredProcesses + + +
                                                                                                                                                                                                                                                                                                      + Type : Observable<BackgroundProcessState[]> + +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + + taskCounterObservable + + +
                                                                                                                                                                                                                                                                                                      + Type : Observable<number> + +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + + + taskListDropdownTrigger + + +
                                                                                                                                                                                                                                                                                                      + Type : MatMenuTrigger + +
                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                      + + @ViewChild(MatMenuTrigger)
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      handle to programmatically open/close the details dropdown

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      + + + wasClosed + + +
                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                      + Default value : false +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      import { Component, Input, OnInit, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                      +import { MatMenuModule, MatMenuTrigger } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                      +import { BackgroundProcessState } from "../background-process-state.interface";
                                                                                                                                                                                                                                                                                                      +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                      +import { map, startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                      +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                      +import { MatBadgeModule } from "@angular/material/badge";
                                                                                                                                                                                                                                                                                                      +import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                      +import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                      + * A dumb component handling presentation of the sync indicator icon
                                                                                                                                                                                                                                                                                                      + * and an additional details dropdown listing all currently running background processes.
                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                      +@UntilDestroy()
                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                      +  selector: "app-background-processing-indicator",
                                                                                                                                                                                                                                                                                                      +  templateUrl: "./background-processing-indicator.component.html",
                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./background-processing-indicator.component.scss"],
                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                      +    MatBadgeModule,
                                                                                                                                                                                                                                                                                                      +    MatMenuModule,
                                                                                                                                                                                                                                                                                                      +    AsyncPipe,
                                                                                                                                                                                                                                                                                                      +    NgForOf,
                                                                                                                                                                                                                                                                                                      +    MatProgressSpinnerModule,
                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                      +export class BackgroundProcessingIndicatorComponent implements OnInit {
                                                                                                                                                                                                                                                                                                      +  /** details on current background processes to be displayed to user */
                                                                                                                                                                                                                                                                                                      +  @Input() backgroundProcesses: Observable<BackgroundProcessState[]>;
                                                                                                                                                                                                                                                                                                      +  filteredProcesses: Observable<BackgroundProcessState[]>;
                                                                                                                                                                                                                                                                                                      +  taskCounterObservable: Observable<number>;
                                                                                                                                                                                                                                                                                                      +  allTasksFinished: Observable<boolean>;
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +  /** whether processes of with the same title shall be summarized into one line */
                                                                                                                                                                                                                                                                                                      +  @Input() summarize: boolean = true;
                                                                                                                                                                                                                                                                                                      +  wasClosed: boolean = false;
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +  /** handle to programmatically open/close the details dropdown */
                                                                                                                                                                                                                                                                                                      +  @ViewChild(MatMenuTrigger) taskListDropdownTrigger: MatMenuTrigger;
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                      +    this.filteredProcesses = this.backgroundProcesses.pipe(
                                                                                                                                                                                                                                                                                                      +      map((processes) => this.summarizeProcesses(processes)),
                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                      +    this.taskCounterObservable = this.filteredProcesses.pipe(
                                                                                                                                                                                                                                                                                                      +      map((processes) => processes.filter((p) => p.pending).length),
                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                      +    this.allTasksFinished = this.taskCounterObservable.pipe(
                                                                                                                                                                                                                                                                                                      +      startWith(0),
                                                                                                                                                                                                                                                                                                      +      map((tc) => tc === 0),
                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                      +    this.taskCounterObservable
                                                                                                                                                                                                                                                                                                      +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                      +      .subscribe((amount) => {
                                                                                                                                                                                                                                                                                                      +        if (amount === 0) {
                                                                                                                                                                                                                                                                                                      +          this.taskListDropdownTrigger.closeMenu();
                                                                                                                                                                                                                                                                                                      +        } else {
                                                                                                                                                                                                                                                                                                      +          if (!this.wasClosed) {
                                                                                                                                                                                                                                                                                                      +            // need to wait for change cycle that shows sync button
                                                                                                                                                                                                                                                                                                      +            setTimeout(() => this.taskListDropdownTrigger.openMenu());
                                                                                                                                                                                                                                                                                                      +          }
                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                      +      });
                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +  private combineProcesses(
                                                                                                                                                                                                                                                                                                      +    first: BackgroundProcessState,
                                                                                                                                                                                                                                                                                                      +    second: BackgroundProcessState,
                                                                                                                                                                                                                                                                                                      +  ): BackgroundProcessState {
                                                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                                                      +      title: first.title,
                                                                                                                                                                                                                                                                                                      +      pending: first.pending || second.pending,
                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +  private summarizeProcesses(
                                                                                                                                                                                                                                                                                                      +    processes: BackgroundProcessState[],
                                                                                                                                                                                                                                                                                                      +  ): BackgroundProcessState[] {
                                                                                                                                                                                                                                                                                                      +    if (!this.summarize) {
                                                                                                                                                                                                                                                                                                      +      return processes;
                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                      +    const accumulator: BackgroundProcessState[] = [];
                                                                                                                                                                                                                                                                                                      +    for (const process of processes) {
                                                                                                                                                                                                                                                                                                      +      const summaryEntry = accumulator.findIndex(
                                                                                                                                                                                                                                                                                                      +        (i) => i.title === process.title,
                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                      +      if (summaryEntry === -1) {
                                                                                                                                                                                                                                                                                                      +        accumulator.push(process);
                                                                                                                                                                                                                                                                                                      +      } else {
                                                                                                                                                                                                                                                                                                      +        accumulator[summaryEntry] = this.combineProcesses(
                                                                                                                                                                                                                                                                                                      +          accumulator[summaryEntry],
                                                                                                                                                                                                                                                                                                      +          process,
                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                      +    return accumulator;
                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      <button
                                                                                                                                                                                                                                                                                                      +  mat-icon-button
                                                                                                                                                                                                                                                                                                      +  class="white"
                                                                                                                                                                                                                                                                                                      +  [hidden]="allTasksFinished | async"
                                                                                                                                                                                                                                                                                                      +  [matMenuTriggerFor]="taskListDropdown"
                                                                                                                                                                                                                                                                                                      +  (menuClosed)="wasClosed = true"
                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                      +  <span
                                                                                                                                                                                                                                                                                                      +    [matBadge]="taskCounterObservable | async"
                                                                                                                                                                                                                                                                                                      +    matBadgeColor="accent"
                                                                                                                                                                                                                                                                                                      +    [matBadgeHidden]="allTasksFinished | async"
                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                      +    <fa-icon class="white" icon="sync"></fa-icon>
                                                                                                                                                                                                                                                                                                      +  </span>
                                                                                                                                                                                                                                                                                                      +</button>
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +<mat-menu #taskListDropdown="matMenu">
                                                                                                                                                                                                                                                                                                      +  <div class="padding-left-regular padding-right-regular">
                                                                                                                                                                                                                                                                                                      +    <div i18n class="details-header">
                                                                                                                                                                                                                                                                                                      +      The following processes are still running in the background. Until these
                                                                                                                                                                                                                                                                                                      +      are finished some pages may be slow or incomplete.
                                                                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +    <div
                                                                                                                                                                                                                                                                                                      +      *ngFor="let process of filteredProcesses | async"
                                                                                                                                                                                                                                                                                                      +      class="flex-row gap-small align-center mat-subtitle-2 details-line"
                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                      +      <div>
                                                                                                                                                                                                                                                                                                      +        <mat-spinner *ngIf="process.pending" [diameter]="20"></mat-spinner>
                                                                                                                                                                                                                                                                                                      +        <fa-icon
                                                                                                                                                                                                                                                                                                      +          *ngIf="!process.pending"
                                                                                                                                                                                                                                                                                                      +          icon="check"
                                                                                                                                                                                                                                                                                                      +          class="process-checkmark"
                                                                                                                                                                                                                                                                                                      +        ></fa-icon>
                                                                                                                                                                                                                                                                                                      +      </div>
                                                                                                                                                                                                                                                                                                      +      <div class="truncate-text" [matTooltip]="process.description">
                                                                                                                                                                                                                                                                                                      +        {{ process.title }}
                                                                                                                                                                                                                                                                                                      +        <span *ngIf="process.details">({{ process.details }})</span>
                                                                                                                                                                                                                                                                                                      +      </div>
                                                                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                                                                                      +      class="full-width"
                                                                                                                                                                                                                                                                                                      +      (click)="taskListDropdownTrigger.closeMenu()"
                                                                                                                                                                                                                                                                                                      +      i18n="Hide sync details"
                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                      +      Continue in background
                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                      +</mat-menu>
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      + ./background-processing-indicator.component.scss +

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      .details-header {
                                                                                                                                                                                                                                                                                                      +  font-size: small;
                                                                                                                                                                                                                                                                                                      +  text-align: justify;
                                                                                                                                                                                                                                                                                                      +  line-height: normal;
                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +.process-checkmark {
                                                                                                                                                                                                                                                                                                      +  color: green;
                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +.details-line {
                                                                                                                                                                                                                                                                                                      +  line-height: 32px;
                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +[hidden] {
                                                                                                                                                                                                                                                                                                      +  /* for some reason when `display: none` is set (instead of visibility and width), the pop-down menu is positioned incorrectly */
                                                                                                                                                                                                                                                                                                      +  visibility: hidden !important;
                                                                                                                                                                                                                                                                                                      +  width: 0;
                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/BasicAutocompleteComponent.html b/documentation/components/BasicAutocompleteComponent.html new file mode 100644 index 0000000000..44e6c31040 --- /dev/null +++ b/documentation/components/BasicAutocompleteComponent.html @@ -0,0 +1,3662 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        + src/app/core/common-components/basic-autocomplete/basic-autocomplete.component.ts +

                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Custom MatFormFieldControl for any select / dropdown field.

                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        + CustomFormControlDirective +

                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        + OnChanges + OnInit +

                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        HostBindings
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                        • + id +
                                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Accessors
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +constructor(elementRef: ElementRef, errorStateMatcher: ErrorStateMatcher, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        elementRef + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                        errorStateMatcher + ErrorStateMatcher + + No +
                                                                                                                                                                                                                                                                                                        ngControl + NgControl + + No +
                                                                                                                                                                                                                                                                                                        parentForm + NgForm + + No +
                                                                                                                                                                                                                                                                                                        parentFormGroup + FormGroupDirective + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + createOption +
                                                                                                                                                                                                                                                                                                        + Type : function + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + display +
                                                                                                                                                                                                                                                                                                        + Type : "text" | "chips" | "none" + +
                                                                                                                                                                                                                                                                                                        + Default value : "text" +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Display the selected items as simple text, as chips or not at all (if used in combination with another component)

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + hideOption +
                                                                                                                                                                                                                                                                                                        + Type : function + +
                                                                                                                                                                                                                                                                                                        + Default value : () => false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + multi +
                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Whether the user should be able to select multiple values.

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + options +
                                                                                                                                                                                                                                                                                                        + Type : O[] + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + optionToString +
                                                                                                                                                                                                                                                                                                        + Type : (option: O) => any + +
                                                                                                                                                                                                                                                                                                        + Default value : (option: O) => option?.toString() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + reorder +
                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + valueMapper +
                                                                                                                                                                                                                                                                                                        + Type : (option: O) => V + +
                                                                                                                                                                                                                                                                                                        + Default value : (option: O) => option as unknown as V +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + aria-describedby +
                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + disabled +
                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + placeholder +
                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + required +
                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + value +
                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + autocompleteFilterChange +
                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        HostBindings

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + id + + +
                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                        + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Async + createNewOption + + +
                                                                                                                                                                                                                                                                                                        + + createNewOption(option: string) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        option + string + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + drop + + +
                                                                                                                                                                                                                                                                                                        +drop(event: CdkDragDrop) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        event + CdkDragDrop<any[]> + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + onContainerClick + + +
                                                                                                                                                                                                                                                                                                        +onContainerClick(event: MouseEvent) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        event + MouseEvent + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + onFocusOut + + +
                                                                                                                                                                                                                                                                                                        +onFocusOut(event: FocusEvent) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        event + FocusEvent + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + select + + +
                                                                                                                                                                                                                                                                                                        +select(selected: string | SelectableOption<O | V>) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        selected + string | SelectableOption<O | V> + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + showAutocomplete + + +
                                                                                                                                                                                                                                                                                                        +showAutocomplete(valueToRevertTo?: string) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        valueToRevertTo + string + + Yes +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + unselect + + +
                                                                                                                                                                                                                                                                                                        +unselect(option: SelectableOption<O | V>) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        option + SelectableOption<O | V> + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + writeValue + + +
                                                                                                                                                                                                                                                                                                        +writeValue(val: V[] | V) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        val + V[] | V + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + blur + + +
                                                                                                                                                                                                                                                                                                        +blur() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + focus + + +
                                                                                                                                                                                                                                                                                                        +focus() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + registerOnChange + + +
                                                                                                                                                                                                                                                                                                        +registerOnChange(fn: any) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        fn + any + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + registerOnTouched + + +
                                                                                                                                                                                                                                                                                                        +registerOnTouched(fn: any) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        fn + any + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + setDescribedByIds + + +
                                                                                                                                                                                                                                                                                                        +setDescribedByIds(ids: string[]) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        ids + string[] + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + setDisabledState + + +
                                                                                                                                                                                                                                                                                                        +setDisabledState(isDisabled: boolean) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        isDisabled + boolean + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + _selectedOptions + + +
                                                                                                                                                                                                                                                                                                        + Type : SelectableOption<O, V>[] + +
                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + + autocomplete + + +
                                                                                                                                                                                                                                                                                                        + Type : MatAutocompleteTrigger + +
                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                        + + @ViewChild(MatAutocompleteTrigger)
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + autocompleteFilterFunction + + +
                                                                                                                                                                                                                                                                                                        + Type : function + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + autocompleteForm + + +
                                                                                                                                                                                                                                                                                                        + Default value : new FormControl("") +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + autocompleteOptions + + +
                                                                                                                                                                                                                                                                                                        + Type : SelectableOption<O, V>[] + +
                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        Whether the user can manually drag & drop to reorder the selected items

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + autocompleteSuggestedOptions + + +
                                                                                                                                                                                                                                                                                                        + Default value : this.autocompleteForm.valueChanges.pipe( + filter((val) => typeof val === "string"), + map((val) => this.updateAutocomplete(val)), + startWith([] as SelectableOption<O, V>[]), + ) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + + inputElement + + +
                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                        + + @ViewChild(MatInput, {static: true})
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + retainSearchValue + + +
                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + showAddOption + + +
                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        whether the "add new" option is logically allowed in the current context (e.g. not creating a duplicate)

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + + templateRef + + +
                                                                                                                                                                                                                                                                                                        + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                        + + @ContentChild(TemplateRef)
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + + virtualScrollViewport + + +
                                                                                                                                                                                                                                                                                                        + Type : CdkVirtualScrollViewport + +
                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                        + + @ViewChild(CdkVirtualScrollViewport)
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + _disabled + + +
                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + _value + + +
                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + controlType + + +
                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                        + Default value : "custom-control" +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Public + elementRef + + +
                                                                                                                                                                                                                                                                                                        + Type : ElementRef<HTMLElement> + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + errorState + + +
                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Public + errorStateMatcher + + +
                                                                                                                                                                                                                                                                                                        + Type : ErrorStateMatcher + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + focused + + +
                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + + id + + +
                                                                                                                                                                                                                                                                                                        + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                        + + @HostBinding()
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Static + nextId + + +
                                                                                                                                                                                                                                                                                                        + Type : number + +
                                                                                                                                                                                                                                                                                                        + Default value : 0 +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Public + ngControl + + +
                                                                                                                                                                                                                                                                                                        + Type : NgControl + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + onChange + + +
                                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + onTouched + + +
                                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Public + parentForm + + +
                                                                                                                                                                                                                                                                                                        + Type : NgForm + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + Public + parentFormGroup + + +
                                                                                                                                                                                                                                                                                                        + Type : FormGroupDirective + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + stateChanges + + +
                                                                                                                                                                                                                                                                                                        + Default value : new Subject<void>() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + + touched + + +
                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        + Accessors +

                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + displayText +
                                                                                                                                                                                                                                                                                                        + getdisplayText() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + disabled +
                                                                                                                                                                                                                                                                                                        + getdisabled() +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + setdisabled(value: boolean) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        value + boolean + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        + + options +
                                                                                                                                                                                                                                                                                                        + setoptions(options: O[]) +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                        options + O[] + + No +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                                        +  ContentChild,
                                                                                                                                                                                                                                                                                                        +  ElementRef,
                                                                                                                                                                                                                                                                                                        +  EventEmitter,
                                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                                        +  OnChanges,
                                                                                                                                                                                                                                                                                                        +  Optional,
                                                                                                                                                                                                                                                                                                        +  Output,
                                                                                                                                                                                                                                                                                                        +  Self,
                                                                                                                                                                                                                                                                                                        +  TemplateRef,
                                                                                                                                                                                                                                                                                                        +  ViewChild,
                                                                                                                                                                                                                                                                                                        +  OnInit,
                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                        +import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                        +import { MatFormFieldControl } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                        +  FormControl,
                                                                                                                                                                                                                                                                                                        +  FormGroupDirective,
                                                                                                                                                                                                                                                                                                        +  NgControl,
                                                                                                                                                                                                                                                                                                        +  NgForm,
                                                                                                                                                                                                                                                                                                        +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                        +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                        +import { MatInput, MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                        +  MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                        +  MatAutocompleteTrigger,
                                                                                                                                                                                                                                                                                                        +} from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                                                                        +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                        +import { filter, map, startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                        +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                        +import { CustomFormControlDirective } from "./custom-form-control.directive";
                                                                                                                                                                                                                                                                                                        +import { coerceBooleanProperty } from "@angular/cdk/coercion";
                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                        +  MatChipGrid,
                                                                                                                                                                                                                                                                                                        +  MatChipInput,
                                                                                                                                                                                                                                                                                                        +  MatChipRemove,
                                                                                                                                                                                                                                                                                                        +  MatChipRow,
                                                                                                                                                                                                                                                                                                        +} from "@angular/material/chips";
                                                                                                                                                                                                                                                                                                        +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                        +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                        +import { MatIcon } from "@angular/material/icon";
                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                        +  CdkDragDrop,
                                                                                                                                                                                                                                                                                                        +  DragDropModule,
                                                                                                                                                                                                                                                                                                        +  moveItemInArray,
                                                                                                                                                                                                                                                                                                        +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                        +  CdkFixedSizeVirtualScroll,
                                                                                                                                                                                                                                                                                                        +  CdkVirtualForOf,
                                                                                                                                                                                                                                                                                                        +  CdkVirtualScrollViewport,
                                                                                                                                                                                                                                                                                                        +} from "@angular/cdk/scrolling";
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +interface SelectableOption<O, V> {
                                                                                                                                                                                                                                                                                                        +  initial: O;
                                                                                                                                                                                                                                                                                                        +  asString: string;
                                                                                                                                                                                                                                                                                                        +  asValue: V;
                                                                                                                                                                                                                                                                                                        +  selected: boolean;
                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +/** Custom `MatFormFieldControl` for any select / dropdown field. */
                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                        +  selector: "app-basic-autocomplete",
                                                                                                                                                                                                                                                                                                        +  templateUrl: "basic-autocomplete.component.html",
                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./basic-autocomplete.component.scss"],
                                                                                                                                                                                                                                                                                                        +  providers: [
                                                                                                                                                                                                                                                                                                        +    { provide: MatFormFieldControl, useExisting: BasicAutocompleteComponent },
                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                        +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                        +    MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                        +    NgForOf,
                                                                                                                                                                                                                                                                                                        +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                        +    AsyncPipe,
                                                                                                                                                                                                                                                                                                        +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                        +    MatChipInput,
                                                                                                                                                                                                                                                                                                        +    MatChipGrid,
                                                                                                                                                                                                                                                                                                        +    MatChipRow,
                                                                                                                                                                                                                                                                                                        +    FaIconComponent,
                                                                                                                                                                                                                                                                                                        +    MatTooltip,
                                                                                                                                                                                                                                                                                                        +    MatIcon,
                                                                                                                                                                                                                                                                                                        +    MatChipRemove,
                                                                                                                                                                                                                                                                                                        +    DragDropModule,
                                                                                                                                                                                                                                                                                                        +    CdkVirtualScrollViewport,
                                                                                                                                                                                                                                                                                                        +    CdkVirtualForOf,
                                                                                                                                                                                                                                                                                                        +    CdkFixedSizeVirtualScroll,
                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                        +export class BasicAutocompleteComponent<O, V = O>
                                                                                                                                                                                                                                                                                                        +  extends CustomFormControlDirective<V | V[]>
                                                                                                                                                                                                                                                                                                        +  implements OnChanges, OnInit
                                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                                        +  @ContentChild(TemplateRef) templateRef: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                        +  // `_elementRef` is protected in `MapInput`
                                                                                                                                                                                                                                                                                                        +  @ViewChild(MatInput, { static: true }) inputElement: MatInput & {
                                                                                                                                                                                                                                                                                                        +    _elementRef: ElementRef<HTMLElement>;
                                                                                                                                                                                                                                                                                                        +  };
                                                                                                                                                                                                                                                                                                        +  @ViewChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;
                                                                                                                                                                                                                                                                                                        +  @ViewChild(CdkVirtualScrollViewport)
                                                                                                                                                                                                                                                                                                        +  virtualScrollViewport: CdkVirtualScrollViewport;
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  @Input() valueMapper = (option: O) => option as unknown as V;
                                                                                                                                                                                                                                                                                                        +  @Input() optionToString = (option: O) => option?.toString();
                                                                                                                                                                                                                                                                                                        +  @Input() createOption: (input: string) => Promise<O>;
                                                                                                                                                                                                                                                                                                        +  @Input() hideOption: (option: O) => boolean = () => false;
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                        +   * Whether the user should be able to select multiple values.
                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                        +  @Input() multi?: boolean;
                                                                                                                                                                                                                                                                                                        +  @Input() reorder?: boolean;
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                        +   * Whether the user can manually drag & drop to reorder the selected items
                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  autocompleteOptions: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                        +  autocompleteForm = new FormControl("");
                                                                                                                                                                                                                                                                                                        +  autocompleteSuggestedOptions = this.autocompleteForm.valueChanges.pipe(
                                                                                                                                                                                                                                                                                                        +    filter((val) => typeof val === "string"),
                                                                                                                                                                                                                                                                                                        +    map((val) => this.updateAutocomplete(val)),
                                                                                                                                                                                                                                                                                                        +    startWith([] as SelectableOption<O, V>[]),
                                                                                                                                                                                                                                                                                                        +  );
                                                                                                                                                                                                                                                                                                        +  autocompleteFilterFunction: (option: O) => boolean;
                                                                                                                                                                                                                                                                                                        +  @Output() autocompleteFilterChange = new EventEmitter<(o: O) => boolean>();
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  /** whether the "add new" option is logically allowed in the current context (e.g. not creating a duplicate) */
                                                                                                                                                                                                                                                                                                        +  showAddOption = false;
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  get displayText() {
                                                                                                                                                                                                                                                                                                        +    const values: V[] = Array.isArray(this.value) ? this.value : [this.value];
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    return values
                                                                                                                                                                                                                                                                                                        +      .map((v) => this._options.find((o) => o.asValue === v)?.asString)
                                                                                                                                                                                                                                                                                                        +      .join(", ");
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  get disabled(): boolean {
                                                                                                                                                                                                                                                                                                        +    return this._disabled;
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  set disabled(value: boolean) {
                                                                                                                                                                                                                                                                                                        +    this._disabled = coerceBooleanProperty(value);
                                                                                                                                                                                                                                                                                                        +    this._disabled
                                                                                                                                                                                                                                                                                                        +      ? this.autocompleteForm.disable()
                                                                                                                                                                                                                                                                                                        +      : this.autocompleteForm.enable();
                                                                                                                                                                                                                                                                                                        +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  @Input() set options(options: O[]) {
                                                                                                                                                                                                                                                                                                        +    this._options = options.map((o) => this.toSelectableOption(o));
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +  retainSearchValue: string;
                                                                                                                                                                                                                                                                                                        +  private _options: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  _selectedOptions: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                        +   * Display the selected items as simple text, as chips or not at all (if used in combination with another component)
                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                        +  @Input() display: "text" | "chips" | "none" = "text";
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                        +    elementRef: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                        +    errorStateMatcher: ErrorStateMatcher,
                                                                                                                                                                                                                                                                                                        +    @Optional() @Self() ngControl: NgControl,
                                                                                                                                                                                                                                                                                                        +    @Optional() parentForm: NgForm,
                                                                                                                                                                                                                                                                                                        +    @Optional() parentFormGroup: FormGroupDirective,
                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                        +    super(
                                                                                                                                                                                                                                                                                                        +      elementRef,
                                                                                                                                                                                                                                                                                                        +      errorStateMatcher,
                                                                                                                                                                                                                                                                                                        +      ngControl,
                                                                                                                                                                                                                                                                                                        +      parentForm,
                                                                                                                                                                                                                                                                                                        +      parentFormGroup,
                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                        +    this.autocompleteSuggestedOptions.subscribe((options) => {
                                                                                                                                                                                                                                                                                                        +      this.autocompleteOptions = options;
                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                        +    // Subscribe to the valueChanges observable to print the input value
                                                                                                                                                                                                                                                                                                        +    this.autocompleteForm.valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                                                        +      if (typeof value === "string") {
                                                                                                                                                                                                                                                                                                        +        this.retainSearchValue = value;
                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  ngOnChanges(changes: { [key in keyof this]?: any }) {
                                                                                                                                                                                                                                                                                                        +    if (changes.valueMapper) {
                                                                                                                                                                                                                                                                                                        +      this._options.forEach(
                                                                                                                                                                                                                                                                                                        +        (opt) => (opt.asValue = this.valueMapper(opt.initial)),
                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    if (changes.optionToString) {
                                                                                                                                                                                                                                                                                                        +      this._options.forEach(
                                                                                                                                                                                                                                                                                                        +        (opt) => (opt.asString = this.optionToString(opt.initial)),
                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    if (changes.value || changes.options) {
                                                                                                                                                                                                                                                                                                        +      this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +      if (this.autocomplete?.panelOpen) {
                                                                                                                                                                                                                                                                                                        +        // if new options have been added, make sure to update the visible autocomplete options
                                                                                                                                                                                                                                                                                                        +        this.showAutocomplete(this.autocompleteForm.value);
                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  drop(event: CdkDragDrop<any[]>) {
                                                                                                                                                                                                                                                                                                        +    if (event.previousContainer === event.container) {
                                                                                                                                                                                                                                                                                                        +      moveItemInArray(
                                                                                                                                                                                                                                                                                                        +        this.autocompleteOptions,
                                                                                                                                                                                                                                                                                                        +        event.previousIndex,
                                                                                                                                                                                                                                                                                                        +        event.currentIndex,
                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    this._selectedOptions = this.autocompleteOptions.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                        +    if (this.multi) {
                                                                                                                                                                                                                                                                                                        +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      this.value = undefined;
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                        +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                        +    this.showAutocomplete(this.autocompleteForm.value);
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  showAutocomplete(valueToRevertTo?: string) {
                                                                                                                                                                                                                                                                                                        +    if (this.retainSearchValue) {
                                                                                                                                                                                                                                                                                                        +      this.autocompleteForm.setValue(this.retainSearchValue);
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      this.autocompleteForm.setValue("");
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    if (!this.multi) {
                                                                                                                                                                                                                                                                                                        +      // cannot setValue to "" here because the current selection would be lost
                                                                                                                                                                                                                                                                                                        +      this.autocompleteForm.setValue(this.displayText, { emitEvent: false });
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    setTimeout(() => {
                                                                                                                                                                                                                                                                                                        +      this.inputElement.focus();
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +      // select all text for easy overwriting when typing to search for options
                                                                                                                                                                                                                                                                                                        +      (
                                                                                                                                                                                                                                                                                                        +        this.inputElement._elementRef.nativeElement as HTMLInputElement
                                                                                                                                                                                                                                                                                                        +      ).select();
                                                                                                                                                                                                                                                                                                        +      if (valueToRevertTo) {
                                                                                                                                                                                                                                                                                                        +        this.autocompleteForm.setValue(valueToRevertTo);
                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    this.focus();
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    // update virtual scroll as the container remains empty until the user scrolls initially
                                                                                                                                                                                                                                                                                                        +    this.virtualScrollViewport.scrollToIndex(0);
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  private updateAutocomplete(inputText: string): SelectableOption<O, V>[] {
                                                                                                                                                                                                                                                                                                        +    let filteredOptions = this._options.filter(
                                                                                                                                                                                                                                                                                                        +      (o) => !this.hideOption(o.initial),
                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                        +    if (inputText) {
                                                                                                                                                                                                                                                                                                        +      this.autocompleteFilterFunction = (option) =>
                                                                                                                                                                                                                                                                                                        +        this.optionToString(option)
                                                                                                                                                                                                                                                                                                        +          .toLowerCase()
                                                                                                                                                                                                                                                                                                        +          .includes(inputText.toLowerCase());
                                                                                                                                                                                                                                                                                                        +      this.autocompleteFilterChange.emit(this.autocompleteFilterFunction);
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +      filteredOptions = filteredOptions.filter((o) =>
                                                                                                                                                                                                                                                                                                        +        this.autocompleteFilterFunction(o.initial),
                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +      // do not allow users to create a new entry "identical" to an existing one:
                                                                                                                                                                                                                                                                                                        +      this.showAddOption = !this._options.some(
                                                                                                                                                                                                                                                                                                        +        (o) => o.asString.toLowerCase() === inputText.toLowerCase(),
                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    return filteredOptions;
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  private setInitialInputValue() {
                                                                                                                                                                                                                                                                                                        +    this._options.forEach(
                                                                                                                                                                                                                                                                                                        +      (o) =>
                                                                                                                                                                                                                                                                                                        +        (o.selected = Array.isArray(this.value)
                                                                                                                                                                                                                                                                                                        +          ? this.value?.includes(o.asValue)
                                                                                                                                                                                                                                                                                                        +          : this.value === o.asValue),
                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                        +    this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  select(selected: string | SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                        +    if (typeof selected === "string") {
                                                                                                                                                                                                                                                                                                        +      this.createNewOption(selected);
                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    if (selected) {
                                                                                                                                                                                                                                                                                                        +      this.selectOption(selected);
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      this.autocompleteForm.setValue("");
                                                                                                                                                                                                                                                                                                        +      this._selectedOptions = [];
                                                                                                                                                                                                                                                                                                        +      this.value = undefined;
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  unselect(option: SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                        +    option.selected = false;
                                                                                                                                                                                                                                                                                                        +    this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +    if (this.multi) {
                                                                                                                                                                                                                                                                                                        +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      this.value = undefined;
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  async createNewOption(option: string) {
                                                                                                                                                                                                                                                                                                        +    const createdOption = await this.createOption(option);
                                                                                                                                                                                                                                                                                                        +    if (createdOption) {
                                                                                                                                                                                                                                                                                                        +      const newOption = this.toSelectableOption(createdOption);
                                                                                                                                                                                                                                                                                                        +      this._options.push(newOption);
                                                                                                                                                                                                                                                                                                        +      this.select(newOption);
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      // continue editing
                                                                                                                                                                                                                                                                                                        +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                        +      this.autocompleteForm.setValue(option);
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  private selectOption(option: SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                        +    if (this.multi) {
                                                                                                                                                                                                                                                                                                        +      option.selected = !option.selected;
                                                                                                                                                                                                                                                                                                        +      this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                        +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                        +      // re-open autocomplete to select next option
                                                                                                                                                                                                                                                                                                        +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                        +      this._selectedOptions = [option];
                                                                                                                                                                                                                                                                                                        +      this.value = option.asValue;
                                                                                                                                                                                                                                                                                                        +      this.blur();
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  private toSelectableOption(opt: O): SelectableOption<O, V> {
                                                                                                                                                                                                                                                                                                        +    return {
                                                                                                                                                                                                                                                                                                        +      initial: opt,
                                                                                                                                                                                                                                                                                                        +      asValue: this.valueMapper(opt),
                                                                                                                                                                                                                                                                                                        +      asString: this.optionToString(opt),
                                                                                                                                                                                                                                                                                                        +      selected: false,
                                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  onFocusOut(event: FocusEvent) {
                                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                                        +      !this.elementRef.nativeElement.contains(event.relatedTarget as Element)
                                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                                        +      if (!this.multi && this.autocompleteForm.value === "") {
                                                                                                                                                                                                                                                                                                        +        this.select(undefined);
                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                        +      this.blur();
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  onContainerClick(event: MouseEvent) {
                                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                                        +      !this._disabled &&
                                                                                                                                                                                                                                                                                                        +      (event.target as Element).tagName.toLowerCase() != "input"
                                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                                        +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  writeValue(val: V[] | V) {
                                                                                                                                                                                                                                                                                                        +    super.writeValue(val);
                                                                                                                                                                                                                                                                                                        +    this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        <!--Display-->
                                                                                                                                                                                                                                                                                                        +<input
                                                                                                                                                                                                                                                                                                        +  *ngIf="display === 'text' || display === 'none'; else chipsDisplay"
                                                                                                                                                                                                                                                                                                        +  [hidden]="focused || display === 'none'"
                                                                                                                                                                                                                                                                                                        +  [disabled]="_disabled"
                                                                                                                                                                                                                                                                                                        +  matInput
                                                                                                                                                                                                                                                                                                        +  style="text-overflow: ellipsis"
                                                                                                                                                                                                                                                                                                        +  (focusin)="showAutocomplete()"
                                                                                                                                                                                                                                                                                                        +  (focusout)="showAutocomplete()"
                                                                                                                                                                                                                                                                                                        +  [value]="displayText"
                                                                                                                                                                                                                                                                                                        +  [placeholder]="placeholder"
                                                                                                                                                                                                                                                                                                        +/>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +<!--Search-->
                                                                                                                                                                                                                                                                                                        +<input
                                                                                                                                                                                                                                                                                                        +  [hidden]="!focused"
                                                                                                                                                                                                                                                                                                        +  #inputElement
                                                                                                                                                                                                                                                                                                        +  [formControl]="autocompleteForm"
                                                                                                                                                                                                                                                                                                        +  matInput
                                                                                                                                                                                                                                                                                                        +  style="text-overflow: ellipsis"
                                                                                                                                                                                                                                                                                                        +  [matAutocomplete]="autoSuggestions"
                                                                                                                                                                                                                                                                                                        +  (focusout)="onFocusOut($event)"
                                                                                                                                                                                                                                                                                                        +  [placeholder]="placeholder"
                                                                                                                                                                                                                                                                                                        +/>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +<!--
                                                                                                                                                                                                                                                                                                        +  Autocomplete
                                                                                                                                                                                                                                                                                                        +-->
                                                                                                                                                                                                                                                                                                        +<mat-autocomplete
                                                                                                                                                                                                                                                                                                        +  [disableRipple]="true"
                                                                                                                                                                                                                                                                                                        +  #autoSuggestions="matAutocomplete"
                                                                                                                                                                                                                                                                                                        +  (optionSelected)="select($event.option.value)"
                                                                                                                                                                                                                                                                                                        +  autoActiveFirstOption
                                                                                                                                                                                                                                                                                                        +  [hideSingleSelectionIndicator]="multi"
                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                        +  <div
                                                                                                                                                                                                                                                                                                        +    cdkDropList
                                                                                                                                                                                                                                                                                                        +    (cdkDropListDropped)="drop($event)"
                                                                                                                                                                                                                                                                                                        +    cdkDropListGroup
                                                                                                                                                                                                                                                                                                        +    [cdkDropListDisabled]="!reorder"
                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                        +    <cdk-virtual-scroll-viewport
                                                                                                                                                                                                                                                                                                        +      [style.height]="(autocompleteOptions?.length ?? 0) * 48 + 'px'"
                                                                                                                                                                                                                                                                                                        +      [style.max-height]="3 * 48 + 'px'"
                                                                                                                                                                                                                                                                                                        +      itemSize="48"
                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                        +      <mat-option
                                                                                                                                                                                                                                                                                                        +        [value]="item"
                                                                                                                                                                                                                                                                                                        +        cdkDrag
                                                                                                                                                                                                                                                                                                        +        *cdkVirtualFor="let item of autocompleteOptions"
                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                        +        <div class="flex-row disable-autocomplete-active-color align-center">
                                                                                                                                                                                                                                                                                                        +          <div *ngIf="reorder">
                                                                                                                                                                                                                                                                                                        +            <fa-icon
                                                                                                                                                                                                                                                                                                        +              icon="grip-vertical"
                                                                                                                                                                                                                                                                                                        +              size="sm"
                                                                                                                                                                                                                                                                                                        +              class="drag-handle"
                                                                                                                                                                                                                                                                                                        +            ></fa-icon>
                                                                                                                                                                                                                                                                                                        +          </div>
                                                                                                                                                                                                                                                                                                        +          <mat-checkbox *ngIf="multi" [checked]="item.selected"></mat-checkbox>
                                                                                                                                                                                                                                                                                                        +          <ng-container *ngIf="!templateRef; else itemTemplate">
                                                                                                                                                                                                                                                                                                        +            {{ item.asString }}
                                                                                                                                                                                                                                                                                                        +          </ng-container>
                                                                                                                                                                                                                                                                                                        +          <ng-template
                                                                                                                                                                                                                                                                                                        +            class="item-option"
                                                                                                                                                                                                                                                                                                        +            #itemTemplate
                                                                                                                                                                                                                                                                                                        +            [ngTemplateOutlet]="templateRef"
                                                                                                                                                                                                                                                                                                        +            [ngTemplateOutletContext]="{ $implicit: item.initial }"
                                                                                                                                                                                                                                                                                                        +          ></ng-template>
                                                                                                                                                                                                                                                                                                        +        </div>
                                                                                                                                                                                                                                                                                                        +      </mat-option>
                                                                                                                                                                                                                                                                                                        +    </cdk-virtual-scroll-viewport>
                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  <!-- Create new option -->
                                                                                                                                                                                                                                                                                                        +  <mat-option
                                                                                                                                                                                                                                                                                                        +    *ngIf="createOption && showAddOption && inputElement.value"
                                                                                                                                                                                                                                                                                                        +    [value]="inputElement.value"
                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                        +    <em
                                                                                                                                                                                                                                                                                                        +      i18n="Label for adding an option in a dropdown|e.g. Add new My new Option"
                                                                                                                                                                                                                                                                                                        +      >Add new</em
                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                        +    {{ inputElement.value }}
                                                                                                                                                                                                                                                                                                        +  </mat-option>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  <mat-option style="display: none">
                                                                                                                                                                                                                                                                                                        +    <!-- This mat-option is never displayed ("display: none") but has to be there,
                                                                                                                                                                                                                                                                                                        +     because the footer below will only be displayed with at least one mat-option -->
                                                                                                                                                                                                                                                                                                        +  </mat-option>
                                                                                                                                                                                                                                                                                                        +  <div class="autocomplete-footer">
                                                                                                                                                                                                                                                                                                        +    <ng-content select="[autocompleteFooter]"></ng-content>
                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                        +</mat-autocomplete>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +<!--
                                                                                                                                                                                                                                                                                                        +  Optional displaying as chips
                                                                                                                                                                                                                                                                                                        +-->
                                                                                                                                                                                                                                                                                                        +<ng-template #chipsDisplay>
                                                                                                                                                                                                                                                                                                        +  <input
                                                                                                                                                                                                                                                                                                        +    [hidden]="true"
                                                                                                                                                                                                                                                                                                        +    [disabled]="_disabled"
                                                                                                                                                                                                                                                                                                        +    matInput
                                                                                                                                                                                                                                                                                                        +    (focusin)="showAutocomplete()"
                                                                                                                                                                                                                                                                                                        +    (focusout)="showAutocomplete()"
                                                                                                                                                                                                                                                                                                        +    [matChipInputFor]="chipList"
                                                                                                                                                                                                                                                                                                        +  />
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +  <mat-chip-grid #chipList>
                                                                                                                                                                                                                                                                                                        +    <ng-container>
                                                                                                                                                                                                                                                                                                        +      <mat-chip-row
                                                                                                                                                                                                                                                                                                        +        *ngFor="let item of _selectedOptions"
                                                                                                                                                                                                                                                                                                        +        [editable]="!_disabled"
                                                                                                                                                                                                                                                                                                        +        class="chip"
                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                        +        <ng-container *ngIf="!templateRef; else itemTemplate">
                                                                                                                                                                                                                                                                                                        +          {{ item.asString }}
                                                                                                                                                                                                                                                                                                        +        </ng-container>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +        <ng-template
                                                                                                                                                                                                                                                                                                        +          #itemTemplate
                                                                                                                                                                                                                                                                                                        +          [ngTemplateOutlet]="templateRef"
                                                                                                                                                                                                                                                                                                        +          [ngTemplateOutletContext]="{ $implicit: item.initial }"
                                                                                                                                                                                                                                                                                                        +        ></ng-template>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +        <button matChipRemove *ngIf="!_disabled" (click)="unselect(item)">
                                                                                                                                                                                                                                                                                                        +          <fa-icon
                                                                                                                                                                                                                                                                                                        +            i18n-matTooltip="tooltip for remove icon on chips of dropdown item"
                                                                                                                                                                                                                                                                                                        +            matTooltip="remove"
                                                                                                                                                                                                                                                                                                        +            icon="xmark"
                                                                                                                                                                                                                                                                                                        +          ></fa-icon>
                                                                                                                                                                                                                                                                                                        +        </button>
                                                                                                                                                                                                                                                                                                        +      </mat-chip-row>
                                                                                                                                                                                                                                                                                                        +    </ng-container>
                                                                                                                                                                                                                                                                                                        +  </mat-chip-grid>
                                                                                                                                                                                                                                                                                                        +</ng-template>
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        + ./basic-autocomplete.component.scss +

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        @use "variables/colors";
                                                                                                                                                                                                                                                                                                        +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +em {
                                                                                                                                                                                                                                                                                                        +  color: colors.$primary;
                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +.disable-autocomplete-active-color {
                                                                                                                                                                                                                                                                                                        +  color: black;
                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +.autocomplete-footer {
                                                                                                                                                                                                                                                                                                        +  margin: sizes.$small sizes.$regular;
                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/BetaFeatureComponent.html b/documentation/components/BetaFeatureComponent.html new file mode 100644 index 0000000000..507895b76f --- /dev/null +++ b/documentation/components/BetaFeatureComponent.html @@ -0,0 +1,355 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          + src/app/features/coming-soon/beta-feature/beta-feature.component.ts +

                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          Simple banner to mark a feature as "beta" and inform users of possibly limited functionality.

                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                          +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                          +import { MatCard } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                          +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                          + * Simple banner to mark a feature as "beta" and inform users of possibly limited functionality.
                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                          +  selector: "app-beta-feature",
                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                          +  imports: [MatTooltip, MatCard, FaIconComponent],
                                                                                                                                                                                                                                                                                                          +  templateUrl: "./beta-feature.component.html",
                                                                                                                                                                                                                                                                                                          +  styleUrl: "./beta-feature.component.scss",
                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                          +export class BetaFeatureComponent {}
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          <mat-card
                                                                                                                                                                                                                                                                                                          +  class="banner-container"
                                                                                                                                                                                                                                                                                                          +  matTooltip="This feature is overall still under development. You might experience some issues or limited functionality. We appreciate your feedback, please contact our User Support with your problems and suggestions."
                                                                                                                                                                                                                                                                                                          +  i18n-matTooltip
                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                          +  <fa-icon icon="person-digging"></fa-icon>
                                                                                                                                                                                                                                                                                                          +  <span i18n>Beta Feature</span>
                                                                                                                                                                                                                                                                                                          +</mat-card>
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/BirthdayDashboardComponent.html b/documentation/components/BirthdayDashboardComponent.html new file mode 100644 index 0000000000..2c22beac43 --- /dev/null +++ b/documentation/components/BirthdayDashboardComponent.html @@ -0,0 +1,786 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            + DashboardWidget +

                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            + BirthdayDashboardConfig + OnInit +

                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +constructor(entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            + + entities +
                                                                                                                                                                                                                                                                                                            + Type : EntityPropertyMap + +
                                                                                                                                                                                                                                                                                                            + Default value : { [Child.ENTITY_TYPE]: "dateOfBirth" } +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            An object holding the names of entities and properties where they have a DateOfBirth attribute. +E.g. (which is also the default)

                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                            "entities": { "Child": "dateOfBirth" }
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            + + threshold +
                                                                                                                                                                                                                                                                                                            + Type : number + +
                                                                                                                                                                                                                                                                                                            + Default value : 32 +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            Birthdays that are less than "threshold" days away are shown. +Default 32

                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                            + + getRequiredEntities(config: BirthdayDashboardConfig) +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Defined in DashboardWidget:36 +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                            config + BirthdayDashboardConfig + + No +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            + + + entries + + +
                                                                                                                                                                                                                                                                                                            + Type : EntityWithBirthday[] + +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                            +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                            +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                            +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                            +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +interface BirthdayDashboardConfig {
                                                                                                                                                                                                                                                                                                            +  entities: EntityPropertyMap;
                                                                                                                                                                                                                                                                                                            +  threshold: number;
                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +@DynamicComponent("BirthdayDashboard")
                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                            +  selector: "app-birthday-dashboard",
                                                                                                                                                                                                                                                                                                            +  templateUrl: "./birthday-dashboard.component.html",
                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./birthday-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                            +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                            +    DatePipe,
                                                                                                                                                                                                                                                                                                            +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                            +export class BirthdayDashboardComponent
                                                                                                                                                                                                                                                                                                            +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                            +  implements BirthdayDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                            +  static getRequiredEntities(config: BirthdayDashboardConfig) {
                                                                                                                                                                                                                                                                                                            +    return config?.entities ? Object.keys(config.entities) : Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  private readonly today: Date;
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                            +   * An object holding the names of entities and properties where they have a `DateOfBirth` attribute.
                                                                                                                                                                                                                                                                                                            +   * E.g. (which is also the default)
                                                                                                                                                                                                                                                                                                            +   * ```json
                                                                                                                                                                                                                                                                                                            +   * "entities": { "Child": "dateOfBirth" }
                                                                                                                                                                                                                                                                                                            +   * ```
                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                            +  @Input() entities: EntityPropertyMap = { [Child.ENTITY_TYPE]: "dateOfBirth" };
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                            +   * Birthdays that are less than "threshold" days away are shown.
                                                                                                                                                                                                                                                                                                            +   * Default 32
                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                            +  @Input() threshold = 32;
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  entries: EntityWithBirthday[];
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  constructor(private entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                            +    this.today = new Date();
                                                                                                                                                                                                                                                                                                            +    this.today.setHours(0, 0, 0, 0);
                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                            +    const data: EntityWithBirthday[] = [];
                                                                                                                                                                                                                                                                                                            +    for (const [entityType, property] of Object.entries(this.entities)) {
                                                                                                                                                                                                                                                                                                            +      const entities = await this.entityMapper.loadType(entityType);
                                                                                                                                                                                                                                                                                                            +      data.push(
                                                                                                                                                                                                                                                                                                            +        ...entities
                                                                                                                                                                                                                                                                                                            +          .filter((entity) => entity.isActive && entity[property])
                                                                                                                                                                                                                                                                                                            +          .map((entity) => ({
                                                                                                                                                                                                                                                                                                            +            entity: entity,
                                                                                                                                                                                                                                                                                                            +            birthday: this.getNextBirthday(entity[property]),
                                                                                                                                                                                                                                                                                                            +            newAge: entity[property]?.age + 1,
                                                                                                                                                                                                                                                                                                            +          }))
                                                                                                                                                                                                                                                                                                            +          .filter((a) => this.daysUntil(a.birthday) < this.threshold),
                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                            +    data.sort(
                                                                                                                                                                                                                                                                                                            +      (a, b) => this.daysUntil(a.birthday) - this.daysUntil(b.birthday),
                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                            +    this.entries = data;
                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  private getNextBirthday(dateOfBirth: Date): Date {
                                                                                                                                                                                                                                                                                                            +    const birthday = new Date(
                                                                                                                                                                                                                                                                                                            +      this.today.getFullYear(),
                                                                                                                                                                                                                                                                                                            +      dateOfBirth.getMonth(),
                                                                                                                                                                                                                                                                                                            +      dateOfBirth.getDate(),
                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +    if (this.today.getTime() > birthday.getTime()) {
                                                                                                                                                                                                                                                                                                            +      birthday.setFullYear(birthday.getFullYear() + 1);
                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                            +    return birthday;
                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +  private daysUntil(date: Date): number {
                                                                                                                                                                                                                                                                                                            +    const diff = date.getTime() - this.today.getTime();
                                                                                                                                                                                                                                                                                                            +    return Math.floor(diff / (1000 * 60 * 60 * 24));
                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +interface EntityPropertyMap {
                                                                                                                                                                                                                                                                                                            +  [key: string]: string;
                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +interface EntityWithBirthday {
                                                                                                                                                                                                                                                                                                            +  entity: Entity;
                                                                                                                                                                                                                                                                                                            +  birthday: Date;
                                                                                                                                                                                                                                                                                                            +  newAge: number;
                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                            +  icon="birthday-cake"
                                                                                                                                                                                                                                                                                                            +  theme="child"
                                                                                                                                                                                                                                                                                                            +  subtitle="Upcoming Birthdays"
                                                                                                                                                                                                                                                                                                            +  i18n-subtitle="Subtitle of the birthday widget"
                                                                                                                                                                                                                                                                                                            +  [entries]="entries"
                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                            +  <div class="table-wrapper">
                                                                                                                                                                                                                                                                                                            +    <table mat-table>
                                                                                                                                                                                                                                                                                                            +      <tr hidden="true">
                                                                                                                                                                                                                                                                                                            +        <th scope="col">Name</th>
                                                                                                                                                                                                                                                                                                            +        <th scope="col">DateOfBirth</th>
                                                                                                                                                                                                                                                                                                            +        <th scope="col">AfterBirthdayAge</th>
                                                                                                                                                                                                                                                                                                            +      </tr>
                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="entity">
                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let entity">
                                                                                                                                                                                                                                                                                                            +          <app-entity-block
                                                                                                                                                                                                                                                                                                            +            [entityToDisplay]="entity.entity"
                                                                                                                                                                                                                                                                                                            +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                            +        </td>
                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="dateOfBirth">
                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let entity">
                                                                                                                                                                                                                                                                                                            +          {{ entity.birthday | date: "E dd.MM" }}
                                                                                                                                                                                                                                                                                                            +        </td>
                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="newAge">
                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let entity" i18n>{{ entity.newAge }} yrs</td>
                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                            +      <tr
                                                                                                                                                                                                                                                                                                            +        mat-row
                                                                                                                                                                                                                                                                                                            +        *matRowDef="let row; columns: ['entity', 'dateOfBirth', 'newAge']"
                                                                                                                                                                                                                                                                                                            +      ></tr>
                                                                                                                                                                                                                                                                                                            +    </table>
                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                            +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            + ./birthday-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/BooleanInputComponent.html b/documentation/components/BooleanInputComponent.html new file mode 100644 index 0000000000..ac2b5b8cdf --- /dev/null +++ b/documentation/components/BooleanInputComponent.html @@ -0,0 +1,1966 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/boolean/edit-boolean/boolean-input/boolean-input.component.ts +

                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              + CustomFormControlDirective +

                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              HostBindings
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                              • + id +
                                                                                                                                                                                                                                                                                                              • +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              +constructor(elementRef: ElementRef, errorStateMatcher: ErrorStateMatcher, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              elementRef + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                              errorStateMatcher + ErrorStateMatcher + + No +
                                                                                                                                                                                                                                                                                                              ngControl + NgControl + + No +
                                                                                                                                                                                                                                                                                                              parentForm + NgForm + + No +
                                                                                                                                                                                                                                                                                                              parentFormGroup + FormGroupDirective + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + aria-describedby +
                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + disabled +
                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + placeholder +
                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + required +
                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + value +
                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              HostBindings

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + id + + +
                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                              + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + onContainerClick + + +
                                                                                                                                                                                                                                                                                                              +onContainerClick(event: MouseEvent) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              event + MouseEvent + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + blur + + +
                                                                                                                                                                                                                                                                                                              +blur() +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + focus + + +
                                                                                                                                                                                                                                                                                                              +focus() +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + registerOnChange + + +
                                                                                                                                                                                                                                                                                                              +registerOnChange(fn: any) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              fn + any + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + registerOnTouched + + +
                                                                                                                                                                                                                                                                                                              +registerOnTouched(fn: any) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              fn + any + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + setDescribedByIds + + +
                                                                                                                                                                                                                                                                                                              +setDescribedByIds(ids: string[]) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              ids + string[] + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + setDisabledState + + +
                                                                                                                                                                                                                                                                                                              +setDisabledState(isDisabled: boolean) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              isDisabled + boolean + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + writeValue + + +
                                                                                                                                                                                                                                                                                                              +writeValue(val: T) +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                              val + T + + No +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + + inputElement + + +
                                                                                                                                                                                                                                                                                                              + Type : MatCheckbox + +
                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                              + + @ViewChild(MatCheckbox, {static: true})
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + _disabled + + +
                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + _value + + +
                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + controlType + + +
                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                              + Default value : "custom-control" +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Public + elementRef + + +
                                                                                                                                                                                                                                                                                                              + Type : ElementRef<HTMLElement> + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + errorState + + +
                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Public + errorStateMatcher + + +
                                                                                                                                                                                                                                                                                                              + Type : ErrorStateMatcher + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + focused + + +
                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + + id + + +
                                                                                                                                                                                                                                                                                                              + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                              + + @HostBinding()
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Static + nextId + + +
                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                              + Default value : 0 +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Public + ngControl + + +
                                                                                                                                                                                                                                                                                                              + Type : NgControl + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + onChange + + +
                                                                                                                                                                                                                                                                                                              + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + onTouched + + +
                                                                                                                                                                                                                                                                                                              + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Public + parentForm + + +
                                                                                                                                                                                                                                                                                                              + Type : NgForm + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + Public + parentFormGroup + + +
                                                                                                                                                                                                                                                                                                              + Type : FormGroupDirective + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + stateChanges + + +
                                                                                                                                                                                                                                                                                                              + Default value : new Subject<void>() +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              + + + touched + + +
                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                              +  ElementRef,
                                                                                                                                                                                                                                                                                                              +  Optional,
                                                                                                                                                                                                                                                                                                              +  Self,
                                                                                                                                                                                                                                                                                                              +  ViewChild,
                                                                                                                                                                                                                                                                                                              +  ViewEncapsulation,
                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                              +import { CustomFormControlDirective } from "../../../../common-components/basic-autocomplete/custom-form-control.directive";
                                                                                                                                                                                                                                                                                                              +import { MatCheckbox, MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                              +  FormGroupDirective,
                                                                                                                                                                                                                                                                                                              +  FormsModule,
                                                                                                                                                                                                                                                                                                              +  NgControl,
                                                                                                                                                                                                                                                                                                              +  NgForm,
                                                                                                                                                                                                                                                                                                              +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                              +import { MatFormFieldControl } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                              +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                              +  selector: "app-boolean-input",
                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                              +  imports: [MatCheckboxModule, FormsModule],
                                                                                                                                                                                                                                                                                                              +  providers: [
                                                                                                                                                                                                                                                                                                              +    { provide: MatFormFieldControl, useExisting: BooleanInputComponent },
                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                              +  templateUrl: "./boolean-input.component.html",
                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./boolean-input.component.scss"],
                                                                                                                                                                                                                                                                                                              +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                              +export class BooleanInputComponent extends CustomFormControlDirective<boolean> {
                                                                                                                                                                                                                                                                                                              +  @ViewChild(MatCheckbox, { static: true }) inputElement: MatCheckbox;
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                              +    elementRef: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                              +    errorStateMatcher: ErrorStateMatcher,
                                                                                                                                                                                                                                                                                                              +    @Optional() @Self() ngControl: NgControl,
                                                                                                                                                                                                                                                                                                              +    @Optional() parentForm: NgForm,
                                                                                                                                                                                                                                                                                                              +    @Optional() parentFormGroup: FormGroupDirective,
                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                              +    super(
                                                                                                                                                                                                                                                                                                              +      elementRef,
                                                                                                                                                                                                                                                                                                              +      errorStateMatcher,
                                                                                                                                                                                                                                                                                                              +      ngControl,
                                                                                                                                                                                                                                                                                                              +      parentForm,
                                                                                                                                                                                                                                                                                                              +      parentFormGroup,
                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +  onContainerClick(event: MouseEvent) {
                                                                                                                                                                                                                                                                                                              +    if ((event.target as Element).tagName.toLowerCase() != "mat-checkbox") {
                                                                                                                                                                                                                                                                                                              +      this.inputElement.focus();
                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              <mat-checkbox
                                                                                                                                                                                                                                                                                                              +  [disabled]="disabled"
                                                                                                                                                                                                                                                                                                              +  [(ngModel)]="value"
                                                                                                                                                                                                                                                                                                              +  (change)="onChange($event.checked)"
                                                                                                                                                                                                                                                                                                              +  >{{ placeholder }}</mat-checkbox
                                                                                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              + ./boolean-input.component.scss +

                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              app-boolean-input label {
                                                                                                                                                                                                                                                                                                              +  font-size: initial;
                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ChangelogComponent.html b/documentation/components/ChangelogComponent.html new file mode 100644 index 0000000000..8015b20756 --- /dev/null +++ b/documentation/components/ChangelogComponent.html @@ -0,0 +1,848 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                + src/app/core/ui/latest-changes/changelog/changelog.component.ts +

                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Display information from the changelog for the latest version.

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                This component is used as content of a dialog.

                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Accessors
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                +constructor(data: Observable<Changelog[]>, latestChangesService: LatestChangesService, markdownService: MarkdownService) +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                This component is to be created through a MatDialog that should pass in the relevant data.

                                                                                                                                                                                                                                                                                                                +Example :
                                                                                                                                                                                                                                                                                                                dialog.open(ChangelogComponent, { data: { changelogData: latestChangesService.getChangelogs() } });
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                data + Observable<Changelog[]> + + No +
                                                                                                                                                                                                                                                                                                                latestChangesService + LatestChangesService + + No +
                                                                                                                                                                                                                                                                                                                markdownService + MarkdownService + + No +
                                                                                                                                                                                                                                                                                                                + Example : +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                dialog.open(ChangelogComponent, { data: { changelogData: latestChangesService.getChangelogs() } });

                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + + loadPreviousRelease + + +
                                                                                                                                                                                                                                                                                                                +loadPreviousRelease() +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Add one more previous release card to the end of the currently displayed list of changelogs.

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + + changelogs + + +
                                                                                                                                                                                                                                                                                                                + Type : Changelog[] + +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                The array of relevant changelog entries to be displayed

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + + + contentContainer + + +
                                                                                                                                                                                                                                                                                                                + Type : ElementRef + +
                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                + + @ViewChild('changelogContainer')
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                + Type : Observable<Changelog[]> + +
                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + + showAdvancedDetails + + +
                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                Display advanced information that may not be useful to normal users

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                + Accessors +

                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                + + noChangelogAvailable +
                                                                                                                                                                                                                                                                                                                + getnoChangelogAvailable() +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                import {
                                                                                                                                                                                                                                                                                                                +  Component,
                                                                                                                                                                                                                                                                                                                +  ElementRef,
                                                                                                                                                                                                                                                                                                                +  Inject,
                                                                                                                                                                                                                                                                                                                +  OnInit,
                                                                                                                                                                                                                                                                                                                +  ViewChild,
                                                                                                                                                                                                                                                                                                                +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                +import { Changelog } from "../changelog";
                                                                                                                                                                                                                                                                                                                +import { MAT_DIALOG_DATA } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                +import { isObservable, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                +import { LatestChangesService } from "../latest-changes.service";
                                                                                                                                                                                                                                                                                                                +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                +import { MarkdownService } from "ngx-markdown";
                                                                                                                                                                                                                                                                                                                +import { MarkedRendererCustom } from "./MarkedRendererCustom";
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                + * Display information from the changelog for the latest version.
                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                + * This component is used as content of a dialog.
                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                +  templateUrl: "./changelog.component.html",
                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./changelog.component.scss"],
                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                +export class ChangelogComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                +  /** The array of relevant changelog entries to be displayed */
                                                                                                                                                                                                                                                                                                                +  changelogs: Changelog[];
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  /** Display advanced information that may not be useful to normal users */
                                                                                                                                                                                                                                                                                                                +  showAdvancedDetails = false;
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  @ViewChild("changelogContainer") contentContainer: ElementRef;
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                +   * This component is to be created through a MatDialog that should pass in the relevant data.
                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                +   * @example
                                                                                                                                                                                                                                                                                                                +   * dialog.open(ChangelogComponent, { data: { changelogData: latestChangesService.getChangelogs() } });
                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                +    @Inject(MAT_DIALOG_DATA) public data: Observable<Changelog[]>,
                                                                                                                                                                                                                                                                                                                +    private latestChangesService: LatestChangesService,
                                                                                                                                                                                                                                                                                                                +    private markdownService: MarkdownService,
                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                +    if (isObservable(this.data)) {
                                                                                                                                                                                                                                                                                                                +      this.data
                                                                                                                                                                                                                                                                                                                +        .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                +        .subscribe((changelog) => (this.changelogs = changelog));
                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +    this.customizeMarkdownRenderer();
                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  get noChangelogAvailable(): string {
                                                                                                                                                                                                                                                                                                                +    return $localize`No Changelog Available`;
                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                +   * Add one more previous release card to the end of the currently displayed list of changelogs.
                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                +  loadPreviousRelease() {
                                                                                                                                                                                                                                                                                                                +    if (!this.changelogs) {
                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +    const lastDisplayedVersion =
                                                                                                                                                                                                                                                                                                                +      this.changelogs[this.changelogs.length - 1]?.tag_name;
                                                                                                                                                                                                                                                                                                                +    this.latestChangesService
                                                                                                                                                                                                                                                                                                                +      .getChangelogsBeforeVersion(lastDisplayedVersion, 1)
                                                                                                                                                                                                                                                                                                                +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                +      .subscribe((additionalChangelog) => {
                                                                                                                                                                                                                                                                                                                +        this.changelogs.push(...additionalChangelog);
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +        setTimeout(() => this.scrollToBottomOfReleases());
                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  private scrollToBottomOfReleases() {
                                                                                                                                                                                                                                                                                                                +    this.contentContainer.nativeElement.scrollTop =
                                                                                                                                                                                                                                                                                                                +      this.contentContainer.nativeElement.scrollHeight;
                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +  private customizeMarkdownRenderer() {
                                                                                                                                                                                                                                                                                                                +    const customRenderer = new MarkedRendererCustom();
                                                                                                                                                                                                                                                                                                                +    this.markdownService.renderer.heading = customRenderer.heading;
                                                                                                                                                                                                                                                                                                                +    this.markdownService.renderer.list = customRenderer.list;
                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                <!--
                                                                                                                                                                                                                                                                                                                +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                +  -->
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +<h1 mat-dialog-title>Latest Changes</h1>
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +<mat-dialog-content #changelogContainer>
                                                                                                                                                                                                                                                                                                                +  <div *ngFor="let changelog of changelogs" class="changelog-entry-container">
                                                                                                                                                                                                                                                                                                                +    <h2>{{ changelog?.name || noChangelogAvailable }}</h2>
                                                                                                                                                                                                                                                                                                                +    <div class="padding-bottom-regular">
                                                                                                                                                                                                                                                                                                                +      <span
                                                                                                                                                                                                                                                                                                                +        ><fa-icon icon="calendar-alt"></fa-icon>
                                                                                                                                                                                                                                                                                                                +        {{ changelog?.published_at | date }}</span
                                                                                                                                                                                                                                                                                                                +      >
                                                                                                                                                                                                                                                                                                                +      <span class="padding-left-small"
                                                                                                                                                                                                                                                                                                                +        ><fa-icon icon="tag"></fa-icon> {{ changelog?.tag_name }}</span
                                                                                                                                                                                                                                                                                                                +      >
                                                                                                                                                                                                                                                                                                                +    </div>
                                                                                                                                                                                                                                                                                                                +    <markdown [data]="changelog?.body"></markdown>
                                                                                                                                                                                                                                                                                                                +    <a
                                                                                                                                                                                                                                                                                                                +      *ngIf="showAdvancedDetails"
                                                                                                                                                                                                                                                                                                                +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                +      [href]="'https://www.github.com'"
                                                                                                                                                                                                                                                                                                                +      target="_blank"
                                                                                                                                                                                                                                                                                                                +      i18n="Show more information about a change that was made to the app"
                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                +      More Information
                                                                                                                                                                                                                                                                                                                +    </a>
                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +<mat-dialog-actions class="flex-row gap-regular flex-wrap">
                                                                                                                                                                                                                                                                                                                +  <button mat-stroked-button (click)="loadPreviousRelease()" i18n>
                                                                                                                                                                                                                                                                                                                +    Show previous changes
                                                                                                                                                                                                                                                                                                                +  </button>
                                                                                                                                                                                                                                                                                                                +  <button
                                                                                                                                                                                                                                                                                                                +    mat-raised-button
                                                                                                                                                                                                                                                                                                                +    [mat-dialog-close]="true"
                                                                                                                                                                                                                                                                                                                +    i18n="Generic close button"
                                                                                                                                                                                                                                                                                                                +    class="remove-margin-left"
                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                +    Close
                                                                                                                                                                                                                                                                                                                +  </button>
                                                                                                                                                                                                                                                                                                                +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                + ./changelog.component.scss +

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +.changelog-entry-container {
                                                                                                                                                                                                                                                                                                                +  border-top: 1px black solid;
                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +.changelog-entry-container h2 {
                                                                                                                                                                                                                                                                                                                +  margin: sizes.$small 0 sizes.$small 0;
                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ChildBlockComponent.html b/documentation/components/ChildBlockComponent.html new file mode 100644 index 0000000000..ac2e1489c4 --- /dev/null +++ b/documentation/components/ChildBlockComponent.html @@ -0,0 +1,689 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/children/child-block/child-block.component.ts +

                                                                                                                                                                                                                                                                                                                  + + + + +

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  + OnChanges +

                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  +constructor(fileService: FileService, childrenService: ChildrenService) +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                  fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                  childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                  + Type : Child + +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + + entityId +
                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + + linkDisabled +
                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  prevent clicks on the component to navigate to the details page

                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + + tooltipDisabled +
                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  prevent additional details to be displayed in a tooltip on mouse over

                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  + + + icon + + +
                                                                                                                                                                                                                                                                                                                  + Default value : Child.icon +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  import {
                                                                                                                                                                                                                                                                                                                  +  Component,
                                                                                                                                                                                                                                                                                                                  +  Input,
                                                                                                                                                                                                                                                                                                                  +  OnChanges,
                                                                                                                                                                                                                                                                                                                  +  Optional,
                                                                                                                                                                                                                                                                                                                  +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                  +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                  +import { ChildrenService } from "../children.service";
                                                                                                                                                                                                                                                                                                                  +import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                  +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                  +import { TemplateTooltipDirective } from "../../../core/common-components/template-tooltip/template-tooltip.directive";
                                                                                                                                                                                                                                                                                                                  +import { ChildBlockTooltipComponent } from "./child-block-tooltip/child-block-tooltip.component";
                                                                                                                                                                                                                                                                                                                  +import { FileService } from "../../../features/file/file.service";
                                                                                                                                                                                                                                                                                                                  +import { DisplayImgComponent } from "../../../features/file/display-img/display-img.component";
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("ChildBlock")
                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                  +  selector: "app-child-block",
                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./child-block.component.html",
                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./child-block.component.scss"],
                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                  +    TemplateTooltipDirective,
                                                                                                                                                                                                                                                                                                                  +    ChildBlockTooltipComponent,
                                                                                                                                                                                                                                                                                                                  +    DisplayImgComponent,
                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                  +export class ChildBlockComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                  +  @Input() entity: Child;
                                                                                                                                                                                                                                                                                                                  +  @Input() entityId: string;
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +  /** prevent clicks on the component to navigate to the details page */
                                                                                                                                                                                                                                                                                                                  +  @Input() linkDisabled: boolean;
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +  /** prevent additional details to be displayed in a tooltip on mouse over */
                                                                                                                                                                                                                                                                                                                  +  @Input() tooltipDisabled: boolean;
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +  icon = Child.icon;
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                  +    private fileService: FileService,
                                                                                                                                                                                                                                                                                                                  +    @Optional() private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                  +    if (changes.hasOwnProperty("entityId")) {
                                                                                                                                                                                                                                                                                                                  +      this.entity = await this.childrenService.getChild(this.entityId);
                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  <span
                                                                                                                                                                                                                                                                                                                  +  *ngIf="entity"
                                                                                                                                                                                                                                                                                                                  +  [appTemplateTooltip]="tooltip"
                                                                                                                                                                                                                                                                                                                  +  [tooltipDisabled]="tooltipDisabled"
                                                                                                                                                                                                                                                                                                                  +  [class.inactive]="!entity.isActive"
                                                                                                                                                                                                                                                                                                                  +  class="truncate-text container"
                                                                                                                                                                                                                                                                                                                  +>
                                                                                                                                                                                                                                                                                                                  +  <app-display-img
                                                                                                                                                                                                                                                                                                                  +    [entity]="entity"
                                                                                                                                                                                                                                                                                                                  +    imgProperty="photo"
                                                                                                                                                                                                                                                                                                                  +    [defaultIcon]="icon"
                                                                                                                                                                                                                                                                                                                  +    class="child-pic"
                                                                                                                                                                                                                                                                                                                  +  ></app-display-img>
                                                                                                                                                                                                                                                                                                                  +  <span class="font-size-rel">{{ entity?.toString() }}</span>
                                                                                                                                                                                                                                                                                                                  +  <span class="subnote" *ngIf="entity?.projectNumber">
                                                                                                                                                                                                                                                                                                                  +    ({{ entity?.projectNumber }})</span
                                                                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                                                                  +</span>
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +<ng-template #tooltip>
                                                                                                                                                                                                                                                                                                                  +  <app-child-block-tooltip [entity]="entity"></app-child-block-tooltip>
                                                                                                                                                                                                                                                                                                                  +</ng-template>
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  + ./child-block.component.scss +

                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +.child-pic {
                                                                                                                                                                                                                                                                                                                  +  width: sizes.$icon-block;
                                                                                                                                                                                                                                                                                                                  +  height: sizes.$icon-block;
                                                                                                                                                                                                                                                                                                                  +  border-radius: 50%;
                                                                                                                                                                                                                                                                                                                  +  object-fit: cover;
                                                                                                                                                                                                                                                                                                                  +  margin-right: 4px;
                                                                                                                                                                                                                                                                                                                  +  vertical-align: middle;
                                                                                                                                                                                                                                                                                                                  +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +.inactive {
                                                                                                                                                                                                                                                                                                                  +  color: grey;
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +.container {
                                                                                                                                                                                                                                                                                                                  +  display: flex;
                                                                                                                                                                                                                                                                                                                  +  align-items: center;
                                                                                                                                                                                                                                                                                                                  +  font-size: 1em;
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +.font-size-rel {
                                                                                                                                                                                                                                                                                                                  +  font-size: 1em;
                                                                                                                                                                                                                                                                                                                  +  margin-right: 3px;
                                                                                                                                                                                                                                                                                                                  +  font-weight: 500;
                                                                                                                                                                                                                                                                                                                  +  color: #262626;
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +.subnote {
                                                                                                                                                                                                                                                                                                                  +  font-size: 0.7em;
                                                                                                                                                                                                                                                                                                                  +  position: relative;
                                                                                                                                                                                                                                                                                                                  +  top: 0.2em;
                                                                                                                                                                                                                                                                                                                  +  color: #5e5e5e;
                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ChildBlockTooltipComponent.html b/documentation/components/ChildBlockTooltipComponent.html new file mode 100644 index 0000000000..3723a1a227 --- /dev/null +++ b/documentation/components/ChildBlockTooltipComponent.html @@ -0,0 +1,611 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    + src/app/child-dev-project/children/child-block/child-block-tooltip/child-block-tooltip.component.ts +

                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Tooltip that is shown when hovering over a child block and the tooltip is enabled.

                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    +constructor(fileService: FileService) +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                    fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                    + Type : Child + +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    The entity to show the tooltip for

                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    + + + icon + + +
                                                                                                                                                                                                                                                                                                                    + Default value : Child.icon +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    + + + imgPath + + +
                                                                                                                                                                                                                                                                                                                    + Type : SafeUrl + +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                    +import { Child } from "../../model/child";
                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                    +import { FaDynamicIconComponent } from "../../../../core/common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                    +import { SafeUrl } from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                    +import { FileService } from "../../../../features/file/file.service";
                                                                                                                                                                                                                                                                                                                    +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                    + * Tooltip that is shown when hovering over a child block and the tooltip is enabled.
                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                    +  selector: "app-child-block-tooltip",
                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./child-block-tooltip.component.html",
                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./child-block-tooltip.component.scss"],
                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                    +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                    +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                    +export class ChildBlockTooltipComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                    +  /** The entity to show the tooltip for */
                                                                                                                                                                                                                                                                                                                    +  @Input() entity: Child;
                                                                                                                                                                                                                                                                                                                    +  icon = Child.icon;
                                                                                                                                                                                                                                                                                                                    +  imgPath: SafeUrl;
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +  constructor(private fileService: FileService) {}
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                    +    if (this.entity.photo) {
                                                                                                                                                                                                                                                                                                                    +      this.fileService
                                                                                                                                                                                                                                                                                                                    +        .loadFile(this.entity, "photo")
                                                                                                                                                                                                                                                                                                                    +        .subscribe((res) => (this.imgPath = res));
                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    <app-fa-dynamic-icon *ngIf="!imgPath" [icon]="icon" />
                                                                                                                                                                                                                                                                                                                    +<img
                                                                                                                                                                                                                                                                                                                    +  *ngIf="imgPath"
                                                                                                                                                                                                                                                                                                                    +  [src]="imgPath"
                                                                                                                                                                                                                                                                                                                    +  class="child-pic mat-elevation-z1"
                                                                                                                                                                                                                                                                                                                    +  alt=""
                                                                                                                                                                                                                                                                                                                    +/>
                                                                                                                                                                                                                                                                                                                    +<div>
                                                                                                                                                                                                                                                                                                                    +  <!-- Font-weight is applied as style to override the default -->
                                                                                                                                                                                                                                                                                                                    +  <h3 style="font-weight: bold">{{ entity?.name }}</h3>
                                                                                                                                                                                                                                                                                                                    +  <a>
                                                                                                                                                                                                                                                                                                                    +    <fa-icon icon="phone"></fa-icon>
                                                                                                                                                                                                                                                                                                                    +    {{ entity?.phone }}</a
                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                    +  <p *ngIf="entity?.schoolId || entity?.schoolClass">
                                                                                                                                                                                                                                                                                                                    +    <app-entity-block
                                                                                                                                                                                                                                                                                                                    +      *ngFor="let id of entity.schoolId"
                                                                                                                                                                                                                                                                                                                    +      [entityId]="id"
                                                                                                                                                                                                                                                                                                                    +      [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                    +    ></app-entity-block>
                                                                                                                                                                                                                                                                                                                    +    ,
                                                                                                                                                                                                                                                                                                                    +    <ng-container
                                                                                                                                                                                                                                                                                                                    +      i18n="The class a child is attending|e.g. 'class 8'"
                                                                                                                                                                                                                                                                                                                    +      *ngIf="entity.schoolClass"
                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                    +      class {{ entity?.schoolClass }}
                                                                                                                                                                                                                                                                                                                    +    </ng-container>
                                                                                                                                                                                                                                                                                                                    +  </p>
                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    + ./child-block-tooltip.component.scss +

                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    .child-pic {
                                                                                                                                                                                                                                                                                                                    +  width: 80px;
                                                                                                                                                                                                                                                                                                                    +  height: 80px;
                                                                                                                                                                                                                                                                                                                    +  border-radius: 100vmax;
                                                                                                                                                                                                                                                                                                                    +  object-fit: cover;
                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +:host {
                                                                                                                                                                                                                                                                                                                    +  padding: 0.5em;
                                                                                                                                                                                                                                                                                                                    +  display: flex;
                                                                                                                                                                                                                                                                                                                    +  flex-direction: row;
                                                                                                                                                                                                                                                                                                                    +  gap: 2em;
                                                                                                                                                                                                                                                                                                                    +  align-items: center;
                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ChildSchoolOverviewComponent.html b/documentation/components/ChildSchoolOverviewComponent.html new file mode 100644 index 0000000000..137a2c8879 --- /dev/null +++ b/documentation/components/ChildSchoolOverviewComponent.html @@ -0,0 +1,1445 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/schools/child-school-overview/child-school-overview.component.ts +

                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      + RelatedTimePeriodEntitiesComponent +

                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      +constructor(childrenService: ChildrenService, entityMapper: EntityMapperService, entityRegistry: EntityRegistry, screenWidthObserver: ScreenWidthObserver, filterService: FilterService) +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                      childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                      entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                      screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                      filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + columns +
                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + showInactive +
                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                      + Default value : false +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + single +
                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                      + Default value : true +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + clickMode +
                                                                                                                                                                                                                                                                                                                      + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                      + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + editable +
                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                      + Default value : true +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + entityType +
                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + filter +
                                                                                                                                                                                                                                                                                                                      + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + property +
                                                                                                                                                                                                                                                                                                                      + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + + getData + + +
                                                                                                                                                                                                                                                                                                                      + + getData() +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                      + + createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                      + + getProperty() +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                      + + initFilter() +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                      + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + entityCtr + + +
                                                                                                                                                                                                                                                                                                                      + Default value : ChildSchoolRelation +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + mode + + +
                                                                                                                                                                                                                                                                                                                      + Type : "child" | "school" + +
                                                                                                                                                                                                                                                                                                                      + Default value : "child" +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + _columns + + +
                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                      + Default value : [ + { id: "start", visibleFrom: "md" }, + { id: "end", visibleFrom: "md" }, + isActiveIndicator, + ] +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + backgroundColorFn + + +
                                                                                                                                                                                                                                                                                                                      + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + hasCurrentlyActiveEntry + + +
                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      + + + data + + +
                                                                                                                                                                                                                                                                                                                      + Type : E[] + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                      +import { ChildSchoolRelation } from "../../children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                      +import { ChildrenService } from "../../children/children.service";
                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                      +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                      +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                      +import { PillComponent } from "../../../core/common-components/pill/pill.component";
                                                                                                                                                                                                                                                                                                                      +import { RelatedTimePeriodEntitiesComponent } from "../../../core/entity-details/related-time-period-entities/related-time-period-entities.component";
                                                                                                                                                                                                                                                                                                                      +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                      +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                      +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +// TODO: once schema-generated indices are available (#262), remove this component and use its generic super class directly
                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("ChildSchoolOverview")
                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("PreviousSchools")
                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("ChildrenOverview")
                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                      +  selector: "app-child-school-overview",
                                                                                                                                                                                                                                                                                                                      +  templateUrl:
                                                                                                                                                                                                                                                                                                                      +    "../../../core/entity-details/related-time-period-entities/related-time-period-entities.component.html",
                                                                                                                                                                                                                                                                                                                      +  styleUrls: [
                                                                                                                                                                                                                                                                                                                      +    "../../../core/entity-details/related-time-period-entities/related-time-period-entities.component.scss",
                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                      +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                      +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                      +    FormsModule,
                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                      +    PillComponent,
                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                      +export class ChildSchoolOverviewComponent
                                                                                                                                                                                                                                                                                                                      +  extends RelatedTimePeriodEntitiesComponent<ChildSchoolRelation>
                                                                                                                                                                                                                                                                                                                      +  implements OnInit
                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                      +  mode: "child" | "school" = "child";
                                                                                                                                                                                                                                                                                                                      +  entityCtr = ChildSchoolRelation;
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                      +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                      +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                      +    entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                      +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                      +    filterService: FilterService,
                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                      +    super(entityMapper, entityRegistry, screenWidthObserver, filterService);
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +    this.columns = [
                                                                                                                                                                                                                                                                                                                      +      { id: "childId" }, // schoolId/childId replaced dynamically during init
                                                                                                                                                                                                                                                                                                                      +      { id: "start", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                      +      { id: "end", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                      +      { id: "schoolClass" },
                                                                                                                                                                                                                                                                                                                      +      { id: "result" },
                                                                                                                                                                                                                                                                                                                      +    ];
                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +  override async ngOnInit(): Promise<void> {
                                                                                                                                                                                                                                                                                                                      +    this.mode = this.entity.getType().toLowerCase() as any;
                                                                                                                                                                                                                                                                                                                      +    this.showInactive = this.mode === "child";
                                                                                                                                                                                                                                                                                                                      +    this.switchRelatedEntityColumnForMode();
                                                                                                                                                                                                                                                                                                                      +    await super.ngOnInit();
                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +  override getData() {
                                                                                                                                                                                                                                                                                                                      +    return this.childrenService.queryRelations(this.entity.getId(false));
                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +  private switchRelatedEntityColumnForMode() {
                                                                                                                                                                                                                                                                                                                      +    // display the related entity that is *not* the current main entity
                                                                                                                                                                                                                                                                                                                      +    const idColumn = this._columns.find(
                                                                                                                                                                                                                                                                                                                      +      (c) => c.id === "childId" || c.id === "schoolId",
                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                      +    if (idColumn) {
                                                                                                                                                                                                                                                                                                                      +      idColumn.id = this.mode === "child" ? "schoolId" : "childId";
                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      <app-pill class="hint-badge" *ngIf="!hasCurrentlyActiveEntry && !!data">
                                                                                                                                                                                                                                                                                                                      +  Currently there is no active entry. To add a new entry, click on the
                                                                                                                                                                                                                                                                                                                      +  <fa-icon class="color-accent" aria-label="add" icon="plus-circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                      +  button.
                                                                                                                                                                                                                                                                                                                      +</app-pill>
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +<app-entities-table
                                                                                                                                                                                                                                                                                                                      +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                      +  [records]="data"
                                                                                                                                                                                                                                                                                                                      +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                      +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                      +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                                                                                                      +  [getBackgroundColor]="showInactive ? backgroundColorFn : undefined"
                                                                                                                                                                                                                                                                                                                      +  [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                      +  [(showInactive)]="showInactive"
                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                      +</app-entities-table>
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      + ../../../core/entity-details/related-time-period-entities/related-time-period-entities.component.scss +

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                      +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +.hint-badge {
                                                                                                                                                                                                                                                                                                                      +  background-color: colors.$primary;
                                                                                                                                                                                                                                                                                                                      +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ChildrenListComponent.html b/documentation/components/ChildrenListComponent.html new file mode 100644 index 0000000000..49a867693f --- /dev/null +++ b/documentation/components/ChildrenListComponent.html @@ -0,0 +1,2426 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        + src/app/child-dev-project/children/children-list/children-list.component.ts +

                                                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        + EntityListComponent +

                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        +constructor(screenWidthObserver: ScreenWidthObserver, router: Router, activatedRoute: ActivatedRoute, entityMapperService: EntityMapperService, entities: EntityRegistry, dialog: MatDialog, duplicateRecord: DuplicateRecordService, entityActionsService: EntityActionsService, childrenService: ChildrenService) +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                        screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                        activatedRoute + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                        entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                        dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                        duplicateRecord + DuplicateRecordService + + No +
                                                                                                                                                                                                                                                                                                                        entityActionsService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                        childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + allEntities +
                                                                                                                                                                                                                                                                                                                        + Type : T[] + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + clickMode +
                                                                                                                                                                                                                                                                                                                        + Type : "navigate" | "popup" | "none" + +
                                                                                                                                                                                                                                                                                                                        + Default value : "navigate" +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + columnGroups +
                                                                                                                                                                                                                                                                                                                        + Type : ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + columns +
                                                                                                                                                                                                                                                                                                                        + Type : (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + defaultSort +
                                                                                                                                                                                                                                                                                                                        + Type : Sort + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + entityConstructor +
                                                                                                                                                                                                                                                                                                                        + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + exportConfig +
                                                                                                                                                                                                                                                                                                                        + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + filters +
                                                                                                                                                                                                                                                                                                                        + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + showInactive +
                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        initial / default state whether to include archived records in the list

                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + title +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        + Default value : "" +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + addNewClick +
                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + elementClick +
                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + + Async + getEntities + + +
                                                                                                                                                                                                                                                                                                                        + + getEntities() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + addNew + + +
                                                                                                                                                                                                                                                                                                                        +addNew() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + Async + anonymizeRecords + + +
                                                                                                                                                                                                                                                                                                                        + + anonymizeRecords() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + applyFilter + + +
                                                                                                                                                                                                                                                                                                                        +applyFilter(filterValue: string) +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                        filterValue + string + + No +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + Async + archiveRecords + + +
                                                                                                                                                                                                                                                                                                                        + + archiveRecords() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + Async + deleteRecords + + +
                                                                                                                                                                                                                                                                                                                        + + deleteRecords() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + duplicateRecords + + +
                                                                                                                                                                                                                                                                                                                        +duplicateRecords() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + Protected + Async + loadEntities + + +
                                                                                                                                                                                                                                                                                                                        + + loadEntities() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + onRowClick + + +
                                                                                                                                                                                                                                                                                                                        +onRowClick(row: T) +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                        row + T + + No +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + openFilterOverlay + + +
                                                                                                                                                                                                                                                                                                                        +openFilterOverlay() +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        Calling this function will display the filters in a popup

                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                        + Default value : Child +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                        + Type : string[] + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + defaultColumnGroup + + +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        + Default value : "" +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + filteredData + + +
                                                                                                                                                                                                                                                                                                                        + Type : [] + +
                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + filterFreetext + + +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + filterObj + + +
                                                                                                                                                                                                                                                                                                                        + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + filterString + + +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        + Default value : "" +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + groups + + +
                                                                                                                                                                                                                                                                                                                        + Type : GroupConfig[] + +
                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + isDesktop + + +
                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + mobileColumnGroup + + +
                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                        + Default value : "" +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + selectedColumnGroupIndex_ + + +
                                                                                                                                                                                                                                                                                                                        + Type : number + +
                                                                                                                                                                                                                                                                                                                        + Default value : 0 +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        + + + selectedRows + + +
                                                                                                                                                                                                                                                                                                                        + Type : T[] + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                        +import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                        +import { ActivatedRoute, Router, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                        +import { ChildrenService } from "../children.service";
                                                                                                                                                                                                                                                                                                                        +import { EntityListComponent } from "../../../core/entity-list/entity-list/entity-list.component";
                                                                                                                                                                                                                                                                                                                        +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                        +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                        +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                        +import { DuplicateRecordService } from "../../../core/entity-list/duplicate-records/duplicate-records.service";
                                                                                                                                                                                                                                                                                                                        +import { EntityActionsService } from "../../../core/entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                        +  AsyncPipe,
                                                                                                                                                                                                                                                                                                                        +  NgForOf,
                                                                                                                                                                                                                                                                                                                        +  NgIf,
                                                                                                                                                                                                                                                                                                                        +  NgStyle,
                                                                                                                                                                                                                                                                                                                        +  NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                        +} from "@angular/common";
                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                        +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                        +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                        +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                        +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                        +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                        +import { FilterComponent } from "../../../core/filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                        +import { TabStateModule } from "../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                        +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                        +import { ExportDataDirective } from "../../../core/export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                        +import { DisableEntityOperationDirective } from "../../../core/permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                        +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                        +import { EntityCreateButtonComponent } from "../../../core/common-components/entity-create-button/entity-create-button.component";
                                                                                                                                                                                                                                                                                                                        +import { AbilityModule } from "@casl/angular";
                                                                                                                                                                                                                                                                                                                        +import { EntityActionsMenuComponent } from "../../../core/entity-details/entity-actions-menu/entity-actions-menu.component";
                                                                                                                                                                                                                                                                                                                        +import { ViewActionsComponent } from "../../../core/common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +@RouteTarget("ChildrenList")
                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                        +  selector: "app-children-list",
                                                                                                                                                                                                                                                                                                                        +  templateUrl:
                                                                                                                                                                                                                                                                                                                        +    "../../../core/entity-list/entity-list/entity-list.component.html",
                                                                                                                                                                                                                                                                                                                        +  styleUrls: [
                                                                                                                                                                                                                                                                                                                        +    "../../../core/entity-list/entity-list/entity-list.component.scss",
                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                        +    NgStyle,
                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                        +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                        +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                        +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                        +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                        +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                        +    NgForOf,
                                                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                        +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                                                        +    FilterComponent,
                                                                                                                                                                                                                                                                                                                        +    TabStateModule,
                                                                                                                                                                                                                                                                                                                        +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                        +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                        +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                        +    RouterLink,
                                                                                                                                                                                                                                                                                                                        +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                        +    EntityCreateButtonComponent,
                                                                                                                                                                                                                                                                                                                        +    AbilityModule,
                                                                                                                                                                                                                                                                                                                        +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                        +    EntityActionsMenuComponent,
                                                                                                                                                                                                                                                                                                                        +    ViewActionsComponent,
                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                        +export class ChildrenListComponent extends EntityListComponent<Child> {
                                                                                                                                                                                                                                                                                                                        +  override entityConstructor = Child;
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                        +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                        +    router: Router,
                                                                                                                                                                                                                                                                                                                        +    activatedRoute: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                        +    entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                        +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                        +    dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                        +    duplicateRecord: DuplicateRecordService,
                                                                                                                                                                                                                                                                                                                        +    entityActionsService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                        +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                        +    super(
                                                                                                                                                                                                                                                                                                                        +      screenWidthObserver,
                                                                                                                                                                                                                                                                                                                        +      router,
                                                                                                                                                                                                                                                                                                                        +      activatedRoute,
                                                                                                                                                                                                                                                                                                                        +      entityMapperService,
                                                                                                                                                                                                                                                                                                                        +      entities,
                                                                                                                                                                                                                                                                                                                        +      dialog,
                                                                                                                                                                                                                                                                                                                        +      duplicateRecord,
                                                                                                                                                                                                                                                                                                                        +      entityActionsService,
                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  override async getEntities() {
                                                                                                                                                                                                                                                                                                                        +    return this.childrenService.getChildren();
                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        <!-- Desktop version -->
                                                                                                                                                                                                                                                                                                                        +<div *ngIf="isDesktop">
                                                                                                                                                                                                                                                                                                                        +  <!-- Header bar; contains the title on the left and controls on the right -->
                                                                                                                                                                                                                                                                                                                        +  <app-view-title [ngStyle]="offsetFilterStyle">
                                                                                                                                                                                                                                                                                                                        +    {{ title }}
                                                                                                                                                                                                                                                                                                                        +  </app-view-title>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <app-view-actions>
                                                                                                                                                                                                                                                                                                                        +    <div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                                                                        +      <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +      <app-entity-create-button
                                                                                                                                                                                                                                                                                                                        +        [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                        +        (entityCreate)="addNew()"
                                                                                                                                                                                                                                                                                                                        +      ></app-entity-create-button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +      <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                        +        <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                                                        +  </app-view-actions>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <!-- Filters -->
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <div class="flex-row gap-regular flex-wrap">
                                                                                                                                                                                                                                                                                                                        +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                        +    <app-filter
                                                                                                                                                                                                                                                                                                                        +      *ngIf="!!allEntities"
                                                                                                                                                                                                                                                                                                                        +      class="flex-row gap-regular flex-wrap"
                                                                                                                                                                                                                                                                                                                        +      [filterConfig]="filters"
                                                                                                                                                                                                                                                                                                                        +      [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                        +      [entities]="allEntities"
                                                                                                                                                                                                                                                                                                                        +      [useUrlQueryParams]="true"
                                                                                                                                                                                                                                                                                                                        +      [(filterObj)]="filterObj"
                                                                                                                                                                                                                                                                                                                        +    ></app-filter>
                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <div class="mat-elevation-z1">
                                                                                                                                                                                                                                                                                                                        +    <div *ngIf="groups.length > 1">
                                                                                                                                                                                                                                                                                                                        +      <mat-tab-group
                                                                                                                                                                                                                                                                                                                        +        [(selectedIndex)]="selectedColumnGroupIndex"
                                                                                                                                                                                                                                                                                                                        +        appTabStateMemo
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +        <mat-tab
                                                                                                                                                                                                                                                                                                                        +          *ngFor="let item of groups"
                                                                                                                                                                                                                                                                                                                        +          [label]="item.name"
                                                                                                                                                                                                                                                                                                                        +          angulartics2On="click"
                                                                                                                                                                                                                                                                                                                        +          [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                        +          angularticsAction="list_column_view"
                                                                                                                                                                                                                                                                                                                        +          [angularticsLabel]="item.name"
                                                                                                                                                                                                                                                                                                                        +        ></mat-tab>
                                                                                                                                                                                                                                                                                                                        +      </mat-tab-group>
                                                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                                                        +    <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<!-- Mobile Version -->
                                                                                                                                                                                                                                                                                                                        +<div *ngIf="!isDesktop">
                                                                                                                                                                                                                                                                                                                        +  <h2>{{ title }}</h2>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <div class="flex-row">
                                                                                                                                                                                                                                                                                                                        +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +    <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                        +      <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<!-- Templates and menus for both mobile and desktop -->
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<ng-template #filterDialog>
                                                                                                                                                                                                                                                                                                                        +  <mat-form-field class="full-width filter-field">
                                                                                                                                                                                                                                                                                                                        +    <mat-label
                                                                                                                                                                                                                                                                                                                        +      i18n="Filter placeholder|Allows the user to filter through entities"
                                                                                                                                                                                                                                                                                                                        +      >Filter
                                                                                                                                                                                                                                                                                                                        +    </mat-label>
                                                                                                                                                                                                                                                                                                                        +    <input
                                                                                                                                                                                                                                                                                                                        +      class="full-width"
                                                                                                                                                                                                                                                                                                                        +      matInput
                                                                                                                                                                                                                                                                                                                        +      i18n-placeholder="Examples of things to filter"
                                                                                                                                                                                                                                                                                                                        +      placeholder="e.g. name, age"
                                                                                                                                                                                                                                                                                                                        +      (ngModelChange)="applyFilter($event)"
                                                                                                                                                                                                                                                                                                                        +      [(ngModel)]="filterString"
                                                                                                                                                                                                                                                                                                                        +    />
                                                                                                                                                                                                                                                                                                                        +    <button
                                                                                                                                                                                                                                                                                                                        +      mat-icon-button
                                                                                                                                                                                                                                                                                                                        +      *ngIf="filterString"
                                                                                                                                                                                                                                                                                                                        +      matIconSuffix
                                                                                                                                                                                                                                                                                                                        +      aria-label="Clear"
                                                                                                                                                                                                                                                                                                                        +      (click)="filterString = ''; applyFilter('')"
                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                        +      <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                                                        +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                        +</ng-template>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<ng-template #subrecord>
                                                                                                                                                                                                                                                                                                                        +  <app-entities-table
                                                                                                                                                                                                                                                                                                                        +    [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                        +    [records]="allEntities"
                                                                                                                                                                                                                                                                                                                        +    [customColumns]="columns"
                                                                                                                                                                                                                                                                                                                        +    [editable]="false"
                                                                                                                                                                                                                                                                                                                        +    [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                        +    (entityClick)="onRowClick($event)"
                                                                                                                                                                                                                                                                                                                        +    [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                                                                                                        +    [filter]="filterObj"
                                                                                                                                                                                                                                                                                                                        +    [sortBy]="defaultSort"
                                                                                                                                                                                                                                                                                                                        +    [(selectedRecords)]="selectedRows"
                                                                                                                                                                                                                                                                                                                        +    [selectable]="!!selectedRows"
                                                                                                                                                                                                                                                                                                                        +    [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                        +    (filteredRecordsChange)="filteredData = $event"
                                                                                                                                                                                                                                                                                                                        +    [filterFreetext]="filterFreetext"
                                                                                                                                                                                                                                                                                                                        +  ></app-entities-table>
                                                                                                                                                                                                                                                                                                                        +</ng-template>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<mat-menu #additional>
                                                                                                                                                                                                                                                                                                                        +  <div class="hide-desktop">
                                                                                                                                                                                                                                                                                                                        +    <button
                                                                                                                                                                                                                                                                                                                        +      mat-menu-item
                                                                                                                                                                                                                                                                                                                        +      (click)="addNew()"
                                                                                                                                                                                                                                                                                                                        +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                        +      angularticsCategory="UserAction"
                                                                                                                                                                                                                                                                                                                        +      [angularticsAction]="title.toLowerCase().replace(' ', '_') + '_add_new'"
                                                                                                                                                                                                                                                                                                                        +      *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                        +        entity: entityConstructor,
                                                                                                                                                                                                                                                                                                                        +        operation: 'create',
                                                                                                                                                                                                                                                                                                                        +      }"
                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                        +      <fa-icon
                                                                                                                                                                                                                                                                                                                        +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +        aria-label="add element"
                                                                                                                                                                                                                                                                                                                        +        icon="plus-circle"
                                                                                                                                                                                                                                                                                                                        +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +      <span i18n="Add a new entity to a list of multiple entities">
                                                                                                                                                                                                                                                                                                                        +        Add New
                                                                                                                                                                                                                                                                                                                        +      </span>
                                                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +    <button mat-menu-item (click)="openFilterOverlay()">
                                                                                                                                                                                                                                                                                                                        +      <fa-icon
                                                                                                                                                                                                                                                                                                                        +        aria-label="filter"
                                                                                                                                                                                                                                                                                                                        +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +        icon="filter"
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +      </fa-icon>
                                                                                                                                                                                                                                                                                                                        +      <span i18n="Show filter options popup for list"> Filter options </span>
                                                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                        +    [appExportData]="allEntities"
                                                                                                                                                                                                                                                                                                                        +    format="csv"
                                                                                                                                                                                                                                                                                                                        +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                        +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                        +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                        +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                        +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                        +    <fa-icon
                                                                                                                                                                                                                                                                                                                        +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                        +      icon="download"
                                                                                                                                                                                                                                                                                                                        +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    <span i18n="Download list contents as CSV"> Download all data (.csv) </span>
                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                        +    [appExportData]="filteredData"
                                                                                                                                                                                                                                                                                                                        +    format="csv"
                                                                                                                                                                                                                                                                                                                        +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                        +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                        +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                        +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                        +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                        +    <fa-icon
                                                                                                                                                                                                                                                                                                                        +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                        +      icon="download"
                                                                                                                                                                                                                                                                                                                        +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    <span i18n="Download list contents as CSV"> Download current (.csv) </span>
                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                        +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                        +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                        +    angularticsAction="import_file"
                                                                                                                                                                                                                                                                                                                        +    [routerLink]="['/import']"
                                                                                                                                                                                                                                                                                                                        +    [queryParams]="{ entityType: entityConstructor?.ENTITY_TYPE }"
                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                        +    <fa-icon
                                                                                                                                                                                                                                                                                                                        +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +      aria-label="import file"
                                                                                                                                                                                                                                                                                                                        +      icon="file-import"
                                                                                                                                                                                                                                                                                                                        +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    <span i18n> Import from file </span>
                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                        +    (click)="selectedRows = []"
                                                                                                                                                                                                                                                                                                                        +    matTooltip="Select multiple records for bulk actions like duplicating or deleting"
                                                                                                                                                                                                                                                                                                                        +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                        +    matTooltipPosition="before"
                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                        +    <fa-icon
                                                                                                                                                                                                                                                                                                                        +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                        +      aria-label="bulk actions"
                                                                                                                                                                                                                                                                                                                        +      icon="list-check"
                                                                                                                                                                                                                                                                                                                        +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    <span i18n> Bulk Actions </span>
                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                        +    [routerLink]="['/admin/entity', entityConstructor.ENTITY_TYPE]"
                                                                                                                                                                                                                                                                                                                        +    [queryParams]="{ mode: 'list' }"
                                                                                                                                                                                                                                                                                                                        +    queryParamsHandling="merge"
                                                                                                                                                                                                                                                                                                                        +    *ngIf="'update' | ablePure: 'Config' | async"
                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                        +    <fa-icon
                                                                                                                                                                                                                                                                                                                        +      class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                        +      icon="tools"
                                                                                                                                                                                                                                                                                                                        +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                        +    <span i18n>Edit Data Structure</span>
                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  <ng-content select="[mat-menu-item]"></ng-content>
                                                                                                                                                                                                                                                                                                                        +</mat-menu>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +<ng-template #bulkActions>
                                                                                                                                                                                                                                                                                                                        +  <div *ngIf="!!selectedRows" class="bulk-action-button">
                                                                                                                                                                                                                                                                                                                        +    <div i18n>Actions on selected records:</div>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +    <div
                                                                                                                                                                                                                                                                                                                        +      class="flex-row gap-small bulk-action-button"
                                                                                                                                                                                                                                                                                                                        +      matTooltip="Select rows for an action on multiple records"
                                                                                                                                                                                                                                                                                                                        +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                        +      <button
                                                                                                                                                                                                                                                                                                                        +        mat-raised-button
                                                                                                                                                                                                                                                                                                                        +        (click)="archiveRecords()"
                                                                                                                                                                                                                                                                                                                        +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                        +        color="accent"
                                                                                                                                                                                                                                                                                                                        +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +        Archive
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +      <button
                                                                                                                                                                                                                                                                                                                        +        mat-raised-button
                                                                                                                                                                                                                                                                                                                        +        (click)="anonymizeRecords()"
                                                                                                                                                                                                                                                                                                                        +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                        +        color="accent"
                                                                                                                                                                                                                                                                                                                        +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +        Anonymize
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +      <button
                                                                                                                                                                                                                                                                                                                        +        mat-raised-button
                                                                                                                                                                                                                                                                                                                        +        (click)="deleteRecords()"
                                                                                                                                                                                                                                                                                                                        +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                        +        color="accent"
                                                                                                                                                                                                                                                                                                                        +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +        Delete
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +      <button
                                                                                                                                                                                                                                                                                                                        +        mat-raised-button
                                                                                                                                                                                                                                                                                                                        +        (click)="duplicateRecords()"
                                                                                                                                                                                                                                                                                                                        +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                        +        color="accent"
                                                                                                                                                                                                                                                                                                                        +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                        +        Duplicate
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +      <button mat-raised-button (click)="selectedRows = undefined" i18n>
                                                                                                                                                                                                                                                                                                                        +        Cancel
                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                        +</ng-template>
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        + ../../../core/entity-list/entity-list/entity-list.component.scss +

                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        @use "../../../../styles/variables/breakpoints";
                                                                                                                                                                                                                                                                                                                        +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                        +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                        + * Aligns the baseline of the filter-field with the baseline
                                                                                                                                                                                                                                                                                                                        + * of the other controls.
                                                                                                                                                                                                                                                                                                                        + * This only has to be done on the desktop
                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                        +.filter-field {
                                                                                                                                                                                                                                                                                                                        +  @media screen and (min-width: breakpoints.$md) {
                                                                                                                                                                                                                                                                                                                        +    /* restricts the width so that the field does not feel too big */
                                                                                                                                                                                                                                                                                                                        +    max-width: 412px;
                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +.bulk-action-button {
                                                                                                                                                                                                                                                                                                                        +  position: fixed;
                                                                                                                                                                                                                                                                                                                        +  right: sizes.$large;
                                                                                                                                                                                                                                                                                                                        +  z-index: 999;
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +  padding: sizes.$regular;
                                                                                                                                                                                                                                                                                                                        +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ComingSoonComponent.html b/documentation/components/ComingSoonComponent.html new file mode 100644 index 0000000000..a5fc59d44e --- /dev/null +++ b/documentation/components/ComingSoonComponent.html @@ -0,0 +1,805 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          + src/app/features/coming-soon/coming-soon/coming-soon.component.ts +

                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Placeholder page to announce that a feature is not available yet.

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          This integrates with analytics and allows user to explicitly request the feature.

                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          +constructor(alertService: AlertService, analyticsService: AnalyticsService, activatedRoute: ActivatedRoute, dialogData: literal type) +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                          alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                          analyticsService + AnalyticsService + + No +
                                                                                                                                                                                                                                                                                                                          activatedRoute + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                          dialogData + literal type + + No +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          + + featureId +
                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          the identifier for the specific feature this page serves as a placeholder for

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          + + + reportFeatureRequest + + +
                                                                                                                                                                                                                                                                                                                          +reportFeatureRequest() +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Report an explicit user request for the feature through the analytics plugin.

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          + + + Static + featuresRequested + + +
                                                                                                                                                                                                                                                                                                                          + Type : [] + +
                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          An array of featureIds that the user has already requested during the current session.

                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          Users cannot request the same feature twice and see that they have already requested the feature. +This information is not persisted across sessions however. So after reloading the page this history is gone.

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          + + + requested + + +
                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          whether user has already requested the feature

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          import { Component, Inject, Input, OnInit, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                          +import { AlertService } from "../../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                          +import { ActivatedRoute } from "@angular/router";
                                                                                                                                                                                                                                                                                                                          +import { AnalyticsService } from "../../../core/analytics/analytics.service";
                                                                                                                                                                                                                                                                                                                          +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                          +import { DialogCloseComponent } from "../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                          + * Placeholder page to announce that a feature is not available yet.
                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                          + * This integrates with analytics and allows user to explicitly request the feature.
                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                          +@RouteTarget("ComingSoon")
                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                          +  selector: "app-coming-soon",
                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./coming-soon.component.html",
                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./coming-soon.component.scss"],
                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                          +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                          +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                          +export class ComingSoonComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                          +   * An array of featureIds that the user has already requested during the current session.
                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                          +   * Users cannot request the same feature twice and see that they have already requested the feature.
                                                                                                                                                                                                                                                                                                                          +   * This information is not persisted across sessions however. So after reloading the page this history is gone.
                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                          +  static featuresRequested = [];
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                          +   * the identifier for the specific feature this page serves as a placeholder for
                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                          +  @Input() featureId: string;
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                          +   * whether user has already requested the feature
                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                          +  requested: boolean;
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                          +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                          +    private analyticsService: AnalyticsService,
                                                                                                                                                                                                                                                                                                                          +    private activatedRoute: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                          +    @Optional() @Inject(MAT_DIALOG_DATA) dialogData: { featureId: string },
                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                          +    if (dialogData) {
                                                                                                                                                                                                                                                                                                                          +      this.init(dialogData.featureId);
                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                          +    this.activatedRoute.paramMap.subscribe((params) => {
                                                                                                                                                                                                                                                                                                                          +      if (params.has("feature")) {
                                                                                                                                                                                                                                                                                                                          +        this.init(params.get("feature"));
                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                          +    if (this.featureId) {
                                                                                                                                                                                                                                                                                                                          +      this.init(this.featureId);
                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  private init(newFeatureId: string) {
                                                                                                                                                                                                                                                                                                                          +    this.featureId = newFeatureId;
                                                                                                                                                                                                                                                                                                                          +    this.requested =
                                                                                                                                                                                                                                                                                                                          +      ComingSoonComponent.featuresRequested.includes(newFeatureId);
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +    this.track("visit");
                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  private track(action: string) {
                                                                                                                                                                                                                                                                                                                          +    this.analyticsService.eventTrack(this.featureId, {
                                                                                                                                                                                                                                                                                                                          +      category: "feature_request",
                                                                                                                                                                                                                                                                                                                          +      label: action,
                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                          +   * Report an explicit user request for the feature through the analytics plugin.
                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                          +  reportFeatureRequest() {
                                                                                                                                                                                                                                                                                                                          +    this.track("request");
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +    this.requested = true;
                                                                                                                                                                                                                                                                                                                          +    ComingSoonComponent.featuresRequested.push(this.featureId);
                                                                                                                                                                                                                                                                                                                          +    this.alertService.addInfo(
                                                                                                                                                                                                                                                                                                                          +      $localize`:Sent after the user has sent a feature-request:Thank you for letting us know.`,
                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          <app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                          +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                          +  <h1 i18n="Coming Soon header">Coming Soon</h1>
                                                                                                                                                                                                                                                                                                                          +  <h3 i18n="Coming Soon description">
                                                                                                                                                                                                                                                                                                                          +    Sorry, this feature isn't quite ready yet. We are working hard to make this
                                                                                                                                                                                                                                                                                                                          +    available for you. Let us know below if you need this functionality.
                                                                                                                                                                                                                                                                                                                          +  </h3>
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  <div class="feedback-section margin-bottom-regular">
                                                                                                                                                                                                                                                                                                                          +    <button
                                                                                                                                                                                                                                                                                                                          +      mat-raised-button
                                                                                                                                                                                                                                                                                                                          +      color="primary"
                                                                                                                                                                                                                                                                                                                          +      class="full-width"
                                                                                                                                                                                                                                                                                                                          +      (click)="reportFeatureRequest()"
                                                                                                                                                                                                                                                                                                                          +      [disabled]="requested"
                                                                                                                                                                                                                                                                                                                          +      i18n="
                                                                                                                                                                                                                                                                                                                          +        Feature Button|Indicates that the user needs this feature and can send a
                                                                                                                                                                                                                                                                                                                          +        feature-request
                                                                                                                                                                                                                                                                                                                          +      "
                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                          +      <fa-icon *ngIf="requested" aria-label="requested" icon="check"></fa-icon>
                                                                                                                                                                                                                                                                                                                          +      I need this feature
                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +    <a
                                                                                                                                                                                                                                                                                                                          +      i18n
                                                                                                                                                                                                                                                                                                                          +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                          +      class="full-width"
                                                                                                                                                                                                                                                                                                                          +      target="_blank"
                                                                                                                                                                                                                                                                                                                          +      rel="noopener"
                                                                                                                                                                                                                                                                                                                          +      href="mailto:info@aam-digital.com?subject=Feature-Request%20{{
                                                                                                                                                                                                                                                                                                                          +        featureId
                                                                                                                                                                                                                                                                                                                          +      }}"
                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                          +      I can tell you about my use case
                                                                                                                                                                                                                                                                                                                          +    </a>
                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +  <img src="../../../../assets/canvas-stand.png" alt="" class="illustration" />
                                                                                                                                                                                                                                                                                                                          +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          + ./coming-soon.component.scss +

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                          +@use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +.illustration {
                                                                                                                                                                                                                                                                                                                          +  width: 70%;
                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +.feedback-section {
                                                                                                                                                                                                                                                                                                                          +  width: 70%;
                                                                                                                                                                                                                                                                                                                          +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                                                                                          +    $min-block-width: 250px,
                                                                                                                                                                                                                                                                                                                          +    $max-screen-width: 414px
                                                                                                                                                                                                                                                                                                                          +  );
                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +mat-dialog-content {
                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                          +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                          +  align-items: center;
                                                                                                                                                                                                                                                                                                                          +  max-width: sizes.$max-text-width;
                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/CompareRevComponent.html b/documentation/components/CompareRevComponent.html new file mode 100644 index 0000000000..caf87bc85b --- /dev/null +++ b/documentation/components/CompareRevComponent.html @@ -0,0 +1,1321 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            + src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts +

                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Visualize one specific conflicting document revision and offer resolution options.

                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            +constructor(db: Database, confirmationDialog: ConfirmationDialogService, snackBar: MatSnackBar, conflictResolver: AutoResolutionService) +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                            db + Database + + No +
                                                                                                                                                                                                                                                                                                                            confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                            snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                            conflictResolver + AutoResolutionService + + No +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + doc +
                                                                                                                                                                                                                                                                                                                            + Type : any + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            document from the database in the current version

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + rev +
                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            revision key (_rev) of the confliction version to be displayed

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + Public + Async + loadRev + + +
                                                                                                                                                                                                                                                                                                                            + + loadRev() +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Load the document version (revision) to be displayed and generate the diffs to be visualized.

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + Public + Async + resolveByDelete + + +
                                                                                                                                                                                                                                                                                                                            + + resolveByDelete(docToDelete: any) +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Resolve the displayed conflict by deleting the conflicting revision doc and keeping the current doc.

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                            docToDelete + any + + No + +

                                                                                                                                                                                                                                                                                                                            Document to be deleted

                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + Public + Async + resolveByManualEdit + + +
                                                                                                                                                                                                                                                                                                                            + + resolveByManualEdit(diffStringToApply: string) +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Apply the given diff, save the resulting new document to the database +and remove the conflicting document, thereby resolving the conflict.

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            This method is also used to resolve the conflict to keep the conflicting version instead of the current doc. +Then this simply applies the diff of the existing conflicting version instead of a user-edited diff.

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                            diffStringToApply + string + + No + +

                                                                                                                                                                                                                                                                                                                            The (user-edited) diff to be applied to the current doc

                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + stringify + + +
                                                                                                                                                                                                                                                                                                                            +stringify(entity: any) +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            Generate a human-readable string of the given object.

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                            entity + any + + No + +

                                                                                                                                                                                                                                                                                                                            Object to be stringified

                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + diffs + + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            changes the conflicting doc has compared to the current doc

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + diffsCustom + + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            the user edited diff that can be applied as an alternative resolution (initialized with same value as diffs)

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + diffsReverse + + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            changes the current doc has compared to the conflicting doc.

                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            This mirrors diffs but shows the things that would be added if the current doc would +overwrite the conflicting version instead of the other way round.

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + docString + + +
                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            used in the template for a tooltip displaying the full document

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + resolution + + +
                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                            + Default value : null +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            whether/how this conflict has been resolved

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            + + + revDoc + + +
                                                                                                                                                                                                                                                                                                                            + Type : any + +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            document from the database in the conflicting version

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                            +import { diff } from "deep-object-diff";
                                                                                                                                                                                                                                                                                                                            +import { ConfirmationDialogService } from "../../../core/common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                            +import { Database } from "../../../core/database/database";
                                                                                                                                                                                                                                                                                                                            +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                            +import { AutoResolutionService } from "../auto-resolution/auto-resolution.service";
                                                                                                                                                                                                                                                                                                                            +import { merge } from "lodash-es";
                                                                                                                                                                                                                                                                                                                            +import { MatExpansionModule } from "@angular/material/expansion";
                                                                                                                                                                                                                                                                                                                            +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                            +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                            +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                            + * Visualize one specific conflicting document revision and offer resolution options.
                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                            +  selector: "app-compare-rev",
                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./compare-rev.component.html",
                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./compare-rev.component.scss"],
                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                            +    MatExpansionModule,
                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                            +    FormsModule,
                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                            +export class CompareRevComponent {
                                                                                                                                                                                                                                                                                                                            +  /** revision key (_rev) of the confliction version to be displayed */
                                                                                                                                                                                                                                                                                                                            +  @Input() rev: string;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** document from the database in the current version */
                                                                                                                                                                                                                                                                                                                            +  @Input() doc: any;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** used in the template for a tooltip displaying the full document */
                                                                                                                                                                                                                                                                                                                            +  docString: string;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** document from the database in the conflicting version */
                                                                                                                                                                                                                                                                                                                            +  revDoc: any;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** changes the conflicting doc has compared to the current doc */
                                                                                                                                                                                                                                                                                                                            +  diffs;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** changes the current doc has compared to the conflicting doc.
                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                            +   * This mirrors `diffs` but shows the things that would be added if the current doc would
                                                                                                                                                                                                                                                                                                                            +   * overwrite the conflicting version instead of the other way round.
                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                            +  diffsReverse;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** the user edited diff that can be applied as an alternative resolution (initialized with same value as `diffs`) */
                                                                                                                                                                                                                                                                                                                            +  diffsCustom;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /** whether/how this conflict has been resolved */
                                                                                                                                                                                                                                                                                                                            +  resolution: string = null;
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                            +    private db: Database,
                                                                                                                                                                                                                                                                                                                            +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                            +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                            +    private conflictResolver: AutoResolutionService,
                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                            +   * Load the document version (revision) to be displayed and generate the diffs to be visualized.
                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                            +  public async loadRev() {
                                                                                                                                                                                                                                                                                                                            +    this.revDoc = await this.db.get(this.doc._id, { rev: this.rev });
                                                                                                                                                                                                                                                                                                                            +    const diffObject = diff(this.doc, this.revDoc);
                                                                                                                                                                                                                                                                                                                            +    this.diffs = this.stringify(diffObject);
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    const diffReverseObject = diff(this.revDoc, this.doc);
                                                                                                                                                                                                                                                                                                                            +    this.diffsReverse = this.stringify(diffReverseObject);
                                                                                                                                                                                                                                                                                                                            +    this.diffsCustom = this.stringify(diffReverseObject);
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    const isIrrelevantConflictingDoc =
                                                                                                                                                                                                                                                                                                                            +      this.conflictResolver.shouldDeleteConflictingRevision(
                                                                                                                                                                                                                                                                                                                            +        this.doc,
                                                                                                                                                                                                                                                                                                                            +        this.revDoc,
                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                            +    if (isIrrelevantConflictingDoc) {
                                                                                                                                                                                                                                                                                                                            +      const success = await this.deleteDoc(this.revDoc);
                                                                                                                                                                                                                                                                                                                            +      if (success) {
                                                                                                                                                                                                                                                                                                                            +        this.resolution = $localize`automatically deleted trivial conflict`;
                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                            +   * Generate a human-readable string of the given object.
                                                                                                                                                                                                                                                                                                                            +   * @param entity Object to be stringified
                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                            +  stringify(entity: any) {
                                                                                                                                                                                                                                                                                                                            +    return JSON.stringify(
                                                                                                                                                                                                                                                                                                                            +      entity,
                                                                                                                                                                                                                                                                                                                            +      (k, v) => (k === "_rev" ? undefined : v), // ignore "_rev"
                                                                                                                                                                                                                                                                                                                            +      2,
                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                            +   * Resolve the displayed conflict by deleting the conflicting revision doc and keeping the current doc.
                                                                                                                                                                                                                                                                                                                            +   * @param docToDelete Document to be deleted
                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                            +  public async resolveByDelete(docToDelete: any) {
                                                                                                                                                                                                                                                                                                                            +    const confirmed = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                            +      $localize`Delete Conflicting Version?`,
                                                                                                                                                                                                                                                                                                                            +      $localize`Are you sure you want to keep the current version and delete this conflicting version? ${this.stringify(
                                                                                                                                                                                                                                                                                                                            +        docToDelete,
                                                                                                                                                                                                                                                                                                                            +      )}`,
                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                            +      const success = await this.deleteDoc(docToDelete);
                                                                                                                                                                                                                                                                                                                            +      if (success) {
                                                                                                                                                                                                                                                                                                                            +        this.resolution = $localize`deleted conflicting version`;
                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  private async deleteDoc(docToDelete: any): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                            +      await this.db.remove(docToDelete);
                                                                                                                                                                                                                                                                                                                            +      return true;
                                                                                                                                                                                                                                                                                                                            +    } catch (e) {
                                                                                                                                                                                                                                                                                                                            +      const errorMessage = e.message || e.toString();
                                                                                                                                                                                                                                                                                                                            +      this.snackBar.open(
                                                                                                                                                                                                                                                                                                                            +        $localize`Error trying to delete conflicting version: ${errorMessage}`,
                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                            +      return false;
                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  private async saveDoc(docToSave: any): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                            +      await this.db.put(docToSave);
                                                                                                                                                                                                                                                                                                                            +      return true;
                                                                                                                                                                                                                                                                                                                            +    } catch (e) {
                                                                                                                                                                                                                                                                                                                            +      const errorMessage = e.message || e.toString();
                                                                                                                                                                                                                                                                                                                            +      this.snackBar.open(
                                                                                                                                                                                                                                                                                                                            +        $localize`Error trying to save version: ${errorMessage}`,
                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                            +      return false;
                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                            +   * Apply the given diff, save the resulting new document to the database
                                                                                                                                                                                                                                                                                                                            +   * and remove the conflicting document, thereby resolving the conflict.
                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                            +   * This method is also used to resolve the conflict to keep the conflicting version instead of the current doc.
                                                                                                                                                                                                                                                                                                                            +   * Then this simply applies the diff of the existing conflicting version instead of a user-edited diff.
                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                            +   * @param diffStringToApply The (user-edited) diff to be applied to the current doc
                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                            +  public async resolveByManualEdit(diffStringToApply: string) {
                                                                                                                                                                                                                                                                                                                            +    const originalDoc = merge({}, this.doc);
                                                                                                                                                                                                                                                                                                                            +    const diffToApply = JSON.parse(diffStringToApply);
                                                                                                                                                                                                                                                                                                                            +    merge(this.doc, diffToApply);
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    const newChanges = diff(originalDoc, this.doc);
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    const confirmed = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                            +      $localize`Save Changes for Conflict Resolution?`,
                                                                                                                                                                                                                                                                                                                            +      $localize`Are you sure you want to save the following changes and delete the conflicting version? ${this.stringify(
                                                                                                                                                                                                                                                                                                                            +        newChanges,
                                                                                                                                                                                                                                                                                                                            +      )}`,
                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                            +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                            +      const successSave = await this.saveDoc(this.doc);
                                                                                                                                                                                                                                                                                                                            +      const successDel = await this.deleteDoc(this.revDoc);
                                                                                                                                                                                                                                                                                                                            +      if (successSave && successDel) {
                                                                                                                                                                                                                                                                                                                            +        if (diffStringToApply === this.diffs) {
                                                                                                                                                                                                                                                                                                                            +          this.resolution = $localize`selected conflicting version`;
                                                                                                                                                                                                                                                                                                                            +        } else {
                                                                                                                                                                                                                                                                                                                            +          this.resolution = $localize`resolved manually`;
                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            <mat-expansion-panel (opened)="loadRev()" *ngIf="!resolution">
                                                                                                                                                                                                                                                                                                                            +  <mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                            +    <mat-panel-title>
                                                                                                                                                                                                                                                                                                                            +      <span [matTooltip]="docString" (mouseover)="docString = stringify(doc)">{{
                                                                                                                                                                                                                                                                                                                            +        rev
                                                                                                                                                                                                                                                                                                                            +      }}</span>
                                                                                                                                                                                                                                                                                                                            +    </mat-panel-title>
                                                                                                                                                                                                                                                                                                                            +  </mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +  <div class="flex-row gap-small">
                                                                                                                                                                                                                                                                                                                            +    <div>
                                                                                                                                                                                                                                                                                                                            +      <label
                                                                                                                                                                                                                                                                                                                            +        for="conflictingDiff"
                                                                                                                                                                                                                                                                                                                            +        i18n="Signals that there are conflicting database-entities"
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        Conflicting Entity:
                                                                                                                                                                                                                                                                                                                            +      </label>
                                                                                                                                                                                                                                                                                                                            +      <textarea
                                                                                                                                                                                                                                                                                                                            +        id="conflictingDiff"
                                                                                                                                                                                                                                                                                                                            +        cdkTextareaAutosize
                                                                                                                                                                                                                                                                                                                            +        class="diffText conflicting"
                                                                                                                                                                                                                                                                                                                            +        disabled
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        {{ diffs }}
                                                                                                                                                                                                                                                                                                                            +      </textarea>
                                                                                                                                                                                                                                                                                                                            +      <button
                                                                                                                                                                                                                                                                                                                            +        mat-raised-button
                                                                                                                                                                                                                                                                                                                            +        class="full-width"
                                                                                                                                                                                                                                                                                                                            +        (click)="resolveByManualEdit(diffs)"
                                                                                                                                                                                                                                                                                                                            +        i18n
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        Choose conflicting version
                                                                                                                                                                                                                                                                                                                            +      </button>
                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    <div>
                                                                                                                                                                                                                                                                                                                            +      <label for="customDiff">Custom Resolution:</label>
                                                                                                                                                                                                                                                                                                                            +      <textarea
                                                                                                                                                                                                                                                                                                                            +        id="customDiff"
                                                                                                                                                                                                                                                                                                                            +        cdkTextareaAutosize
                                                                                                                                                                                                                                                                                                                            +        class="diffText custom"
                                                                                                                                                                                                                                                                                                                            +        [(ngModel)]="diffsCustom"
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +      </textarea>
                                                                                                                                                                                                                                                                                                                            +      <button
                                                                                                                                                                                                                                                                                                                            +        mat-raised-button
                                                                                                                                                                                                                                                                                                                            +        class="full-width"
                                                                                                                                                                                                                                                                                                                            +        (click)="resolveByManualEdit(diffsCustom)"
                                                                                                                                                                                                                                                                                                                            +        i18n
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        Save manually resolved record
                                                                                                                                                                                                                                                                                                                            +      </button>
                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +    <div>
                                                                                                                                                                                                                                                                                                                            +      <label for="currentDiff" i18n="A currently selected entity">
                                                                                                                                                                                                                                                                                                                            +        Current Entity:
                                                                                                                                                                                                                                                                                                                            +      </label>
                                                                                                                                                                                                                                                                                                                            +      <textarea
                                                                                                                                                                                                                                                                                                                            +        id="currentDiff"
                                                                                                                                                                                                                                                                                                                            +        cdkTextareaAutosize
                                                                                                                                                                                                                                                                                                                            +        class="diffText current"
                                                                                                                                                                                                                                                                                                                            +        disabled
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        {{ diffsReverse }}
                                                                                                                                                                                                                                                                                                                            +      </textarea>
                                                                                                                                                                                                                                                                                                                            +      <button
                                                                                                                                                                                                                                                                                                                            +        mat-raised-button
                                                                                                                                                                                                                                                                                                                            +        class="full-width"
                                                                                                                                                                                                                                                                                                                            +        (click)="resolveByDelete(revDoc)"
                                                                                                                                                                                                                                                                                                                            +        i18n="
                                                                                                                                                                                                                                                                                                                            +          Choose a current version between several conflicting versions of
                                                                                                                                                                                                                                                                                                                            +          database entries
                                                                                                                                                                                                                                                                                                                            +        "
                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                            +        Choose current version
                                                                                                                                                                                                                                                                                                                            +      </button>
                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                                            +</mat-expansion-panel>
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +<div *ngIf="resolution">
                                                                                                                                                                                                                                                                                                                            +  <em>Resolved ({{ resolution }})</em>
                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            + ./compare-rev.component.scss +

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            .diffText {
                                                                                                                                                                                                                                                                                                                            +  width: 100%;
                                                                                                                                                                                                                                                                                                                            +  background: white;
                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +.conflicting {
                                                                                                                                                                                                                                                                                                                            +  background: rgba(255, 0, 0, 0.1);
                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                            +.current {
                                                                                                                                                                                                                                                                                                                            +  background: rgba(0, 128, 0, 0.1);
                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                            +.custom {
                                                                                                                                                                                                                                                                                                                            +  background: rgba(0, 0, 255, 0.1);
                                                                                                                                                                                                                                                                                                                            +  font-weight: bold;
                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ConfigImportComponent.html b/documentation/components/ConfigImportComponent.html new file mode 100644 index 0000000000..7394a00fc9 --- /dev/null +++ b/documentation/components/ConfigImportComponent.html @@ -0,0 +1,774 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              + src/app/features/config-setup/config-import/config-import.component.ts +

                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              UI to upload a config definition and generate a new app Config from the imported file.

                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              +constructor(configImportParser: ConfigImportParserService) +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                              configImportParser + ConfigImportParserService + + No +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + + + generateConfig + + +
                                                                                                                                                                                                                                                                                                                              +generateConfig(includingDefaultConfigs: boolean) +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                              includingDefaultConfigs + boolean + + No +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + + + loadData + + +
                                                                                                                                                                                                                                                                                                                              +loadData(loadedConfigFile: ParsedData) +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                              loadedConfigFile + ParsedData + + No +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + + + entityName + + +
                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                              + Default value : "Child" +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + + + generatedConfig + + +
                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              + + + loadedConfigFile + + +
                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                              +  InputFileComponent,
                                                                                                                                                                                                                                                                                                                              +  ParsedData,
                                                                                                                                                                                                                                                                                                                              +} from "../../../core/common-components/input-file/input-file.component";
                                                                                                                                                                                                                                                                                                                              +import { ConfigImportParserService } from "../config-import-parser.service";
                                                                                                                                                                                                                                                                                                                              +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                              +import { ClipboardModule } from "@angular/cdk/clipboard";
                                                                                                                                                                                                                                                                                                                              +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                              + * UI to upload a config definition and generate a new app `Config` from the imported file.
                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                              +@RouteTarget("ConfigImport")
                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                              +  selector: "app-config-import",
                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./config-import.component.html",
                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./config-import.component.scss"],
                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                              +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                              +    FormsModule,
                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                              +    ClipboardModule,
                                                                                                                                                                                                                                                                                                                              +    InputFileComponent,
                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                              +export class ConfigImportComponent {
                                                                                                                                                                                                                                                                                                                              +  loadedConfigFile: any;
                                                                                                                                                                                                                                                                                                                              +  entityName: string = "Child";
                                                                                                                                                                                                                                                                                                                              +  generatedConfig: string = "";
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +  constructor(private configImportParser: ConfigImportParserService) {}
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +  loadData(loadedConfigFile: ParsedData) {
                                                                                                                                                                                                                                                                                                                              +    // TODO: handle csv parse errors
                                                                                                                                                                                                                                                                                                                              +    // TODO: validate the data has the expected structure
                                                                                                                                                                                                                                                                                                                              +    this.loadedConfigFile = loadedConfigFile.data;
                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +  generateConfig(includingDefaultConfigs: boolean) {
                                                                                                                                                                                                                                                                                                                              +    this.generatedConfig = JSON.stringify(
                                                                                                                                                                                                                                                                                                                              +      this.configImportParser.parseImportDefinition(
                                                                                                                                                                                                                                                                                                                              +        this.loadedConfigFile,
                                                                                                                                                                                                                                                                                                                              +        this.entityName,
                                                                                                                                                                                                                                                                                                                              +        includingDefaultConfigs,
                                                                                                                                                                                                                                                                                                                              +      ),
                                                                                                                                                                                                                                                                                                                              +      null,
                                                                                                                                                                                                                                                                                                                              +      2,
                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              <!-- todo: flex to display below each other with proper margins -->
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<app-input-file (fileLoad)="loadData($event)" fileType="csv"></app-input-file>
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<br />
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<div class="flex-row gap-small">
                                                                                                                                                                                                                                                                                                                              +  <mat-form-field>
                                                                                                                                                                                                                                                                                                                              +    <mat-label>Entity Type</mat-label>
                                                                                                                                                                                                                                                                                                                              +    <input matInput [(ngModel)]="entityName" title="entity type" type="text" />
                                                                                                                                                                                                                                                                                                                              +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                              +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                              +    (click)="generateConfig(true)"
                                                                                                                                                                                                                                                                                                                              +    [disabled]="!loadedConfigFile"
                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                              +    Generate Config
                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                              +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                              +    (click)="generateConfig(false)"
                                                                                                                                                                                                                                                                                                                              +    [disabled]="!loadedConfigFile"
                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                              +    Generate (without default configs)
                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<br />
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<textarea
                                                                                                                                                                                                                                                                                                                              +  [value]="generatedConfig"
                                                                                                                                                                                                                                                                                                                              +  rows="10"
                                                                                                                                                                                                                                                                                                                              +  class="config-textarea"
                                                                                                                                                                                                                                                                                                                              +></textarea>
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<br />
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +<button mat-stroked-button [cdkCopyToClipboard]="generatedConfig">
                                                                                                                                                                                                                                                                                                                              +  Copy Config to Clipboard
                                                                                                                                                                                                                                                                                                                              +</button>
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              + ./config-import.component.scss +

                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              .config-textarea {
                                                                                                                                                                                                                                                                                                                              +  width: 100%;
                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ConfigureEntityFieldValidatorComponent.html b/documentation/components/ConfigureEntityFieldValidatorComponent.html new file mode 100644 index 0000000000..42137ae0d3 --- /dev/null +++ b/documentation/components/ConfigureEntityFieldValidatorComponent.html @@ -0,0 +1,771 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                + src/app/core/admin/admin-entity-details/admin-entity-field/configure-entity-field-validator/configure-entity-field-validator.component.ts +

                                                                                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Outputs
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                +constructor(fb: FormBuilder) +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                + + entitySchemaField +
                                                                                                                                                                                                                                                                                                                                + Type : EntitySchemaField + +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                the field definition with the currently existing validator settings to be edited

                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Outputs

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                + + entityValidatorChanges +
                                                                                                                                                                                                                                                                                                                                + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Emit the latest state of the validators config whenever the user changed it in the displayed form.

                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                + + + removeDefaultValuesFromValidatorConfig + + +
                                                                                                                                                                                                                                                                                                                                +removeDefaultValuesFromValidatorConfig(validators: FormValidatorConfig) +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                Removes default fields and returns a validator config that only contains explicitly activated validators.

                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                validators + FormValidatorConfig + + No + +

                                                                                                                                                                                                                                                                                                                                form values including default values that are unchanged

                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + Returns : FormValidatorConfig + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                + + + validatorForm + + +
                                                                                                                                                                                                                                                                                                                                + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                +  FormGroup,
                                                                                                                                                                                                                                                                                                                                +  FormsModule,
                                                                                                                                                                                                                                                                                                                                +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                +import { EntitySchemaField } from "app/core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                +import { FormValidatorConfig } from "app/core/common-components/entity-form/dynamic-form-validators/form-validator-config";
                                                                                                                                                                                                                                                                                                                                +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                +import { HelpButtonComponent } from "../../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                +  selector: "app-configure-entity-field-validator",
                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                                                                                +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                +    CommonModule,
                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./configure-entity-field-validator.component.html",
                                                                                                                                                                                                                                                                                                                                +  styleUrl: "./configure-entity-field-validator.component.scss",
                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                +export class ConfigureEntityFieldValidatorComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                +  validatorForm: FormGroup;
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                +   * the field definition with the currently existing validator settings to be edited
                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                +  @Input() entitySchemaField: EntitySchemaField;
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                +   * Emit the latest state of the validators config whenever the user changed it in the displayed form.
                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                +  @Output() entityValidatorChanges = new EventEmitter<FormValidatorConfig>();
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  constructor(private fb: FormBuilder) {}
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                +    this.init();
                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  private init() {
                                                                                                                                                                                                                                                                                                                                +    if (this.entitySchemaField.validators) {
                                                                                                                                                                                                                                                                                                                                +      this.validatorForm = this.fb.group({
                                                                                                                                                                                                                                                                                                                                +        required: [this.entitySchemaField.validators.required],
                                                                                                                                                                                                                                                                                                                                +        min: [this.entitySchemaField.validators.min],
                                                                                                                                                                                                                                                                                                                                +        max: [this.entitySchemaField.validators.max],
                                                                                                                                                                                                                                                                                                                                +        regex: [this.entitySchemaField.validators.pattern],
                                                                                                                                                                                                                                                                                                                                +        validEmail: [this.entitySchemaField.validators.validEmail],
                                                                                                                                                                                                                                                                                                                                +        uniqueId: [this.entitySchemaField.validators.uniqueId],
                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                +      this.validatorForm = this.fb.group({
                                                                                                                                                                                                                                                                                                                                +        required: [false],
                                                                                                                                                                                                                                                                                                                                +        min: [null],
                                                                                                                                                                                                                                                                                                                                +        max: [null],
                                                                                                                                                                                                                                                                                                                                +        regex: [""],
                                                                                                                                                                                                                                                                                                                                +        validEmail: [false],
                                                                                                                                                                                                                                                                                                                                +        uniqueId: [""],
                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +    this.validatorForm.valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                +      const rawValues = this.validatorForm.getRawValue();
                                                                                                                                                                                                                                                                                                                                +      const cleanedValues =
                                                                                                                                                                                                                                                                                                                                +        this.removeDefaultValuesFromValidatorConfig(rawValues);
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +      this.entityValidatorChanges.emit(cleanedValues);
                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                +   * Removes default fields and returns a validator config that only contains explicitly activated validators.
                                                                                                                                                                                                                                                                                                                                +   * @param validators form values including default values that are unchanged
                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                +  removeDefaultValuesFromValidatorConfig(
                                                                                                                                                                                                                                                                                                                                +    validators: FormValidatorConfig,
                                                                                                                                                                                                                                                                                                                                +  ): FormValidatorConfig {
                                                                                                                                                                                                                                                                                                                                +    for (let key of Object.keys(validators)) {
                                                                                                                                                                                                                                                                                                                                +      if (isDefaultValue(validators[key])) {
                                                                                                                                                                                                                                                                                                                                +        delete validators[key];
                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +    function isDefaultValue(value): boolean {
                                                                                                                                                                                                                                                                                                                                +      return value === false || value === "" || value === null;
                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +    return validators;
                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                <form class="validator-form-cell flex-column" [formGroup]="validatorForm">
                                                                                                                                                                                                                                                                                                                                +  <ng-container *ngIf="entitySchemaField.dataType === 'number'">
                                                                                                                                                                                                                                                                                                                                +    <mat-form-field class="number-field">
                                                                                                                                                                                                                                                                                                                                +      <mat-label i18n>Minimum Value</mat-label>
                                                                                                                                                                                                                                                                                                                                +      <input formControlName="min" matInput type="number" />
                                                                                                                                                                                                                                                                                                                                +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +    <mat-form-field class="number-field">
                                                                                                                                                                                                                                                                                                                                +      <mat-label i18n>Maximum Value</mat-label>
                                                                                                                                                                                                                                                                                                                                +      <input formControlName="max" matInput type="number" />
                                                                                                                                                                                                                                                                                                                                +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                +  </ng-container>
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  <!-- TODO: requires transformation of value to { pattern: string, message: string } before saving
                                                                                                                                                                                                                                                                                                                                +    <mat-form-field *ngIf="entitySchemaField.dataType === 'string'">
                                                                                                                                                                                                                                                                                                                                +      <mat-label i18n>Pattern (Regex)</mat-label>
                                                                                                                                                                                                                                                                                                                                +      <input formControlName="regex" matInput />
                                                                                                                                                                                                                                                                                                                                +      <app-help-button
                                                                                                                                                                                                                                                                                                                                +        matSuffix
                                                                                                                                                                                                                                                                                                                                +        text="Define a format (-> regular expression) that text values have to match to be valid."
                                                                                                                                                                                                                                                                                                                                +        i18n-text
                                                                                                                                                                                                                                                                                                                                +      ></app-help-button>
                                                                                                                                                                                                                                                                                                                                +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                +    -->
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  <div>
                                                                                                                                                                                                                                                                                                                                +    <mat-checkbox i18n formControlName="required">
                                                                                                                                                                                                                                                                                                                                +      Required Field
                                                                                                                                                                                                                                                                                                                                +    </mat-checkbox>
                                                                                                                                                                                                                                                                                                                                +    <app-help-button
                                                                                                                                                                                                                                                                                                                                +      text="Users always must provide a value in this field"
                                                                                                                                                                                                                                                                                                                                +      i18n-text
                                                                                                                                                                                                                                                                                                                                +    ></app-help-button>
                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  <div>
                                                                                                                                                                                                                                                                                                                                +    <mat-checkbox i18n formControlName="uniqueId">
                                                                                                                                                                                                                                                                                                                                +      Unique ID [experimental]</mat-checkbox
                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                +    <app-help-button
                                                                                                                                                                                                                                                                                                                                +      text="Ensures the value is not used as an ID for another existing record already. (Experimental Feature: Does not support advanced edge cases)"
                                                                                                                                                                                                                                                                                                                                +      i18n-text
                                                                                                                                                                                                                                                                                                                                +    ></app-help-button>
                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +  <div *ngIf="entitySchemaField.dataType === 'string'">
                                                                                                                                                                                                                                                                                                                                +    <mat-checkbox i18n formControlName="validEmail">
                                                                                                                                                                                                                                                                                                                                +      Valid Email Format
                                                                                                                                                                                                                                                                                                                                +    </mat-checkbox>
                                                                                                                                                                                                                                                                                                                                +    <app-help-button
                                                                                                                                                                                                                                                                                                                                +      text="Users must enter a text that can be used as an email."
                                                                                                                                                                                                                                                                                                                                +      i18n-text
                                                                                                                                                                                                                                                                                                                                +    ></app-help-button>
                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                +</form>
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ConfigureEnumPopupComponent.html b/documentation/components/ConfigureEnumPopupComponent.html new file mode 100644 index 0000000000..56cd274913 --- /dev/null +++ b/documentation/components/ConfigureEnumPopupComponent.html @@ -0,0 +1,947 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/configurable-enum/configure-enum-popup/configure-enum-popup.component.ts +

                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +constructor(enumEntity: ConfigurableEnum, dialog: MatDialogRef<ConfigureEnumPopupComponent>, entityMapper: EntityMapperService, confirmationService: ConfirmationDialogService, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                  enumEntity + ConfigurableEnum + + No +
                                                                                                                                                                                                                                                                                                                                  dialog + MatDialogRef<ConfigureEnumPopupComponent> + + No +
                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                  confirmationService + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                  entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + + + Async + createNewOption + + +
                                                                                                                                                                                                                                                                                                                                  + + createNewOption() +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + + + Async + delete + + +
                                                                                                                                                                                                                                                                                                                                  + + delete(value: ConfigurableEnumValue, index: number) +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                  value + ConfigurableEnumValue + + No +
                                                                                                                                                                                                                                                                                                                                  index + number + + No +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + + + drop + + +
                                                                                                                                                                                                                                                                                                                                  +drop(event: CdkDragDrop) +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                  event + CdkDragDrop<string[]> + + No +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + + + + Public + enumEntity + + +
                                                                                                                                                                                                                                                                                                                                  + Type : ConfigurableEnum + +
                                                                                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                                                                                  + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  + + + newOptionInput + + +
                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                  +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                  +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                  +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                  +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnum } from "../configurable-enum";
                                                                                                                                                                                                                                                                                                                                  +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                  +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                  +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                  +import { DialogCloseComponent } from "../../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                  +  CdkDrag,
                                                                                                                                                                                                                                                                                                                                  +  CdkDragDrop,
                                                                                                                                                                                                                                                                                                                                  +  CdkDropList,
                                                                                                                                                                                                                                                                                                                                  +  moveItemInArray,
                                                                                                                                                                                                                                                                                                                                  +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                  +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                  +import { EntityRegistry } from "../../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                  +import { OkButton } from "../../../common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component";
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                  +  selector: "app-configure-enum-popup",
                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./configure-enum-popup.component.html",
                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./configure-enum-popup.component.scss"],
                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                  +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                  +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                  +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                  +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                  +    FormsModule,
                                                                                                                                                                                                                                                                                                                                  +    CdkDropList,
                                                                                                                                                                                                                                                                                                                                  +    CdkDrag,
                                                                                                                                                                                                                                                                                                                                  +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                  +export class ConfigureEnumPopupComponent {
                                                                                                                                                                                                                                                                                                                                  +  newOptionInput: string;
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_DIALOG_DATA) public enumEntity: ConfigurableEnum,
                                                                                                                                                                                                                                                                                                                                  +    private dialog: MatDialogRef<ConfigureEnumPopupComponent>,
                                                                                                                                                                                                                                                                                                                                  +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                  +    private confirmationService: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                  +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                  +    const initialValues = JSON.stringify(enumEntity.values);
                                                                                                                                                                                                                                                                                                                                  +    this.dialog.afterClosed().subscribe(() => {
                                                                                                                                                                                                                                                                                                                                  +      if (JSON.stringify(this.enumEntity.values) !== initialValues) {
                                                                                                                                                                                                                                                                                                                                  +        this.entityMapper.save(this.enumEntity);
                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  drop(event: CdkDragDrop<string[]>) {
                                                                                                                                                                                                                                                                                                                                  +    moveItemInArray(
                                                                                                                                                                                                                                                                                                                                  +      this.enumEntity.values,
                                                                                                                                                                                                                                                                                                                                  +      event.previousIndex,
                                                                                                                                                                                                                                                                                                                                  +      event.currentIndex,
                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  async delete(value: ConfigurableEnumValue, index: number) {
                                                                                                                                                                                                                                                                                                                                  +    const existingUsages = await this.getUsages(value);
                                                                                                                                                                                                                                                                                                                                  +    let deletionText = $localize`Are you sure that you want to delete the option "${value.label}"?`;
                                                                                                                                                                                                                                                                                                                                  +    if (existingUsages.length > 0) {
                                                                                                                                                                                                                                                                                                                                  +      deletionText += $localize` The option is still used in ${existingUsages.join(
                                                                                                                                                                                                                                                                                                                                  +        ", ",
                                                                                                                                                                                                                                                                                                                                  +      )} records. If deleted, the records will not be lost but specially marked.`;
                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                  +    const confirmed = await this.confirmationService.getConfirmation(
                                                                                                                                                                                                                                                                                                                                  +      $localize`Delete option`,
                                                                                                                                                                                                                                                                                                                                  +      deletionText,
                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                  +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                                  +      this.enumEntity.values.splice(index, 1);
                                                                                                                                                                                                                                                                                                                                  +      await this.entityMapper.save(this.enumEntity);
                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  private async getUsages(value: ConfigurableEnumValue) {
                                                                                                                                                                                                                                                                                                                                  +    const enumMap: { [key in string]: string[] } = {};
                                                                                                                                                                                                                                                                                                                                  +    for (const entity of this.entities.values()) {
                                                                                                                                                                                                                                                                                                                                  +      const schemaFields = [...entity.schema.entries()]
                                                                                                                                                                                                                                                                                                                                  +        .filter(
                                                                                                                                                                                                                                                                                                                                  +          ([_, schema]) => schema.additional === this.enumEntity.getId(true),
                                                                                                                                                                                                                                                                                                                                  +        )
                                                                                                                                                                                                                                                                                                                                  +        .map(([name]) => name);
                                                                                                                                                                                                                                                                                                                                  +      if (schemaFields.length > 0) {
                                                                                                                                                                                                                                                                                                                                  +        enumMap[entity.ENTITY_TYPE] = schemaFields;
                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                  +    const entityPromises = Object.entries(enumMap).map(([entityType, props]) =>
                                                                                                                                                                                                                                                                                                                                  +      this.entityMapper
                                                                                                                                                                                                                                                                                                                                  +        .loadType(entityType)
                                                                                                                                                                                                                                                                                                                                  +        .then((entities) => this.getEntitiesWithValue(entities, props, value)),
                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                  +    const possibleEntities = await Promise.all(entityPromises);
                                                                                                                                                                                                                                                                                                                                  +    return possibleEntities
                                                                                                                                                                                                                                                                                                                                  +      .filter((entities) => entities.length > 0)
                                                                                                                                                                                                                                                                                                                                  +      .map(
                                                                                                                                                                                                                                                                                                                                  +        (entities) =>
                                                                                                                                                                                                                                                                                                                                  +          `${entities.length} ${entities[0].getConstructor().label}`,
                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  private getEntitiesWithValue(
                                                                                                                                                                                                                                                                                                                                  +    res: Entity[],
                                                                                                                                                                                                                                                                                                                                  +    props: string[],
                                                                                                                                                                                                                                                                                                                                  +    value: ConfigurableEnumValue,
                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                  +    return res.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                  +      props.some(
                                                                                                                                                                                                                                                                                                                                  +        (prop) =>
                                                                                                                                                                                                                                                                                                                                  +          entity[prop]?.id === value?.id ||
                                                                                                                                                                                                                                                                                                                                  +          entity[prop]?.map?.((v) => v.id).includes(value.id),
                                                                                                                                                                                                                                                                                                                                  +      ),
                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  async createNewOption() {
                                                                                                                                                                                                                                                                                                                                  +    try {
                                                                                                                                                                                                                                                                                                                                  +      this.enumEntity.addOption(this.newOptionInput);
                                                                                                                                                                                                                                                                                                                                  +    } catch (error) {
                                                                                                                                                                                                                                                                                                                                  +      await this.confirmationService.getConfirmation(
                                                                                                                                                                                                                                                                                                                                  +        $localize`Failed to create new option`,
                                                                                                                                                                                                                                                                                                                                  +        $localize`Couldn't create this new option. Please check if the value already exists.`,
                                                                                                                                                                                                                                                                                                                                  +        OkButton,
                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +    this.newOptionInput = "";
                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  <h1 matDialogTitle i18n="title of dropdown options popup dialog">
                                                                                                                                                                                                                                                                                                                                  +  Edit dropdown options
                                                                                                                                                                                                                                                                                                                                  +</h1>
                                                                                                                                                                                                                                                                                                                                  +<app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +<mat-dialog-content
                                                                                                                                                                                                                                                                                                                                  +  style="max-width: 400px; padding-top: 5px"
                                                                                                                                                                                                                                                                                                                                  +  cdkDropList
                                                                                                                                                                                                                                                                                                                                  +  (cdkDropListDropped)="drop($event)"
                                                                                                                                                                                                                                                                                                                                  +>
                                                                                                                                                                                                                                                                                                                                  +  <mat-form-field
                                                                                                                                                                                                                                                                                                                                  +    *ngFor="let v of enumEntity.values; let i = index"
                                                                                                                                                                                                                                                                                                                                  +    cdkDrag
                                                                                                                                                                                                                                                                                                                                  +    class="full-width"
                                                                                                                                                                                                                                                                                                                                  +    appearance="fill"
                                                                                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                                                                                  +    <fa-icon
                                                                                                                                                                                                                                                                                                                                  +      icon="grip-vertical"
                                                                                                                                                                                                                                                                                                                                  +      matIconPrefix
                                                                                                                                                                                                                                                                                                                                  +      class="grab-icon margin-right-small"
                                                                                                                                                                                                                                                                                                                                  +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +    <input matInput [(ngModel)]="v.label" />
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +    <button mat-icon-button matIconSuffix (click)="delete(v, i)">
                                                                                                                                                                                                                                                                                                                                  +      <fa-icon icon="trash"></fa-icon>
                                                                                                                                                                                                                                                                                                                                  +    </button>
                                                                                                                                                                                                                                                                                                                                  +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +  <!-- CREATING NEW OPTION -->
                                                                                                                                                                                                                                                                                                                                  +  <mat-form-field class="full-width">
                                                                                                                                                                                                                                                                                                                                  +    <mat-label i18n>Add new option</mat-label>
                                                                                                                                                                                                                                                                                                                                  +    <input matInput [(ngModel)]="newOptionInput" />
                                                                                                                                                                                                                                                                                                                                  +    <button
                                                                                                                                                                                                                                                                                                                                  +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                  +      color="accent"
                                                                                                                                                                                                                                                                                                                                  +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                  +      (click)="createNewOption()"
                                                                                                                                                                                                                                                                                                                                  +    >
                                                                                                                                                                                                                                                                                                                                  +      <fa-icon icon="square-plus"></fa-icon>
                                                                                                                                                                                                                                                                                                                                  +    </button>
                                                                                                                                                                                                                                                                                                                                  +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                  +  <button mat-raised-button mat-dialog-close i18n="Close popup">Close</button>
                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  + ./configure-enum-popup.component.scss +

                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  .grab-icon {
                                                                                                                                                                                                                                                                                                                                  +  cursor: grab;
                                                                                                                                                                                                                                                                                                                                  +  padding-left: 5px;
                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ConfirmationDialogComponent.html b/documentation/components/ConfirmationDialogComponent.html new file mode 100644 index 0000000000..33582ff906 --- /dev/null +++ b/documentation/components/ConfirmationDialogComponent.html @@ -0,0 +1,654 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts +

                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    A configurable confirmation dialog box +used by the ConfirmationDialogService.

                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    +constructor(dialogRef: MatDialogRef<ConfirmationDialogComponent>, data: ConfirmationDialogConfig) +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    This component is used as a template for MatDialog, created with the required dependencies through that service.

                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                    dialogRef + MatDialogRef<ConfirmationDialogComponent> + + No + +

                                                                                                                                                                                                                                                                                                                                    The reference to the dialog this component is displayed within

                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    data + ConfirmationDialogConfig + + No + +

                                                                                                                                                                                                                                                                                                                                    The configuration defining what text and buttons will be displayed

                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                    + Type : ConfirmationDialogConfig + +
                                                                                                                                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                                                                                                                                    + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    The configuration defining what text and buttons will be displayed
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    + + + Public + dialogRef + + +
                                                                                                                                                                                                                                                                                                                                    + Type : MatDialogRef<ConfirmationDialogComponent> + +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    The reference to the dialog this component is displayed within
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                    +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                    +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                    +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                    +import { DialogCloseComponent } from "../../dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                    + * A configurable confirmation dialog box
                                                                                                                                                                                                                                                                                                                                    + * used by the {@link ConfirmationDialogService}.
                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                    +  selector: "app-confirmation-dialog",
                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./confirmation-dialog.component.html",
                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                    +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                    +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                    +export class ConfirmationDialogComponent {
                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                    +   * This component is used as a template for MatDialog, created with the required dependencies through that service.
                                                                                                                                                                                                                                                                                                                                    +   * @param dialogRef The reference to the dialog this component is displayed within
                                                                                                                                                                                                                                                                                                                                    +   * @param data The configuration defining what text and buttons will be displayed
                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                    +    public dialogRef: MatDialogRef<ConfirmationDialogComponent>,
                                                                                                                                                                                                                                                                                                                                    +    @Inject(MAT_DIALOG_DATA) public data: ConfirmationDialogConfig,
                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                    + * Options to configure the {@link ConfirmationDialogComponent}.
                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                    +export interface ConfirmationDialogConfig {
                                                                                                                                                                                                                                                                                                                                    +  /** title of the dialog box */
                                                                                                                                                                                                                                                                                                                                    +  title: string;
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +  /** description text in the dialog box */
                                                                                                                                                                                                                                                                                                                                    +  text: string;
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +  /** The buttons that should be displayed */
                                                                                                                                                                                                                                                                                                                                    +  buttons: ConfirmationDialogButton[];
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +  /** Whether or not to specify a 'close' icon-button.
                                                                                                                                                                                                                                                                                                                                    +   * This button is on the top-right of the dialog and closes it with no result
                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                    +  closeButton?: boolean;
                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +export interface ConfirmationDialogButton {
                                                                                                                                                                                                                                                                                                                                    +  text: string;
                                                                                                                                                                                                                                                                                                                                    +  dialogResult?: boolean | undefined;
                                                                                                                                                                                                                                                                                                                                    +  click();
                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +export const OkButton: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog OK:OK`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +];
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +export const YesNoButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +];
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +export const YesNoCancelButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                    +    text: $localize`:Confirmation dialog Cancel:Cancel`,
                                                                                                                                                                                                                                                                                                                                    +    click() {
                                                                                                                                                                                                                                                                                                                                    +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                    +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                    +    dialogResult: undefined,
                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                    +];
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    <h1 mat-dialog-title>
                                                                                                                                                                                                                                                                                                                                    +  {{ data.title }}
                                                                                                                                                                                                                                                                                                                                    +  <app-dialog-close
                                                                                                                                                                                                                                                                                                                                    +    *ngIf="data.closeButton"
                                                                                                                                                                                                                                                                                                                                    +    mat-dialog-close
                                                                                                                                                                                                                                                                                                                                    +  ></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                    +</h1>
                                                                                                                                                                                                                                                                                                                                    +<div mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                    +  <p *ngFor="let para of data.text?.split('\n')">{{ para }}</p>
                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +<div mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                    +  <button
                                                                                                                                                                                                                                                                                                                                    +    *ngFor="let button of data.buttons"
                                                                                                                                                                                                                                                                                                                                    +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                    +    (click)="button.click()"
                                                                                                                                                                                                                                                                                                                                    +    [mat-dialog-close]="button.dialogResult"
                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                    +    {{ button.text }}
                                                                                                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ConflictResolutionListComponent.html b/documentation/components/ConflictResolutionListComponent.html new file mode 100644 index 0000000000..e240afe184 --- /dev/null +++ b/documentation/components/ConflictResolutionListComponent.html @@ -0,0 +1,665 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      + src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts +

                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      List all document conflicts and allow the user to expand for details and manual resolution.

                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      +constructor(db: Database, entitySchemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                      db + Database + + No +
                                                                                                                                                                                                                                                                                                                                      entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                      + Type : [] + +
                                                                                                                                                                                                                                                                                                                                      + Default value : ["id", "data"] +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      visible table columns in the template

                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      + + + dataSource + + +
                                                                                                                                                                                                                                                                                                                                      + Type : QueryDataSource<Entity> + +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      data for the table in the template

                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      + + + + paginator + + +
                                                                                                                                                                                                                                                                                                                                      + Type : MatPaginator + +
                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                      + + @ViewChild(MatPaginator)
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      reference to mat-table paginator from template, required to set up pagination

                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      import { AfterViewInit, Component, Optional, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                      +import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
                                                                                                                                                                                                                                                                                                                                      +import { QueryDataSource } from "../../../core/database/query-data-source";
                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                      +import { Database } from "../../../core/database/database";
                                                                                                                                                                                                                                                                                                                                      +import { EntitySchemaService } from "../../../core/entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                      +import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                      +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                      +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                      +import { MatSortModule } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                      +import { CompareRevComponent } from "../compare-rev/compare-rev.component";
                                                                                                                                                                                                                                                                                                                                      +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                      + * List all document conflicts and allow the user to expand for details and manual resolution.
                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                      +@RouteTarget("ConflictResolution")
                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                      +  selector: "app-conflict-resolution-list",
                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./conflict-resolution-list.component.html",
                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                      +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                      +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                      +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                      +    MatSortModule,
                                                                                                                                                                                                                                                                                                                                      +    CompareRevComponent,
                                                                                                                                                                                                                                                                                                                                      +    NgForOf,
                                                                                                                                                                                                                                                                                                                                      +    MatPaginatorModule,
                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                      +export class ConflictResolutionListComponent implements AfterViewInit {
                                                                                                                                                                                                                                                                                                                                      +  /** visible table columns in the template */
                                                                                                                                                                                                                                                                                                                                      +  columnsToDisplay = ["id", "data"];
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  /** data for the table in the template */
                                                                                                                                                                                                                                                                                                                                      +  dataSource: QueryDataSource<Entity>;
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  /** reference to mat-table paginator from template, required to set up pagination */
                                                                                                                                                                                                                                                                                                                                      +  @ViewChild(MatPaginator) paginator: MatPaginator;
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                      +    private db: Database,
                                                                                                                                                                                                                                                                                                                                      +    @Optional() private entitySchemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  async ngAfterViewInit() {
                                                                                                                                                                                                                                                                                                                                      +    await this.createDatabaseIndexForConflicts();
                                                                                                                                                                                                                                                                                                                                      +    this.dataSource = new QueryDataSource(this.db, "conflicts/all");
                                                                                                                                                                                                                                                                                                                                      +    this.dataSource.paginator = this.paginator;
                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                      +   * Create the database index to query document conflicts, if the index doesn't exist already.
                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                      +  private createDatabaseIndexForConflicts() {
                                                                                                                                                                                                                                                                                                                                      +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                      +      _id: "_design/conflicts",
                                                                                                                                                                                                                                                                                                                                      +      views: {
                                                                                                                                                                                                                                                                                                                                      +        all: {
                                                                                                                                                                                                                                                                                                                                      +          map:
                                                                                                                                                                                                                                                                                                                                      +            "(doc) => { " +
                                                                                                                                                                                                                                                                                                                                      +            "if (doc._conflicts) { emit(doc._conflicts, doc._id); } " +
                                                                                                                                                                                                                                                                                                                                      +            "}",
                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +    return this.db.saveDatabaseIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      <p>conflicts to resolve:</p>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +<div class="mat-elevation-z1">
                                                                                                                                                                                                                                                                                                                                      +  <div *ngIf="dataSource?.loading$ | async">
                                                                                                                                                                                                                                                                                                                                      +    <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  <table
                                                                                                                                                                                                                                                                                                                                      +    mat-table
                                                                                                                                                                                                                                                                                                                                      +    [dataSource]="dataSource"
                                                                                                                                                                                                                                                                                                                                      +    matSort
                                                                                                                                                                                                                                                                                                                                      +    class="full-width"
                                                                                                                                                                                                                                                                                                                                      +    aria-label="Table showing the conflicts"
                                                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                                                      +    <ng-container matColumnDef="id">
                                                                                                                                                                                                                                                                                                                                      +      <th mat-header-cell *matHeaderCellDef mat-sort-header>_id</th>
                                                                                                                                                                                                                                                                                                                                      +      <td mat-cell *matCellDef="let row">{{ row.id }}</td>
                                                                                                                                                                                                                                                                                                                                      +    </ng-container>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +    <ng-container matColumnDef="data" class="full-width">
                                                                                                                                                                                                                                                                                                                                      +      <th mat-header-cell *matHeaderCellDef mat-sort-header>Data</th>
                                                                                                                                                                                                                                                                                                                                      +      <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                                                                                      +        <app-compare-rev
                                                                                                                                                                                                                                                                                                                                      +          *ngFor="let rev of row.key"
                                                                                                                                                                                                                                                                                                                                      +          [rev]="rev"
                                                                                                                                                                                                                                                                                                                                      +          [doc]="row.doc"
                                                                                                                                                                                                                                                                                                                                      +        ></app-compare-rev>
                                                                                                                                                                                                                                                                                                                                      +      </td>
                                                                                                                                                                                                                                                                                                                                      +    </ng-container>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +    <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
                                                                                                                                                                                                                                                                                                                                      +    <tr
                                                                                                                                                                                                                                                                                                                                      +      mat-row
                                                                                                                                                                                                                                                                                                                                      +      *matRowDef="let entity; columns: columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                      +      class="table-list-item"
                                                                                                                                                                                                                                                                                                                                      +    ></tr>
                                                                                                                                                                                                                                                                                                                                      +  </table>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +  <mat-paginator
                                                                                                                                                                                                                                                                                                                                      +    [pageSizeOptions]="[5, 10, 20]"
                                                                                                                                                                                                                                                                                                                                      +    [pageSize]="10"
                                                                                                                                                                                                                                                                                                                                      +    showFirstLastButtons
                                                                                                                                                                                                                                                                                                                                      +  ></mat-paginator>
                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/CustomIntervalComponent.html b/documentation/components/CustomIntervalComponent.html new file mode 100644 index 0000000000..e87cc141f1 --- /dev/null +++ b/documentation/components/CustomIntervalComponent.html @@ -0,0 +1,612 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        + src/app/features/todos/recurring-interval/custom-interval/custom-interval.component.ts +

                                                                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + + + validateValue + + +
                                                                                                                                                                                                                                                                                                                                        +validateValue() +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + + + availableUnits + + +
                                                                                                                                                                                                                                                                                                                                        + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                        + Default value : timeUnitsPrimary +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + + + selectedUnit + + +
                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                        + Default value : "weeks" +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        + + + selectedValue + + +
                                                                                                                                                                                                                                                                                                                                        + Type : number + +
                                                                                                                                                                                                                                                                                                                                        + Default value : 1 +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                        +import { timeUnitsPrimary } from "../time-interval";
                                                                                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                        +import { MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                        +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                        +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                        +  selector: "app-custom-interval",
                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./custom-interval.component.html",
                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./custom-interval.component.scss"],
                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                                                                        +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                        +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                        +    NgForOf,
                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                        +export class CustomIntervalComponent {
                                                                                                                                                                                                                                                                                                                                        +  availableUnits: { label: string; unit: string }[] = timeUnitsPrimary;
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +  selectedValue: number = 1;
                                                                                                                                                                                                                                                                                                                                        +  selectedUnit: string = "weeks";
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +  validateValue() {
                                                                                                                                                                                                                                                                                                                                        +    // if we switch to ReactiveForms here then maybe change this to Validators
                                                                                                                                                                                                                                                                                                                                        +    if (this.selectedValue < 1) {
                                                                                                                                                                                                                                                                                                                                        +      this.selectedValue = 1;
                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        <mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                        +  <span i18n>repeat every</span>
                                                                                                                                                                                                                                                                                                                                        +  &nbsp;
                                                                                                                                                                                                                                                                                                                                        +  <mat-form-field class="field-number">
                                                                                                                                                                                                                                                                                                                                        +    <input
                                                                                                                                                                                                                                                                                                                                        +      matInput
                                                                                                                                                                                                                                                                                                                                        +      type="number"
                                                                                                                                                                                                                                                                                                                                        +      [(ngModel)]="selectedValue"
                                                                                                                                                                                                                                                                                                                                        +      min="1"
                                                                                                                                                                                                                                                                                                                                        +      (keyup)="validateValue()"
                                                                                                                                                                                                                                                                                                                                        +    />
                                                                                                                                                                                                                                                                                                                                        +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                        +  &nbsp;
                                                                                                                                                                                                                                                                                                                                        +  <mat-form-field class="field-select">
                                                                                                                                                                                                                                                                                                                                        +    <mat-select [(ngModel)]="selectedUnit">
                                                                                                                                                                                                                                                                                                                                        +      <mat-option *ngFor="let o of availableUnits" [value]="o.unit">
                                                                                                                                                                                                                                                                                                                                        +        {{ o.label }}
                                                                                                                                                                                                                                                                                                                                        +      </mat-option>
                                                                                                                                                                                                                                                                                                                                        +    </mat-select>
                                                                                                                                                                                                                                                                                                                                        +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                        +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                        +    i18n="custom time interval dialog action"
                                                                                                                                                                                                                                                                                                                                        +    [mat-dialog-close]="{ amount: selectedValue, unit: selectedUnit }"
                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                        +    Set
                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                        +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                        +    i18n="custom time interval dialog action"
                                                                                                                                                                                                                                                                                                                                        +    [mat-dialog-close]="undefined"
                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                        +    Cancel
                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        + ./custom-interval.component.scss +

                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        .field-number {
                                                                                                                                                                                                                                                                                                                                        +  width: 80px;
                                                                                                                                                                                                                                                                                                                                        +  font-weight: bold;
                                                                                                                                                                                                                                                                                                                                        +  text-align: right;
                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +.field-select {
                                                                                                                                                                                                                                                                                                                                        +  width: 120px;
                                                                                                                                                                                                                                                                                                                                        +  font-weight: bold;
                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DashboardComponent.html b/documentation/components/DashboardComponent.html new file mode 100644 index 0000000000..1d564b6d2f --- /dev/null +++ b/documentation/components/DashboardComponent.html @@ -0,0 +1,703 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          + src/app/core/dashboard/dashboard/dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                          + + + + +

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          + DashboardConfig +

                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Accessors
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +constructor(ability: EntityAbility, components: ComponentRegistry, session: SessionSubject) +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                          ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                          components + ComponentRegistry + + No +
                                                                                                                                                                                                                                                                                                                                          session + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          + + widgets +
                                                                                                                                                                                                                                                                                                                                          + Type : DynamicComponentConfig[] + +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          + + + _widgets + + +
                                                                                                                                                                                                                                                                                                                                          + Type : DynamicComponentConfig[] + +
                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          + Accessors +

                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          + + widgets +
                                                                                                                                                                                                                                                                                                                                          + getwidgets() +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          + setwidgets(widgets: DynamicComponentConfig[]) +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                          widgets + DynamicComponentConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                          +import { NgFor } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                          +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                          +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                          +import { ComponentRegistry } from "../../../dynamic-components";
                                                                                                                                                                                                                                                                                                                                          +import { DashboardWidget } from "../dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                          +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +@RouteTarget("Dashboard")
                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                          +  selector: "app-dashboard",
                                                                                                                                                                                                                                                                                                                                          +  template: ` <ng-template
                                                                                                                                                                                                                                                                                                                                          +    *ngFor="let widgetConfig of _widgets"
                                                                                                                                                                                                                                                                                                                                          +    [appDynamicComponent]="widgetConfig"
                                                                                                                                                                                                                                                                                                                                          +  ></ng-template>`,
                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                          +  imports: [NgFor, DynamicComponentDirective],
                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                          +export class DashboardComponent implements DashboardConfig {
                                                                                                                                                                                                                                                                                                                                          +  @Input() set widgets(widgets: DynamicComponentConfig[]) {
                                                                                                                                                                                                                                                                                                                                          +    this.filterPermittedWidgets(widgets).then((res) => (this._widgets = res));
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +  get widgets(): DynamicComponentConfig[] {
                                                                                                                                                                                                                                                                                                                                          +    return this._widgets;
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +  _widgets: DynamicComponentConfig[] = [];
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                          +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                          +    private components: ComponentRegistry,
                                                                                                                                                                                                                                                                                                                                          +    private session: SessionSubject,
                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +  private async filterPermittedWidgets(
                                                                                                                                                                                                                                                                                                                                          +    widgets: DynamicComponentConfig[],
                                                                                                                                                                                                                                                                                                                                          +  ): Promise<DynamicComponentConfig[]> {
                                                                                                                                                                                                                                                                                                                                          +    const permittedWidgets: DynamicComponentConfig[] = [];
                                                                                                                                                                                                                                                                                                                                          +    for (const widget of widgets) {
                                                                                                                                                                                                                                                                                                                                          +      if (
                                                                                                                                                                                                                                                                                                                                          +        this.hasRequiredRole(widget) &&
                                                                                                                                                                                                                                                                                                                                          +        (await this.hasEntityPermission(widget))
                                                                                                                                                                                                                                                                                                                                          +      ) {
                                                                                                                                                                                                                                                                                                                                          +        permittedWidgets.push(widget);
                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                          +    return permittedWidgets;
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +  private hasRequiredRole(widget: DynamicComponentConfig) {
                                                                                                                                                                                                                                                                                                                                          +    if (widget.permittedUserRoles?.length > 0) {
                                                                                                                                                                                                                                                                                                                                          +      const userRoles = this.session.value.roles;
                                                                                                                                                                                                                                                                                                                                          +      const requiredRoles = widget.permittedUserRoles;
                                                                                                                                                                                                                                                                                                                                          +      return requiredRoles.some((role) => userRoles.includes(role));
                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                          +      return true;
                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +  private async hasEntityPermission(widget: DynamicComponentConfig) {
                                                                                                                                                                                                                                                                                                                                          +    const comp = (await this.components.get(
                                                                                                                                                                                                                                                                                                                                          +      widget.component,
                                                                                                                                                                                                                                                                                                                                          +    )()) as unknown as typeof DashboardWidget;
                                                                                                                                                                                                                                                                                                                                          +    let entity: string | string[];
                                                                                                                                                                                                                                                                                                                                          +    if (typeof comp.getRequiredEntities === "function") {
                                                                                                                                                                                                                                                                                                                                          +      entity = comp.getRequiredEntities(widget.config);
                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                          +    return this.userHasAccess(entity);
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +  private userHasAccess(entity: string | string[]): boolean {
                                                                                                                                                                                                                                                                                                                                          +    if (entity) {
                                                                                                                                                                                                                                                                                                                                          +      if (Array.isArray(entity)) {
                                                                                                                                                                                                                                                                                                                                          +        return entity.some((e) => this.ability.can("read", e));
                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                          +        return this.ability.can("read", entity);
                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                          +    // No entity relation -> show widget
                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +export interface DashboardConfig {
                                                                                                                                                                                                                                                                                                                                          +  widgets: DynamicComponentConfig[];
                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          + ./dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          @use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                                          +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +/* The minimum size of a widget for big screens */
                                                                                                                                                                                                                                                                                                                                          +/* The minimum size on small screens is whatever size is available */
                                                                                                                                                                                                                                                                                                                                          +$min-widget-width: 330px;
                                                                                                                                                                                                                                                                                                                                          +/* There will only be one column below this screen width, as defined by the media query */
                                                                                                                                                                                                                                                                                                                                          +$max-screen-width: $min-widget-width + sizes.$margin-main-view-right +
                                                                                                                                                                                                                                                                                                                                          +  sizes.$margin-main-view-left;
                                                                                                                                                                                                                                                                                                                                          +$widget-height: 430px;
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +:host {
                                                                                                                                                                                                                                                                                                                                          +  @include grid-layout.adaptive($min-widget-width, $max-screen-width);
                                                                                                                                                                                                                                                                                                                                          +  /* Make all rows be equal in height */
                                                                                                                                                                                                                                                                                                                                          +  grid-auto-rows: $widget-height;
                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +.grid-item {
                                                                                                                                                                                                                                                                                                                                          +  transition: all 1s;
                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DashboardListWidgetComponent.html b/documentation/components/DashboardListWidgetComponent.html new file mode 100644 index 0000000000..ee91ede2f1 --- /dev/null +++ b/documentation/components/DashboardListWidgetComponent.html @@ -0,0 +1,1017 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            + src/app/core/dashboard/dashboard-list-widget/dashboard-list-widget.component.ts +

                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Base dashboard widget to build widgets that display a number of entries as a table.

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            This widget automatically handles loading animation and pagination. +Define a mat-table with your desired layout for displaying the entries through content-projection +and provide the data array as an input using async pipe.

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            <app-dashboard-list-widget [entries]="notes | async"> + + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            To highlight a row with a colored bar at the front, apply class="row-indicator" to your first + and set the css variable to the desired color, e.g. [ngStyle]="{'--row-indicator-color': row.getColor?.()}"

                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            + OnInit + OnChanges + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            +constructor(entityMapperService: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                            entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + dataMapper +
                                                                                                                                                                                                                                                                                                                                            + Type : function + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Pipe to map, filter or sort the loaded data

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + entityType +
                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            entity type to be loaded for displaying entries +(filter or transform entities using the dataPipe input).

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            If you define an entityType, the "entries" input is ignored in favor of directly loading data here

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + entries +
                                                                                                                                                                                                                                                                                                                                            + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            array of items to be displayed in paginated widget table. +you can use an observable with async pipe here to let the component automatically handle "loading" indicator: +[entries]="myDataObservable | async"

                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            Alternatively define an entityType and dataPipe to let the component load data itself.

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + explanation +
                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            optional tooltip to explain detailed meaning of this widget / statistic

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + headline +
                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + icon +
                                                                                                                                                                                                                                                                                                                                            + Type : IconName + +
                                                                                                                                                                                                                                                                                                                                            + Default value : "exclamation-triangle" +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + subtitle +
                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + theme +
                                                                                                                                                                                                                                                                                                                                            + Type : DashboardTheme + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + title +
                                                                                                                                                                                                                                                                                                                                            + Type : string | number + +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + + data + + +
                                                                                                                                                                                                                                                                                                                                            + Default value : new BehaviorSubject<E[]>(undefined) +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + + dataSource + + +
                                                                                                                                                                                                                                                                                                                                            + Default value : new MatTableDataSource<E>() +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                            + Default value : true +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            + + + + matTable + + +
                                                                                                                                                                                                                                                                                                                                            + Type : MatTable<E> + +
                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                            + + @ContentChild(MatTable)
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                            +  AfterViewInit,
                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                            +  ContentChild,
                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                            +  OnChanges,
                                                                                                                                                                                                                                                                                                                                            +  OnInit,
                                                                                                                                                                                                                                                                                                                                            +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                            +  ViewChild,
                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                            +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                            +  DashboardTheme,
                                                                                                                                                                                                                                                                                                                                            +  DashboardWidgetComponent,
                                                                                                                                                                                                                                                                                                                                            +} from "../dashboard-widget/dashboard-widget.component";
                                                                                                                                                                                                                                                                                                                                            +import { MatTable, MatTableDataSource } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                            +import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
                                                                                                                                                                                                                                                                                                                                            +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                            +import { filter, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                            +import { applyUpdate } from "../../entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                            +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                            +import { WidgetContentComponent } from "../dashboard-widget/widget-content/widget-content.component";
                                                                                                                                                                                                                                                                                                                                            +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                            + * Base dashboard widget to build widgets that display a number of entries as a table.
                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                            + * This widget automatically handles loading animation and pagination.
                                                                                                                                                                                                                                                                                                                                            + * Define a mat-table with your desired layout for displaying the entries through content-projection
                                                                                                                                                                                                                                                                                                                                            + * and provide the data array as an input using async pipe.
                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                            + * <app-dashboard-list-widget [entries]="notes | async">
                                                                                                                                                                                                                                                                                                                                            + *   <table mat-table>
                                                                                                                                                                                                                                                                                                                                            + *     <!-- define row layout here-->
                                                                                                                                                                                                                                                                                                                                            + *   </table>
                                                                                                                                                                                                                                                                                                                                            + * </app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                            + * To highlight a row with a colored bar at the front, apply `class="row-indicator"` to your first <td>
                                                                                                                                                                                                                                                                                                                                            + *   and set the css variable to the desired color, e.g. `[ngStyle]="{'--row-indicator-color': row.getColor?.()}"`
                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                            +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                            +  selector: "app-dashboard-list-widget",
                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./dashboard-list-widget.component.html",
                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./dashboard-list-widget.component.scss"],
                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                            +    DashboardWidgetComponent,
                                                                                                                                                                                                                                                                                                                                            +    WidgetContentComponent,
                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                            +    MatPaginatorModule,
                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                            +export class DashboardListWidgetComponent<E>
                                                                                                                                                                                                                                                                                                                                            +  implements OnInit, OnChanges, AfterViewInit
                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                            +  @Input() subtitle: string;
                                                                                                                                                                                                                                                                                                                                            +  @Input() icon: IconName = "exclamation-triangle";
                                                                                                                                                                                                                                                                                                                                            +  @Input() theme: DashboardTheme;
                                                                                                                                                                                                                                                                                                                                            +  @Input() title: string | number;
                                                                                                                                                                                                                                                                                                                                            +  /** optional tooltip to explain detailed meaning of this widget / statistic */
                                                                                                                                                                                                                                                                                                                                            +  @Input() explanation: string;
                                                                                                                                                                                                                                                                                                                                            +  @Input() headline: string;
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                            +   * array of items to be displayed in paginated widget table.
                                                                                                                                                                                                                                                                                                                                            +   * you can use an observable with async pipe here to let the component automatically handle "loading" indicator:
                                                                                                                                                                                                                                                                                                                                            +   * `[entries]="myDataObservable | async"`
                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                            +   * Alternatively define an entityType and dataPipe to let the component load data itself.
                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                            +  @Input() entries: E[];
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                            +   * entity type to be loaded for displaying entries
                                                                                                                                                                                                                                                                                                                                            +   * (filter or transform entities using the dataPipe input).
                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                            +   * If you define an entityType, the "entries" input is ignored in favor of directly loading data here
                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                            +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                            +   * Pipe to map, filter or sort the loaded data
                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                            +  @Input() dataMapper: (data: E[]) => E[];
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  isLoading: boolean = true;
                                                                                                                                                                                                                                                                                                                                            +  data = new BehaviorSubject<E[]>(undefined);
                                                                                                                                                                                                                                                                                                                                            +  dataSource = new MatTableDataSource<E>();
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  @ContentChild(MatTable) matTable: MatTable<E>;
                                                                                                                                                                                                                                                                                                                                            +  @ViewChild("paginator") private paginator: MatPaginator;
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  constructor(private entityMapperService: EntityMapperService) {}
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                            +    this.data
                                                                                                                                                                                                                                                                                                                                            +      .pipe(
                                                                                                                                                                                                                                                                                                                                            +        filter((d) => !!d),
                                                                                                                                                                                                                                                                                                                                            +        map((d) => (this.dataMapper ? this.dataMapper(d) : d)),
                                                                                                                                                                                                                                                                                                                                            +        untilDestroyed(this),
                                                                                                                                                                                                                                                                                                                                            +      )
                                                                                                                                                                                                                                                                                                                                            +      .subscribe((newData) => {
                                                                                                                                                                                                                                                                                                                                            +        this.dataSource.data = newData;
                                                                                                                                                                                                                                                                                                                                            +        this.isLoading = !newData;
                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  private async loadDataForType() {
                                                                                                                                                                                                                                                                                                                                            +    // load data
                                                                                                                                                                                                                                                                                                                                            +    const entities = await this.entityMapperService.loadType(this.entityType);
                                                                                                                                                                                                                                                                                                                                            +    this.data.next(entities as E[]);
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +    // subscribe to relevant updates of data
                                                                                                                                                                                                                                                                                                                                            +    this.entityMapperService
                                                                                                                                                                                                                                                                                                                                            +      .receiveUpdates(this.entityType)
                                                                                                                                                                                                                                                                                                                                            +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                            +      .subscribe((update) =>
                                                                                                                                                                                                                                                                                                                                            +        this.data.next(applyUpdate(this.data.value as Entity[], update) as E[]),
                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                            +    if (changes.entries && !this.entityType) {
                                                                                                                                                                                                                                                                                                                                            +      this.data.next(this.entries);
                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                            +    if (changes.entityType && !!this.entityType) {
                                                                                                                                                                                                                                                                                                                                            +      this.loadDataForType();
                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  ngAfterViewInit(): void {
                                                                                                                                                                                                                                                                                                                                            +    this.dataSource.paginator = this.paginator;
                                                                                                                                                                                                                                                                                                                                            +    this.matTable.dataSource = this.dataSource;
                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            <app-dashboard-widget
                                                                                                                                                                                                                                                                                                                                            +  [title]="title ?? dataSource.data.length"
                                                                                                                                                                                                                                                                                                                                            +  [subtitle]="subtitle"
                                                                                                                                                                                                                                                                                                                                            +  [theme]="theme"
                                                                                                                                                                                                                                                                                                                                            +  [icon]="icon"
                                                                                                                                                                                                                                                                                                                                            +  [headline]="headline"
                                                                                                                                                                                                                                                                                                                                            +  [explanation]="explanation"
                                                                                                                                                                                                                                                                                                                                            +  [loading]="isLoading"
                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                            +  <app-widget-content>
                                                                                                                                                                                                                                                                                                                                            +    <ng-container *ngIf="dataSource.data.length > 0">
                                                                                                                                                                                                                                                                                                                                            +      <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                            +    </ng-container>
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +    <div *ngIf="dataSource.data.length === 0" class="headline">
                                                                                                                                                                                                                                                                                                                                            +      <span
                                                                                                                                                                                                                                                                                                                                            +        i18n="Description that are no items in generic dashboard list widget"
                                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                                            +        no current entries
                                                                                                                                                                                                                                                                                                                                            +      </span>
                                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +    <mat-paginator
                                                                                                                                                                                                                                                                                                                                            +      #paginator
                                                                                                                                                                                                                                                                                                                                            +      [style.display]="dataSource.data.length <= 5 ? 'none' : ''"
                                                                                                                                                                                                                                                                                                                                            +      [pageSizeOptions]="[5]"
                                                                                                                                                                                                                                                                                                                                            +      [hidePageSize]="true"
                                                                                                                                                                                                                                                                                                                                            +    >
                                                                                                                                                                                                                                                                                                                                            +    </mat-paginator>
                                                                                                                                                                                                                                                                                                                                            +  </app-widget-content>
                                                                                                                                                                                                                                                                                                                                            +</app-dashboard-widget>
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            + ./dashboard-list-widget.component.scss +

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            @use "../dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                            +@use "../../../../styles/variables/sizes";
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +:host ::ng-deep .row-indicator {
                                                                                                                                                                                                                                                                                                                                            +  position: relative;
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +  &::before {
                                                                                                                                                                                                                                                                                                                                            +    left: 0;
                                                                                                                                                                                                                                                                                                                                            +    top: 0;
                                                                                                                                                                                                                                                                                                                                            +    content: "";
                                                                                                                                                                                                                                                                                                                                            +    display: block;
                                                                                                                                                                                                                                                                                                                                            +    width: sizes.$small;
                                                                                                                                                                                                                                                                                                                                            +    height: 100%;
                                                                                                                                                                                                                                                                                                                                            +    position: absolute;
                                                                                                                                                                                                                                                                                                                                            +    background-color: var(--row-indicator-color);
                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DashboardWidgetComponent.html b/documentation/components/DashboardWidgetComponent.html new file mode 100644 index 0000000000..b856a8bcd1 --- /dev/null +++ b/documentation/components/DashboardWidgetComponent.html @@ -0,0 +1,713 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              + src/app/core/dashboard/dashboard-widget/dashboard-widget.component.ts +

                                                                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + explanation +
                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              optional tooltip to explain detailed meaning of this widget / statistic

                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + headline +
                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + icon +
                                                                                                                                                                                                                                                                                                                                              + Type : IconName + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + loading +
                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              Show a loading indicator until data is ready to be shown

                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + subtitle +
                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + theme +
                                                                                                                                                                                                                                                                                                                                              + Type : DashboardTheme + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + title +
                                                                                                                                                                                                                                                                                                                                              + Type : string | number + +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                              +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                              +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                              +import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
                                                                                                                                                                                                                                                                                                                                              +import { FaDynamicIconComponent } from "../../common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +export type DashboardTheme =
                                                                                                                                                                                                                                                                                                                                              +  | "general"
                                                                                                                                                                                                                                                                                                                                              +  | "child"
                                                                                                                                                                                                                                                                                                                                              +  | "attendance"
                                                                                                                                                                                                                                                                                                                                              +  | "note"
                                                                                                                                                                                                                                                                                                                                              +  | "class"
                                                                                                                                                                                                                                                                                                                                              +  | "school";
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                              +  selector: "app-dashboard-widget",
                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./dashboard-widget.component.html",
                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./dashboard-widget.component.scss"],
                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                              +    MatProgressSpinnerModule,
                                                                                                                                                                                                                                                                                                                                              +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                              +export class DashboardWidgetComponent {
                                                                                                                                                                                                                                                                                                                                              +  @Input() subtitle: string;
                                                                                                                                                                                                                                                                                                                                              +  @Input() icon: IconName;
                                                                                                                                                                                                                                                                                                                                              +  @Input() theme: DashboardTheme;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  @Input() title: string | number;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  /** optional tooltip to explain detailed meaning of this widget / statistic */
                                                                                                                                                                                                                                                                                                                                              +  @Input() explanation: string;
                                                                                                                                                                                                                                                                                                                                              +  @Input() headline: string;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  /** Show a loading indicator until data is ready to be shown */
                                                                                                                                                                                                                                                                                                                                              +  @Input() loading = false;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              <!-- Header -->
                                                                                                                                                                                                                                                                                                                                              +<div class="widget-header theme-background-{{ theme }}">
                                                                                                                                                                                                                                                                                                                                              +  <div *ngIf="headline" class="widget-headline">{{ headline }}</div>
                                                                                                                                                                                                                                                                                                                                              +  <div *ngIf="!headline" class="widget-title">
                                                                                                                                                                                                                                                                                                                                              +    <ng-container *ngIf="!loading">{{ title }}</ng-container>
                                                                                                                                                                                                                                                                                                                                              +    <mat-spinner *ngIf="loading" diameter="40"></mat-spinner>
                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                              +  <div *ngIf="!headline" class="widget-subheadline" [matTooltip]="explanation">
                                                                                                                                                                                                                                                                                                                                              +    {{ subtitle }}
                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                              +  <app-fa-dynamic-icon class="widget-icon" [icon]="icon"></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +<div class="widget-content">
                                                                                                                                                                                                                                                                                                                                              +  <h2 *ngIf="loading" class="headline" i18n>Loading...</h2>
                                                                                                                                                                                                                                                                                                                                              +  <ng-content *ngIf="!loading" select="app-widget-content"></ng-content>
                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              + ./dashboard-widget.component.scss +

                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +$widget-header-height: 64px;
                                                                                                                                                                                                                                                                                                                                              +$widget-content-height: 320px;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +$font-size-headline: 40pt;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +$padding-header: 24px;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +$border-radius-card: 4px;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-header {
                                                                                                                                                                                                                                                                                                                                              +  /* Defines a grid that roughly looks like this:
                                                                                                                                                                                                                                                                                                                                              +   * |-------|--------------------------------------|
                                                                                                                                                                                                                                                                                                                                              +   * |       |                                      |
                                                                                                                                                                                                                                                                                                                                              +   * |       |                                      |
                                                                                                                                                                                                                                                                                                                                              +   * |-------|--------------------------------------|
                                                                                                                                                                                                                                                                                                                                              +   * |       |                                      |
                                                                                                                                                                                                                                                                                                                                              +   * |-------|--------------------------------------|
                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                              +   * The right-upper side is where the headline will be placed.
                                                                                                                                                                                                                                                                                                                                              +   * On the lower right side, the subhead-line is placed
                                                                                                                                                                                                                                                                                                                                              +   * On the two left sides, the icon will be placed in a
                                                                                                                                                                                                                                                                                                                                              +   * centered way
                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                              +  display: grid;
                                                                                                                                                                                                                                                                                                                                              +  grid-template: 2fr 1fr / 40pt 1fr;
                                                                                                                                                                                                                                                                                                                                              +  grid-template-areas:
                                                                                                                                                                                                                                                                                                                                              +    "icon headline"
                                                                                                                                                                                                                                                                                                                                              +    "subheadline subheadline";
                                                                                                                                                                                                                                                                                                                                              +  padding: $padding-header;
                                                                                                                                                                                                                                                                                                                                              +  height: $widget-header-height;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-icon {
                                                                                                                                                                                                                                                                                                                                              +  grid-area: icon;
                                                                                                                                                                                                                                                                                                                                              +  color: white;
                                                                                                                                                                                                                                                                                                                                              +  align-self: center;
                                                                                                                                                                                                                                                                                                                                              +  font-size: $font-size-headline;
                                                                                                                                                                                                                                                                                                                                              +  /* fixes the correct centering of this item */
                                                                                                                                                                                                                                                                                                                                              +  display: table;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-headline {
                                                                                                                                                                                                                                                                                                                                              +  grid-area: headline;
                                                                                                                                                                                                                                                                                                                                              +  text-align: end;
                                                                                                                                                                                                                                                                                                                                              +  place-self: end;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  font-size: 28pt;
                                                                                                                                                                                                                                                                                                                                              +  color: white;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-title {
                                                                                                                                                                                                                                                                                                                                              +  grid-area: headline;
                                                                                                                                                                                                                                                                                                                                              +  text-align: end;
                                                                                                                                                                                                                                                                                                                                              +  place-self: center end;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  font-size: 40pt;
                                                                                                                                                                                                                                                                                                                                              +  color: white;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-subheadline {
                                                                                                                                                                                                                                                                                                                                              +  grid-area: subheadline;
                                                                                                                                                                                                                                                                                                                                              +  text-align: end;
                                                                                                                                                                                                                                                                                                                                              +  place-self: end;
                                                                                                                                                                                                                                                                                                                                              +  margin-top: 8px;
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +  font-size: 14px;
                                                                                                                                                                                                                                                                                                                                              +  color: white;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.widget-content {
                                                                                                                                                                                                                                                                                                                                              +  height: $widget-content-height;
                                                                                                                                                                                                                                                                                                                                              +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                                                                                                                              +  background-color: white;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +.headline {
                                                                                                                                                                                                                                                                                                                                              +  height: 100%;
                                                                                                                                                                                                                                                                                                                                              +  width: 100%;
                                                                                                                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                                                                                                                              +  place-content: center;
                                                                                                                                                                                                                                                                                                                                              +  place-items: center;
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +/* Map containing the colors that belong to a certain theme */
                                                                                                                                                                                                                                                                                                                                              +$themes: (
                                                                                                                                                                                                                                                                                                                                              +  general: #555555,
                                                                                                                                                                                                                                                                                                                                              +  child: #1565c0,
                                                                                                                                                                                                                                                                                                                                              +  attendance: #00838f,
                                                                                                                                                                                                                                                                                                                                              +  note: #008f53,
                                                                                                                                                                                                                                                                                                                                              +  class: #2e7d32,
                                                                                                                                                                                                                                                                                                                                              +  school: #9e9d24,
                                                                                                                                                                                                                                                                                                                                              +);
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +@each $ident, $color in $themes {
                                                                                                                                                                                                                                                                                                                                              +  .theme-background-#{$ident} {
                                                                                                                                                                                                                                                                                                                                              +    background-color: $color;
                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +:host {
                                                                                                                                                                                                                                                                                                                                              +  display: block;
                                                                                                                                                                                                                                                                                                                                              +  border-radius: $border-radius-card;
                                                                                                                                                                                                                                                                                                                                              +  /* necessary for the border-radius to apply */
                                                                                                                                                                                                                                                                                                                                              +  overflow: auto;
                                                                                                                                                                                                                                                                                                                                              +  @include mat-elevation.elevation(3);
                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DateImportConfigComponent.html b/documentation/components/DateImportConfigComponent.html new file mode 100644 index 0000000000..929bcccbe4 --- /dev/null +++ b/documentation/components/DateImportConfigComponent.html @@ -0,0 +1,815 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/date/date-import-config/date-import-config.component.ts +

                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                Configuration dialog for parsing date value of data imported from a file.

                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                +constructor(data: MappingDialogData, confirmation: ConfirmationDialogService, dialog: MatDialogRef) +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                data + MappingDialogData + + No +
                                                                                                                                                                                                                                                                                                                                                confirmation + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                dialog + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + checkDateValues + + +
                                                                                                                                                                                                                                                                                                                                                +checkDateValues() +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                + + save() +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                + Type : MappingDialogData + +
                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + format + + +
                                                                                                                                                                                                                                                                                                                                                + Default value : new FormControl("") +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + valid + + +
                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                + + + values + + +
                                                                                                                                                                                                                                                                                                                                                + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                +import moment from "moment/moment";
                                                                                                                                                                                                                                                                                                                                                +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                +import { MappingDialogData } from "../../../import/import-column-mapping/import-column-mapping.component";
                                                                                                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                +import { DatePipe, NgClass, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                +import { MatListModule } from "@angular/material/list";
                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                +import { HelpButtonComponent } from "../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                + * Configuration dialog for parsing date value of data imported from a file.
                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("DateImportConfig")
                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                +  selector: "app-date-import-config",
                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./date-import-config.component.html",
                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./date-import-config.component.scss"],
                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                +    MatListModule,
                                                                                                                                                                                                                                                                                                                                                +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                +    NgClass,
                                                                                                                                                                                                                                                                                                                                                +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                +export class DateImportConfigComponent {
                                                                                                                                                                                                                                                                                                                                                +  format = new FormControl("");
                                                                                                                                                                                                                                                                                                                                                +  valid = false;
                                                                                                                                                                                                                                                                                                                                                +  values: { value: string; parsed?: Date }[] = [];
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                +    @Inject(MAT_DIALOG_DATA) public data: MappingDialogData,
                                                                                                                                                                                                                                                                                                                                                +    private confirmation: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                +    private dialog: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                +    this.values = this.data.values
                                                                                                                                                                                                                                                                                                                                                +      .filter((val) => !!val)
                                                                                                                                                                                                                                                                                                                                                +      .map((value) => ({ value }));
                                                                                                                                                                                                                                                                                                                                                +    this.format.valueChanges.subscribe(() => this.checkDateValues());
                                                                                                                                                                                                                                                                                                                                                +    this.format.setValue(this.data.col.additional);
                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +  checkDateValues() {
                                                                                                                                                                                                                                                                                                                                                +    this.format.setErrors(undefined);
                                                                                                                                                                                                                                                                                                                                                +    this.values.forEach((val) => {
                                                                                                                                                                                                                                                                                                                                                +      // TODO: check and improve the date parsing. Tests fail with moment.js > 2.29
                                                                                                                                                                                                                                                                                                                                                +      const date = moment(val.value, this.format.value?.toUpperCase(), true);
                                                                                                                                                                                                                                                                                                                                                +      if (date.isValid()) {
                                                                                                                                                                                                                                                                                                                                                +        val.parsed = date.toDate();
                                                                                                                                                                                                                                                                                                                                                +      } else {
                                                                                                                                                                                                                                                                                                                                                +        delete val.parsed;
                                                                                                                                                                                                                                                                                                                                                +        this.format.setErrors({ parsingError: true });
                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                +    // Sort unparsed dates to front
                                                                                                                                                                                                                                                                                                                                                +    this.values.sort((v1, v2) =>
                                                                                                                                                                                                                                                                                                                                                +      v1.parsed && !v2.parsed ? 1 : !v1.parsed && v2.parsed ? -1 : 0,
                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +  async save() {
                                                                                                                                                                                                                                                                                                                                                +    const confirmed =
                                                                                                                                                                                                                                                                                                                                                +      !this.format.errors ||
                                                                                                                                                                                                                                                                                                                                                +      (await this.confirmation.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                +        $localize`Ignore values?`,
                                                                                                                                                                                                                                                                                                                                                +        $localize`Some values don't have a mapping and will not be imported. Are you sure you want to keep it like this?`,
                                                                                                                                                                                                                                                                                                                                                +      ));
                                                                                                                                                                                                                                                                                                                                                +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                +      this.data.col.additional = this.format.value?.toUpperCase();
                                                                                                                                                                                                                                                                                                                                                +      this.dialog.close();
                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                <mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                +  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                +    <mat-label i18n>Date format</mat-label>
                                                                                                                                                                                                                                                                                                                                                +    <input [formControl]="format" matInput />
                                                                                                                                                                                                                                                                                                                                                +    <mat-hint i18n>
                                                                                                                                                                                                                                                                                                                                                +      e.g. YYYY-MM-DD
                                                                                                                                                                                                                                                                                                                                                +      <a
                                                                                                                                                                                                                                                                                                                                                +        href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format"
                                                                                                                                                                                                                                                                                                                                                +        target="_blank"
                                                                                                                                                                                                                                                                                                                                                +        rel="noopener"
                                                                                                                                                                                                                                                                                                                                                +        >(help)</a
                                                                                                                                                                                                                                                                                                                                                +      >
                                                                                                                                                                                                                                                                                                                                                +    </mat-hint>
                                                                                                                                                                                                                                                                                                                                                +    <mat-error *ngIf="format.errors" i18n>
                                                                                                                                                                                                                                                                                                                                                +      Format cannot parse all dates
                                                                                                                                                                                                                                                                                                                                                +    </mat-error>
                                                                                                                                                                                                                                                                                                                                                +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +  <app-help-button
                                                                                                                                                                                                                                                                                                                                                +    text="Define how date values in your imported data are formatted, so that the system correctly understands them. Values that do not match the given format will be ignored (remain empty) during import."
                                                                                                                                                                                                                                                                                                                                                +    i18n-text="import - value mapping (date) - help text"
                                                                                                                                                                                                                                                                                                                                                +  ></app-help-button>
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +  <mat-list>
                                                                                                                                                                                                                                                                                                                                                +    <mat-list-item
                                                                                                                                                                                                                                                                                                                                                +      *ngFor="let val of values"
                                                                                                                                                                                                                                                                                                                                                +      [ngClass]="{ invalid: !val.parsed }"
                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                +      {{ val.value }} -> {{ val.parsed | date }}
                                                                                                                                                                                                                                                                                                                                                +    </mat-list-item>
                                                                                                                                                                                                                                                                                                                                                +  </mat-list>
                                                                                                                                                                                                                                                                                                                                                +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                +  <button mat-raised-button color="accent" (click)="save()" i18n>
                                                                                                                                                                                                                                                                                                                                                +    Save & Close
                                                                                                                                                                                                                                                                                                                                                +  </button>
                                                                                                                                                                                                                                                                                                                                                +  <button mat-stroked-button matDialogClose i18n>Cancel</button>
                                                                                                                                                                                                                                                                                                                                                +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                + ./date-import-config.component.scss +

                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                .invalid {
                                                                                                                                                                                                                                                                                                                                                +  background-color: rgba(256, 0, 0, 0.5);
                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +mat-list-item {
                                                                                                                                                                                                                                                                                                                                                +  margin: 5px 0;
                                                                                                                                                                                                                                                                                                                                                +  border-radius: 5px;
                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DateRangeFilterComponent.html b/documentation/components/DateRangeFilterComponent.html new file mode 100644 index 0000000000..538b084907 --- /dev/null +++ b/documentation/components/DateRangeFilterComponent.html @@ -0,0 +1,731 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter.component.ts +

                                                                                                                                                                                                                                                                                                                                                  + + + + +

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  + OnChanges +

                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  +constructor(dialog: MatDialog) +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                  dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + + filterConfig +
                                                                                                                                                                                                                                                                                                                                                  + Type : DateFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + + + dateChangedManually + + +
                                                                                                                                                                                                                                                                                                                                                  +dateChangedManually() +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + + + openDialog + + +
                                                                                                                                                                                                                                                                                                                                                  +openDialog(e: Event) +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                  e + Event + + No +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + + + fromDate + + +
                                                                                                                                                                                                                                                                                                                                                  + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  + + + toDate + + +
                                                                                                                                                                                                                                                                                                                                                  + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                  +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                  +import { DateRangeFilterPanelComponent } from "./date-range-filter-panel/date-range-filter-panel.component";
                                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                  +import { MatDatepickerModule } from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                  +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                  +import { dateToString, isValidDate } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                  +import { DateFilter } from "../../../filter/filters/dateFilter";
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-date-range-filter",
                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./date-range-filter.component.html",
                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./date-range-filter.component.scss"],
                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                  +  imports: [MatFormFieldModule, MatDatepickerModule, FormsModule],
                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                  +export class DateRangeFilterComponent<T extends Entity> implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                  +  fromDate: Date;
                                                                                                                                                                                                                                                                                                                                                  +  toDate: Date;
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  @Input() filterConfig: DateFilter<T>;
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  constructor(private dialog: MatDialog) {}
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                  +    if (changes.filterConfig) {
                                                                                                                                                                                                                                                                                                                                                  +      this.initDates();
                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  private initDates() {
                                                                                                                                                                                                                                                                                                                                                  +    const range = this.filterConfig.getDateRange();
                                                                                                                                                                                                                                                                                                                                                  +    if (
                                                                                                                                                                                                                                                                                                                                                  +      (range.start !== this.fromDate || range.start === undefined) &&
                                                                                                                                                                                                                                                                                                                                                  +      (range.end !== this.toDate || range.end === undefined)
                                                                                                                                                                                                                                                                                                                                                  +    ) {
                                                                                                                                                                                                                                                                                                                                                  +      this.fromDate = range.start;
                                                                                                                                                                                                                                                                                                                                                  +      this.toDate = range.end;
                                                                                                                                                                                                                                                                                                                                                  +      this.filterConfig.selectedOptionChange.emit(
                                                                                                                                                                                                                                                                                                                                                  +        this.filterConfig.selectedOptionValues,
                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  dateChangedManually() {
                                                                                                                                                                                                                                                                                                                                                  +    this.filterConfig.selectedOptionValues = [
                                                                                                                                                                                                                                                                                                                                                  +      isValidDate(this.fromDate) ? dateToString(this.fromDate) : "",
                                                                                                                                                                                                                                                                                                                                                  +      isValidDate(this.toDate) ? dateToString(this.toDate) : "",
                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                  +    this.filterConfig.selectedOptionChange.emit(
                                                                                                                                                                                                                                                                                                                                                  +      this.filterConfig.selectedOptionValues,
                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  openDialog(e: Event) {
                                                                                                                                                                                                                                                                                                                                                  +    e.stopPropagation();
                                                                                                                                                                                                                                                                                                                                                  +    this.dialog
                                                                                                                                                                                                                                                                                                                                                  +      .open(DateRangeFilterPanelComponent, {
                                                                                                                                                                                                                                                                                                                                                  +        width: "600px",
                                                                                                                                                                                                                                                                                                                                                  +        minWidth: "400px",
                                                                                                                                                                                                                                                                                                                                                  +        data: this.filterConfig,
                                                                                                                                                                                                                                                                                                                                                  +      })
                                                                                                                                                                                                                                                                                                                                                  +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                  +      .subscribe(() => this.initDates());
                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                  +  <mat-label>{{ filterConfig.label || filterConfig.name }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  <mat-date-range-input>
                                                                                                                                                                                                                                                                                                                                                  +    <input
                                                                                                                                                                                                                                                                                                                                                  +      matStartDate
                                                                                                                                                                                                                                                                                                                                                  +      (dateChange)="dateChangedManually()"
                                                                                                                                                                                                                                                                                                                                                  +      [(ngModel)]="fromDate"
                                                                                                                                                                                                                                                                                                                                                  +      i18n-placeholder="Date selection"
                                                                                                                                                                                                                                                                                                                                                  +      placeholder="Start date"
                                                                                                                                                                                                                                                                                                                                                  +    />
                                                                                                                                                                                                                                                                                                                                                  +    <input
                                                                                                                                                                                                                                                                                                                                                  +      matEndDate
                                                                                                                                                                                                                                                                                                                                                  +      (dateChange)="dateChangedManually()"
                                                                                                                                                                                                                                                                                                                                                  +      [(ngModel)]="toDate"
                                                                                                                                                                                                                                                                                                                                                  +      i18n-placeholder="Date selection"
                                                                                                                                                                                                                                                                                                                                                  +      placeholder="End date"
                                                                                                                                                                                                                                                                                                                                                  +    />
                                                                                                                                                                                                                                                                                                                                                  +  </mat-date-range-input>
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +  <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                  +    matSuffix
                                                                                                                                                                                                                                                                                                                                                  +    (click)="openDialog($event)"
                                                                                                                                                                                                                                                                                                                                                  +  ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                  +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  + ./date-range-filter.component.scss +

                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DateRangeFilterPanelComponent.html b/documentation/components/DateRangeFilterPanelComponent.html new file mode 100644 index 0000000000..0112291523 --- /dev/null +++ b/documentation/components/DateRangeFilterPanelComponent.html @@ -0,0 +1,1078 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component.ts +

                                                                                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +constructor(filter: DateFilter, dialogRef: MatDialogRef<DateRangeFilterPanelComponent>) +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                    filter + DateFilter<any> + + No +
                                                                                                                                                                                                                                                                                                                                                    dialogRef + MatDialogRef<DateRangeFilterPanelComponent> + + No +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + preselectAllRange + + +
                                                                                                                                                                                                                                                                                                                                                    +preselectAllRange() +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + preselectRange + + +
                                                                                                                                                                                                                                                                                                                                                    +preselectRange(dateRangeOption) +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    NameOptional
                                                                                                                                                                                                                                                                                                                                                    dateRangeOption + No +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + selectedRangeChange + + +
                                                                                                                                                                                                                                                                                                                                                    +selectedRangeChange(selectedDate: Date) +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                    selectedDate + Date + + No +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + selectRangeAndClose + + +
                                                                                                                                                                                                                                                                                                                                                    +selectRangeAndClose(index: number | "all") +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                    index + number | "all" + + No +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + unselectRange + + +
                                                                                                                                                                                                                                                                                                                                                    +unselectRange() +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + comparisonRange + + +
                                                                                                                                                                                                                                                                                                                                                    + Type : DateRange<Date> + +
                                                                                                                                                                                                                                                                                                                                                    + Default value : new DateRange(null, null) +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + + Public + filter + + +
                                                                                                                                                                                                                                                                                                                                                    + Type : DateFilter<any> + +
                                                                                                                                                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                                                                                                                                                    + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + selectedOption + + +
                                                                                                                                                                                                                                                                                                                                                    + Default value : this.filter.getSelectedOption() +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    + + + selectedRangeValue + + +
                                                                                                                                                                                                                                                                                                                                                    + Type : DateRange<Date> + +
                                                                                                                                                                                                                                                                                                                                                    + Default value : new DateRange( + this.filter.getDateRange().start ?? new Date("1900-01-01"), + this.filter.getDateRange().end ?? new Date("2999-12-31"), + ) +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                    +  DateRange,
                                                                                                                                                                                                                                                                                                                                                    +  MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER,
                                                                                                                                                                                                                                                                                                                                                    +  MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                    +  MatDateSelectionModel,
                                                                                                                                                                                                                                                                                                                                                    +  MatRangeDateSelectionModel,
                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                    +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                    +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                    +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                    +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                    +import { DateRangeFilterConfigOption } from "../../../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                    +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                    +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                    +import { dateToString } from "../../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                    +import { DateFilter } from "../../../../filter/filters/dateFilter";
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +export const defaultDateFilters: DateRangeFilterConfigOption[] = [
                                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                                    +    label: $localize`:Filter label:Today`,
                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                                    +    startOffsets: [{ amount: 0, unit: "weeks" }],
                                                                                                                                                                                                                                                                                                                                                    +    endOffsets: [{ amount: 0, unit: "weeks" }],
                                                                                                                                                                                                                                                                                                                                                    +    label: $localize`:Filter label:This week`,
                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                                    +    startOffsets: [{ amount: -1, unit: "weeks" }],
                                                                                                                                                                                                                                                                                                                                                    +    label: $localize`:Filter label:Since last week`,
                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                                    +    startOffsets: [{ amount: 0, unit: "months" }],
                                                                                                                                                                                                                                                                                                                                                    +    endOffsets: [{ amount: 0, unit: "months" }],
                                                                                                                                                                                                                                                                                                                                                    +    label: $localize`:Filter label:This month`,
                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                    +  {
                                                                                                                                                                                                                                                                                                                                                    +    startOffsets: [{ amount: -1, unit: "months" }],
                                                                                                                                                                                                                                                                                                                                                    +    endOffsets: [{ amount: -1, unit: "months" }],
                                                                                                                                                                                                                                                                                                                                                    +    label: $localize`:Filter label:Last month`,
                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                    +];
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-date-range-filter-panel",
                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./date-range-filter-panel.component.html",
                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./date-range-filter-panel.component.scss"],
                                                                                                                                                                                                                                                                                                                                                    +  providers: [
                                                                                                                                                                                                                                                                                                                                                    +    { provide: MatDateSelectionModel, useClass: MatRangeDateSelectionModel },
                                                                                                                                                                                                                                                                                                                                                    +    MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER,
                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                    +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                    +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                    +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                    +export class DateRangeFilterPanelComponent {
                                                                                                                                                                                                                                                                                                                                                    +  selectedRangeValue: DateRange<Date> = new DateRange(
                                                                                                                                                                                                                                                                                                                                                    +    this.filter.getDateRange().start ?? new Date("1900-01-01"),
                                                                                                                                                                                                                                                                                                                                                    +    this.filter.getDateRange().end ?? new Date("2999-12-31"),
                                                                                                                                                                                                                                                                                                                                                    +  );
                                                                                                                                                                                                                                                                                                                                                    +  selectedOption = this.filter.getSelectedOption();
                                                                                                                                                                                                                                                                                                                                                    +  comparisonRange: DateRange<Date> = new DateRange(null, null);
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                    +    @Inject(MAT_DIALOG_DATA) public filter: DateFilter<any>,
                                                                                                                                                                                                                                                                                                                                                    +    private dialogRef: MatDialogRef<DateRangeFilterPanelComponent>,
                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  preselectRange(dateRangeOption): void {
                                                                                                                                                                                                                                                                                                                                                    +    this.comparisonRange = calculateDateRange(dateRangeOption);
                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  preselectAllRange(): void {
                                                                                                                                                                                                                                                                                                                                                    +    this.comparisonRange = new DateRange(
                                                                                                                                                                                                                                                                                                                                                    +      new Date("1900-01-01"),
                                                                                                                                                                                                                                                                                                                                                    +      new Date("2999-12-31"),
                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  unselectRange() {
                                                                                                                                                                                                                                                                                                                                                    +    this.comparisonRange = new DateRange(null, null);
                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  selectRangeAndClose(index: number | "all"): void {
                                                                                                                                                                                                                                                                                                                                                    +    if (typeof index === "number") {
                                                                                                                                                                                                                                                                                                                                                    +      this.filter.selectedOptionValues = [index.toString()];
                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                    +      this.filter.selectedOptionValues = [];
                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                    +    this.dialogRef.close();
                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  selectedRangeChange(selectedDate: Date) {
                                                                                                                                                                                                                                                                                                                                                    +    if (!this.selectedRangeValue?.start || this.selectedRangeValue?.end) {
                                                                                                                                                                                                                                                                                                                                                    +      this.selectedRangeValue = new DateRange(selectedDate, null);
                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                    +      const start: Date = this.selectedRangeValue.start;
                                                                                                                                                                                                                                                                                                                                                    +      this.filter.selectedOptionValues =
                                                                                                                                                                                                                                                                                                                                                    +        start < selectedDate
                                                                                                                                                                                                                                                                                                                                                    +          ? [dateToString(start), dateToString(selectedDate)]
                                                                                                                                                                                                                                                                                                                                                    +          : [dateToString(selectedDate), dateToString(start)];
                                                                                                                                                                                                                                                                                                                                                    +      this.dialogRef.close();
                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +export function calculateDateRange(
                                                                                                                                                                                                                                                                                                                                                    +  dateRangeOption: DateRangeFilterConfigOption,
                                                                                                                                                                                                                                                                                                                                                    +): DateRange<Date> {
                                                                                                                                                                                                                                                                                                                                                    +  const startOffsets = dateRangeOption.startOffsets ?? [
                                                                                                                                                                                                                                                                                                                                                    +    { amount: 0, unit: "days" },
                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                    +  const endOffsets = dateRangeOption.endOffsets ?? [
                                                                                                                                                                                                                                                                                                                                                    +    { amount: 0, unit: "days" },
                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  const start = moment();
                                                                                                                                                                                                                                                                                                                                                    +  const end = moment();
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  startOffsets.forEach((offset) => start.add(offset.amount, offset.unit));
                                                                                                                                                                                                                                                                                                                                                    +  endOffsets.forEach((offset) => end.add(offset.amount, offset.unit));
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  start.startOf(startOffsets[0].unit);
                                                                                                                                                                                                                                                                                                                                                    +  end.endOf(endOffsets[0].unit);
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +  return new DateRange(start.toDate(), end.toDate());
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    <div mat-dialog-title i18n="Title of dialog">Select a date range</div>
                                                                                                                                                                                                                                                                                                                                                    +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                    +  <div class="container">
                                                                                                                                                                                                                                                                                                                                                    +    <mat-calendar
                                                                                                                                                                                                                                                                                                                                                    +      class="calendar"
                                                                                                                                                                                                                                                                                                                                                    +      (selectedChange)="selectedRangeChange($event)"
                                                                                                                                                                                                                                                                                                                                                    +      [selected]="selectedRangeValue"
                                                                                                                                                                                                                                                                                                                                                    +      [comparisonStart]="comparisonRange.start"
                                                                                                                                                                                                                                                                                                                                                    +      [comparisonEnd]="comparisonRange.end"
                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                    +    </mat-calendar>
                                                                                                                                                                                                                                                                                                                                                    +    <div class="panel">
                                                                                                                                                                                                                                                                                                                                                    +      <div>
                                                                                                                                                                                                                                                                                                                                                    +        <button
                                                                                                                                                                                                                                                                                                                                                    +          class="button"
                                                                                                                                                                                                                                                                                                                                                    +          mat-button
                                                                                                                                                                                                                                                                                                                                                    +          color="primary"
                                                                                                                                                                                                                                                                                                                                                    +          (mouseenter)="preselectAllRange()"
                                                                                                                                                                                                                                                                                                                                                    +          (mouseleave)="unselectRange()"
                                                                                                                                                                                                                                                                                                                                                    +          (click)="selectRangeAndClose('all')"
                                                                                                                                                                                                                                                                                                                                                    +          [class.selected-option]="filter.selectedOptionValues.length === 0"
                                                                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                                                                    +          All
                                                                                                                                                                                                                                                                                                                                                    +        </button>
                                                                                                                                                                                                                                                                                                                                                    +      </div>
                                                                                                                                                                                                                                                                                                                                                    +      <div
                                                                                                                                                                                                                                                                                                                                                    +        *ngFor="
                                                                                                                                                                                                                                                                                                                                                    +          let item of filter.rangeOptions;
                                                                                                                                                                                                                                                                                                                                                    +          let selectedIndexOfDateRanges = index
                                                                                                                                                                                                                                                                                                                                                    +        "
                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                    +        <button
                                                                                                                                                                                                                                                                                                                                                    +          class="button"
                                                                                                                                                                                                                                                                                                                                                    +          mat-button
                                                                                                                                                                                                                                                                                                                                                    +          color="primary"
                                                                                                                                                                                                                                                                                                                                                    +          [class.selected-option]="item === selectedOption"
                                                                                                                                                                                                                                                                                                                                                    +          (mouseenter)="preselectRange(item)"
                                                                                                                                                                                                                                                                                                                                                    +          (mouseleave)="unselectRange()"
                                                                                                                                                                                                                                                                                                                                                    +          (click)="selectRangeAndClose(selectedIndexOfDateRanges)"
                                                                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                                                                    +          {{ item.label }}
                                                                                                                                                                                                                                                                                                                                                    +        </button>
                                                                                                                                                                                                                                                                                                                                                    +      </div>
                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                    +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    + ./date-range-filter-panel.component.scss +

                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    .container {
                                                                                                                                                                                                                                                                                                                                                    +  display: flex;
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +.calendar {
                                                                                                                                                                                                                                                                                                                                                    +  width: 60%;
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +.panel {
                                                                                                                                                                                                                                                                                                                                                    +  width: 40%;
                                                                                                                                                                                                                                                                                                                                                    +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +.button {
                                                                                                                                                                                                                                                                                                                                                    +  display: block;
                                                                                                                                                                                                                                                                                                                                                    +  text-align: left;
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +.selected-option {
                                                                                                                                                                                                                                                                                                                                                    +  font-weight: bold;
                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DefaultValueOptionsComponent.html b/documentation/components/DefaultValueOptionsComponent.html new file mode 100644 index 0000000000..4707056b3b --- /dev/null +++ b/documentation/components/DefaultValueOptionsComponent.html @@ -0,0 +1,1136 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      + src/app/core/admin/admin-entity-details/admin-entity-field/default-value-options/default-value-options.component.ts +

                                                                                                                                                                                                                                                                                                                                                      + + + + +

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      + OnChanges +

                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Outputs
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      +constructor(entityRegistry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                      entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + entityType +
                                                                                                                                                                                                                                                                                                                                                      + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + value +
                                                                                                                                                                                                                                                                                                                                                      + Type : DefaultValueConfig + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      Outputs

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + valueChange +
                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + clearDefaultValue + + +
                                                                                                                                                                                                                                                                                                                                                      +clearDefaultValue() +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + availableInheritanceAttributes + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + currentInheritanceFields + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + form + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + + inheritedFieldSelectElement + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : MatSelect + +
                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                      + + @ViewChild('inheritedFieldSelect')
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + + inputElement + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : ElementRef + +
                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                      + + @ViewChild('inputElement')
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      + + + mode + + +
                                                                                                                                                                                                                                                                                                                                                      + Type : DefaultValueMode + +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                      +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                      +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                      +  Input,
                                                                                                                                                                                                                                                                                                                                                      +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                      +  Output,
                                                                                                                                                                                                                                                                                                                                                      +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                      +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                      +  DefaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                      +  DefaultValueMode,
                                                                                                                                                                                                                                                                                                                                                      +} from "../../../../entity/schema/default-value-config";
                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                      +  MatError,
                                                                                                                                                                                                                                                                                                                                                      +  MatFormField,
                                                                                                                                                                                                                                                                                                                                                      +  MatLabel,
                                                                                                                                                                                                                                                                                                                                                      +  MatSuffix,
                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                      +import { MatInput } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                      +  FormControl,
                                                                                                                                                                                                                                                                                                                                                      +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                      +  FormsModule,
                                                                                                                                                                                                                                                                                                                                                      +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                      +  ValidatorFn,
                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                      +  MatButtonToggle,
                                                                                                                                                                                                                                                                                                                                                      +  MatButtonToggleGroup,
                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/material/button-toggle";
                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                      +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                      +import { MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                      +import { MatOption, MatSelect } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                      +import { asArray } from "../../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                      +import { EntityFieldLabelComponent } from "../../../../common-components/entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                                                                                                      +import { EntityConstructor } from "../../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                      +import { EntityDatatype } from "../../../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                      +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-default-value-options",
                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                      +    MatFormField,
                                                                                                                                                                                                                                                                                                                                                      +    MatLabel,
                                                                                                                                                                                                                                                                                                                                                      +    MatError,
                                                                                                                                                                                                                                                                                                                                                      +    MatInput,
                                                                                                                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                      +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                      +    MatButtonToggleGroup,
                                                                                                                                                                                                                                                                                                                                                      +    MatButtonToggle,
                                                                                                                                                                                                                                                                                                                                                      +    MatTooltip,
                                                                                                                                                                                                                                                                                                                                                      +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                      +    MatSuffix,
                                                                                                                                                                                                                                                                                                                                                      +    MatIconButton,
                                                                                                                                                                                                                                                                                                                                                      +    MatSelect,
                                                                                                                                                                                                                                                                                                                                                      +    MatOption,
                                                                                                                                                                                                                                                                                                                                                      +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./default-value-options.component.html",
                                                                                                                                                                                                                                                                                                                                                      +  styleUrl: "./default-value-options.component.scss",
                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                      +export class DefaultValueOptionsComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                      +  @Input() value: DefaultValueConfig;
                                                                                                                                                                                                                                                                                                                                                      +  @Output() valueChange = new EventEmitter<DefaultValueConfig>();
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  form: FormGroup;
                                                                                                                                                                                                                                                                                                                                                      +  mode: DefaultValueMode;
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  @ViewChild("inputElement") inputElement: ElementRef;
                                                                                                                                                                                                                                                                                                                                                      +  @ViewChild("inheritedFieldSelect") inheritedFieldSelectElement: MatSelect;
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  availableInheritanceAttributes: string[];
                                                                                                                                                                                                                                                                                                                                                      +  currentInheritanceFields: {
                                                                                                                                                                                                                                                                                                                                                      +    localAttribute: string;
                                                                                                                                                                                                                                                                                                                                                      +    referencedEntityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                      +    availableFields: string[];
                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  constructor(private entityRegistry: EntityRegistry) {
                                                                                                                                                                                                                                                                                                                                                      +    this.initForm();
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private initForm() {
                                                                                                                                                                                                                                                                                                                                                      +    this.form = new FormGroup(
                                                                                                                                                                                                                                                                                                                                                      +      {
                                                                                                                                                                                                                                                                                                                                                      +        mode: new FormControl(this.value?.mode),
                                                                                                                                                                                                                                                                                                                                                      +        value: new FormControl(this.value?.value, {
                                                                                                                                                                                                                                                                                                                                                      +          validators: [this.requiredForMode(["static", "dynamic"])],
                                                                                                                                                                                                                                                                                                                                                      +        }),
                                                                                                                                                                                                                                                                                                                                                      +        localAttribute: new FormControl(this.value?.localAttribute, {
                                                                                                                                                                                                                                                                                                                                                      +          validators: [this.requiredForMode("inherited")],
                                                                                                                                                                                                                                                                                                                                                      +        }),
                                                                                                                                                                                                                                                                                                                                                      +        field: new FormControl(this.value?.field, {
                                                                                                                                                                                                                                                                                                                                                      +          validators: [this.requiredForMode("inherited")],
                                                                                                                                                                                                                                                                                                                                                      +        }),
                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                      +      { updateOn: "blur" },
                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    this.form
                                                                                                                                                                                                                                                                                                                                                      +      .get("mode")
                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.subscribe((mode) => this.switchMode(mode));
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("value").valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                      +      if (!this.mode && !!value) {
                                                                                                                                                                                                                                                                                                                                                      +        // set default mode as "static" after user started typing a value
                                                                                                                                                                                                                                                                                                                                                      +        this.mode = "static";
                                                                                                                                                                                                                                                                                                                                                      +        this.form.get("mode").setValue(this.mode, { emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                      +    this.form
                                                                                                                                                                                                                                                                                                                                                      +      .get("localAttribute")
                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.subscribe((v) => this.updateCurrentInheritanceFields(v));
                                                                                                                                                                                                                                                                                                                                                      +    this.form.valueChanges
                                                                                                                                                                                                                                                                                                                                                      +      .pipe(
                                                                                                                                                                                                                                                                                                                                                      +        filter((v) => {
                                                                                                                                                                                                                                                                                                                                                      +          this.form
                                                                                                                                                                                                                                                                                                                                                      +            .get("localAttribute")
                                                                                                                                                                                                                                                                                                                                                      +            .updateValueAndValidity({ emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                      +          this.form.get("field").updateValueAndValidity({ emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                      +          this.form.get("value").updateValueAndValidity({ emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +          return this.form.valid;
                                                                                                                                                                                                                                                                                                                                                      +        }),
                                                                                                                                                                                                                                                                                                                                                      +      )
                                                                                                                                                                                                                                                                                                                                                      +      .subscribe(() => this.emitValue());
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                      +    if (changes.value) {
                                                                                                                                                                                                                                                                                                                                                      +      this.updateForm(this.value);
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +    if (changes.entityType) {
                                                                                                                                                                                                                                                                                                                                                      +      this.updateAvailableInheritanceAttributes();
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private updateForm(newValue: DefaultValueConfig) {
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("mode").setValue(newValue?.mode);
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("value").setValue(newValue?.value);
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("localAttribute").setValue(newValue?.localAttribute);
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("field").setValue(newValue?.field);
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    this.mode = newValue?.mode;
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private switchMode(mode: DefaultValueMode) {
                                                                                                                                                                                                                                                                                                                                                      +    this.mode = mode;
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("value").setValue(null);
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("localAttribute").setValue(null);
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("field").setValue(null);
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private emitValue() {
                                                                                                                                                                                                                                                                                                                                                      +    let newConfigValue: DefaultValueConfig | undefined = undefined;
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                      +      case "static":
                                                                                                                                                                                                                                                                                                                                                      +      case "dynamic":
                                                                                                                                                                                                                                                                                                                                                      +        newConfigValue = {
                                                                                                                                                                                                                                                                                                                                                      +          mode: this.mode,
                                                                                                                                                                                                                                                                                                                                                      +          value: this.form.get("value").value,
                                                                                                                                                                                                                                                                                                                                                      +        };
                                                                                                                                                                                                                                                                                                                                                      +        break;
                                                                                                                                                                                                                                                                                                                                                      +      case "inherited":
                                                                                                                                                                                                                                                                                                                                                      +        newConfigValue = {
                                                                                                                                                                                                                                                                                                                                                      +          mode: this.mode,
                                                                                                                                                                                                                                                                                                                                                      +          localAttribute: this.form.get("localAttribute").value,
                                                                                                                                                                                                                                                                                                                                                      +          field: this.form.get("field").value,
                                                                                                                                                                                                                                                                                                                                                      +        };
                                                                                                                                                                                                                                                                                                                                                      +        break;
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    if (JSON.stringify(newConfigValue) !== JSON.stringify(this.value)) {
                                                                                                                                                                                                                                                                                                                                                      +      this.value = newConfigValue;
                                                                                                                                                                                                                                                                                                                                                      +      this.valueChange.emit(newConfigValue);
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private requiredForMode(
                                                                                                                                                                                                                                                                                                                                                      +    mode: DefaultValueMode | DefaultValueMode[],
                                                                                                                                                                                                                                                                                                                                                      +  ): ValidatorFn {
                                                                                                                                                                                                                                                                                                                                                      +    const modes = asArray(mode);
                                                                                                                                                                                                                                                                                                                                                      +    return (control) => {
                                                                                                                                                                                                                                                                                                                                                      +      if (modes.includes(this.form?.get("mode")?.value) && !control.value) {
                                                                                                                                                                                                                                                                                                                                                      +        return { requiredForMode: true };
                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                      +      return null;
                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private updateAvailableInheritanceAttributes() {
                                                                                                                                                                                                                                                                                                                                                      +    this.availableInheritanceAttributes = Array.from(
                                                                                                                                                                                                                                                                                                                                                      +      this.entityType.schema.entries(),
                                                                                                                                                                                                                                                                                                                                                      +    )
                                                                                                                                                                                                                                                                                                                                                      +      .filter(([_, schema]) => schema.dataType === EntityDatatype.dataType)
                                                                                                                                                                                                                                                                                                                                                      +      .map(([id]) => id);
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  private updateCurrentInheritanceFields(localAttribute: string) {
                                                                                                                                                                                                                                                                                                                                                      +    this.form.get("field").setValue(null);
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    if (!localAttribute) {
                                                                                                                                                                                                                                                                                                                                                      +      this.currentInheritanceFields = undefined;
                                                                                                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    const fieldSchema = this.entityType.schema.get(localAttribute);
                                                                                                                                                                                                                                                                                                                                                      +    const referencedEntityType: EntityConstructor = !!fieldSchema
                                                                                                                                                                                                                                                                                                                                                      +      ? this.entityRegistry.get(fieldSchema?.additional)
                                                                                                                                                                                                                                                                                                                                                      +      : undefined;
                                                                                                                                                                                                                                                                                                                                                      +    if (!referencedEntityType) {
                                                                                                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    const availableFields = Array.from(referencedEntityType.schema.entries())
                                                                                                                                                                                                                                                                                                                                                      +      .filter(([_, schema]) => !!schema.label) // only "user-facing" fields (i.e. with label)
                                                                                                                                                                                                                                                                                                                                                      +      .map(([id]) => id);
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    this.currentInheritanceFields = {
                                                                                                                                                                                                                                                                                                                                                      +      localAttribute,
                                                                                                                                                                                                                                                                                                                                                      +      referencedEntityType,
                                                                                                                                                                                                                                                                                                                                                      +      availableFields,
                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    setTimeout(() => this.inheritedFieldSelectElement.open());
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  clearDefaultValue() {
                                                                                                                                                                                                                                                                                                                                                      +    this.updateForm(undefined);
                                                                                                                                                                                                                                                                                                                                                      +    setTimeout(() => this.inputElement.nativeElement.blur(), 100);
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      <mat-form-field [formGroup]="form" floatLabel="always">
                                                                                                                                                                                                                                                                                                                                                      +  <mat-label i18n>Default Value</mat-label>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  <div class="flex-row gap-regular align-center">
                                                                                                                                                                                                                                                                                                                                                      +    @switch (mode) {
                                                                                                                                                                                                                                                                                                                                                      +      @default {
                                                                                                                                                                                                                                                                                                                                                      +        <input
                                                                                                                                                                                                                                                                                                                                                      +          #inputElement
                                                                                                                                                                                                                                                                                                                                                      +          matInput
                                                                                                                                                                                                                                                                                                                                                      +          formControlName="value"
                                                                                                                                                                                                                                                                                                                                                      +          placeholder="no default value"
                                                                                                                                                                                                                                                                                                                                                      +          i18n-placeholder
                                                                                                                                                                                                                                                                                                                                                      +        />
                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                      +      @case ("dynamic") {
                                                                                                                                                                                                                                                                                                                                                      +        <mat-select formControlName="value">
                                                                                                                                                                                                                                                                                                                                                      +          <mat-option
                                                                                                                                                                                                                                                                                                                                                      +            value="$now"
                                                                                                                                                                                                                                                                                                                                                      +            matTooltip="Fill the current date initially, when a record is created."
                                                                                                                                                                                                                                                                                                                                                      +            i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +            i18n
                                                                                                                                                                                                                                                                                                                                                      +            >Current Date</mat-option
                                                                                                                                                                                                                                                                                                                                                      +          >
                                                                                                                                                                                                                                                                                                                                                      +          <mat-option
                                                                                                                                                                                                                                                                                                                                                      +            value="$current_user"
                                                                                                                                                                                                                                                                                                                                                      +            matTooltip="Fill the currently logged in user, when a record is created."
                                                                                                                                                                                                                                                                                                                                                      +            i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +            i18n
                                                                                                                                                                                                                                                                                                                                                      +            >Current User</mat-option
                                                                                                                                                                                                                                                                                                                                                      +          >
                                                                                                                                                                                                                                                                                                                                                      +        </mat-select>
                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                      +      @case ("inherited") {
                                                                                                                                                                                                                                                                                                                                                      +        <mat-select formControlName="localAttribute">
                                                                                                                                                                                                                                                                                                                                                      +          <div
                                                                                                                                                                                                                                                                                                                                                      +            class="select-dropdown-header"
                                                                                                                                                                                                                                                                                                                                                      +            matTooltip="The field of this record that defines the related record from which you want to inherit a value."
                                                                                                                                                                                                                                                                                                                                                      +            i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +            i18n
                                                                                                                                                                                                                                                                                                                                                      +          >
                                                                                                                                                                                                                                                                                                                                                      +            Inherit from linked record:
                                                                                                                                                                                                                                                                                                                                                      +          </div>
                                                                                                                                                                                                                                                                                                                                                      +          @for (attr of availableInheritanceAttributes; track attr) {
                                                                                                                                                                                                                                                                                                                                                      +            <mat-option [value]="attr">
                                                                                                                                                                                                                                                                                                                                                      +              <app-entity-field-label
                                                                                                                                                                                                                                                                                                                                                      +                [field]="attr"
                                                                                                                                                                                                                                                                                                                                                      +                [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                      +              ></app-entity-field-label>
                                                                                                                                                                                                                                                                                                                                                      +            </mat-option>
                                                                                                                                                                                                                                                                                                                                                      +          }
                                                                                                                                                                                                                                                                                                                                                      +        </mat-select>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +        <mat-select formControlName="field" #inheritedFieldSelect>
                                                                                                                                                                                                                                                                                                                                                      +          <div
                                                                                                                                                                                                                                                                                                                                                      +            class="select-dropdown-header"
                                                                                                                                                                                                                                                                                                                                                      +            matTooltip="The field of the linked record from which the value is copied into this field."
                                                                                                                                                                                                                                                                                                                                                      +            i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +            i18n
                                                                                                                                                                                                                                                                                                                                                      +          >
                                                                                                                                                                                                                                                                                                                                                      +            Inherited field of linked record:
                                                                                                                                                                                                                                                                                                                                                      +          </div>
                                                                                                                                                                                                                                                                                                                                                      +          @for (
                                                                                                                                                                                                                                                                                                                                                      +            field of currentInheritanceFields?.availableFields;
                                                                                                                                                                                                                                                                                                                                                      +            track field
                                                                                                                                                                                                                                                                                                                                                      +          ) {
                                                                                                                                                                                                                                                                                                                                                      +            <mat-option [value]="field">
                                                                                                                                                                                                                                                                                                                                                      +              <app-entity-field-label
                                                                                                                                                                                                                                                                                                                                                      +                [field]="field"
                                                                                                                                                                                                                                                                                                                                                      +                [entityType]="currentInheritanceFields?.referencedEntityType"
                                                                                                                                                                                                                                                                                                                                                      +              ></app-entity-field-label>
                                                                                                                                                                                                                                                                                                                                                      +            </mat-option>
                                                                                                                                                                                                                                                                                                                                                      +          }
                                                                                                                                                                                                                                                                                                                                                      +        </mat-select>
                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    <mat-button-toggle-group
                                                                                                                                                                                                                                                                                                                                                      +      formControlName="mode"
                                                                                                                                                                                                                                                                                                                                                      +      aria-label="default value mode"
                                                                                                                                                                                                                                                                                                                                                      +      hideSingleSelectionIndicator
                                                                                                                                                                                                                                                                                                                                                      +      style="flex: none"
                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                      +      <mat-button-toggle
                                                                                                                                                                                                                                                                                                                                                      +        value="static"
                                                                                                                                                                                                                                                                                                                                                      +        matTooltip="simple, fixed default value"
                                                                                                                                                                                                                                                                                                                                                      +        i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                      +        <fa-icon icon="circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                      +      </mat-button-toggle>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +      <mat-button-toggle
                                                                                                                                                                                                                                                                                                                                                      +        value="dynamic"
                                                                                                                                                                                                                                                                                                                                                      +        matTooltip="dynamic placeholder (e.g. current date or user)"
                                                                                                                                                                                                                                                                                                                                                      +        i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                      +        <fa-icon icon="circle-left"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                      +      </mat-button-toggle>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +      <mat-button-toggle
                                                                                                                                                                                                                                                                                                                                                      +        value="inherited"
                                                                                                                                                                                                                                                                                                                                                      +        matTooltip="value inherited from the value of another, linked record (requires another field in this record type to be a link to a record)"
                                                                                                                                                                                                                                                                                                                                                      +        i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +        [disabled]="!(availableInheritanceAttributes?.length > 0)"
                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                      +        <fa-icon icon="circle-nodes"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                      +      </mat-button-toggle>
                                                                                                                                                                                                                                                                                                                                                      +    </mat-button-toggle-group>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                                                                      +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                                      +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                      +      matTooltip="Remove default value"
                                                                                                                                                                                                                                                                                                                                                      +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                      +      (click)="clearDefaultValue()"
                                                                                                                                                                                                                                                                                                                                                      +      color="{{ form.invalid ? 'accent' : '' }}"
                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                      +      <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +  @if (form.invalid) {
                                                                                                                                                                                                                                                                                                                                                      +    <mat-error i18n="error message"
                                                                                                                                                                                                                                                                                                                                                      +      >Select default value or clear default value mode</mat-error
                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                      +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DemoDataGeneratingProgressDialogComponent.html b/documentation/components/DemoDataGeneratingProgressDialogComponent.html new file mode 100644 index 0000000000..3cdd290952 --- /dev/null +++ b/documentation/components/DemoDataGeneratingProgressDialogComponent.html @@ -0,0 +1,325 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        + src/app/core/demo-data/demo-data-generating-progress-dialog.component.ts +

                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        Loading box during demo data generation.

                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        see DemoDataModule

                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                        + * Loading box during demo data generation.
                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                        + * see {@link DemoDataModule}
                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                        +  template: `
                                                                                                                                                                                                                                                                                                                                                        +    <mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                        +      <p i18n>Generating sample data for this demo ...</p>
                                                                                                                                                                                                                                                                                                                                                        +      <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                        +    </mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                        +  `,
                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                        +export class DemoDataGeneratingProgressDialogComponent {}
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DialogButtonsComponent.html b/documentation/components/DialogButtonsComponent.html new file mode 100644 index 0000000000..65fc5e02d2 --- /dev/null +++ b/documentation/components/DialogButtonsComponent.html @@ -0,0 +1,1037 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          + src/app/core/form-dialog/dialog-buttons/dialog-buttons.component.ts +

                                                                                                                                                                                                                                                                                                                                                          + + + + +

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Outputs
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          +constructor(entityFormService: EntityFormService, dialog: MatDialogRef, alertService: AlertService, router: Router, ability: EntityAbility, unsavedChanges: UnsavedChangesService, viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                          entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                          dialog + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                          alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                          ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                          unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                          viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                                                                                                                                          + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + form +
                                                                                                                                                                                                                                                                                                                                                          + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          Outputs

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + closeView +
                                                                                                                                                                                                                                                                                                                                                          + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + + cancel + + +
                                                                                                                                                                                                                                                                                                                                                          +cancel() +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + + close + + +
                                                                                                                                                                                                                                                                                                                                                          +close(result?: any) +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                          result + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + + onAction + + +
                                                                                                                                                                                                                                                                                                                                                          +onAction(action: string) +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                          action + string + + No +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                          + + save() +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          + + + detailsRoute + + +
                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          import {
                                                                                                                                                                                                                                                                                                                                                          +  Component,
                                                                                                                                                                                                                                                                                                                                                          +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                          +  Input,
                                                                                                                                                                                                                                                                                                                                                          +  OnInit,
                                                                                                                                                                                                                                                                                                                                                          +  Optional,
                                                                                                                                                                                                                                                                                                                                                          +  Output,
                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                          +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                          +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                          +import { MatDialogModule, MatDialogRef } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                          +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                          +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                          +import { FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                          +import { InvalidFormFieldError } from "../../common-components/entity-form/invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                          +import { EntityFormService } from "../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                          +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                          +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                          +import { Router, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                          +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                          +import { UnsavedChangesService } from "../../entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                          +import { EntityActionsMenuComponent } from "../../entity-details/entity-actions-menu/entity-actions-menu.component";
                                                                                                                                                                                                                                                                                                                                                          +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-dialog-buttons",
                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                          +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                          +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                          +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                          +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                          +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                          +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                          +    EntityActionsMenuComponent,
                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./dialog-buttons.component.html",
                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./dialog-buttons.component.scss"],
                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                          +export class DialogButtonsComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                          +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                          +  @Input() form: FormGroup;
                                                                                                                                                                                                                                                                                                                                                          +  detailsRoute: string;
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  @Output() closeView = new EventEmitter<any>();
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                          +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                          +    @Optional() private dialog: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                          +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                          +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                          +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                          +    private unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                          +    @Optional() protected viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                          +    if (this.dialog) {
                                                                                                                                                                                                                                                                                                                                                          +      this.initDialogSettings();
                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  private initDialogSettings() {
                                                                                                                                                                                                                                                                                                                                                          +    this.dialog.disableClose = true;
                                                                                                                                                                                                                                                                                                                                                          +    this.dialog.backdropClick().subscribe(() =>
                                                                                                                                                                                                                                                                                                                                                          +      this.unsavedChanges.checkUnsavedChanges().then((confirmed) => {
                                                                                                                                                                                                                                                                                                                                                          +        if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                          +          this.dialog.close();
                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                          +      }),
                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                          +    // This happens before the `canDeactivate` check and therefore does not warn when leaving
                                                                                                                                                                                                                                                                                                                                                          +    this.dialog
                                                                                                                                                                                                                                                                                                                                                          +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                          +      .subscribe(() => (this.unsavedChanges.pending = false));
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                          +    if (!this.entity.isNew) {
                                                                                                                                                                                                                                                                                                                                                          +      if (this.ability.cannot("update", this.entity)) {
                                                                                                                                                                                                                                                                                                                                                          +        this.form.disable();
                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                          +      this.initializeDetailsRouteIfAvailable();
                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  private initializeDetailsRouteIfAvailable() {
                                                                                                                                                                                                                                                                                                                                                          +    let route = this.entity.getConstructor().route;
                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                          +      route &&
                                                                                                                                                                                                                                                                                                                                                          +      this.router.config.some((r) => "/" + r.path === route + "/:id")
                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                          +      this.detailsRoute = route + "/" + this.entity.getId(true);
                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  async save() {
                                                                                                                                                                                                                                                                                                                                                          +    this.entityFormService
                                                                                                                                                                                                                                                                                                                                                          +      .saveChanges(this.form, this.entity)
                                                                                                                                                                                                                                                                                                                                                          +      .then((res) => {
                                                                                                                                                                                                                                                                                                                                                          +        // Attachments are only saved once form is disabled
                                                                                                                                                                                                                                                                                                                                                          +        this.form.disable();
                                                                                                                                                                                                                                                                                                                                                          +        this.form.markAsPristine();
                                                                                                                                                                                                                                                                                                                                                          +        this.close(res);
                                                                                                                                                                                                                                                                                                                                                          +      })
                                                                                                                                                                                                                                                                                                                                                          +      .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                          +        if (!(err instanceof InvalidFormFieldError)) {
                                                                                                                                                                                                                                                                                                                                                          +          this.alertService.addDanger(err.message);
                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  cancel() {
                                                                                                                                                                                                                                                                                                                                                          +    this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                          +    this.close();
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  close(result?: any) {
                                                                                                                                                                                                                                                                                                                                                          +    this.dialog?.close(result);
                                                                                                                                                                                                                                                                                                                                                          +    this.closeView.emit(result);
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +    this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +  onAction(action: string) {
                                                                                                                                                                                                                                                                                                                                                          +    if (action === "delete") {
                                                                                                                                                                                                                                                                                                                                                          +      this.close();
                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          <button
                                                                                                                                                                                                                                                                                                                                                          +  mat-raised-button
                                                                                                                                                                                                                                                                                                                                                          +  color="accent"
                                                                                                                                                                                                                                                                                                                                                          +  [disabled]="!form.dirty"
                                                                                                                                                                                                                                                                                                                                                          +  (click)="save()"
                                                                                                                                                                                                                                                                                                                                                          +  angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                          +  [angularticsCategory]="entity?.getType()"
                                                                                                                                                                                                                                                                                                                                                          +  angularticsAction="form_popup_save"
                                                                                                                                                                                                                                                                                                                                                          +  i18n="Form save button"
                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                          +  Save
                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +<button
                                                                                                                                                                                                                                                                                                                                                          +  *ngIf="viewContext?.isDialog"
                                                                                                                                                                                                                                                                                                                                                          +  mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                          +  (click)="cancel()"
                                                                                                                                                                                                                                                                                                                                                          +  angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                          +  [angularticsCategory]="entity?.getType()"
                                                                                                                                                                                                                                                                                                                                                          +  angularticsAction="form_popup_cancel"
                                                                                                                                                                                                                                                                                                                                                          +  i18n="Form cancel button"
                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                          +  Cancel
                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +<button
                                                                                                                                                                                                                                                                                                                                                          +  *ngIf="detailsRoute && viewContext?.isDialog"
                                                                                                                                                                                                                                                                                                                                                          +  mat-raised-button
                                                                                                                                                                                                                                                                                                                                                          +  [routerLink]="detailsRoute"
                                                                                                                                                                                                                                                                                                                                                          +  mat-dialog-close
                                                                                                                                                                                                                                                                                                                                                          +  [disabled]="form.disabled"
                                                                                                                                                                                                                                                                                                                                                          +  i18n="Form button to navigate to details page of entity"
                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                          +  Go to details
                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +<app-entity-actions-menu [entity]="entity" (actionTriggered)="onAction($event)">
                                                                                                                                                                                                                                                                                                                                                          +  <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                          +</app-entity-actions-menu>
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          + ./dialog-buttons.component.scss +

                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          :host {
                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                          +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DialogCloseComponent.html b/documentation/components/DialogCloseComponent.html new file mode 100644 index 0000000000..856bb7b0aa --- /dev/null +++ b/documentation/components/DialogCloseComponent.html @@ -0,0 +1,444 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/dialog-close/dialog-close.component.ts +

                                                                                                                                                                                                                                                                                                                                                            + + + + +

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            + AfterViewChecked +

                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            + + + + button + + +
                                                                                                                                                                                                                                                                                                                                                            + Type : MatButton + +
                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                            + + @ViewChild('button')
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            import { AfterViewChecked, Component, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                            +import { MatButton, MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-dialog-close",
                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./dialog-close.component.html",
                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./dialog-close.component.scss"],
                                                                                                                                                                                                                                                                                                                                                            +  imports: [FontAwesomeModule, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                            +export class DialogCloseComponent implements AfterViewChecked {
                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild("button") button: MatButton;
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +  ngAfterViewChecked() {
                                                                                                                                                                                                                                                                                                                                                            +    (<HTMLButtonElement>this.button._elementRef.nativeElement).blur();
                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            <button mat-icon-button class="overlay-close-button" #button>
                                                                                                                                                                                                                                                                                                                                                            +  <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                            +</button>
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            + ./dialog-close.component.scss +

                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            /**
                                                                                                                                                                                                                                                                                                                                                            + * Positions the 'x' button that is shown for an overlay to
                                                                                                                                                                                                                                                                                                                                                            + * the top-right of the overlay
                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                            +.overlay-close-button {
                                                                                                                                                                                                                                                                                                                                                            +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                            +  top: 0;
                                                                                                                                                                                                                                                                                                                                                            +  right: 0;
                                                                                                                                                                                                                                                                                                                                                            +  border-radius: 0 4px 0 4px;
                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +:host ::ng-deep .mat-mdc-icon-button .mat-mdc-button-persistent-ripple {
                                                                                                                                                                                                                                                                                                                                                            +  border-radius: 0 4px 0 4px;
                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DialogViewComponent.html b/documentation/components/DialogViewComponent.html new file mode 100644 index 0000000000..005fd12787 --- /dev/null +++ b/documentation/components/DialogViewComponent.html @@ -0,0 +1,717 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              + src/app/core/ui/dialog-view/dialog-view.component.ts +

                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Wrapper component for a modal/dialog view +that takes parameters from the dialog data and passes these on to normal @Input properties.

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              This allows to develop functional feature components in a way to easily reuse them for display +as a full page view or in a modal dialog. +(also see RoutedViewComponent)

                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              + AbstractViewComponent +

                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              +constructor(dialogData: DialogViewData<T>, entityConfigService: EntityConfigService, injector: Injector) +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                              dialogData + DialogViewData<T> + + No +
                                                                                                                                                                                                                                                                                                                                                              entityConfigService + EntityConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                              injector + Injector + + No +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + + + component + + +
                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + + + componentInjector + + +
                                                                                                                                                                                                                                                                                                                                                              + Type : Injector | undefined + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Inherited from AbstractViewComponent +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + + + config + + +
                                                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              + + + viewContext + + +
                                                                                                                                                                                                                                                                                                                                                              + Type : ViewComponentContext + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Inherited from AbstractViewComponent +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              import { Component, Inject, Injector } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                              +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                              +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                              +  MatDialogActions,
                                                                                                                                                                                                                                                                                                                                                              +  MatDialogClose,
                                                                                                                                                                                                                                                                                                                                                              +  MatDialogContent,
                                                                                                                                                                                                                                                                                                                                                              +  MatDialogTitle,
                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                              +import { EntityConfigService } from "../../entity/entity-config.service";
                                                                                                                                                                                                                                                                                                                                                              +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                              +import { DialogCloseComponent } from "../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                              +import { CdkPortalOutlet } from "@angular/cdk/portal";
                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentPipe } from "../../config/dynamic-components/dynamic-component.pipe";
                                                                                                                                                                                                                                                                                                                                                              +import { AbstractViewComponent } from "../abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                              + * Wrapper component for a modal/dialog view
                                                                                                                                                                                                                                                                                                                                                              + * that takes parameters from the dialog data and passes these on to normal @Input properties.
                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                              + * This allows to develop functional feature components in a way to easily reuse them for display
                                                                                                                                                                                                                                                                                                                                                              + * as a full page view or in a modal dialog.
                                                                                                                                                                                                                                                                                                                                                              + * (also see RoutedViewComponent)
                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                              +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                              +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                              +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                              +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                              +    MatDialogClose,
                                                                                                                                                                                                                                                                                                                                                              +    CdkPortalOutlet,
                                                                                                                                                                                                                                                                                                                                                              +    DynamicComponentPipe,
                                                                                                                                                                                                                                                                                                                                                              +    MatDialogTitle,
                                                                                                                                                                                                                                                                                                                                                              +    MatDialogContent,
                                                                                                                                                                                                                                                                                                                                                              +    MatDialogActions,
                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./dialog-view.component.html",
                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./dialog-view.component.scss"],
                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                              +export class DialogViewComponent<T = any> extends AbstractViewComponent {
                                                                                                                                                                                                                                                                                                                                                              +  component: string;
                                                                                                                                                                                                                                                                                                                                                              +  config: any;
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                              +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                              +    dialogData: DialogViewData<T>,
                                                                                                                                                                                                                                                                                                                                                              +    private entityConfigService: EntityConfigService,
                                                                                                                                                                                                                                                                                                                                                              +    injector: Injector,
                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                              +    super(injector, true);
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +    this.component = dialogData.component;
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +    let viewConfig = {};
                                                                                                                                                                                                                                                                                                                                                              +    if (dialogData.entity) {
                                                                                                                                                                                                                                                                                                                                                              +      viewConfig =
                                                                                                                                                                                                                                                                                                                                                              +        this.entityConfigService.getDetailsViewConfig(
                                                                                                                                                                                                                                                                                                                                                              +          dialogData.entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                              +        )?.config ?? {};
                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +    if (dialogData.entity) {
                                                                                                                                                                                                                                                                                                                                                              +      viewConfig["entity"] = dialogData.entity;
                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +    this.config = {
                                                                                                                                                                                                                                                                                                                                                              +      ...viewConfig,
                                                                                                                                                                                                                                                                                                                                                              +      ...dialogData.config,
                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +  componentInjector: Injector | undefined;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +export interface DialogViewData<T = any> {
                                                                                                                                                                                                                                                                                                                                                              +  component: string;
                                                                                                                                                                                                                                                                                                                                                              +  config?: T;
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) if an EntityDetails view, the full entity record to be displayed
                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                              +  entity?: Entity;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              <div mat-dialog-title>
                                                                                                                                                                                                                                                                                                                                                              +  <ng-container *ngTemplateOutlet="viewContext?.title?.template"></ng-container>
                                                                                                                                                                                                                                                                                                                                                              +  <div style="width: 24px"><!-- spacer for dialog close button--></div>
                                                                                                                                                                                                                                                                                                                                                              +  <app-dialog-close class="dialog-close" mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +<div class="dialog-container" mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                              +  <ng-container
                                                                                                                                                                                                                                                                                                                                                              +    *ngComponentOutlet="
                                                                                                                                                                                                                                                                                                                                                              +      component | dynamicComponent | async;
                                                                                                                                                                                                                                                                                                                                                              +      inputs: config;
                                                                                                                                                                                                                                                                                                                                                              +      injector: componentInjector
                                                                                                                                                                                                                                                                                                                                                              +    "
                                                                                                                                                                                                                                                                                                                                                              +  ></ng-container>
                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                              +  <ng-container
                                                                                                                                                                                                                                                                                                                                                              +    *ngTemplateOutlet="viewContext?.actions?.template"
                                                                                                                                                                                                                                                                                                                                                              +  ></ng-container>
                                                                                                                                                                                                                                                                                                                                                              +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              + ./dialog-view.component.scss +

                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +.dialog-container {
                                                                                                                                                                                                                                                                                                                                                              +  padding: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +.dialog-close {
                                                                                                                                                                                                                                                                                                                                                              +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                              +  top: -(sizes.$small);
                                                                                                                                                                                                                                                                                                                                                              +  right: 0;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +.mdc-dialog__title {
                                                                                                                                                                                                                                                                                                                                                              +  margin-top: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +.mdc-dialog__title::before {
                                                                                                                                                                                                                                                                                                                                                              +  display: none;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +.mdc-dialog__content {
                                                                                                                                                                                                                                                                                                                                                              +  /* allow "almost fullscreen" sized dialogs for complex views */
                                                                                                                                                                                                                                                                                                                                                              +  max-height: initial;
                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisabledWrapperComponent.html b/documentation/components/DisabledWrapperComponent.html new file mode 100644 index 0000000000..400d6efeb5 --- /dev/null +++ b/documentation/components/DisabledWrapperComponent.html @@ -0,0 +1,637 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                + src/app/core/permissions/permission-directive/disabled-wrapper.component.ts +

                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                This component is used to display a tooltip when a element is elementDisabled. +Normally, tooltips are not shown on elementDisabled elements, therefore this component creates the tooltip on a wrapping +div.

                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                +constructor(renderer: Renderer2) +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                renderer + Renderer2 + + No +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                + + elementDisabled +
                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                Whether the element should be disabled.

                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                + + template +
                                                                                                                                                                                                                                                                                                                                                                + Type : TemplateRef<HTMLElement> + +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                A template of an HTMLElement that can be disabled. +See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled +for a list of HTML element with the disabled attribute.

                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                + + text +
                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                The text which should be displayed in the tooltip

                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                + + + + wrapper + + +
                                                                                                                                                                                                                                                                                                                                                                + Type : ElementRef<HTMLDivElement> + +
                                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                + + @ViewChild('wrapper')
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                import {
                                                                                                                                                                                                                                                                                                                                                                +  AfterViewInit,
                                                                                                                                                                                                                                                                                                                                                                +  Component,
                                                                                                                                                                                                                                                                                                                                                                +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                +  Input,
                                                                                                                                                                                                                                                                                                                                                                +  Renderer2,
                                                                                                                                                                                                                                                                                                                                                                +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                +import { NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                + * This component is used to display a tooltip when a element is elementDisabled.
                                                                                                                                                                                                                                                                                                                                                                + * Normally, tooltips are not shown on elementDisabled elements, therefore this component creates the tooltip on a wrapping
                                                                                                                                                                                                                                                                                                                                                                + * div.
                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-disabled-wrapper",
                                                                                                                                                                                                                                                                                                                                                                +  template: ` <div
                                                                                                                                                                                                                                                                                                                                                                +    [matTooltip]="text"
                                                                                                                                                                                                                                                                                                                                                                +    [matTooltipDisabled]="!elementDisabled"
                                                                                                                                                                                                                                                                                                                                                                +    style="display: inline"
                                                                                                                                                                                                                                                                                                                                                                +    #wrapper
                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                +    <ng-container *ngTemplateOutlet="template"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                +  </div>`,
                                                                                                                                                                                                                                                                                                                                                                +  imports: [MatTooltipModule, NgTemplateOutlet],
                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                +export class DisabledWrapperComponent implements AfterViewInit {
                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                +   * A template of an HTMLElement that can be disabled.
                                                                                                                                                                                                                                                                                                                                                                +   * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/disabled
                                                                                                                                                                                                                                                                                                                                                                +   * for a list of HTML element with the disabled attribute.
                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                +  @Input() template: TemplateRef<HTMLElement>;
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                +   * The text which should be displayed in the tooltip
                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                +  @Input() text: string;
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                +   * Whether the element should be disabled.
                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                +  @Input() elementDisabled: boolean;
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  @ViewChild("wrapper") wrapper: ElementRef<HTMLDivElement>;
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  constructor(private renderer: Renderer2) {}
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  ngAfterViewInit() {
                                                                                                                                                                                                                                                                                                                                                                +    if (!this.wrapper) {
                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +    const buttonElement =
                                                                                                                                                                                                                                                                                                                                                                +      this.wrapper.nativeElement.getElementsByTagName("button")[0];
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +    if (!buttonElement) {
                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +    if (this.elementDisabled) {
                                                                                                                                                                                                                                                                                                                                                                +      this.disable(buttonElement);
                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                +      this.enable(buttonElement);
                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  private enable(buttonElement: HTMLButtonElement) {
                                                                                                                                                                                                                                                                                                                                                                +    this.renderer.removeAttribute(buttonElement, "disabled");
                                                                                                                                                                                                                                                                                                                                                                +    this.renderer.removeClass(buttonElement, "mat-button-disabled");
                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +  private disable(buttonElement: HTMLButtonElement) {
                                                                                                                                                                                                                                                                                                                                                                +    this.renderer.addClass(buttonElement, "mat-button-disabled");
                                                                                                                                                                                                                                                                                                                                                                +    this.renderer.setAttribute(buttonElement, "disabled", "true");
                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DiscreteImportConfigComponent.html b/documentation/components/DiscreteImportConfigComponent.html new file mode 100644 index 0000000000..8b90fdbb55 --- /dev/null +++ b/documentation/components/DiscreteImportConfigComponent.html @@ -0,0 +1,807 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/discrete/discrete-import-config/discrete-import-config.component.ts +

                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  UI to configure import value mappings for discrete datatypes like boolean or enum.

                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                  • + Async + save +
                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  +constructor(data: MappingDialogData, fb: FormBuilder, dialog: MatDialogRef, confirmation: ConfirmationDialogService, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                  data + MappingDialogData + + No +
                                                                                                                                                                                                                                                                                                                                                                  fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                                                                                                                  dialog + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                  confirmation + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                  schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                                  + + save() +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + component + + +
                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                  + Type : MappingDialogData + +
                                                                                                                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                  + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                  + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + schema + + +
                                                                                                                                                                                                                                                                                                                                                                  + Type : EntitySchemaField + +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  import { Component, Inject, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                  +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                  +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                  +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                  +import { FormBuilder, FormControl, FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                  +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaService } from "../../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                  +import { MappingDialogData } from "../../../import/import-column-mapping/import-column-mapping.component";
                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaField } from "../../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                  +import { KeyValuePipe, NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponentDirective } from "../../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                  +import { HelpButtonComponent } from "../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                  + * UI to configure import value mappings for discrete datatypes like boolean or enum.
                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("DiscreteImportConfig")
                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-discrete-import-config",
                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./discrete-import-config.component.html",
                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./discrete-import-config.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                  +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                  +    KeyValuePipe,
                                                                                                                                                                                                                                                                                                                                                                  +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                  +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                  +export class DiscreteImportConfigComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                  +  form: FormGroup;
                                                                                                                                                                                                                                                                                                                                                                  +  component: string;
                                                                                                                                                                                                                                                                                                                                                                  +  schema: EntitySchemaField;
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                  +    public data: MappingDialogData,
                                                                                                                                                                                                                                                                                                                                                                  +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                  +    private dialog: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                                  +    private confirmation: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                  +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                  +    this.schema = this.data.entityType.schema.get(this.data.col.propertyName);
                                                                                                                                                                                                                                                                                                                                                                  +    this.component = this.schemaService.getComponent(this.schema, "edit");
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +    this.form = this.fb.group(this.getFormValues(this.data.col.additional));
                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +  private getFormValues(additional: any) {
                                                                                                                                                                                                                                                                                                                                                                  +    if (!additional) {
                                                                                                                                                                                                                                                                                                                                                                  +      additional = {};
                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +    const formObj = {};
                                                                                                                                                                                                                                                                                                                                                                  +    this.data.values
                                                                                                                                                                                                                                                                                                                                                                  +      .filter((val) => !!val)
                                                                                                                                                                                                                                                                                                                                                                  +      .forEach((val) => {
                                                                                                                                                                                                                                                                                                                                                                  +        let selectedMapping;
                                                                                                                                                                                                                                                                                                                                                                  +        if (additional.hasOwnProperty(val)) {
                                                                                                                                                                                                                                                                                                                                                                  +          selectedMapping = this.schemaService.valueToEntityFormat(
                                                                                                                                                                                                                                                                                                                                                                  +            additional[val],
                                                                                                                                                                                                                                                                                                                                                                  +            this.schema,
                                                                                                                                                                                                                                                                                                                                                                  +          );
                                                                                                                                                                                                                                                                                                                                                                  +        }
                                                                                                                                                                                                                                                                                                                                                                  +        formObj[val] = new FormControl(selectedMapping);
                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +    return formObj;
                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +  async save() {
                                                                                                                                                                                                                                                                                                                                                                  +    const rawValues = this.getValuesInDatabaseFormat(this.form.getRawValue());
                                                                                                                                                                                                                                                                                                                                                                  +    const allFilled = Object.values(rawValues).every((val) => !!val);
                                                                                                                                                                                                                                                                                                                                                                  +    const confirmed =
                                                                                                                                                                                                                                                                                                                                                                  +      allFilled ||
                                                                                                                                                                                                                                                                                                                                                                  +      (await this.confirmation.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                  +        $localize`Ignore values?`,
                                                                                                                                                                                                                                                                                                                                                                  +        $localize`Some values don't have a mapping and will not be imported. Are you sure you want to keep it like this?`,
                                                                                                                                                                                                                                                                                                                                                                  +      ));
                                                                                                                                                                                                                                                                                                                                                                  +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                                  +      this.data.col.additional = rawValues;
                                                                                                                                                                                                                                                                                                                                                                  +      this.dialog.close();
                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                  +   * Transform object property values into their database format values to be stored.
                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                  +  private getValuesInDatabaseFormat(rawValues: any) {
                                                                                                                                                                                                                                                                                                                                                                  +    for (const k in rawValues) {
                                                                                                                                                                                                                                                                                                                                                                  +      rawValues[k] = this.schemaService.valueToDatabaseFormat(
                                                                                                                                                                                                                                                                                                                                                                  +        rawValues[k],
                                                                                                                                                                                                                                                                                                                                                                  +        this.schema,
                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +    return rawValues;
                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  <mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                  +  <table>
                                                                                                                                                                                                                                                                                                                                                                  +    <tr>
                                                                                                                                                                                                                                                                                                                                                                  +      <th i18n="Import mapping header">Imported values</th>
                                                                                                                                                                                                                                                                                                                                                                  +      <th i18n="Import mapping header">Assigned values</th>
                                                                                                                                                                                                                                                                                                                                                                  +      <th>
                                                                                                                                                                                                                                                                                                                                                                  +        <app-help-button
                                                                                                                                                                                                                                                                                                                                                                  +          text="For each unique value from your imported data (left), select the category value from the system's data structure into which it will be transformed. The values you do not assign here will be ignored (remain empty) during import."
                                                                                                                                                                                                                                                                                                                                                                  +          i18n-text="import - value mapping (enum) - help text"
                                                                                                                                                                                                                                                                                                                                                                  +        ></app-help-button>
                                                                                                                                                                                                                                                                                                                                                                  +      </th>
                                                                                                                                                                                                                                                                                                                                                                  +    </tr>
                                                                                                                                                                                                                                                                                                                                                                  +    <tr *ngFor="let ctrl of form.controls | keyvalue">
                                                                                                                                                                                                                                                                                                                                                                  +      <td style="padding-right: 20px">{{ ctrl.key }}:</td>
                                                                                                                                                                                                                                                                                                                                                                  +      <td>
                                                                                                                                                                                                                                                                                                                                                                  +        <ng-container
                                                                                                                                                                                                                                                                                                                                                                  +          [appDynamicComponent]="{
                                                                                                                                                                                                                                                                                                                                                                  +            component: component,
                                                                                                                                                                                                                                                                                                                                                                  +            config: {
                                                                                                                                                                                                                                                                                                                                                                  +              formFieldConfig: schema,
                                                                                                                                                                                                                                                                                                                                                                  +              formControl: ctrl.value,
                                                                                                                                                                                                                                                                                                                                                                  +            },
                                                                                                                                                                                                                                                                                                                                                                  +          }"
                                                                                                                                                                                                                                                                                                                                                                  +        ></ng-container>
                                                                                                                                                                                                                                                                                                                                                                  +      </td>
                                                                                                                                                                                                                                                                                                                                                                  +    </tr>
                                                                                                                                                                                                                                                                                                                                                                  +  </table>
                                                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                  +  <button mat-raised-button color="accent" (click)="save()" i18n>
                                                                                                                                                                                                                                                                                                                                                                  +    Save & Close
                                                                                                                                                                                                                                                                                                                                                                  +  </button>
                                                                                                                                                                                                                                                                                                                                                                  +  <button mat-stroked-button matDialogClose i18n>Cancel</button>
                                                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  + ./discrete-import-config.component.scss +

                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayAgeComponent.html b/documentation/components/DisplayAgeComponent.html new file mode 100644 index 0000000000..cf67367336 --- /dev/null +++ b/documentation/components/DisplayAgeComponent.html @@ -0,0 +1,634 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/date-with-age/display-age/display-age.component.ts +

                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    A component which displays the age of an entity with a DateOfBirth property. +The name of the property where the DateOfBirth is defined has to be passed as config. +e.g. show age of a child

                                                                                                                                                                                                                                                                                                                                                                    +Example :
                                                                                                                                                                                                                                                                                                                                                                    {
                                                                                                                                                                                                                                                                                                                                                                    +  "id": "age",
                                                                                                                                                                                                                                                                                                                                                                    +  "label": "Age",
                                                                                                                                                                                                                                                                                                                                                                    +  "viewComponent": "DisplayAge",
                                                                                                                                                                                                                                                                                                                                                                    +  "config": "dateOfBirth"
                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + config +
                                                                                                                                                                                                                                                                                                                                                                    + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + id +
                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + value +
                                                                                                                                                                                                                                                                                                                                                                    + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + + date + + +
                                                                                                                                                                                                                                                                                                                                                                    + Type : DateWithAge + +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                    +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                    +import { DateWithAge } from "../dateWithAge";
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                    + * A component which displays the age of an entity with a DateOfBirth property.
                                                                                                                                                                                                                                                                                                                                                                    + * The name of the property where the DateOfBirth is defined has to be passed as config.
                                                                                                                                                                                                                                                                                                                                                                    + * e.g. show age of a child
                                                                                                                                                                                                                                                                                                                                                                    + * ```json
                                                                                                                                                                                                                                                                                                                                                                    + * {
                                                                                                                                                                                                                                                                                                                                                                    + *   "id": "age",
                                                                                                                                                                                                                                                                                                                                                                    + *   "label": "Age",
                                                                                                                                                                                                                                                                                                                                                                    + *   "viewComponent": "DisplayAge",
                                                                                                                                                                                                                                                                                                                                                                    + *   "config": "dateOfBirth"
                                                                                                                                                                                                                                                                                                                                                                    + * }
                                                                                                                                                                                                                                                                                                                                                                    + * ```
                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("DisplayAge")
                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-display-age",
                                                                                                                                                                                                                                                                                                                                                                    +  template: "{{ date?.age }}",
                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                    +export class DisplayAgeComponent
                                                                                                                                                                                                                                                                                                                                                                    +  extends ViewDirective<any, string>
                                                                                                                                                                                                                                                                                                                                                                    +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                    +  date: DateWithAge;
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                    +    this.date = this.entity[this.config];
                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayCheckmarkComponent.html b/documentation/components/DisplayCheckmarkComponent.html new file mode 100644 index 0000000000..98857811cb --- /dev/null +++ b/documentation/components/DisplayCheckmarkComponent.html @@ -0,0 +1,574 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/basic-datatypes/boolean/display-checkmark/display-checkmark.component.ts +

                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      This component allows to display a boolean attribute of an entity. +It will display a checkmark when the attribute is true.

                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + config +
                                                                                                                                                                                                                                                                                                                                                                      + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + id +
                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + value +
                                                                                                                                                                                                                                                                                                                                                                      + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                      +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                      + * This component allows to display a boolean attribute of an entity.
                                                                                                                                                                                                                                                                                                                                                                      + * It will display a checkmark when the attribute is true.
                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("DisplayCheckmark")
                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-display-tick",
                                                                                                                                                                                                                                                                                                                                                                      +  template: `{{ value ? "✓" : "" }}`,
                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                      +export class DisplayCheckmarkComponent extends ViewDirective<boolean> {}
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayConfigurableEnumComponent.html b/documentation/components/DisplayConfigurableEnumComponent.html new file mode 100644 index 0000000000..1fb744b487 --- /dev/null +++ b/documentation/components/DisplayConfigurableEnumComponent.html @@ -0,0 +1,680 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/basic-datatypes/configurable-enum/display-configurable-enum/display-configurable-enum.component.ts +

                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        This component displays a ConfigurableEnumValue as text. +If the value has a color property, it is used as the background color.

                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + config +
                                                                                                                                                                                                                                                                                                                                                                        + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + id +
                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + value +
                                                                                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + + iterableValue + + +
                                                                                                                                                                                                                                                                                                                                                                        + Type : ConfigurableEnumValue[] + +
                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                        +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                        +import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                        +import { NgClass, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                        + * This component displays a {@link ConfigurableEnumValue} as text.
                                                                                                                                                                                                                                                                                                                                                                        + * If the value has a `color` property, it is used as the background color.
                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                        +@DynamicComponent("DisplayConfigurableEnum")
                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-display-configurable-enum",
                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./display-configurable-enum.component.html",
                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./display-configurable-enum.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                        +  imports: [NgForOf, NgIf, NgClass],
                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                        +export class DisplayConfigurableEnumComponent
                                                                                                                                                                                                                                                                                                                                                                        +  extends ViewDirective<ConfigurableEnumValue | ConfigurableEnumValue[]>
                                                                                                                                                                                                                                                                                                                                                                        +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                                                                                                        +  iterableValue: ConfigurableEnumValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                        +    this.initValue();
                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +  private initValue() {
                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.value) {
                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +    if (Array.isArray(this.value)) {
                                                                                                                                                                                                                                                                                                                                                                        +      this.iterableValue = this.value;
                                                                                                                                                                                                                                                                                                                                                                        +    } else if (this.value) {
                                                                                                                                                                                                                                                                                                                                                                        +      this.iterableValue = [this.value];
                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        <ng-container *ngFor="let val of iterableValue; let i = index">
                                                                                                                                                                                                                                                                                                                                                                        +  <span
                                                                                                                                                                                                                                                                                                                                                                        +    [style.background-color]="val.color"
                                                                                                                                                                                                                                                                                                                                                                        +    [ngClass]="{ colored: val.color }"
                                                                                                                                                                                                                                                                                                                                                                        +    >{{ val.label }}</span
                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                        +  <ng-container *ngIf="i !== iterableValue.length - 1">,&nbsp;</ng-container>
                                                                                                                                                                                                                                                                                                                                                                        +</ng-container>
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        + ./display-configurable-enum.component.scss +

                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        .colored {
                                                                                                                                                                                                                                                                                                                                                                        +  padding: 5px;
                                                                                                                                                                                                                                                                                                                                                                        +  border-radius: 4px;
                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayDateComponent.html b/documentation/components/DisplayDateComponent.html new file mode 100644 index 0000000000..290125987e --- /dev/null +++ b/documentation/components/DisplayDateComponent.html @@ -0,0 +1,646 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/basic-datatypes/date/display-date/display-date.component.ts +

                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          This component displays a date attribute using the shortDate format.

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Format of the date can be adjusted through config. +E.g. `"config": "yyyy-MM-dd

                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + config +
                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:25 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          formatting string for date pipe

                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + displayAsAnonymized +
                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                                                                                                                                                          + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + id +
                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + value +
                                                                                                                                                                                                                                                                                                                                                                          + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                          +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                          +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                          + * This component displays a date attribute using the shortDate format.
                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                          + * Format of the date can be adjusted through config.
                                                                                                                                                                                                                                                                                                                                                                          + * E.g. `"config": "yyyy-MM-dd
                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("DisplayDate")
                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-display-date",
                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./display-date.component.html",
                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                          +  imports: [DatePipe, NgIf, FontAwesomeModule, MatTooltipModule],
                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                          +export class DisplayDateComponent extends ViewDirective<Date, string> {
                                                                                                                                                                                                                                                                                                                                                                          +  @Input() displayAsAnonymized: boolean;
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +  /** formatting string for date pipe */
                                                                                                                                                                                                                                                                                                                                                                          +  @Input() config: string;
                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          <ng-container
                                                                                                                                                                                                                                                                                                                                                                          +  *ngIf="!(displayAsAnonymized || isPartiallyAnonymized); else anonymized"
                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                          +  {{ value | date: config }}
                                                                                                                                                                                                                                                                                                                                                                          +</ng-container>
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +<ng-template #anonymized>
                                                                                                                                                                                                                                                                                                                                                                          +  {{ value | date: "YYYY" }}
                                                                                                                                                                                                                                                                                                                                                                          +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                          +    icon="warning"
                                                                                                                                                                                                                                                                                                                                                                          +    matTooltip="This data has been partially anonymized."
                                                                                                                                                                                                                                                                                                                                                                          +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                          +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                          +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayDynamicPercentageComponent.html b/documentation/components/DisplayDynamicPercentageComponent.html new file mode 100644 index 0000000000..74d0acd252 --- /dev/null +++ b/documentation/components/DisplayDynamicPercentageComponent.html @@ -0,0 +1,661 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/basic-datatypes/number/display-dynamic-percentage/display-dynamic-percentage.component.ts +

                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Dynamically calculate the ratio between two properties of the entity, +as configured.

                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + config +
                                                                                                                                                                                                                                                                                                                                                                            + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + id +
                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + value +
                                                                                                                                                                                                                                                                                                                                                                            + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + + calculateValue + + +
                                                                                                                                                                                                                                                                                                                                                                            +calculateValue() +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            dynamically calculate the ratio of the actual / total values. +This is defined as a function to re-calculate on every change detection cycle as the value remains outdated otherwise.

                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            + Returns : number + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                            +import { ViewDirective } from "app/core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "app/core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                            +import { DisplayPercentageComponent } from "../display-percentage/display-percentage.component";
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                            + * Dynamically calculate the ratio between two properties of the entity,
                                                                                                                                                                                                                                                                                                                                                                            + * as configured.
                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("DisplayDynamicPercentage")
                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-display-dynamic-percentage",
                                                                                                                                                                                                                                                                                                                                                                            +  template:
                                                                                                                                                                                                                                                                                                                                                                            +    "<app-display-percentage [value]=calculateValue() [config]=config></app-display-percentage>",
                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                            +  imports: [DisplayPercentageComponent],
                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                            +export class DisplayDynamicPercentageComponent extends ViewDirective<
                                                                                                                                                                                                                                                                                                                                                                            +  number,
                                                                                                                                                                                                                                                                                                                                                                            +  { total: string; actual: string; decimalPlaces?: number }
                                                                                                                                                                                                                                                                                                                                                                            +> {
                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                            +   * dynamically calculate the ratio of the actual / total values.
                                                                                                                                                                                                                                                                                                                                                                            +   * This is defined as a function to re-calculate on every change detection cycle as the value remains outdated otherwise.
                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                            +  calculateValue() {
                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                            +      Number.isFinite(this.entity[this.config.actual]) &&
                                                                                                                                                                                                                                                                                                                                                                            +      Number.isFinite(this.entity[this.config.total]) &&
                                                                                                                                                                                                                                                                                                                                                                            +      this.entity[this.config.total] != 0
                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                            +      return (
                                                                                                                                                                                                                                                                                                                                                                            +        (this.entity[this.config.actual] / this.entity[this.config.total]) * 100
                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayEntityComponent.html b/documentation/components/DisplayEntityComponent.html new file mode 100644 index 0000000000..de5a61d88b --- /dev/null +++ b/documentation/components/DisplayEntityComponent.html @@ -0,0 +1,692 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/entity/display-entity/display-entity.component.ts +

                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              + OnInit +

                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + config +
                                                                                                                                                                                                                                                                                                                                                                              + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + id +
                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + value +
                                                                                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + + Readonly + aggregationThreshold + + +
                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                              + Default value : 5 +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + + entityIds + + +
                                                                                                                                                                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                              +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                              +import { EntityBlockComponent } from "../entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                              +import { asArray } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("DisplayEntity")
                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-display-entity",
                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./display-entity.component.html",
                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./display-entity.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                              +  imports: [EntityBlockComponent],
                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                              +export class DisplayEntityComponent
                                                                                                                                                                                                                                                                                                                                                                              +  extends ViewDirective<string[] | string, string>
                                                                                                                                                                                                                                                                                                                                                                              +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                              +{
                                                                                                                                                                                                                                                                                                                                                                              +  readonly aggregationThreshold = 5;
                                                                                                                                                                                                                                                                                                                                                                              +  entityIds: string[];
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                              +    this.entityIds = this.value ? asArray(this.value) : [];
                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              @if (entityIds?.length < aggregationThreshold) {
                                                                                                                                                                                                                                                                                                                                                                              +  <!-- Display each entity -->
                                                                                                                                                                                                                                                                                                                                                                              +  @for (e of entityIds; track e) {
                                                                                                                                                                                                                                                                                                                                                                              +    <app-entity-block class="display-entity" [entityId]="e"></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                              +} @else {
                                                                                                                                                                                                                                                                                                                                                                              +  <!-- Only display summary -->
                                                                                                                                                                                                                                                                                                                                                                              +  <span i18n="Displaying the amount of involved entities|context 10 in total">
                                                                                                                                                                                                                                                                                                                                                                              +    {{ value?.length }} in total
                                                                                                                                                                                                                                                                                                                                                                              +  </span>
                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              + ./display-entity.component.scss +

                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +.display-entity {
                                                                                                                                                                                                                                                                                                                                                                              +  display: inline-block;
                                                                                                                                                                                                                                                                                                                                                                              +  margin-right: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                              +  vertical-align: middle;
                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayImgComponent.html b/documentation/components/DisplayImgComponent.html new file mode 100644 index 0000000000..8910eb3e3b --- /dev/null +++ b/documentation/components/DisplayImgComponent.html @@ -0,0 +1,607 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/file/display-img/display-img.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                +constructor(fileService: FileService) +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + + defaultIcon +
                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + + defaultImage +
                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + + imgProperty +
                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                + + + imgSrc + + +
                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                +import { FileService } from "../file.service";
                                                                                                                                                                                                                                                                                                                                                                                +import { FaDynamicIconComponent } from "../../../core/common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-display-img",
                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./display-img.component.html",
                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./display-img.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                +  imports: [FaDynamicIconComponent, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                +export class DisplayImgComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                +  @Input() defaultImage: string;
                                                                                                                                                                                                                                                                                                                                                                                +  @Input() defaultIcon: string;
                                                                                                                                                                                                                                                                                                                                                                                +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                +  @Input() imgProperty: string;
                                                                                                                                                                                                                                                                                                                                                                                +  imgSrc: string;
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +  constructor(private fileService: FileService) {}
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +  ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                                                                                                                                                +      changes.hasOwnProperty("entity") ||
                                                                                                                                                                                                                                                                                                                                                                                +      changes.hasOwnProperty("property")
                                                                                                                                                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                                                                                                                                                +      delete this.imgSrc;
                                                                                                                                                                                                                                                                                                                                                                                +      if (this.entity[this.imgProperty]) {
                                                                                                                                                                                                                                                                                                                                                                                +        this.fileService
                                                                                                                                                                                                                                                                                                                                                                                +          .loadFile(this.entity, this.imgProperty)
                                                                                                                                                                                                                                                                                                                                                                                +          .subscribe((res) => {
                                                                                                                                                                                                                                                                                                                                                                                +            // doesn't work with safeUrl
                                                                                                                                                                                                                                                                                                                                                                                +            this.imgSrc = Object.values(res)[0];
                                                                                                                                                                                                                                                                                                                                                                                +          });
                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                <img *ngIf="imgSrc" [src]="imgSrc" />
                                                                                                                                                                                                                                                                                                                                                                                +<img *ngIf="!imgSrc && defaultImage" [src]="defaultImage" />
                                                                                                                                                                                                                                                                                                                                                                                +<app-fa-dynamic-icon
                                                                                                                                                                                                                                                                                                                                                                                +  *ngIf="!imgSrc && !defaultImage && defaultIcon"
                                                                                                                                                                                                                                                                                                                                                                                +  [icon]="defaultIcon"
                                                                                                                                                                                                                                                                                                                                                                                +></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                + ./display-img.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                /* Inherit the styles from the surrounding component. Otherwise the img is overflowing.
                                                                                                                                                                                                                                                                                                                                                                                +Remove padding and margin so they are not applied a second time. */
                                                                                                                                                                                                                                                                                                                                                                                +img {
                                                                                                                                                                                                                                                                                                                                                                                +  all: inherit;
                                                                                                                                                                                                                                                                                                                                                                                +  padding: 0;
                                                                                                                                                                                                                                                                                                                                                                                +  margin: 0;
                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayMonthComponent.html b/documentation/components/DisplayMonthComponent.html new file mode 100644 index 0000000000..515b94dd32 --- /dev/null +++ b/documentation/components/DisplayMonthComponent.html @@ -0,0 +1,578 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/month/display-month/display-month.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + config +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + id +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + value +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                  +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                  +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                  +import { DisplayDateComponent } from "../../date/display-date/display-date.component";
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-display-month",
                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                  +  template: `<app-display-date
                                                                                                                                                                                                                                                                                                                                                                                  +    [value]="value"
                                                                                                                                                                                                                                                                                                                                                                                  +    [config]="'YYYY-MM'"
                                                                                                                                                                                                                                                                                                                                                                                  +    [displayAsAnonymized]="isPartiallyAnonymized"
                                                                                                                                                                                                                                                                                                                                                                                  +  ></app-display-date>`,
                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [DatePipe, NgIf, DisplayDateComponent],
                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                  +export class DisplayMonthComponent extends ViewDirective<Date> {}
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayParticipantsCountComponent.html b/documentation/components/DisplayParticipantsCountComponent.html new file mode 100644 index 0000000000..bd4fc8617a --- /dev/null +++ b/documentation/components/DisplayParticipantsCountComponent.html @@ -0,0 +1,696 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    + src/app/child-dev-project/schools/display-participants-count/display-participants-count.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    +constructor(_childrenService: ChildrenService) +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                    _childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + config +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + id +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + value +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + + participantRelationsCount + + +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : WritableSignal<number> + +
                                                                                                                                                                                                                                                                                                                                                                                    + Default value : signal(null) +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    import { Component, OnChanges, signal, WritableSignal } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                    +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                    +import { ChildrenService } from "../../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                    +import { ViewDirective } from "../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                    +import { ChildSchoolRelation } from "../../children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                    +import { Logging } from "../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("DisplayParticipantsCount")
                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-display-participants-count",
                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [CommonModule],
                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./display-participants-count.component.html",
                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                    +export class DisplayParticipantsCountComponent
                                                                                                                                                                                                                                                                                                                                                                                    +  extends ViewDirective<any>
                                                                                                                                                                                                                                                                                                                                                                                    +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                                    +  participantRelationsCount: WritableSignal<number> = signal(null);
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(private _childrenService: ChildrenService) {
                                                                                                                                                                                                                                                                                                                                                                                    +    super();
                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +  override async ngOnChanges(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                    +    super.ngOnChanges();
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +    return this._childrenService
                                                                                                                                                                                                                                                                                                                                                                                    +      .queryActiveRelationsOf(this.entity.getId())
                                                                                                                                                                                                                                                                                                                                                                                    +      .then((relations: ChildSchoolRelation[]) => {
                                                                                                                                                                                                                                                                                                                                                                                    +        this.participantRelationsCount.set(relations.length);
                                                                                                                                                                                                                                                                                                                                                                                    +      })
                                                                                                                                                                                                                                                                                                                                                                                    +      .catch((reason) => {
                                                                                                                                                                                                                                                                                                                                                                                    +        Logging.error(
                                                                                                                                                                                                                                                                                                                                                                                    +          "Could not calculate participantRelationsCount, error response from ChildrenService." +
                                                                                                                                                                                                                                                                                                                                                                                    +            reason,
                                                                                                                                                                                                                                                                                                                                                                                    +        );
                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    <p>
                                                                                                                                                                                                                                                                                                                                                                                    +  {{ participantRelationsCount() }}
                                                                                                                                                                                                                                                                                                                                                                                    +</p>
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayPercentageComponent.html b/documentation/components/DisplayPercentageComponent.html new file mode 100644 index 0000000000..5c5d6ddb64 --- /dev/null +++ b/documentation/components/DisplayPercentageComponent.html @@ -0,0 +1,735 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/basic-datatypes/number/display-percentage/display-percentage.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      HostBindings
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + config +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + id +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + value +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      HostBindings

                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + style + + +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : {} + +
                                                                                                                                                                                                                                                                                                                                                                                      + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + numberFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + style + + +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : object + +
                                                                                                                                                                                                                                                                                                                                                                                      + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                      + + @HostBinding('style')
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      import { Component, HostBinding, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                      +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                      +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("DisplayPercentage")
                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-display-percentage",
                                                                                                                                                                                                                                                                                                                                                                                      +  template:
                                                                                                                                                                                                                                                                                                                                                                                      +    "{{ value !== undefined ? (value | number : numberFormat) + '%' : '-' }}",
                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [CommonModule],
                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                      +export class DisplayPercentageComponent
                                                                                                                                                                                                                                                                                                                                                                                      +  extends ViewDirective<number, { decimalPlaces?: number }>
                                                                                                                                                                                                                                                                                                                                                                                      +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                      +  @HostBinding("style") style = {};
                                                                                                                                                                                                                                                                                                                                                                                      +  numberFormat: string;
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                      +   * returns a css-compatible color value from green to red using the given
                                                                                                                                                                                                                                                                                                                                                                                      +   * input value
                                                                                                                                                                                                                                                                                                                                                                                      +   * @param percent The percentage from 0-100 (both inclusive). 0 will be completely red, 100 will be completely green
                                                                                                                                                                                                                                                                                                                                                                                      +   * Everything between will have suitable colors (orange, yellow,...)
                                                                                                                                                                                                                                                                                                                                                                                      +   * If the color is NaN, the color will be a light grey
                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                      +  private static fromPercent(percent: number): string {
                                                                                                                                                                                                                                                                                                                                                                                      +    if (Number.isNaN(percent)) {
                                                                                                                                                                                                                                                                                                                                                                                      +      return "rgba(130,130,130,0.4)";
                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                      +    // the hsv color-value is to be between 0 (red) and 120 (green)
                                                                                                                                                                                                                                                                                                                                                                                      +    // percent is between 0-100, so we have to normalize it first
                                                                                                                                                                                                                                                                                                                                                                                      +    const color = (percent / 100) * 120;
                                                                                                                                                                                                                                                                                                                                                                                      +    return "hsl(" + color + ", 100%, 85%)";
                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                      +    this.numberFormat =
                                                                                                                                                                                                                                                                                                                                                                                      +      "1." +
                                                                                                                                                                                                                                                                                                                                                                                      +      (this.config && this.config.decimalPlaces
                                                                                                                                                                                                                                                                                                                                                                                      +        ? this.config.decimalPlaces + "-" + this.config.decimalPlaces
                                                                                                                                                                                                                                                                                                                                                                                      +        : "0-0");
                                                                                                                                                                                                                                                                                                                                                                                      +    this.style = {
                                                                                                                                                                                                                                                                                                                                                                                      +      "background-color": DisplayPercentageComponent.fromPercent(this.value),
                                                                                                                                                                                                                                                                                                                                                                                      +      "border-radius": "5%",
                                                                                                                                                                                                                                                                                                                                                                                      +      padding: "5px",
                                                                                                                                                                                                                                                                                                                                                                                      +      width: "min-content",
                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayRecurringIntervalComponent.html b/documentation/components/DisplayRecurringIntervalComponent.html new file mode 100644 index 0000000000..58e3d27e77 --- /dev/null +++ b/documentation/components/DisplayRecurringIntervalComponent.html @@ -0,0 +1,609 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/todos/recurring-interval/display-recurring-interval/display-recurring-interval.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + config +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + id +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + value +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                        +import { ViewDirective } from "../../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                        +import { generateLabelFromInterval, TimeInterval } from "../time-interval";
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +@DynamicComponent("DisplayRecurringInterval")
                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-display-recurring-interval",
                                                                                                                                                                                                                                                                                                                                                                                        +  template: "{{ label }}",
                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                        +export class DisplayRecurringIntervalComponent
                                                                                                                                                                                                                                                                                                                                                                                        +  extends ViewDirective<TimeInterval>
                                                                                                                                                                                                                                                                                                                                                                                        +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.value) {
                                                                                                                                                                                                                                                                                                                                                                                        +      this.label = generateLabelFromInterval(this.value);
                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayTextComponent.html b/documentation/components/DisplayTextComponent.html new file mode 100644 index 0000000000..7a351619f9 --- /dev/null +++ b/documentation/components/DisplayTextComponent.html @@ -0,0 +1,572 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/basic-datatypes/string/display-text/display-text.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          This component displays a text attribute.

                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + config +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + id +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + value +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                          + * This component displays a text attribute.
                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("DisplayText")
                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-display-text",
                                                                                                                                                                                                                                                                                                                                                                                          +  template: `{{ value }}`,
                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                          +export class DisplayTextComponent extends ViewDirective<string> {}
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayTodoCompletionComponent.html b/documentation/components/DisplayTodoCompletionComponent.html new file mode 100644 index 0000000000..9c5ba3ee45 --- /dev/null +++ b/documentation/components/DisplayTodoCompletionComponent.html @@ -0,0 +1,720 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/todos/todo-completion/display-todo-completion/display-todo-completion.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            +constructor(entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + config +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + id +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + value +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + + completedBy + + +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                            +import { TodoCompletion } from "../../model/todo-completion";
                                                                                                                                                                                                                                                                                                                                                                                            +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                            +import { ViewDirective } from "../../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("DisplayTodoCompletion")
                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-display-todo-completion",
                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./display-todo-completion.component.html",
                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./display-todo-completion.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [NgIf, FontAwesomeModule, DatePipe],
                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                            +export class DisplayTodoCompletionComponent
                                                                                                                                                                                                                                                                                                                                                                                            +  extends ViewDirective<TodoCompletion>
                                                                                                                                                                                                                                                                                                                                                                                            +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                                                                            +  completedBy: Entity;
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.value?.completedBy) {
                                                                                                                                                                                                                                                                                                                                                                                            +      const entityId = this.value.completedBy;
                                                                                                                                                                                                                                                                                                                                                                                            +      const entityType = Entity.extractTypeFromId(entityId);
                                                                                                                                                                                                                                                                                                                                                                                            +      this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                            +        .load(entityType, entityId)
                                                                                                                                                                                                                                                                                                                                                                                            +        .then((res) => (this.completedBy = res));
                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            <div *ngIf="value" class="completed-wrapper">
                                                                                                                                                                                                                                                                                                                                                                                            +  <div>
                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon icon="check" class="margin-right-small"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                            +    <span i18n>completed</span>
                                                                                                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                                                                                                            +  <div class="completed-details" i18n>
                                                                                                                                                                                                                                                                                                                                                                                            +    by {{ completedBy?.toString() }} on {{ value.completedAt | date }}
                                                                                                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            + ./display-todo-completion.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +.completed-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                            +  color: colors.$success;
                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +.completed-details {
                                                                                                                                                                                                                                                                                                                                                                                            +  color: colors.$text-secondary;
                                                                                                                                                                                                                                                                                                                                                                                            +  font-size: 0.8em;
                                                                                                                                                                                                                                                                                                                                                                                            +  margin-top: -0.25em;
                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/DisplayUnitComponent.html b/documentation/components/DisplayUnitComponent.html new file mode 100644 index 0000000000..40eef0b09c --- /dev/null +++ b/documentation/components/DisplayUnitComponent.html @@ -0,0 +1,562 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/number/display-unit/display-unit.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + config +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + id +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + value +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewDirective } from "../../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("DisplayUnit")
                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-display-unit",
                                                                                                                                                                                                                                                                                                                                                                                              +  template: '{{ value !== undefined ? value + " " + config : "" }}',
                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                              +export class DisplayUnitComponent extends ViewDirective<string, string> {}
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditAgeComponent.html b/documentation/components/EditAgeComponent.html new file mode 100644 index 0000000000..9f3d72c468 --- /dev/null +++ b/documentation/components/EditAgeComponent.html @@ -0,0 +1,863 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/date-with-age/edit-age/edit-age.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                + + + +

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + dateChanged + + +
                                                                                                                                                                                                                                                                                                                                                                                                +dateChanged(event: MatDatepickerInputEvent) +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                event + MatDatepickerInputEvent<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                +  MatDatepickerInputEvent,
                                                                                                                                                                                                                                                                                                                                                                                                +  MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                +import { DateWithAge } from "../dateWithAge";
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("EditAge")
                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-edit-age",
                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./edit-age.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                +export class EditAgeComponent extends EditComponent<DateWithAge> {
                                                                                                                                                                                                                                                                                                                                                                                                +  dateChanged(event: MatDatepickerInputEvent<any>) {
                                                                                                                                                                                                                                                                                                                                                                                                +    if (event.value) {
                                                                                                                                                                                                                                                                                                                                                                                                +      this.formControl.setValue(new DateWithAge(event.value));
                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                <div [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-form-field
                                                                                                                                                                                                                                                                                                                                                                                                +    style="width: 70%"
                                                                                                                                                                                                                                                                                                                                                                                                +    *ngIf="
                                                                                                                                                                                                                                                                                                                                                                                                +      !(entity.anonymized && formFieldConfig.anonymize === 'retain-anonymized')
                                                                                                                                                                                                                                                                                                                                                                                                +    "
                                                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                +    <input
                                                                                                                                                                                                                                                                                                                                                                                                +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                +      [formControlName]="formControlName"
                                                                                                                                                                                                                                                                                                                                                                                                +      [matDatepicker]="dateOfBirthDatepicker"
                                                                                                                                                                                                                                                                                                                                                                                                +      (dateChange)="dateChanged($event)"
                                                                                                                                                                                                                                                                                                                                                                                                +    />
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                                                                +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                +      [for]="dateOfBirthDatepicker"
                                                                                                                                                                                                                                                                                                                                                                                                +    ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-datepicker #dateOfBirthDatepicker></mat-datepicker>
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                +      <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                +    </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-form-field style="width: 30%">
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-label i18n="Placeholder for the input that displays the age"
                                                                                                                                                                                                                                                                                                                                                                                                +      >Age</mat-label
                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                +      *ngIf="formControl.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                +      icon="question-circle"
                                                                                                                                                                                                                                                                                                                                                                                                +      i18n-matTooltip="Tooltip for the disabled age field"
                                                                                                                                                                                                                                                                                                                                                                                                +      matTooltip="This field is read-only. Edit Date of Birth to change age. Select Jan 1st if you only know the year of birth."
                                                                                                                                                                                                                                                                                                                                                                                                +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                +    <input
                                                                                                                                                                                                                                                                                                                                                                                                +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                +      [value]="formControl.value?.age?.toString()"
                                                                                                                                                                                                                                                                                                                                                                                                +      [disabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                +    />
                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                +      <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                +    </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditAttendanceComponent.html b/documentation/components/EditAttendanceComponent.html new file mode 100644 index 0000000000..b6fa1ca9c5 --- /dev/null +++ b/documentation/components/EditAttendanceComponent.html @@ -0,0 +1,1318 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(screenWithObserver: ScreenWidthObserver) +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                  screenWithObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Note + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:47 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + getAttendance + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +getAttendance(childId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                  childId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + removeChild + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +removeChild(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                  id + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + updateAttendanceValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +updateAttendanceValue(childId, property: "status" | "remarks", newValue) +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                  childId + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  property + "status" | "remarks" + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  newValue + + No +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + attendanceForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormControl<Map<string, EventAttendance>> + +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + mobile + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + showAttendance + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { EditComponent } from "../../../core/entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { EditEntityComponent } from "../../../core/basic-datatypes/entity/edit-entity/edit-entity.component";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { FormControl } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { InteractionType } from "../../notes/model/interaction-type.interface";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityBlockComponent } from "../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { AttendanceStatusSelectComponent } from "../attendance-status-select/attendance-status-select.component";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { EventAttendance } from "../model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("EditAttendance")
                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-edit-attendance",
                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                  +    EditEntityComponent,
                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                  +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                  +    AttendanceStatusSelectComponent,
                                                                                                                                                                                                                                                                                                                                                                                                  +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                  +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                  +    MatCardModule,
                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./edit-attendance.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./edit-attendance.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                  +export class EditAttendanceComponent
                                                                                                                                                                                                                                                                                                                                                                                                  +  extends EditComponent<string[]>
                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                  +  showAttendance = false;
                                                                                                                                                                                                                                                                                                                                                                                                  +  mobile = false;
                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() entity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                  +  attendanceForm: FormControl<Map<string, EventAttendance>>;
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(screenWithObserver: ScreenWidthObserver) {
                                                                                                                                                                                                                                                                                                                                                                                                  +    super();
                                                                                                                                                                                                                                                                                                                                                                                                  +    screenWithObserver
                                                                                                                                                                                                                                                                                                                                                                                                  +      .platform()
                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe((isDesktop) => (this.mobile = !isDesktop));
                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                  +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                  +    const category = this.parent.get(
                                                                                                                                                                                                                                                                                                                                                                                                  +      "category",
                                                                                                                                                                                                                                                                                                                                                                                                  +    ) as FormControl<InteractionType>;
                                                                                                                                                                                                                                                                                                                                                                                                  +    if (category) {
                                                                                                                                                                                                                                                                                                                                                                                                  +      category.valueChanges.pipe(startWith(category.value)).subscribe((val) => {
                                                                                                                                                                                                                                                                                                                                                                                                  +        this.showAttendance = !!val?.isMeeting;
                                                                                                                                                                                                                                                                                                                                                                                                  +        if (this.showAttendance) {
                                                                                                                                                                                                                                                                                                                                                                                                  +          this.attendanceForm = new FormControl(
                                                                                                                                                                                                                                                                                                                                                                                                  +            this.entity.copy()["childrenAttendance"],
                                                                                                                                                                                                                                                                                                                                                                                                  +          );
                                                                                                                                                                                                                                                                                                                                                                                                  +          this.parent.addControl("childrenAttendance", this.attendanceForm);
                                                                                                                                                                                                                                                                                                                                                                                                  +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                  +          this.parent.removeControl("childrenAttendance");
                                                                                                                                                                                                                                                                                                                                                                                                  +          this.attendanceForm = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                  +        }
                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  getAttendance(childId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                  +    let attendance = this.attendanceForm.value.get(childId);
                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!attendance) {
                                                                                                                                                                                                                                                                                                                                                                                                  +      attendance = new EventAttendance();
                                                                                                                                                                                                                                                                                                                                                                                                  +      this.attendanceForm.value.set(childId, attendance);
                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                  +    return attendance;
                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  removeChild(id: string) {
                                                                                                                                                                                                                                                                                                                                                                                                  +    const children = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                  +    const index = children.indexOf(id);
                                                                                                                                                                                                                                                                                                                                                                                                  +    children.splice(index, 1);
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.attendanceForm.value.delete(id);
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.formControl.setValue([...children]);
                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  updateAttendanceValue(childId, property: "status" | "remarks", newValue) {
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.getAttendance(childId)[property] = newValue;
                                                                                                                                                                                                                                                                                                                                                                                                  +    this.attendanceForm.setValue(this.attendanceForm.value);
                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  <app-edit-entity
                                                                                                                                                                                                                                                                                                                                                                                                  +  [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                  +  [formFieldConfig]="formFieldConfig"
                                                                                                                                                                                                                                                                                                                                                                                                  +  [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                  +  [showEntities]="!showAttendance"
                                                                                                                                                                                                                                                                                                                                                                                                  +/>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +<ng-container *ngIf="showAttendance">
                                                                                                                                                                                                                                                                                                                                                                                                  +  <!-- If feasible, this whole setup should be replaced with a more simple setup that
                                                                                                                                                                                                                                                                                                                                                                                                  +  automatically adapts to the screen size without having to rely on two different layout techniques for
                                                                                                                                                                                                                                                                                                                                                                                                  +  small and big screens.
                                                                                                                                                                                                                                                                                                                                                                                                  + -->
                                                                                                                                                                                                                                                                                                                                                                                                  +  <div *ngIf="!mobile">
                                                                                                                                                                                                                                                                                                                                                                                                  +    <!-- Desktop view: display the information as table -->
                                                                                                                                                                                                                                                                                                                                                                                                  +    <table class="table">
                                                                                                                                                                                                                                                                                                                                                                                                  +      <tr *ngFor="let childId of formControl.value">
                                                                                                                                                                                                                                                                                                                                                                                                  +        <td>
                                                                                                                                                                                                                                                                                                                                                                                                  +          <button
                                                                                                                                                                                                                                                                                                                                                                                                  +            mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                  +            *ngIf="!formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +            (click)="removeChild(childId)"
                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                  +            <fa-icon icon="trash"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                  +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                  +        <td>
                                                                                                                                                                                                                                                                                                                                                                                                  +          <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                  +            [entityId]="childId"
                                                                                                                                                                                                                                                                                                                                                                                                  +            entityType="Child"
                                                                                                                                                                                                                                                                                                                                                                                                  +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                  +        <td>
                                                                                                                                                                                                                                                                                                                                                                                                  +          <app-attendance-status-select
                                                                                                                                                                                                                                                                                                                                                                                                  +            [value]="getAttendance(childId).status"
                                                                                                                                                                                                                                                                                                                                                                                                  +            (valueChange)="updateAttendanceValue(childId, 'status', $event)"
                                                                                                                                                                                                                                                                                                                                                                                                  +            [disabled]="formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                  +          </app-attendance-status-select>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                  +        <td class="full-width">
                                                                                                                                                                                                                                                                                                                                                                                                  +          <mat-form-field class="adjust-top">
                                                                                                                                                                                                                                                                                                                                                                                                  +            <input
                                                                                                                                                                                                                                                                                                                                                                                                  +              #inputElement
                                                                                                                                                                                                                                                                                                                                                                                                  +              matInput
                                                                                                                                                                                                                                                                                                                                                                                                  +              i18n-placeholder
                                                                                                                                                                                                                                                                                                                                                                                                  +              placeholder="Remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              name="remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              type="text"
                                                                                                                                                                                                                                                                                                                                                                                                  +              [value]="getAttendance(childId).remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              (input)="
                                                                                                                                                                                                                                                                                                                                                                                                  +                updateAttendanceValue(childId, 'remarks', inputElement.value)
                                                                                                                                                                                                                                                                                                                                                                                                  +              "
                                                                                                                                                                                                                                                                                                                                                                                                  +              [disabled]="formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +            />
                                                                                                                                                                                                                                                                                                                                                                                                  +          </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                  +      </tr>
                                                                                                                                                                                                                                                                                                                                                                                                  +    </table>
                                                                                                                                                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +  <div *ngIf="mobile" class="attendance-blocks">
                                                                                                                                                                                                                                                                                                                                                                                                  +    <!-- Mobile view / smaller screen: display the information using a flex-layout -->
                                                                                                                                                                                                                                                                                                                                                                                                  +    <mat-card
                                                                                                                                                                                                                                                                                                                                                                                                  +      *ngFor="let childId of formControl.value"
                                                                                                                                                                                                                                                                                                                                                                                                  +      class="attendance-item mat-elevation-z1 margin-bottom-small"
                                                                                                                                                                                                                                                                                                                                                                                                  +    >
                                                                                                                                                                                                                                                                                                                                                                                                  +      <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                  +        <div class="attendance-item--header margin-bottom-regular">
                                                                                                                                                                                                                                                                                                                                                                                                  +          <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                  +            [entityId]="childId"
                                                                                                                                                                                                                                                                                                                                                                                                  +            entityType="Child"
                                                                                                                                                                                                                                                                                                                                                                                                  +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +          <button
                                                                                                                                                                                                                                                                                                                                                                                                  +            mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                  +            *ngIf="!formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +            (click)="removeChild(childId)"
                                                                                                                                                                                                                                                                                                                                                                                                  +            class="mobile-remove-item"
                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                  +            <fa-icon icon="trash"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                  +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +        <div class="attendance-item--content">
                                                                                                                                                                                                                                                                                                                                                                                                  +          <app-attendance-status-select
                                                                                                                                                                                                                                                                                                                                                                                                  +            [value]="getAttendance(childId).status"
                                                                                                                                                                                                                                                                                                                                                                                                  +            (valueChange)="updateAttendanceValue(childId, 'status', $event)"
                                                                                                                                                                                                                                                                                                                                                                                                  +            [disabled]="formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                  +          </app-attendance-status-select>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +          <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                  +            <input
                                                                                                                                                                                                                                                                                                                                                                                                  +              #inputElement
                                                                                                                                                                                                                                                                                                                                                                                                  +              matInput
                                                                                                                                                                                                                                                                                                                                                                                                  +              i18n-placeholder
                                                                                                                                                                                                                                                                                                                                                                                                  +              placeholder="Remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              name="remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              type="text"
                                                                                                                                                                                                                                                                                                                                                                                                  +              [value]="getAttendance(childId).remarks"
                                                                                                                                                                                                                                                                                                                                                                                                  +              (input)="
                                                                                                                                                                                                                                                                                                                                                                                                  +                updateAttendanceValue(childId, 'remarks', inputElement.value)
                                                                                                                                                                                                                                                                                                                                                                                                  +              "
                                                                                                                                                                                                                                                                                                                                                                                                  +              [disabled]="formControl.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                  +            />
                                                                                                                                                                                                                                                                                                                                                                                                  +          </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                  +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                  +      </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                  +    </mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                  +</ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  + ./edit-attendance.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  /* make layout of attendee items more dense and align its fields by hiding unused subscript space */
                                                                                                                                                                                                                                                                                                                                                                                                  +:host ::ng-deep .table .mat-mdc-form-field-subscript-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                  +  display: none;
                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +.table {
                                                                                                                                                                                                                                                                                                                                                                                                  +  /* add gap of same size as the hidden subscript wrappers */
                                                                                                                                                                                                                                                                                                                                                                                                  +  margin-bottom: 22px;
                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +.mobile-remove-item {
                                                                                                                                                                                                                                                                                                                                                                                                  +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                  +  top: 0;
                                                                                                                                                                                                                                                                                                                                                                                                  +  right: 0;
                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditBooleanComponent.html b/documentation/components/EditBooleanComponent.html new file mode 100644 index 0000000000..f9eb4f1967 --- /dev/null +++ b/documentation/components/EditBooleanComponent.html @@ -0,0 +1,743 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/boolean/edit-boolean/edit-boolean.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, ViewEncapsulation } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { BooleanInputComponent } from "./boolean-input/boolean-input.component";
                                                                                                                                                                                                                                                                                                                                                                                                    +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("EditBoolean")
                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-edit-boolean",
                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./edit-boolean.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./edit-boolean.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                    +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                    +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                    +    BooleanInputComponent,
                                                                                                                                                                                                                                                                                                                                                                                                    +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                    +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                    +export class EditBooleanComponent extends EditComponent<boolean> {}
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                    +  <app-boolean-input
                                                                                                                                                                                                                                                                                                                                                                                                    +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                    +    [placeholder]="label"
                                                                                                                                                                                                                                                                                                                                                                                                    +  ></app-boolean-input>
                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                    +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                    +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    + ./edit-boolean.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    app-edit-boolean .mat-mdc-form-field-infix {
                                                                                                                                                                                                                                                                                                                                                                                                    +  padding-top: 12px !important;
                                                                                                                                                                                                                                                                                                                                                                                                    +  padding-bottom: 0 !important;
                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditConfigurableEnumComponent.html b/documentation/components/EditConfigurableEnumComponent.html new file mode 100644 index 0000000000..0ad18f4228 --- /dev/null +++ b/documentation/components/EditConfigurableEnumComponent.html @@ -0,0 +1,799 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/basic-datatypes/configurable-enum/edit-configurable-enum/edit-configurable-enum.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + enumId + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + multi + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnumDirective } from "../configurable-enum-directive/configurable-enum.directive";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                      +import { EnumDropdownComponent } from "../enum-dropdown/enum-dropdown.component";
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("EditConfigurableEnum")
                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-edit-configurable-enum",
                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./edit-configurable-enum.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                      +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                      +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                      +    ConfigurableEnumDirective,
                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                      +    EnumDropdownComponent,
                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                      +export class EditConfigurableEnumComponent
                                                                                                                                                                                                                                                                                                                                                                                                      +  extends EditComponent<ConfigurableEnumValue>
                                                                                                                                                                                                                                                                                                                                                                                                      +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                                      +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                      +  multi = false;
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                      +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                      +    this.multi = this.formFieldConfig.isArray;
                                                                                                                                                                                                                                                                                                                                                                                                      +    this.enumId = this.formFieldConfig.additional;
                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      <app-enum-dropdown
                                                                                                                                                                                                                                                                                                                                                                                                      +  [form]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                      +  [label]="label"
                                                                                                                                                                                                                                                                                                                                                                                                      +  [enumId]="enumId"
                                                                                                                                                                                                                                                                                                                                                                                                      +  [multi]="multi"
                                                                                                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                                                                                                      +</app-enum-dropdown>
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditDateComponent.html b/documentation/components/EditDateComponent.html new file mode 100644 index 0000000000..88370f6f6e --- /dev/null +++ b/documentation/components/EditDateComponent.html @@ -0,0 +1,747 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/basic-datatypes/date/edit-date/edit-date.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatDatepickerModule } from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +@DynamicComponent("EditDate")
                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-edit-date",
                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./edit-date.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                        +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                        +export class EditDateComponent extends EditComponent<Date> {}
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        <mat-form-field [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                        +  <input
                                                                                                                                                                                                                                                                                                                                                                                                        +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                        +    [formControlName]="formControlName"
                                                                                                                                                                                                                                                                                                                                                                                                        +    [matDatepicker]="datepickerComp"
                                                                                                                                                                                                                                                                                                                                                                                                        +  />
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngIf="isPartiallyAnonymized"
                                                                                                                                                                                                                                                                                                                                                                                                        +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                        +    icon="warning"
                                                                                                                                                                                                                                                                                                                                                                                                        +    matTooltip="This data has been partially anonymized."
                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                        +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                                                                        +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                        +    [for]="datepickerComp"
                                                                                                                                                                                                                                                                                                                                                                                                        +  ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-datepicker #datepickerComp></mat-datepicker>
                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                        +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                        +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditDescriptionOnlyComponent.html b/documentation/components/EditDescriptionOnlyComponent.html new file mode 100644 index 0000000000..2e3b0e8308 --- /dev/null +++ b/documentation/components/EditDescriptionOnlyComponent.html @@ -0,0 +1,388 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/common-components/description-only/edit-description-only/edit-description-only.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormFieldConfig } from "../../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("EditDescriptionOnly")
                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-edit-description-only",
                                                                                                                                                                                                                                                                                                                                                                                                          +  template: "<div class='container'>{{formFieldConfig?.label}}</div>",
                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./edit-description-only.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                          +export class EditDescriptionOnlyComponent {
                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() formFieldConfig: FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          + ./edit-description-only.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +.container {
                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditEntityComponent.html b/documentation/components/EditEntityComponent.html new file mode 100644 index 0000000000..815e0b89fa --- /dev/null +++ b/documentation/components/EditEntityComponent.html @@ -0,0 +1,862 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/basic-datatypes/entity/edit-entity/edit-entity.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            A form field to select among the entities of the given type(s). +Can be configured as single or multi select.

                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + entityName +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + showEntities +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + multi + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + placeholder + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                            +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySelectComponent } from "../../../common-components/entity-select/entity-select.component";
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                            + * A form field to select among the entities of the given type(s).
                                                                                                                                                                                                                                                                                                                                                                                                            + * Can be configured as single or multi select.
                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("EditEntity")
                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-edit-entity",
                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./edit-entity.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [EntitySelectComponent],
                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                            +export class EditEntityComponent<T extends string[] | string = string[]>
                                                                                                                                                                                                                                                                                                                                                                                                            +  extends EditComponent<T>
                                                                                                                                                                                                                                                                                                                                                                                                            +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() showEntities = true;
                                                                                                                                                                                                                                                                                                                                                                                                            +  placeholder: string;
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() entityName: string;
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +  multi: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                            +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityName = this.entityName ?? this.formFieldConfig.additional;
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +    this.multi = this.formFieldConfig.isArray;
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +    this.placeholder = $localize`:Placeholder for input to add entities|context Add User(s):Add ${this.label}`;
                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            <app-entity-select
                                                                                                                                                                                                                                                                                                                                                                                                            +  [entityType]="entityName"
                                                                                                                                                                                                                                                                                                                                                                                                            +  [label]="label"
                                                                                                                                                                                                                                                                                                                                                                                                            +  [placeholder]="placeholder"
                                                                                                                                                                                                                                                                                                                                                                                                            +  [showEntities]="showEntities"
                                                                                                                                                                                                                                                                                                                                                                                                            +  [multi]="multi"
                                                                                                                                                                                                                                                                                                                                                                                                            +  [form]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                            +</app-entity-select>
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditFileComponent.html b/documentation/components/EditFileComponent.html new file mode 100644 index 0000000000..f26151fc17 --- /dev/null +++ b/documentation/components/EditFileComponent.html @@ -0,0 +1,1493 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/file/edit-file/edit-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              This component should be used as a editComponent when a property should store files. +It allows to show, upload and remove files.

                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(fileService: FileService, alertService: AlertService, entityMapper: EntityMapperService, navigator: Navigator) +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                              fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              navigator + Navigator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + delete + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +delete() +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + deleteExistingFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + deleteExistingFile() +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + formClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +formClicked() +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + onFileSelected + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + onFileSelected(file: File) +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                              file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + resetFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + resetFile() +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + saveNewFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + saveNewFile(file: File) +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                              file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +showFile() +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + fileUploadInput + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ElementRef<HTMLInputElement> + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                              + + @ViewChild('fileUpload')
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + initialValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                              +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                              +  Inject,
                                                                                                                                                                                                                                                                                                                                                                                                              +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                              +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { EditComponent } from "../../../core/entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { AlertService } from "../../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { Logging } from "../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { FileService } from "../file.service";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { distinctUntilChanged, filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgClass, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { ErrorHintComponent } from "../../../core/common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { NotAvailableOfflineError } from "../../../core/session/not-available-offline.error";
                                                                                                                                                                                                                                                                                                                                                                                                              +import { NAVIGATOR_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                              + * This component should be used as a `editComponent` when a property should store files.
                                                                                                                                                                                                                                                                                                                                                                                                              + * It allows to show, upload and remove files.
                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("EditFile")
                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-edit-file",
                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./edit-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./edit-file.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                              +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    NgClass,
                                                                                                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                              +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                              +export class EditFileComponent extends EditComponent<string> implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                              +  @ViewChild("fileUpload") fileUploadInput: ElementRef<HTMLInputElement>;
                                                                                                                                                                                                                                                                                                                                                                                                              +  private selectedFile: File;
                                                                                                                                                                                                                                                                                                                                                                                                              +  private removeClicked = false;
                                                                                                                                                                                                                                                                                                                                                                                                              +  initialValue: string;
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                              +    protected fileService: FileService,
                                                                                                                                                                                                                                                                                                                                                                                                              +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                              +    @Inject(NAVIGATOR_TOKEN) protected navigator: Navigator,
                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.initialValue = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.statusChanges
                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                              +        distinctUntilChanged(),
                                                                                                                                                                                                                                                                                                                                                                                                              +        filter((change) => change === "DISABLED"),
                                                                                                                                                                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                              +        if (
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.selectedFile &&
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.selectedFile.name === this.formControl.value
                                                                                                                                                                                                                                                                                                                                                                                                              +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.saveNewFile(this.selectedFile);
                                                                                                                                                                                                                                                                                                                                                                                                              +        } else if (
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.removeClicked &&
                                                                                                                                                                                                                                                                                                                                                                                                              +          !this.formControl.value &&
                                                                                                                                                                                                                                                                                                                                                                                                              +          !!this.initialValue
                                                                                                                                                                                                                                                                                                                                                                                                              +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.deleteExistingFile();
                                                                                                                                                                                                                                                                                                                                                                                                              +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.resetFile();
                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  async onFileSelected(file: File) {
                                                                                                                                                                                                                                                                                                                                                                                                              +    // directly reset input so subsequent selections with the same name also trigger the change event
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.fileUploadInput.nativeElement.value = "";
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedFile = file;
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.setValue(file.name);
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  protected saveNewFile(file: File) {
                                                                                                                                                                                                                                                                                                                                                                                                              +    // The maximum file size is set to 5 MB
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.fileService
                                                                                                                                                                                                                                                                                                                                                                                                              +      .uploadFile(file, this.entity, this.formControlName)
                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                              +        error: (err) => this.handleError(err),
                                                                                                                                                                                                                                                                                                                                                                                                              +        complete: () => {
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.initialValue = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                              +          this.selectedFile = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  private handleError(err) {
                                                                                                                                                                                                                                                                                                                                                                                                              +    let errorMessage: string;
                                                                                                                                                                                                                                                                                                                                                                                                              +    if (err?.status === 413) {
                                                                                                                                                                                                                                                                                                                                                                                                              +      errorMessage = $localize`:File Upload Error Message:File too large. Usually files up to 5 MB are supported.`;
                                                                                                                                                                                                                                                                                                                                                                                                              +    } else if (err instanceof NotAvailableOfflineError) {
                                                                                                                                                                                                                                                                                                                                                                                                              +      errorMessage = $localize`:File Upload Error Message:Changes to file attachments are not available offline.`;
                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                              +      Logging.error("Failed to update file: " + JSON.stringify(err));
                                                                                                                                                                                                                                                                                                                                                                                                              +      errorMessage = $localize`:File Upload Error Message:Failed to update file attachment. Please try again.`;
                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.alertService.addDanger(errorMessage);
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.revertEntityChanges();
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  private async revertEntityChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    // ensure we have latest _rev of entity
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entity = await this.entityMapper.load(
                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entity.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +    // Reset entity to how it was before
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entity[this.formControlName] = this.initialValue;
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.setValue(this.initialValue);
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +    await this.entityMapper.save(this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.resetFile();
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  formClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.initialValue && this.formControl.value === this.initialValue) {
                                                                                                                                                                                                                                                                                                                                                                                                              +      this.showFile();
                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                              +      this.fileUploadInput.nativeElement.click();
                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  showFile() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.initialValue && this.formControl.value === this.initialValue) {
                                                                                                                                                                                                                                                                                                                                                                                                              +      this.fileService.showFile(this.entity, this.formControlName);
                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  delete() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formControl.setValue(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedFile = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                              +    // remove is only necessary if an initial value was set
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.removeClicked = true;
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  protected deleteExistingFile() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.fileService.removeFile(this.entity, this.formControlName).subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                              +      error: (err) => this.handleError(err),
                                                                                                                                                                                                                                                                                                                                                                                                              +      complete: () => {
                                                                                                                                                                                                                                                                                                                                                                                                              +        this.alertService.addInfo(
                                                                                                                                                                                                                                                                                                                                                                                                              +          $localize`:Message for user:File "${this.initialValue}" deleted`,
                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                              +        this.initialValue = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                              +        this.removeClicked = false;
                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  protected resetFile() {
                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedFile = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              <input
                                                                                                                                                                                                                                                                                                                                                                                                              +  type="file"
                                                                                                                                                                                                                                                                                                                                                                                                              +  style="display: none"
                                                                                                                                                                                                                                                                                                                                                                                                              +  (change)="onFileSelected($event.target['files'][0])"
                                                                                                                                                                                                                                                                                                                                                                                                              +  #fileUpload
                                                                                                                                                                                                                                                                                                                                                                                                              +/>
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-form-field
                                                                                                                                                                                                                                                                                                                                                                                                              +  [ngClass]="{ clickable: formControl.value }"
                                                                                                                                                                                                                                                                                                                                                                                                              +  (click)="navigator.onLine ? formClicked() : null"
                                                                                                                                                                                                                                                                                                                                                                                                              +>
                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                              +  <input
                                                                                                                                                                                                                                                                                                                                                                                                              +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                              +    readonly
                                                                                                                                                                                                                                                                                                                                                                                                              +    class="filename"
                                                                                                                                                                                                                                                                                                                                                                                                              +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-placeholder="placeholder for file-input"
                                                                                                                                                                                                                                                                                                                                                                                                              +    placeholder="No file selected"
                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-matTooltip="Tooltip show file"
                                                                                                                                                                                                                                                                                                                                                                                                              +    matTooltip="Show file"
                                                                                                                                                                                                                                                                                                                                                                                                              +    [matTooltipDisabled]="!(initialValue && formControl.value === initialValue)"
                                                                                                                                                                                                                                                                                                                                                                                                              +  />
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                              +    *ngIf="formControl.value && formControl.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                              +    type="button"
                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                              +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                              +    (click)="delete(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-mattooltip="Tooltip remove file"
                                                                                                                                                                                                                                                                                                                                                                                                              +    matTooltip="Remove file"
                                                                                                                                                                                                                                                                                                                                                                                                              +    [disabled]="!navigator.onLine"
                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon icon="xmark"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                              +    *ngIf="formControl.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                              +    type="button"
                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                              +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                              +    (click)="fileUpload.click(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-matTooltip="Tooltip upload file button"
                                                                                                                                                                                                                                                                                                                                                                                                              +    matTooltip="Upload file"
                                                                                                                                                                                                                                                                                                                                                                                                              +    [disabled]="!navigator.onLine"
                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon icon="upload"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  @if (!navigator.onLine && formControl.enabled) {
                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-hint i18n>Changes to files are not possible offline.</mat-hint>
                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                              +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              + ./edit-file.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              /* let click events on disabled input be handled by parent element (because browsers completely eat them up otherwise)
                                                                                                                                                                                                                                                                                                                                                                                                              + https://stackoverflow.com/a/32925830/1473411  */
                                                                                                                                                                                                                                                                                                                                                                                                              +input[disabled] {
                                                                                                                                                                                                                                                                                                                                                                                                              +  pointer-events: none;
                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +.clickable,
                                                                                                                                                                                                                                                                                                                                                                                                              +.clickable * {
                                                                                                                                                                                                                                                                                                                                                                                                              +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +.filename {
                                                                                                                                                                                                                                                                                                                                                                                                              +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditLocationComponent.html b/documentation/components/EditLocationComponent.html new file mode 100644 index 0000000000..e3c4ae5e87 --- /dev/null +++ b/documentation/components/EditLocationComponent.html @@ -0,0 +1,754 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/location/edit-location/edit-location.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Wrapper of LocationInput for use as an EditComponent. +(this should become obsolete after we refactor all EditComponents to be implemented as FormControls)

                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { EditComponent } from "../../../core/entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { LocationInputComponent } from "../location-input/location-input.component";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatError, MatFormField, MatLabel } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorHintComponent } from "../../../core/common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                + * Wrapper of LocationInput for use as an EditComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                + * (this should become obsolete after we refactor all EditComponents to be implemented as FormControls)
                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("EditLocation")
                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-edit-location",
                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./edit-location.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                +    LocationInputComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                +    MatFormField,
                                                                                                                                                                                                                                                                                                                                                                                                                +    MatLabel,
                                                                                                                                                                                                                                                                                                                                                                                                                +    MatError,
                                                                                                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./edit-location.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                +export class EditLocationComponent extends EditComponent<GeoLocation> {}
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                <mat-form-field [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +  <app-location-input
                                                                                                                                                                                                                                                                                                                                                                                                                +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                                +    [placeholder]="label"
                                                                                                                                                                                                                                                                                                                                                                                                                +  ></app-location-input>
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                + ./edit-location.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditLongTextComponent.html b/documentation/components/EditLongTextComponent.html new file mode 100644 index 0000000000..27ed462bbe --- /dev/null +++ b/documentation/components/EditLongTextComponent.html @@ -0,0 +1,722 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/string/edit-long-text/edit-long-text.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("EditLongText")
                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-edit-long-text",
                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./edit-long-text.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                  +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                  +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EditLongTextComponent extends EditComponent<string> {}
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  <mat-form-field [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                  +  <textarea
                                                                                                                                                                                                                                                                                                                                                                                                                  +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                  +    [formControlName]="formControlName"
                                                                                                                                                                                                                                                                                                                                                                                                                  +    [title]="label"
                                                                                                                                                                                                                                                                                                                                                                                                                  +    rows="4"
                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></textarea>
                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                  +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditMonthComponent.html b/documentation/components/EditMonthComponent.html new file mode 100644 index 0000000000..73a7df32bc --- /dev/null +++ b/documentation/components/EditMonthComponent.html @@ -0,0 +1,923 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/month/edit-month/edit-month.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + setMonthAndYear + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +setMonthAndYear(date: Moment, datepicker: MatDatepicker) +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                    date + Moment + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                    datepicker + MatDatepicker<Moment> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, ViewEncapsulation } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatDatepicker,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  DateAdapter,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MAT_DATE_FORMATS,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MAT_DATE_LOCALE,
                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Moment } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MAT_MOMENT_DATE_ADAPTER_OPTIONS,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  MomentDateAdapter,
                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material-moment-adapter";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +export const MY_FORMATS = {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  parse: {
                                                                                                                                                                                                                                                                                                                                                                                                                    +    dateInput: "YYYY-MM",
                                                                                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                                                                                    +  display: {
                                                                                                                                                                                                                                                                                                                                                                                                                    +    dateInput: "YYYY-MM",
                                                                                                                                                                                                                                                                                                                                                                                                                    +    monthYearLabel: "YYYY MMM",
                                                                                                                                                                                                                                                                                                                                                                                                                    +    dateA11yLabel: "LL",
                                                                                                                                                                                                                                                                                                                                                                                                                    +    monthYearA11yLabel: "YYYY MMMM",
                                                                                                                                                                                                                                                                                                                                                                                                                    +  },
                                                                                                                                                                                                                                                                                                                                                                                                                    +};
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-edit-month",
                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                    +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./edit-month.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./edit-month.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                    +  providers: [
                                                                                                                                                                                                                                                                                                                                                                                                                    +    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                    +      provide: DateAdapter,
                                                                                                                                                                                                                                                                                                                                                                                                                    +      useClass: MomentDateAdapter,
                                                                                                                                                                                                                                                                                                                                                                                                                    +      deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                    +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                    +export class EditMonthComponent extends EditComponent<Date> {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  setMonthAndYear(date: Moment, datepicker: MatDatepicker<Moment>) {
                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.formControl.setValue(date.toDate());
                                                                                                                                                                                                                                                                                                                                                                                                                    +    datepicker.close();
                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <input
                                                                                                                                                                                                                                                                                                                                                                                                                    +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                    +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                                    +    [matDatepicker]="datepickerComp"
                                                                                                                                                                                                                                                                                                                                                                                                                    +  />
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                    +    *ngIf="isPartiallyAnonymized"
                                                                                                                                                                                                                                                                                                                                                                                                                    +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                    +    icon="warning"
                                                                                                                                                                                                                                                                                                                                                                                                                    +    matTooltip="This data has been partially anonymized."
                                                                                                                                                                                                                                                                                                                                                                                                                    +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                    +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                    +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                    +    [for]="datepickerComp"
                                                                                                                                                                                                                                                                                                                                                                                                                    +  ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-datepicker
                                                                                                                                                                                                                                                                                                                                                                                                                    +    #datepickerComp
                                                                                                                                                                                                                                                                                                                                                                                                                    +    startView="multi-year"
                                                                                                                                                                                                                                                                                                                                                                                                                    +    (monthSelected)="setMonthAndYear($event, datepickerComp)"
                                                                                                                                                                                                                                                                                                                                                                                                                    +    panelClass="month-picker"
                                                                                                                                                                                                                                                                                                                                                                                                                    +  ></mat-datepicker>
                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                    +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                    +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    + ./edit-month.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    .month-picker .mat-calendar-period-button {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  pointer-events: none;
                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +.month-picker .mat-calendar-arrow {
                                                                                                                                                                                                                                                                                                                                                                                                                    +  display: none;
                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditNumberComponent.html b/documentation/components/EditNumberComponent.html new file mode 100644 index 0000000000..c55d5ff06c --- /dev/null +++ b/documentation/components/EditNumberComponent.html @@ -0,0 +1,742 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/basic-datatypes/number/edit-number/edit-number.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CustomNumberValidators } from "../../../../utils/custom-number-validators";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("EditNumber")
                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-edit-number",
                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./edit-number.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                      +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                      +export class EditNumberComponent
                                                                                                                                                                                                                                                                                                                                                                                                                      +  extends EditComponent<number>
                                                                                                                                                                                                                                                                                                                                                                                                                      +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                      +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                      +    const newValidators = [CustomNumberValidators.isNumber];
                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.formControl.validator) {
                                                                                                                                                                                                                                                                                                                                                                                                                      +      newValidators.push(this.formControl.validator);
                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.formControl.setValidators(newValidators);
                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.formControl.updateValueAndValidity();
                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      <mat-form-field [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                      +  <input
                                                                                                                                                                                                                                                                                                                                                                                                                      +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                      +    type="number"
                                                                                                                                                                                                                                                                                                                                                                                                                      +    [formControlName]="formControlName"
                                                                                                                                                                                                                                                                                                                                                                                                                      +    [title]="label"
                                                                                                                                                                                                                                                                                                                                                                                                                      +  />
                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                      +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                      +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                      +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditPhotoComponent.html b/documentation/components/EditPhotoComponent.html new file mode 100644 index 0000000000..5b5c64f1bf --- /dev/null +++ b/documentation/components/EditPhotoComponent.html @@ -0,0 +1,1537 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/file/edit-photo/edit-photo.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        + EditFileComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(fileService: FileService, alertService: AlertService, entityMapper: EntityMapperService, dialog: MatDialog, navigator: Navigator) +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                        fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        navigator + Navigator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + delete + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +delete() +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + deleteExistingFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + deleteExistingFile() +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + onFileSelected + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + onFileSelected(file: File) +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                        file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + openPopup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +openPopup() +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + resetFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + resetFile() +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + formClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +formClicked() +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + saveNewFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + saveNewFile(file: File) +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                        file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +showFile() +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + imgPath + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : SafeUrl + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : this.initialImg +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + fileUploadInput + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ElementRef<HTMLInputElement> + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + @ViewChild('fileUpload')
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + initialValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditFileComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, Inject, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EditFileComponent } from "../edit-file/edit-file.component";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SafeUrl } from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FileService } from "../file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AlertService } from "../../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { resizeImage } from "../file-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ImagePopupComponent } from "./image-popup/image-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NAVIGATOR_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatHint } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +@DynamicComponent("EditPhoto")
                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-edit-photo",
                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./edit-photo.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./edit-photo.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatHint,
                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                        +export class EditPhotoComponent extends EditFileComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                        +  private readonly defaultImage = "assets/child.png";
                                                                                                                                                                                                                                                                                                                                                                                                                        +  private compression = 480;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initialImg: SafeUrl = this.defaultImage;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  imgPath: SafeUrl = this.initialImg;
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                        +    fileService: FileService,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    @Inject(NAVIGATOR_TOKEN) protected navigator: Navigator,
                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    super(fileService, alertService, entityMapper, navigator);
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  async onFileSelected(file: File): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    const cvs = await resizeImage(file, this.compression);
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.imgPath = cvs.toDataURL();
                                                                                                                                                                                                                                                                                                                                                                                                                        +    const blob = await new Promise<Blob>((res) => cvs.toBlob(res));
                                                                                                                                                                                                                                                                                                                                                                                                                        +    const reducedFile = new File([blob], file.name, {
                                                                                                                                                                                                                                                                                                                                                                                                                        +      type: file.type,
                                                                                                                                                                                                                                                                                                                                                                                                                        +      lastModified: file.lastModified,
                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                        +    return super.onFileSelected(reducedFile);
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.compression = this.additional ?? this.compression;
                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.formControl.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fileService
                                                                                                                                                                                                                                                                                                                                                                                                                        +        .loadFile(this.entity, this.formControlName)
                                                                                                                                                                                                                                                                                                                                                                                                                        +        .subscribe((res) => {
                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.imgPath = res;
                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.initialImg = res;
                                                                                                                                                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  delete() {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.resetPreview(this.defaultImage);
                                                                                                                                                                                                                                                                                                                                                                                                                        +    super.delete();
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  protected resetFile() {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.resetPreview(this.initialImg);
                                                                                                                                                                                                                                                                                                                                                                                                                        +    super.resetFile();
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  private resetPreview(resetImage: SafeUrl) {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.imgPath !== this.initialImg) {
                                                                                                                                                                                                                                                                                                                                                                                                                        +      URL.revokeObjectURL(this.imgPath as string);
                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.imgPath = resetImage;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  protected deleteExistingFile() {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    URL.revokeObjectURL(this.initialImg as string);
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initialImg = this.defaultImage;
                                                                                                                                                                                                                                                                                                                                                                                                                        +    super.deleteExistingFile();
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  openPopup() {
                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dialog.open(ImagePopupComponent, { data: { url: this.imgPath } });
                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        <img [src]="imgPath" alt="Image" class="image" (click)="openPopup()" />
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +<div
                                                                                                                                                                                                                                                                                                                                                                                                                        +  class="img-controls"
                                                                                                                                                                                                                                                                                                                                                                                                                        +  [matTooltipDisabled]="!(formControl.enabled && !navigator.onLine)"
                                                                                                                                                                                                                                                                                                                                                                                                                        +  matTooltip="Changes to files are not possible offline."
                                                                                                                                                                                                                                                                                                                                                                                                                        +  i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                        +  <label class="img-label">{{ label }}</label>
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngIf="formControl.value && formControl.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="delete()"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n-mattooltip="Tooltip remove file"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    matTooltip="Remove file"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    [disabled]="!navigator.onLine"
                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                        +    <fa-icon icon="xmark"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngIf="formControl.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="fileUpload.click()"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n-matTooltip="Tooltip upload file button"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    matTooltip="Upload file"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    [disabled]="!navigator.onLine"
                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                        +    <fa-icon icon="upload"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +  <input
                                                                                                                                                                                                                                                                                                                                                                                                                        +    type="file"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    style="display: none"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    (change)="onFileSelected($event.target['files'][0])"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    accept="image/*"
                                                                                                                                                                                                                                                                                                                                                                                                                        +    #fileUpload
                                                                                                                                                                                                                                                                                                                                                                                                                        +  />
                                                                                                                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        + ./edit-photo.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        :host {
                                                                                                                                                                                                                                                                                                                                                                                                                        +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +.image {
                                                                                                                                                                                                                                                                                                                                                                                                                        +  width: 150px;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  height: 150px;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  border-radius: 50%;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  object-fit: cover;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  background: lightgrey;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +.img-controls {
                                                                                                                                                                                                                                                                                                                                                                                                                        +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  align-items: flex-end;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  height: 48px;
                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                        +.img-label {
                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                        +  color: rgba(0, 0, 0, 0.6);
                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditProgressDashboardComponent.html b/documentation/components/EditProgressDashboardComponent.html new file mode 100644 index 0000000000..80982e0308 --- /dev/null +++ b/documentation/components/EditProgressDashboardComponent.html @@ -0,0 +1,1121 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/dashboard-widgets/progress-dashboard-widget/edit-progress-dashboard/edit-progress-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(data: ProgressDashboardConfig, fb: FormBuilder) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                          data + ProgressDashboardConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                          fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + addPart + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +addPart() +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + createPartForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +createPartForm(part: ProgressDashboardPart) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                          part + ProgressDashboardPart + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + currentLessThanTarget + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +currentLessThanTarget(control: TypedForm<ProgressDashboardPart>) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                          control + TypedForm<ProgressDashboardPart> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : ValidationErrors | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + removePart + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +removePart(index: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                          index + number + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Readonly + currentErrorStateMatcher + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ErrorStateMatcher + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : { + isErrorState: (control: FormControl | null) => !control?.parent?.valid, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          This marks the control as invalid when the whole form has an error

                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + outputData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new FormGroup({ + title: this.title, + parts: this.parts, + }) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + parts + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : this.fb.array( + this.data.parts.map((part) => this.createPartForm(part)), + ) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + title + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new FormControl(this.data.title, [Validators.required]) +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ProgressDashboardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ProgressDashboardPart,
                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../progress-dashboard/progress-dashboard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ValidationErrors,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DialogCloseComponent } from "../../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                          +import { TypedForm } from "../../../../core/common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface EditProgressDashboardComponentData {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  parts: ProgressDashboardPart[];
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-edit-progress-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./edit-progress-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./edit-progress-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EditProgressDashboardComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This marks the control as invalid when the whole form has an error
                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                          +  readonly currentErrorStateMatcher: ErrorStateMatcher = {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    isErrorState: (control: FormControl | null) => !control?.parent?.valid,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  title = new FormControl(this.data.title, [Validators.required]);
                                                                                                                                                                                                                                                                                                                                                                                                                          +  parts = this.fb.array(
                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.data.parts.map((part) => this.createPartForm(part)),
                                                                                                                                                                                                                                                                                                                                                                                                                          +  );
                                                                                                                                                                                                                                                                                                                                                                                                                          +  outputData = new FormGroup({
                                                                                                                                                                                                                                                                                                                                                                                                                          +    title: this.title,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    parts: this.parts,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  });
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(MAT_DIALOG_DATA) private data: ProgressDashboardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  createPartForm(part: ProgressDashboardPart) {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.fb.group(
                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: this.fb.control(part.label, [Validators.required]),
                                                                                                                                                                                                                                                                                                                                                                                                                          +        currentValue: this.fb.control(part.currentValue, [
                                                                                                                                                                                                                                                                                                                                                                                                                          +          Validators.required,
                                                                                                                                                                                                                                                                                                                                                                                                                          +          Validators.min(0),
                                                                                                                                                                                                                                                                                                                                                                                                                          +        ]),
                                                                                                                                                                                                                                                                                                                                                                                                                          +        targetValue: this.fb.control(part.targetValue, [
                                                                                                                                                                                                                                                                                                                                                                                                                          +          Validators.required,
                                                                                                                                                                                                                                                                                                                                                                                                                          +          Validators.min(0),
                                                                                                                                                                                                                                                                                                                                                                                                                          +        ]),
                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                          +        validators: [this.currentLessThanTarget],
                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  currentLessThanTarget(
                                                                                                                                                                                                                                                                                                                                                                                                                          +    control: TypedForm<ProgressDashboardPart>,
                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): ValidationErrors | null {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    const current = control.get("currentValue");
                                                                                                                                                                                                                                                                                                                                                                                                                          +    const target = control.get("targetValue");
                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (current.value > target.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                          +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                          +        currentGtTarget: true,
                                                                                                                                                                                                                                                                                                                                                                                                                          +      };
                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                          +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  addPart() {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newPart: ProgressDashboardPart = {
                                                                                                                                                                                                                                                                                                                                                                                                                          +      label: $localize`:Part of a whole:Part`,
                                                                                                                                                                                                                                                                                                                                                                                                                          +      currentValue: 1,
                                                                                                                                                                                                                                                                                                                                                                                                                          +      targetValue: 10,
                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.parts.push(this.createPartForm(newPart));
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  removePart(index: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.parts.removeAt(index);
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          <div mat-dialog-title style="display: flex">
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-form-field class="title-field margin-top-small">
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <input
                                                                                                                                                                                                                                                                                                                                                                                                                          +      [formControl]="title"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                                          +      type="text"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n-placeholder="
                                                                                                                                                                                                                                                                                                                                                                                                                          +        Title Progress|Edit the progress of one or multiple tasks
                                                                                                                                                                                                                                                                                                                                                                                                                          +      "
                                                                                                                                                                                                                                                                                                                                                                                                                          +      placeholder="Title"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    />
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-error *ngIf="title.hasError('required')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                          +      This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +<mat-dialog-content class="dialog-content">
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div
                                                                                                                                                                                                                                                                                                                                                                                                                          +    *ngFor="let control of parts.controls; let index = index"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    class="entry-wrapper mat-elevation-z1"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    [formGroup]="$any(control)"
                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-form-field class="header-field">
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <input
                                                                                                                                                                                                                                                                                                                                                                                                                          +        formControlName="label"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        matInput
                                                                                                                                                                                                                                                                                                                                                                                                                          +        type="text"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n-placeholder="Process Label|The label of a process or task"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        placeholder="Task"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      />
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error *ngIf="control.hasError('required', 'label')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                          +        This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button mat-icon-button color="accent" (click)="removePart(index)">
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-icon"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        aria-label="remove element"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        icon="trash"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-form-field class="current-field">
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <input
                                                                                                                                                                                                                                                                                                                                                                                                                          +        formControlName="currentValue"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        matInput
                                                                                                                                                                                                                                                                                                                                                                                                                          +        type="number"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n-placeholder="
                                                                                                                                                                                                                                                                                                                                                                                                                          +          Current process|The Current value of a process or task
                                                                                                                                                                                                                                                                                                                                                                                                                          +        "
                                                                                                                                                                                                                                                                                                                                                                                                                          +        placeholder="Current"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        [errorStateMatcher]="currentErrorStateMatcher"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      />
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error *ngIf="control.hasError('required', 'currentValue')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                          +        This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error *ngIf="control.hasError('min', 'currentValue')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                          +        Must be greater than 0
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error
                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="control.hasError('currentGtTarget')"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                          +          The number entered in this form is less than another field but should
                                                                                                                                                                                                                                                                                                                                                                                                                          +          not be
                                                                                                                                                                                                                                                                                                                                                                                                                          +        "
                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                          +        Must not be greater than target
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-form-field class="target-field">
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <input
                                                                                                                                                                                                                                                                                                                                                                                                                          +        formControlName="targetValue"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        matInput
                                                                                                                                                                                                                                                                                                                                                                                                                          +        type="number"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n-placeholder="Target process|The target amount of a process"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        placeholder="Target"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      />
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error
                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="control.hasError('required', 'targetValue')"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="A field entered in a form is required and wasn't provided"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                          +        This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-error
                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="control.hasError('min', 'targetValue')"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="A field entered in a form must be greater than 0"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                          +        Must be greater than 0
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button mat-button color="accent" (click)="addPart()">
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-icon margin-sides-small"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        aria-label="add element"
                                                                                                                                                                                                                                                                                                                                                                                                                          +        icon="plus-circle"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                          +      <span i18n="Add a task to the progress dashboard list">
                                                                                                                                                                                                                                                                                                                                                                                                                          +        Add New Task
                                                                                                                                                                                                                                                                                                                                                                                                                          +      </span>
                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                          +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                          +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    [mat-dialog-close]="outputData.value"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    [disabled]="outputData.invalid"
                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span
                                                                                                                                                                                                                                                                                                                                                                                                                          +      matTooltip="Fix the errors to save the form"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      [matTooltipDisabled]="outputData.valid"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n-matTooltip="Shown when there are errors that prevent saving"
                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n
                                                                                                                                                                                                                                                                                                                                                                                                                          +      >Save</span
                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button mat-stroked-button mat-dialog-close i18n>Cancel</button>
                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          + ./edit-progress-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.entry-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: grid;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-template-columns: repeat(2, 1fr) 64px;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-template-rows: repeat(2, 1fr);
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-gap: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-template-areas:
                                                                                                                                                                                                                                                                                                                                                                                                                          +    "header header trash"
                                                                                                                                                                                                                                                                                                                                                                                                                          +    "current target trash";
                                                                                                                                                                                                                                                                                                                                                                                                                          +  padding: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.entry-wrapper:not(:last-child) {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-bottom: sizes.$large;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.entry-wrapper:last-child {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.title-field {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  input {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    font-size: 32px;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +  width: 90%;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  min-width: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.header-field {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-area: header;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  min-width: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.current-field {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-area: current;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  min-width: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.target-field {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  grid-area: target;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  min-width: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +.dialog-content {
                                                                                                                                                                                                                                                                                                                                                                                                                          +  @media (max-height: 800px) {
                                                                                                                                                                                                                                                                                                                                                                                                                          +    height: 40vh;
                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditRecurringIntervalComponent.html b/documentation/components/EditRecurringIntervalComponent.html new file mode 100644 index 0000000000..64a3a678c3 --- /dev/null +++ b/documentation/components/EditRecurringIntervalComponent.html @@ -0,0 +1,1120 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/todos/recurring-interval/edit-recurring-interval/edit-recurring-interval.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Form field to edit a time interval for repetitions.

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The schema or config accepts pre-defined options for the dropdown as additional.

                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(matDialog: MatDialog) +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                            matDialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + openCustomIntervalSelection + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +openCustomIntervalSelection(event: MatOptionSelectionChange<TimeInterval>) +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                            event + MatOptionSelectionChange<TimeInterval> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + resetSelection + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +resetSelection() +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + compareOptionFun + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + predefinedIntervals + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [ + { + label: $localize`:default interval select option:weekly`, + interval: { amount: 1, unit: "week" }, + }, + { + label: $localize`:default interval select option:monthly`, + interval: { amount: 1, unit: "month" }, + }, + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EditComponent } from "../../../../core/entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { generateLabelFromInterval, TimeInterval } from "../time-interval";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CustomIntervalComponent } from "../custom-interval/custom-interval.component";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatOptionSelectionChange } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ErrorHintComponent } from "../../../../core/common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                            + * Form field to edit a time interval for repetitions.
                                                                                                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                                                                                                            + * The schema or config accepts pre-defined options for the dropdown as `additional`.
                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("EditRecurringInterval")
                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-edit-recurring-interval",
                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./edit-recurring-interval.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./edit-recurring-interval.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                            +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EditRecurringIntervalComponent
                                                                                                                                                                                                                                                                                                                                                                                                                            +  extends EditComponent<any>
                                                                                                                                                                                                                                                                                                                                                                                                                            +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                                                                                                            +  predefinedIntervals: { label: string; interval: TimeInterval }[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                            +    {
                                                                                                                                                                                                                                                                                                                                                                                                                            +      label: $localize`:default interval select option:weekly`,
                                                                                                                                                                                                                                                                                                                                                                                                                            +      interval: { amount: 1, unit: "week" },
                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                            +    {
                                                                                                                                                                                                                                                                                                                                                                                                                            +      label: $localize`:default interval select option:monthly`,
                                                                                                                                                                                                                                                                                                                                                                                                                            +      interval: { amount: 1, unit: "month" },
                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                            +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  compareOptionFun = (a: TimeInterval, b: TimeInterval) =>
                                                                                                                                                                                                                                                                                                                                                                                                                            +    JSON.stringify(a) === JSON.stringify(b);
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private matDialog: MatDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                            +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.predefinedIntervals = this.additional ?? this.predefinedIntervals;
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +    // re-create active custom interval if necessary
                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.addCustomInterval(this.formControl.value);
                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  resetSelection() {
                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.formControl.setValue(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  openCustomIntervalSelection(event: MatOptionSelectionChange<TimeInterval>) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!event.isUserInput) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +    const previousSelectedInterval = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.matDialog
                                                                                                                                                                                                                                                                                                                                                                                                                            +      .open(CustomIntervalComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                            +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                            +      .subscribe((result: TimeInterval) => {
                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (result === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +          // keep unchanged, i.e. revert to previous selection
                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.formControl.setValue(previousSelectedInterval);
                                                                                                                                                                                                                                                                                                                                                                                                                            +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.addCustomInterval(result);
                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.formControl.setValue(result);
                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.formControl.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  private addCustomInterval(interval: TimeInterval) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!interval) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +    const selectedOptionValue = this.predefinedIntervals.find((o) =>
                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.compareOptionFun(interval, o.interval),
                                                                                                                                                                                                                                                                                                                                                                                                                            +    )?.interval;
                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!selectedOptionValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.predefinedIntervals.push({
                                                                                                                                                                                                                                                                                                                                                                                                                            +        label: generateLabelFromInterval(interval),
                                                                                                                                                                                                                                                                                                                                                                                                                            +        interval: interval,
                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            <mat-form-field [formGroup]="parent">
                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon icon="repeat"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                            +    {{ label }}
                                                                                                                                                                                                                                                                                                                                                                                                                            +  </mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-select
                                                                                                                                                                                                                                                                                                                                                                                                                            +    [formControlName]="formControlName"
                                                                                                                                                                                                                                                                                                                                                                                                                            +    [compareWith]="compareOptionFun"
                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-option *ngFor="let o of predefinedIntervals" [value]="o.interval">
                                                                                                                                                                                                                                                                                                                                                                                                                            +      {{ o.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                            +    </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                            +      (onSelectionChange)="openCustomIntervalSelection($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                            +      i18n="recurring interval option"
                                                                                                                                                                                                                                                                                                                                                                                                                            +      class="special-option"
                                                                                                                                                                                                                                                                                                                                                                                                                            +    >
                                                                                                                                                                                                                                                                                                                                                                                                                            +      <fa-icon icon="tools" [fixedWidth]="true"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                            +      define other interval
                                                                                                                                                                                                                                                                                                                                                                                                                            +    </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                            +      [value]="undefined"
                                                                                                                                                                                                                                                                                                                                                                                                                            +      (onSelectionChange)="resetSelection()"
                                                                                                                                                                                                                                                                                                                                                                                                                            +      i18n="recurring interval option"
                                                                                                                                                                                                                                                                                                                                                                                                                            +      class="special-option"
                                                                                                                                                                                                                                                                                                                                                                                                                            +    >
                                                                                                                                                                                                                                                                                                                                                                                                                            +      <fa-icon icon="xmark" [fixedWidth]="true"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                            +      does not repeat
                                                                                                                                                                                                                                                                                                                                                                                                                            +    </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                            +  </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                            +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                            +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                            +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            + ./edit-recurring-interval.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            .special-option {
                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +.suffix-action {
                                                                                                                                                                                                                                                                                                                                                                                                                            +  display: inline;
                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +.tooltip-suffix {
                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin: 4px;
                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditTextComponent.html b/documentation/components/EditTextComponent.html new file mode 100644 index 0000000000..950ebe9f34 --- /dev/null +++ b/documentation/components/EditTextComponent.html @@ -0,0 +1,735 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/string/edit-text/edit-text.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EditComponent } from "../../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("EditText")
                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-edit-text",
                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./edit-text.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./edit-text.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                              +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                              +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                              +export class EditTextComponent extends EditComponent<string> {}
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                              +  <input [formControl]="formControl" matInput [title]="label" type="text" />
                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                              +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              + ./edit-text.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EditTextWithAutocompleteComponent.html b/documentation/components/EditTextWithAutocompleteComponent.html new file mode 100644 index 0000000000..d327207bcd --- /dev/null +++ b/documentation/components/EditTextWithAutocompleteComponent.html @@ -0,0 +1,1505 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/common-components/edit-text-with-autocomplete/edit-text-with-autocomplete.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                This component creates a normal text input with autocomplete. +Compared to the EditEntityComponent this does not just assign the ID to the form control +but instead completely overwrites the form with the values taken from the selected entity. +This is especially useful when instead of creating a new entity, an existing one can also be selected (and extended).

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                When a value is already present the autocomplete is disabled, and it works like a normal text input.

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                E.g.

                                                                                                                                                                                                                                                                                                                                                                                                                                +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    "id": "title",
                                                                                                                                                                                                                                                                                                                                                                                                                                +    "editComponent": "EditTextWithAutocomplete",
                                                                                                                                                                                                                                                                                                                                                                                                                                +    "additional": {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      "entityType": "RecurringActivity",
                                                                                                                                                                                                                                                                                                                                                                                                                                +      "relevantProperty": "linkedGroups",
                                                                                                                                                                                                                                                                                                                                                                                                                                +      "relevantValue": "some-id",
                                                                                                                                                                                                                                                                                                                                                                                                                                +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                + EditComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapperService: EntityMapperService, confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:25 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + keyup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +keyup() +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + resetForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + resetForm() +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + selectEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + selectEntity(selected: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                selected + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + updateAutocomplete + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +updateAutocomplete() +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + addedFormControls + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:66 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                Config passed using component

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + autocompleteDisabled + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + autocompleteEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new BehaviorSubject(this.entities) +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + currentValues + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + lastValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + originalValues + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Optional + selectedEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from EditComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in EditComponent:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EditComponent } from "../../entity/default-datatype/edit-component";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfirmationDialogService } from "../confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatAutocompleteModule } from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorHintComponent } from "../error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                + * This component creates a normal text input with autocomplete.
                                                                                                                                                                                                                                                                                                                                                                                                                                + * Compared to the {@link EditEntityComponent} this does not just assign the ID to the form control
                                                                                                                                                                                                                                                                                                                                                                                                                                + * but instead completely overwrites the form with the values taken from the selected entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                + * This is especially useful when instead of creating a new entity, an existing one can also be selected (and extended).
                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                + * When a value is already present the autocomplete is disabled, and it works like a normal text input.
                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                + * E.g.
                                                                                                                                                                                                                                                                                                                                                                                                                                + * ```json
                                                                                                                                                                                                                                                                                                                                                                                                                                + * {
                                                                                                                                                                                                                                                                                                                                                                                                                                + *     "id": "title",
                                                                                                                                                                                                                                                                                                                                                                                                                                + *     "editComponent": "EditTextWithAutocomplete",
                                                                                                                                                                                                                                                                                                                                                                                                                                + *     "additional": {
                                                                                                                                                                                                                                                                                                                                                                                                                                + *       "entityType": "RecurringActivity",
                                                                                                                                                                                                                                                                                                                                                                                                                                + *       "relevantProperty": "linkedGroups",
                                                                                                                                                                                                                                                                                                                                                                                                                                + *       "relevantValue": "some-id",
                                                                                                                                                                                                                                                                                                                                                                                                                                + *     },
                                                                                                                                                                                                                                                                                                                                                                                                                                + *   }
                                                                                                                                                                                                                                                                                                                                                                                                                                + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("EditTextWithAutocomplete")
                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-edit-text-with-autocomplete",
                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./edit-text-with-autocomplete.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./edit-text-with-autocomplete.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                +export class EditTextWithAutocompleteComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                +  extends EditComponent<string>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                +{
                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Config passed using component
                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                +  additional: {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    /**
                                                                                                                                                                                                                                                                                                                                                                                                                                +     * The entity type for which autofill should be created.
                                                                                                                                                                                                                                                                                                                                                                                                                                +     * This should be the same type as for which the form was created.
                                                                                                                                                                                                                                                                                                                                                                                                                                +     */
                                                                                                                                                                                                                                                                                                                                                                                                                                +    entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    /**
                                                                                                                                                                                                                                                                                                                                                                                                                                +     * (optional) a property which should be filled with certain value, if an entity is selected.
                                                                                                                                                                                                                                                                                                                                                                                                                                +     */
                                                                                                                                                                                                                                                                                                                                                                                                                                +    relevantProperty?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    /**
                                                                                                                                                                                                                                                                                                                                                                                                                                +     * (optional) required if `relevantProperty` is set.
                                                                                                                                                                                                                                                                                                                                                                                                                                +     * The value to be filled in `selectedEntity[relevantProperty]`.
                                                                                                                                                                                                                                                                                                                                                                                                                                +     */
                                                                                                                                                                                                                                                                                                                                                                                                                                +    relevantValue?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  entities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                +  autocompleteEntities = new BehaviorSubject(this.entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                +  selectedEntity?: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                +  currentValues;
                                                                                                                                                                                                                                                                                                                                                                                                                                +  originalValues;
                                                                                                                                                                                                                                                                                                                                                                                                                                +  autocompleteDisabled = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                +  lastValue = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                +  addedFormControls = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  keyup() {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.lastValue = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.updateAutocomplete();
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  updateAutocomplete() {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    let val = this.formControl.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                +      !this.autocompleteDisabled &&
                                                                                                                                                                                                                                                                                                                                                                                                                                +      val !== this.currentValues[this.formControlName]
                                                                                                                                                                                                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      let filteredEntities = this.entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (val) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +        filteredEntities = this.entities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                +          (entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                +            entity !== this.selectedEntity &&
                                                                                                                                                                                                                                                                                                                                                                                                                                +            entity.toString().toLowerCase().includes(val.toLowerCase()),
                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.autocompleteEntities.next(filteredEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this.formControl.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      // adding new entry - enable autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                +      const entityType = this.additional.entityType;
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entities = await this.entityMapperService.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entities.sort((e1, e2) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                +        e1.toString().localeCompare(e2.toString()),
                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.autocompleteDisabled = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.currentValues = this.parent.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.originalValues = this.currentValues;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  async selectEntity(selected: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (await this.userConfirmsOverwriteIfNecessary(selected)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.selectedEntity = selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.addRelevantValueToRelevantProperty(this.selectedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.setAllFormValues(this.selectedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.currentValues = this.parent.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.autocompleteEntities.next([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.formControl.setValue(this.lastValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async userConfirmsOverwriteIfNecessary(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                +      !this.valuesChanged() ||
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                +        $localize`:Discard the changes made:Discard changes`,
                                                                                                                                                                                                                                                                                                                                                                                                                                +        $localize`Do you want to discard the changes made to '${entity}'?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  private valuesChanged() {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Object.entries(this.currentValues).some(
                                                                                                                                                                                                                                                                                                                                                                                                                                +      ([prop, value]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                +        prop !== this.formControlName &&
                                                                                                                                                                                                                                                                                                                                                                                                                                +        value !== this.parent.controls[prop].value,
                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  private addRelevantValueToRelevantProperty(selected: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.additional.relevantProperty &&
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.additional.relevantValue &&
                                                                                                                                                                                                                                                                                                                                                                                                                                +      !selected[this.additional.relevantProperty].includes(
                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.additional.relevantValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      selected[this.additional.relevantProperty].push(
                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.additional.relevantValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  private setAllFormValues(selected: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    Object.keys(selected)
                                                                                                                                                                                                                                                                                                                                                                                                                                +      .filter((key) => selected.getSchema().has(key))
                                                                                                                                                                                                                                                                                                                                                                                                                                +      .forEach((key) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (this.parent.controls.hasOwnProperty(key)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.parent.controls[key].setValue(this.selectedEntity[key]);
                                                                                                                                                                                                                                                                                                                                                                                                                                +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                +          // adding missing controls so saving does not lose any data
                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.parent.addControl(key, new FormControl(selected[key]));
                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.addedFormControls.push(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +  async resetForm() {
                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (await this.userConfirmsOverwriteIfNecessary(this.selectedEntity)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.addedFormControls.forEach((control) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.parent.removeControl(control),
                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.addedFormControls = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.formControl.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.parent.patchValue(this.originalValues);
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.selectedEntity = null;
                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.currentValues = this.originalValues;
                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                <mat-form-field [formGroup]="parent" class="form-field-with-tooltip-suffix">
                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  <input
                                                                                                                                                                                                                                                                                                                                                                                                                                +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                +    [readonly]="!!selectedEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    [matAutocomplete]="autoSuggestions"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    [matAutocompleteDisabled]="autocompleteDisabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    (keyup)="keyup()"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    (focusin)="updateAutocomplete()"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  />
                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-autocomplete #autoSuggestions="matAutocomplete">
                                                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                +      *ngFor="let entity of autocompleteEntities | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                +      [value]="entity[formControlName]"
                                                                                                                                                                                                                                                                                                                                                                                                                                +      (onSelectionChange)="$event.source.selected ? selectEntity(entity) : null"
                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                +      <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                +        [entityToDisplay]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                +        [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                +      ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                +    </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-hint *ngIf="!autocompleteDisabled">
                                                                                                                                                                                                                                                                                                                                                                                                                                +    <span *ngIf="!selectedEntity" i18n>Creating new record.</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                +    <span *ngIf="selectedEntity" i18n>Editing existing record.</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-error-hint [form]="formControl"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +<fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                +  *ngIf="!autocompleteDisabled && !selectedEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  (click)="tooltipElement.show()"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  #tooltipElement="matTooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  icon="cogs"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  i18n-matTooltip="Tooltip help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  matTooltip="You can create a new or load an existing record. Start to type an existing name and then select it from the dropdown to edit the existing record. Type any new text to create a new record."
                                                                                                                                                                                                                                                                                                                                                                                                                                +  class="tooltip-suffix"
                                                                                                                                                                                                                                                                                                                                                                                                                                +></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +<fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                +  *ngIf="!autocompleteDisabled && !!selectedEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  (click)="resetForm()"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  icon="circle-xmark"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  i18n-matTooltip="Tooltip for button to reset form"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  matTooltip="Unload existing record and reset form."
                                                                                                                                                                                                                                                                                                                                                                                                                                +  class="tooltip-suffix"
                                                                                                                                                                                                                                                                                                                                                                                                                                +  style="cursor: pointer"
                                                                                                                                                                                                                                                                                                                                                                                                                                +></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                + ./edit-text-with-autocomplete.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                .form-field-with-tooltip-suffix {
                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: calc(95% - 24px);
                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +.tooltip-suffix {
                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin-left: 4px;
                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntitiesTableComponent.html b/documentation/components/EntitiesTableComponent.html new file mode 100644 index 0000000000..6afe8ec66d --- /dev/null +++ b/documentation/components/EntitiesTableComponent.html @@ -0,0 +1,3023 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/common-components/entities-table/entities-table.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  A simple display component (no logic and transformations) to display a table of entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(entityFormService: EntityFormService, formDialog: FormDialogService, router: Router, filterService: FilterService, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : "popup" | "navigate" | "none" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + columnsToDisplay +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Manually define the columns to be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + customColumns +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Additional or overwritten field configurations for columns

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  INLINE EDIT +User can switch a row into edit mode to change and save field values directly from within the table

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Adds a filter for the displayed data. +Only data, that passes the filter will be shown in the table.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filterFreetext +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getBackgroundColor +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : (rec: T) => rec.getColor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  function returns the background color for each row

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + newRecordFactory +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  factory method to create a new instance of the displayed Entity type +used when the user adds a new entity to the list.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + records +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + selectable +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  BULK SELECT +User can use checkboxes to select multiple rows, so that parent components can execute bulk actions on them.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + selectedRecords +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  FILTER ARCHIVED RECORDS +User can hide / show inactive records through a toggle

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + sortBy +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  how to sort data by default during initialization

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Emits the entity being clicked in the table - or the newly created entity from the "create" button.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filteredRecordsChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  output the currently displayed records, whenever filters for the user change

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + selectedRecordsChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EventEmitter<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  outputs an event containing an array of currently selected records (checkmarked by the user) +Checkboxes to select rows are only displayed if you set "selectable" also.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showInactiveChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + addActiveInactiveFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +addActiveInactiveFilter(filter: DataFilter<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  filter + DataFilter<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + onRowClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +onRowClick(row: TableRow<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Show one record's details in a modal dialog (if configured).

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                  row + TableRow<T> + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                  The entity whose details should be displayed.

                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + selectRow + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +selectRow(row: TableRow<T>, checked: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  row + TableRow<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  checked + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + showEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +showEntity(entity: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + T + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _customColumns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _editable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _entityType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _filter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _records + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _selectable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _showInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _sortBy + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Readonly + ACTIONCOLUMN_EDIT + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "__edit" +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Readonly + ACTIONCOLUMN_SELECT + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "__select" +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + idForSavingPagination + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + recordsDataSource + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : MatTableDataSource<TableRow<T>> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  data displayed in the template's table

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + records +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setrecords(value: T[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + T[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + customColumns +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setcustomColumns(value: ColumnConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Additional or overwritten field configurations for columns

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + ColumnConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + columnsToDisplay +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setcolumnsToDisplay(value: string[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Manually define the columns to be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + string[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setentityType(value: EntityConstructor<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + EntityConstructor<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + sortBy +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setsortBy(value: Sort) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  how to sort data by default during initialization

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + Sort + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + sort +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setsort(sort: MatSort) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  sort + MatSort + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setfilter(value: DataFilter<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  Adds a filter for the displayed data. +Only data, that passes the filter will be shown in the table.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + DataFilter<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filterFreetext +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setfilterFreetext(value: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + selectable +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setselectable(v: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  BULK SELECT +User can use checkboxes to select multiple rows, so that parent components can execute bulk actions on them.

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  v + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + seteditable(v: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  INLINE EDIT +User can switch a row into edit mode to change and save field values directly from within the table

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  v + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + setshowInactive(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  FILTER ARCHIVED RECORDS +User can hide / show inactive records through a toggle

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                  value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  import {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFieldEditComponent } from "../entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFieldLabelComponent } from "../entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFieldViewComponent } from "../entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ListPaginatorComponent } from "./list-paginator/list-paginator.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatSort,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatSortModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Sort,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  SortDirection,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTableDataSource, MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  toFormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { tableSort } from "./table-sort/table-sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { entityFilterPredicate } from "../../filter/filter-generator/filter-predicate";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FormDialogService } from "../../form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FilterService } from "../../filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DataFilter } from "../../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityInlineEditActionsComponent } from "./entity-inline-edit-actions/entity-inline-edit-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityCreateButtonComponent } from "../entity-create-button/entity-create-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DateDatatype } from "../../basic-datatypes/date/date.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityDatatype } from "../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                  + * A simple display component (no logic and transformations) to display a table of entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-entities-table",
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ListPaginatorComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatSortModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityInlineEditActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityCreateButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./entities-table.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrl: "./entities-table.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EntitiesTableComponent<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set records(value: T[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._records = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _records: T[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** data displayed in the template's table */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  recordsDataSource: MatTableDataSource<TableRow<T>>;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  isLoading: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Additional or overwritten field configurations for columns
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set customColumns(value: ColumnConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._customColumns = (value ?? []).map((c) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this._entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ? this.entityFormService.extendFormFieldConfig(c, this._entityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        : toFormFieldConfig(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const entityColumns = this._entityType?.schema
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ? [...this._entityType.schema.entries()].map(
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          ([id, field]) => ({ ...field, id }) as FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._columns = [
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ...entityColumns.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // if there is a customColumn for a field from entity config, don't add the base schema field
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        (c) => !this._customColumns.some((customCol) => customCol.id === c.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ...this._customColumns,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._columns.forEach((c) => this.disableSortingHeaderForAdvancedFields(c));
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.columnsToDisplay) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.columnsToDisplay = this._customColumns
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        .filter((c) => !c.hideFromTable)
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        .map((c) => c.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.idForSavingPagination = this._customColumns
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .map((col) => col.id)
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .join("");
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _customColumns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _columns: FormFieldConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Manually define the columns to be shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set columnsToDisplay(value: string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!value || value.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      value = (this._customColumns ?? this._columns).map((c) => c.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    value = value.filter((c) => !c.startsWith("__")); // remove internal action columns
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const cols = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this._selectable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      cols.push(this.ACTIONCOLUMN_SELECT);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this._editable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      cols.push(this.ACTIONCOLUMN_EDIT);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    cols.push(...value);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._columnsToDisplay = cols;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.sortIsInferred) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.sortBy = this.inferDefaultSort();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.sortIsInferred = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _columnsToDisplay: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set entityType(value: EntityConstructor<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._entityType = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.customColumns = this._customColumns;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** how to sort data by default during initialization */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set sortBy(value: Sort) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._sortBy = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.sortIsInferred = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _sortBy: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @ViewChild(MatSort, { static: false }) set sort(sort: MatSort) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.recordsDataSource.sort = sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private sortIsInferred: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Adds a filter for the displayed data.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Only data, that passes the filter will be shown in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set filter(value: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._filter = value ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _filter: DataFilter<T> = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** output the currently displayed records, whenever filters for the user change */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Output() filteredRecordsChange = new EventEmitter<T[]>(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private updateFilteredData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.addActiveInactiveFilter(this._filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const filterPredicate = this.filterService.getFilterPredicate(this._filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const filteredData = this._records.filter(filterPredicate);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.recordsDataSource.data = filteredData.map((record) => ({ record }));
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.filteredRecordsChange.emit(filteredData);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set filterFreetext(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.recordsDataSource.filter = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** function returns the background color for each row*/
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() getBackgroundColor?: (rec: T) => string = (rec: T) => rec.getColor();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  idForSavingPagination: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() clickMode: "popup" | "navigate" | "none" = "popup";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Emits the entity being clicked in the table - or the newly created entity from the "create" button.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Output() entityClick = new EventEmitter<T>();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * BULK SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * User can use checkboxes to select multiple rows, so that parent components can execute bulk actions on them.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set selectable(v: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._selectable = v;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.columnsToDisplay = this._columnsToDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _selectable: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  readonly ACTIONCOLUMN_SELECT = "__select";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * outputs an event containing an array of currently selected records (checkmarked by the user)
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Checkboxes to select rows are only displayed if you set "selectable" also.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Output() selectedRecordsChange: EventEmitter<T[]> = new EventEmitter<T[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() selectedRecords: T[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selectRow(row: TableRow<T>, checked: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (checked) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.selectedRecords.push(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const index = this.selectedRecords.indexOf(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (index > -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.selectedRecords.splice(index, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.selectedRecordsChange.emit(this.selectedRecords);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * INLINE EDIT
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * User can switch a row into edit mode to change and save field values directly from within the table
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set editable(v: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._editable = v;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.columnsToDisplay = this._columnsToDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _editable: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  readonly ACTIONCOLUMN_EDIT = "__edit";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * factory method to create a new instance of the displayed Entity type
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * used when the user adds a new entity to the list.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() newRecordFactory: () => T;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Show one record's details in a modal dialog (if configured).
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param row The entity whose details should be displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  onRowClick(row: TableRow<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (row.formGroup && !row.formGroup.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this._selectable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.selectRow(row, !this.selectedRecords?.includes(row.record));
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.showEntity(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.entityClick.emit(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  showEntity(entity: T) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    switch (this.clickMode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "popup":
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.formDialog.openFormPopup(entity, this._customColumns);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "navigate":
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          entity.getConstructor().route,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          entity.isNew ? "new" : entity.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.recordsDataSource = this.createDataSource();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private createDataSource() {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const dataSource = new MatTableDataSource<TableRow<T>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    dataSource.sortData = (data, sort) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      tableSort(data, {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        active: sort.active as keyof Entity | "",
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        direction: sort.direction,
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    dataSource.filterPredicate = (data, filter) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entityFilterPredicate(data.record, filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return dataSource;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private inferDefaultSort(): Sort {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // initial sorting by first column, ensure that not the 'action' column is used
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const sortBy = (this._columnsToDisplay ?? []).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (c) => !c.startsWith("__"),
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    )[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const sortByColumn = this._columns.find((c) => c.id === sortBy);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let sortDirection: SortDirection = "asc";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      sortByColumn?.viewComponent === "DisplayDate" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      sortByColumn?.viewComponent === "DisplayMonth" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.schemaService.getDatatypeOrDefault(sortByColumn?.dataType) instanceof
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        DateDatatype
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // flip default sort order for dates (latest first)
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      sortDirection = "desc";
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return sortBy ? { active: sortBy, direction: sortDirection } : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Advanced fields like entity references cannot be sorted sensibly yet - disable sort for them.
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param c
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private disableSortingHeaderForAdvancedFields(c: FormFieldConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // if no dataType is defined, these are dynamic, display-only components
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (c.isArray || c.dataType === EntityDatatype.dataType || !c.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      c.noSorting = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * FILTER ARCHIVED RECORDS
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * User can hide / show inactive records through a toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set showInactive(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (value === this._showInactive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._showInactive = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.showInactiveChange.emit(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _showInactive: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Output() showInactiveChange = new EventEmitter<boolean>();
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  addActiveInactiveFilter(filter: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this._showInactive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      delete filter["isActive"];
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      filter["isActive"] = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Wrapper to keep additional form data for each row of an entity, required for inline editing.
                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface TableRow<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  record: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  formGroup?: EntityForm<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  <div *ngIf="isLoading" class="process-spinner">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +<div [hidden]="isLoading" class="table-container">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <table
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    mat-table
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [dataSource]="recordsDataSource"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    matSort
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [matSortActive]="_sortBy?.active"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [matSortDirection]="_sortBy?.direction"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    class="full-width table"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <ng-container *ngFor="let col of _columns" [matColumnDef]="col.id">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <th
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        mat-header-cell
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        mat-sort-header
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        *matHeaderCellDef
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [disabled]="col.noSorting"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <app-entity-field-label
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [field]="col"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [entityType]="_entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ></app-entity-field-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <app-entity-field-edit
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          *ngIf="row.formGroup?.enabled; else viewField"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [field]="col"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [entity]="row.record"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [form]="row.formGroup"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [compactMode]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ></app-entity-field-edit>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <ng-template #viewField>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <app-entity-field-view
                                                                                                                                                                                                                                                                                                                                                                                                                                  +            [field]="col"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +            [entity]="row.record"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          ></app-entity-field-view>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      BULK SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    -->
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <ng-container [matColumnDef]="ACTIONCOLUMN_SELECT">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <th mat-header-cell *matHeaderCellDef style="width: 0"></th>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <mat-checkbox
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [checked]="selectedRecords?.includes(row.record)"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ></mat-checkbox>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      INLINE EDIT ACTIONS
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    -->
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <ng-container [matColumnDef]="ACTIONCOLUMN_EDIT">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <th mat-header-cell *matHeaderCellDef class="remove-padding-left">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <app-entity-create-button
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [entityType]="_entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [newRecordFactory]="newRecordFactory"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          (entityCreate)="showEntity($event); entityClick.emit($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [iconOnly]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ></app-entity-create-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <td mat-cell *matCellDef="let row">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <app-entity-inline-edit-actions [row]="row">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </app-entity-inline-edit-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <tr mat-header-row *matHeaderRowDef="_columnsToDisplay"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      *matRowDef="let row; columns: _columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [style.background-color]="getBackgroundColor?.(row.record)"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      class="table-row"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (click)="onRowClick(row)"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      style="cursor: pointer"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    PAGINATION
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <app-list-paginator
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    class="table-footer"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [dataSource]="recordsDataSource"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [idForSavingPagination]="idForSavingPagination"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></app-list-paginator>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    SHOW ARCHIVED TOGGLE
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <div class="table-footer filter-inactive-toggle">
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <mat-slide-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [checked]="_showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (change)="showInactive = $event.checked"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      i18n="slider|also show entries that are archived"
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                  +      Include archived records
                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </mat-slide-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityActionsMenuComponent.html b/documentation/components/EntityActionsMenuComponent.html new file mode 100644 index 0000000000..5ac7af153a --- /dev/null +++ b/documentation/components/EntityActionsMenuComponent.html @@ -0,0 +1,970 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity-details/entity-actions-menu/entity-actions-menu.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(entityRemoveService: EntityActionsService, viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                    entityRemoveService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                    viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + navigateOnDelete +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    whether the "delete" action will trigger a navigation back to the parent list. +This is useful when the entity is deleted from a fullscreen detail view but not for an overlay.

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + showExpanded +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Whether some buttons should be displayed directly, outside the three-dot menu in dialog views.

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + actionTriggered +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + executeAction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + executeAction(action: EntityMenuActionItem) +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                    action + EntityMenuActionItem + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + actions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityMenuActionItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    The actions being displayed as menu items.

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + defaultActions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityMenuActionItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [ + { + action: "archive", + execute: (e) => this.entityRemoveService.archive(e), + permission: "update", + icon: "box-archive", + label: $localize`:entity context menu:Archive`, + tooltip: $localize`:entity context menu tooltip:Mark the record as inactive, hiding it from lists by default while keeping the data.`, + primaryAction: true, + }, + { + action: "anonymize", + execute: (e) => this.entityRemoveService.anonymize(e), + permission: "update", + icon: "user-secret", + label: $localize`:entity context menu:Anonymize`, + tooltip: $localize`:entity context menu tooltip:Remove all personal data and keep an archived basic record for statistical reporting.`, + }, + { + action: "delete", + execute: (e, nav) => this.entityRemoveService.delete(e, nav), + permission: "delete", + icon: "trash", + label: $localize`:entity context menu:Delete`, + tooltip: $localize`:entity context menu tooltip:Remove the record completely from the database.`, + }, + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Optional,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityActionsService } from "../../entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { IconProp } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityAction } from "../../permissions/permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type EntityMenuAction = "archive" | "anonymize" | "delete";
                                                                                                                                                                                                                                                                                                                                                                                                                                    +type EntityMenuActionItem = {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  action: EntityMenuAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  execute: (entity: Entity, navigateOnDelete?: boolean) => Promise<boolean>;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  permission?: EntityAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  icon: IconProp;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  tooltip?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** important action to be displayed directly, outside context menu in some views */
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  primaryAction?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +};
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-entity-actions-menu",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./entity-actions-menu.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./entity-actions-menu.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class EntityActionsMenuComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * whether the "delete" action will trigger a navigation back to the parent list.
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This is useful when the entity is deleted from a fullscreen detail view but not for an overlay.
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() navigateOnDelete: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() actionTriggered = new EventEmitter<EntityMenuAction>();
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The actions being displayed as menu items.
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  actions: EntityMenuActionItem[];
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly defaultActions: EntityMenuActionItem[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      action: "archive",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      execute: (e) => this.entityRemoveService.archive(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      permission: "update",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      icon: "box-archive",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      label: $localize`:entity context menu:Archive`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      tooltip: $localize`:entity context menu tooltip:Mark the record as inactive, hiding it from lists by default while keeping the data.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      primaryAction: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      action: "anonymize",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      execute: (e) => this.entityRemoveService.anonymize(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      permission: "update",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      icon: "user-secret",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      label: $localize`:entity context menu:Anonymize`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      tooltip: $localize`:entity context menu tooltip:Remove all personal data and keep an archived basic record for statistical reporting.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      action: "delete",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      execute: (e, nav) => this.entityRemoveService.delete(e, nav),
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      permission: "delete",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      icon: "trash",
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      label: $localize`:entity context menu:Delete`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      tooltip: $localize`:entity context menu tooltip:Remove the record completely from the database.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Whether some buttons should be displayed directly, outside the three-dot menu in dialog views.
                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() showExpanded?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityRemoveService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @Optional() protected viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (changes.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.filterAvailableActions();
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private filterAvailableActions() {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.actions = this.defaultActions.filter((action) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (!this.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      switch (action.action) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        case "archive":
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return this.entity.isActive && !this.entity.anonymized;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        case "anonymize":
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return !this.entity.anonymized && this.entity.getConstructor().hasPII;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        default:
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async executeAction(action: EntityMenuActionItem) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const result = await action.execute(
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.navigateOnDelete && !this.viewContext?.isDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (result) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.actionTriggered.emit(action.action);
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    setTimeout(() => this.filterAvailableActions());
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    @if (!entity?.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <!-- inline display of primary actions -->
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @for (a of actions; track a.action) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @if (showExpanded && viewContext?.isDialog && a.primaryAction) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (click)="executeAction(a)"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          operation: a.permission,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [angularticsCategory]="entity?.getType()"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [angularticsAction]="'entity_' + a.action"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [matTooltip]="a.tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [icon]="a.icon"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <span>{{ a.label }}</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <!-- context menu -->
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    color="primary"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    style="margin-top: -8px; margin-bottom: -8px"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [matMenuTriggerFor]="additional"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <fa-icon icon="ellipsis-v" class="standard-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <!-- context menu -->
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-menu #additional>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <!-- standard actions -->
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @for (a of actions; track a.action) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      @if (!a.primaryAction || !showExpanded || !viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          (click)="executeAction(a)"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                    +            operation: a.permission,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +            entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [angularticsCategory]="entity?.getType()"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [angularticsAction]="'entity_' + a.action"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [matTooltip]="a.tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          matTooltipPosition="before"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                    +            class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +            [icon]="a.icon"
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <span>{{ a.label }}</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <!-- additional actions -->
                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </mat-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./entity-actions-menu.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityArchivedInfoComponent.html b/documentation/components/EntityArchivedInfoComponent.html new file mode 100644 index 0000000000..20d0edb732 --- /dev/null +++ b/documentation/components/EntityArchivedInfoComponent.html @@ -0,0 +1,562 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity-details/entity-archived-info/entity-archived-info.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Informs users that the entity is inactive (or anonymized) and provides options to change the status.

                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(entityActionsService: EntityActionsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                      entityActionsService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + entityActionsService + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EntityActionsService + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityActionsService } from "../../entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Informs users that the entity is inactive (or anonymized) and provides options to change the status.
                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-entity-archived-info",
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [CommonModule, MatCardModule, MatButtonModule, FontAwesomeModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./entity-archived-info.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./entity-archived-info.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class EntityArchivedInfoComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(public entityActionsService: EntityActionsService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      <mat-card appearance="outlined" class="card" *ngIf="entity && !entity.isActive">
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-card-header class="card-header">
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <div mat-card-avatar class="card-icon">
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <fa-icon icon="info-circle" size="lg"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-card-title *ngIf="!entity.anonymized" i18n>Archived</mat-card-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-card-title *ngIf="entity.anonymized" i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >Anonymized & Archived</mat-card-title
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </mat-card-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <p *ngIf="entity.anonymized" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      This record has been anonymized. Details containing personal information
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      have been deleted and cannot be restored. For statistical reporting, this
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      basic record has been kept.
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <p i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      This record is archived and will be hidden from lists and select options
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-card-actions *ngIf="!entity.anonymized">
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (click)="entityActionsService.undoArchive(entity)"
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Reactivate
                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </mat-card-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +</mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./entity-archived-info.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +.card {
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  background-color: colors.$grey-transparent;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +.card-header {
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +.card-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  justify-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +  margin: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityBlockComponent.html b/documentation/components/EntityBlockComponent.html new file mode 100644 index 0000000000..3e53bf2764 --- /dev/null +++ b/documentation/components/EntityBlockComponent.html @@ -0,0 +1,776 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/basic-datatypes/entity/entity-block/entity-block.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Display an inline block representing an entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, router: Router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityId +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        If entityToDisplay is not set, entityId with prefix required to load the entity +If entityToDisplay is set, this input is ignored

                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityToDisplay +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + linkDisabled +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + showDetailsPage + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +showDetailsPage() +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entityBlockComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entityIcon + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgClass, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponentDirective } from "../../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FaDynamicIconComponent } from "../../../common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Display an inline block representing an entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-entity-block",
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./entity-block.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./entity-block.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [NgClass, NgIf, DynamicComponentDirective, FaDynamicIconComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class EntityBlockComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entityToDisplay: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() linkDisabled = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If `entityToDisplay` is not set, `entityId` with prefix required to load the entity
                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If `entityToDisplay` is set, this input is ignored
                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entityId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityBlockComponent: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityIcon: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.entityToDisplay) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.loadEntity();
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initDisplayDetails();
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async loadEntity() {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.entityId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityToDisplay = await this.entityMapper.load(
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Entity.extractTypeFromId(this.entityId),
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityId,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // this may be caused by restrictive permissions and therefore shouldn't be treated as a technical issue
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "[DISPLAY_ENTITY] Could not find entity.",
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityId,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        e,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initDisplayDetails() {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.entityToDisplay) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const entityType = this.entityToDisplay.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityBlockComponent = entityType.getBlockComponent();
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityIcon = entityType.icon;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  showDetailsPage() {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.linkDisabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityToDisplay.getConstructor().route,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityToDisplay.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        <span
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  class="block-height truncate-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [ngClass]="{ clickable: !linkDisabled }"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (click)="showDetailsPage()"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @if (entityBlockComponent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [appDynamicComponent]="{
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        component: entityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        config: {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +          entity: entityToDisplay,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +          linkDisabled: linkDisabled,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +          tooltipDisabled: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                        +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <app-fa-dynamic-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      *ngIf="entityIcon"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [icon]="entityIcon"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +      class="margin-right-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +    {{ entityToDisplay?.toString() }}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                        +</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./entity-block.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +.clickable {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  pointer-events: all;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +.clickable:hover {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  text-decoration: underline;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +.block-height {
                                                                                                                                                                                                                                                                                                                                                                                                                                        +  line-height: sizes.$icon-block;
                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityCountDashboardComponent.html b/documentation/components/EntityCountDashboardComponent.html new file mode 100644 index 0000000000..739b8eb86e --- /dev/null +++ b/documentation/components/EntityCountDashboardComponent.html @@ -0,0 +1,1133 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + DashboardWidget +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + EntityCountDashboardConfig + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(entityMapper: EntityMapperService, router: Router, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Entity name which should be grouped

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + groupBy +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "center" +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          The property of the Child entities to group counts by.

                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Default is "center".

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + getRequiredEntities(config: EntityCountDashboardConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DashboardWidget:48 +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                          config + EntityCountDashboardConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToChildrenList + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToChildrenList(filterId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                          filterId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + entityGroupCounts + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + entityIcon + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : IconName + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + groupedByEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          if the groupBy field is an entity reference this holds the related entity type, +so that the entity block will be displayed instead of an id string, +otherwise undefined, to display simply the group label.

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + totalEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + setentityType(value: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          Entity name which should be grouped

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                          value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigurableEnumValue } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { groupBy } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityDatatype } from "../../../../core/basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface EntityCountDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  groupBy?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("ChildrenCountDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("EntityCountDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-entity-count-dashboard-widget",
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./entity-count-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./entity-count-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EntityCountDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  implements EntityCountDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                          +{
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static getRequiredEntities(config: EntityCountDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return config?.entity || Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Entity name which should be grouped
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() set entityType(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this._entity = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private _entity: EntityConstructor = Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The property of the Child entities to group counts by.
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is "center".
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() groupBy = "center";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * if the groupBy field is an entity reference this holds the related entity type,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * so that the entity block will be displayed instead of an id string,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * otherwise undefined, to display simply the group label.
                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * */
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  groupedByEntity: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  totalEntities: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityGroupCounts: { label: string; value: number; id: string }[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityIcon: IconName;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const groupByType = this._entity.schema.get(this.groupBy);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.groupedByEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      groupByType.dataType === EntityDatatype.dataType
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ? groupByType.additional
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const entities = await this.entityMapper.loadType(this._entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.updateCounts(entities.filter((e) => e.isActive));
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.label = this._entity.labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.entityIcon = this._entity.icon;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToChildrenList(filterId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const params = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    params[this.groupBy] = filterId;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.router.navigate([this._entity.route], { queryParams: params });
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private updateCounts(entities: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.totalEntities = entities.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const groups = groupBy(entities, this.groupBy as keyof Entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.entityGroupCounts = groups.map(([group, entities]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const label = extractHumanReadableLabel(group);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: label,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        value: entities.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        id: group?.["id"] || label,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Get a human-readable string from the given value as a label.
                                                                                                                                                                                                                                                                                                                                                                                                                                          + * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                          +function extractHumanReadableLabel(
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  value: string | ConfigurableEnumValue | any,
                                                                                                                                                                                                                                                                                                                                                                                                                                          +): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  if (value === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return "";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  if (typeof value === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  if (value?.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return value.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  return String(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [icon]="entityIcon"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  theme="child"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [title]="totalEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [subtitle]="label"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [entries]="entityGroupCounts"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="table-wrapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <table
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      mat-table
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n-aria-label="Label for children count dashboard"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="Table showing disaggregation of the beneficiaries"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container matColumnDef="label">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <td *matCellDef="let group">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <span *ngIf="!groupedByEntity">{{ group.label }}</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                          +            *ngIf="groupedByEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +            [entityId]="group.id"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container matColumnDef="value">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <td *matCellDef="let group" class="text-align-end">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          {{ group.value }}
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container matColumnDef="link">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <td *matCellDef class="text-align-end">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <fa-icon icon="external-link-square-alt"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <tr hidden>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <th
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          scope="col"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n="The center that a partiipant belongs to, e.g. a city"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Center
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <th scope="col" i18n="The amount of children that study at one school">
                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Count of children
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <th scope="col" i18n="A link that takes a user to a center">Link</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        *matRowDef="let row; let i = index; columns: ['label', 'value', 'link']"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="goToChildrenList(row.id)"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="pointer"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        angularticsCategory="Navigation"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        angularticsAction="dashboard_children_count_school_link"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [angularticsLabel]="'list-entry-' + i"
                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./entity-count-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityCreateButtonComponent.html b/documentation/components/EntityCreateButtonComponent.html new file mode 100644 index 0000000000..a6610c7dcd --- /dev/null +++ b/documentation/components/EntityCreateButtonComponent.html @@ -0,0 +1,628 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/entity-create-button/entity-create-button.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + iconOnly +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Whether only an icon button without text should be displayed. +Default is false

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + newRecordFactory +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Optional factory method to create a new entity instance with some default values. +If not provided, the simple entityType constructor is used.

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entityCreate +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Emits a new entity instance when the user clicks the button.

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + create + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +create() +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            Create a new entity. +The entity is only written to the database when the user saves this record which is newly added in edit mode.

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-entity-create-button",
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./entity-create-button.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrl: "./entity-create-button.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EntityCreateButtonComponent<T extends Entity = Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Optional factory method to create a new entity instance with some default values.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * If not provided, the simple entityType constructor is used.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() newRecordFactory?: () => T;
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Emits a new entity instance when the user clicks the button.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() entityCreate = new EventEmitter<T>();
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Whether only an icon button without text should be displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default is false
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() iconOnly: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Create a new entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The entity is only written to the database when the user saves this record which is newly added in edit mode.
                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  create() {
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newRecord = this.newRecordFactory
                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? this.newRecordFactory()
                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : new this.entityType();
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityCreate.emit(newRecord);
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            <button
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [class.standard-add-button]="!iconOnly"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [class.table-action-button]="iconOnly"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  (click)="create()"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  angularticsCategory="UserAction"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [angularticsCategory]="entityType.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  angularticsAction="list_add_entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entity: entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    operation: 'create',
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  matTooltip="Create a new {{ entityType.label }} record"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    aria-label="add element"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    icon="plus-circle"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [class.standard-icon-with-text]="!iconOnly"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [class.icon-only]="iconOnly"
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <span *ngIf="!iconOnly" i18n>Add New</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                            +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityDetailsComponent.html b/documentation/components/EntityDetailsComponent.html new file mode 100644 index 0000000000..8115e629ad --- /dev/null +++ b/documentation/components/EntityDetailsComponent.html @@ -0,0 +1,912 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity-details/entity-details/entity-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              This component can be used to display an entity in more detail. +It groups subcomponents in panels. +Any component that is registered (has the DynamicComponent decorator) can be used as a subcomponent. +The subcomponents will be provided with the Entity object and the creating new status, as well as its static config.

                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + AbstractEntityDetailsComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + panels +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Panel[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              The configuration for the panels on this details page.

                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + Async + loadEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + loadEntity() +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + subscribeToEntityChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + subscribeToEntityChanges() +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Panel, PanelComponent, PanelConfig } from "../EntityDetailsConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { TabStateModule } from "../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { CommonModule, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityActionsMenuComponent } from "../entity-actions-menu/entity-actions-menu.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityArchivedInfoComponent } from "../entity-archived-info/entity-archived-info.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { UntilDestroy } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AbilityModule } from "@casl/angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AbstractEntityDetailsComponent } from "../abstract-entity-details/abstract-entity-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewActionsComponent } from "../../common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This component can be used to display an entity in more detail.
                                                                                                                                                                                                                                                                                                                                                                                                                                              + * It groups subcomponents in panels.
                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Any component that is registered (has the `DynamicComponent` decorator) can be used as a subcomponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The subcomponents will be provided with the Entity object and the creating new status, as well as its static config.
                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                              +@RouteTarget("EntityDetails")
                                                                                                                                                                                                                                                                                                                                                                                                                                              +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-entity-details",
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./entity-details.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./entity-details.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    TabStateModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntityActionsMenuComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntityArchivedInfoComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    AbilityModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ViewActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class EntityDetailsComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  extends AbstractEntityDetailsComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                              +{
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The configuration for the panels on this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() panels: Panel[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await super.ngOnChanges(changes);
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (changes.id || changes.entity || changes.panels) {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.initPanels();
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private initPanels() {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.panels = this.panels.map((p) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      title: p.title,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      components: p.components.map((c) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        title: c.title,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        component: c.component,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        config: this.getPanelConfig(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })),
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }));
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getPanelConfig(c: PanelComponent): PanelConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let panelConfig: PanelConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      entity: this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      creatingNew: this.entity.isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (typeof c.config === "object" && !Array.isArray(c.config)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      panelConfig = { ...c.config, ...panelConfig };
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      panelConfig.config = c.config;
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return panelConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              <!-- Header: title + actions -->
                                                                                                                                                                                                                                                                                                                                                                                                                                              +<app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @if (!entity?.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    {{ entity?.toString() }}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n="Title when adding a new entity">
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Adding new {{ this.entityConstructor?.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                              +</app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +<app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <app-entity-actions-menu
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [navigateOnDelete]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [showExpanded]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [routerLink]="['/admin/entity', entity?.getType()]"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [queryParams]="{ mode: 'details' }"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      queryParamsHandling="merge"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *ngIf="'update' | ablePure: 'Config' | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        icon="tools"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <span i18n>Edit Data Structure</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </app-entity-actions-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +</app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +<app-entity-archived-info [entity]="entity"></app-entity-archived-info>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +<!-- Content: tabbed components -->
                                                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-tab-group appTabStateMemo [preserveContent]="true">
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-tab
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    *ngFor="let panelConfig of panels"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [disabled]="entity?.isNew || unsavedChanges.pending"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <ng-template mat-tab-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <span
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [matTooltipDisabled]="!entity?.isNew"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        matTooltip="Save the new record to create it before accessing other details"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        i18n-matTooltip="
                                                                                                                                                                                                                                                                                                                                                                                                                                              +          Tooltip explaining disabled sections when creating new entity
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        {{ panelConfig.title }}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <ng-template matTabContent>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <div *ngIf="isLoading" class="process-spinner">
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        *ngFor="let componentConfig of panelConfig.components; let j = index"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        class="padding-top-large"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <h3 *ngIf="componentConfig.title && componentConfig.title !== ''">
                                                                                                                                                                                                                                                                                                                                                                                                                                              +          {{ componentConfig.title }}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        </h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <ng-template
                                                                                                                                                                                                                                                                                                                                                                                                                                              +          *ngIf="componentConfig.config?.entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +          [appDynamicComponent]="componentConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ></ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <br *ngIf="j < panelConfig.components.length - 1" />
                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./entity-details.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  height: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +.mat-mdc-tab-group {
                                                                                                                                                                                                                                                                                                                                                                                                                                              +  height: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityFieldEditComponent.html b/documentation/components/EntityFieldEditComponent.html new file mode 100644 index 0000000000..084ec67102 --- /dev/null +++ b/documentation/components/EntityFieldEditComponent.html @@ -0,0 +1,683 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/common-components/entity-field-edit/entity-field-edit.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Generic component to display one entity property field's editComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Dynamically extends field details from entity schema and +loads the relevant, specific EditComponent implementation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                For viewComponent of a field, see EntityFieldViewComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + compactMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                Whether to display the field in a limited space, hiding details like the help description button.

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + field +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ColumnConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                field id or full config

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + form +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : EntityForm<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + _field + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                full field config extended from schema (used internally and for template)

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { HelpButtonComponent } from "../help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ColumnConfig, FormFieldConfig } from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityFieldViewComponent } from "../entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Generic component to display one entity property field's editComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Dynamically extends field details from entity schema and
                                                                                                                                                                                                                                                                                                                                                                                                                                                + * loads the relevant, specific EditComponent implementation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                + * For viewComponent of a field, see EntityFieldViewComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-entity-field-edit",
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./entity-field-edit.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./entity-field-edit.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class EntityFieldEditComponent<T extends Entity = Entity>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** field id or full config */
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() field: ColumnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** full field config extended from schema (used internally and for template) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  _field: FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() entity: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() form: EntityForm<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Whether to display the field in a limited space, hiding details like the help description button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() compactMode: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(private entityFormService: EntityFormService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (changes.field || changes.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.updateField();
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private updateField() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this.entity?.getConstructor()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this._field = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._field = this.entityFormService.extendFormFieldConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                <div *ngIf="_field && _field.editComponent; else displayComponent">
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <div [class.field-with-tooltip-suffix]="_field.description">
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      [appDynamicComponent]="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                +        component: _field.editComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +        config: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +          formFieldConfig: _field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +          formControl: form?.get(_field.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                +          entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    *ngIf="!compactMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [text]="_field.description"
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ></app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +<ng-template #displayComponent>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <app-entity-field-view
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [field]="_field"
                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ></app-entity-field-view>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./entity-field-edit.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                .field-with-tooltip-suffix {
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: calc(100% - 48px);
                                                                                                                                                                                                                                                                                                                                                                                                                                                +  display: inline-block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityFieldLabelComponent.html b/documentation/components/EntityFieldLabelComponent.html new file mode 100644 index 0000000000..bcd4aabd3d --- /dev/null +++ b/documentation/components/EntityFieldLabelComponent.html @@ -0,0 +1,568 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/common-components/entity-field-label/entity-field-label.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Generic component to display the label of one form field of an entity +without having to handle overwriting the field config with potentially missing schema field details.

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  optional alternative to passing an entity, you can provide an entity type only

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + field +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ColumnConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  field id or full config

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + _field + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  full field config extended from schema (used internally and for template)

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ColumnConfig, FormFieldConfig } from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFormService } from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Generic component to display the label of one form field of an entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * without having to handle overwriting the field config with potentially missing schema field details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-entity-field-label",
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./entity-field-label.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [MatTooltipModule, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EntityFieldLabelComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** field id or full config */
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() field: ColumnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** full field config extended from schema (used internally and for template) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _field: FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** optional alternative to passing an entity, you can provide an entity type only */
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(private entityFormService: EntityFormService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (changes.field || changes.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.updateField();
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private updateField() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this._field = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._field = this.entityFormService.extendFormFieldConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  <span *ngIf="_field" [matTooltip]="_field.description">
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  {{ _field?.label ?? _field?.id }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityFieldViewComponent.html b/documentation/components/EntityFieldViewComponent.html new file mode 100644 index 0000000000..31cc0ba45c --- /dev/null +++ b/documentation/components/EntityFieldViewComponent.html @@ -0,0 +1,639 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/common-components/entity-field-view/entity-field-view.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Generic component to display one entity property field's viewComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Dynamically extends field details from entity schema and +loads the relevant, specific EditComponent implementation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    For editComponent form field, see EntityFieldEditComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : E + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + field +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ColumnConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    field id or full config

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + showLabel +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : "inline" | "above" | "none" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "none" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + _field + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    full field config extended from schema (used internally and for template)

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ColumnConfig, FormFieldConfig } from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityFormService } from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { PillComponent } from "../pill/pill.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Generic component to display one entity property field's viewComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Dynamically extends field details from entity schema and
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * loads the relevant, specific EditComponent implementation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * For editComponent form field, see EntityFieldEditComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-entity-field-view",
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./entity-field-view.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./entity-field-view.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [NgIf, DynamicComponentDirective, PillComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class EntityFieldViewComponent<E extends Entity = Entity>
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: E;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** field id or full config */
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() field: ColumnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** full field config extended from schema (used internally and for template) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  _field: FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() showLabel: "inline" | "above" | "none" = "none";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(private entityFormService: EntityFormService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (changes.field || changes.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.updateField();
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private updateField() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.entity?.getConstructor()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this._field = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._field = this.entityFormService.extendFormFieldConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    <div *ngIf="_field">
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div *ngIf="showLabel === 'above'" class="label">
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {{ _field.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <span *ngIf="showLabel === 'inline'">{{ _field.label }}:&nbsp;</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    *ngIf="_field.viewComponent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [appDynamicComponent]="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      component: _field.viewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      config: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        value: entity[_field.id],
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        id: _field.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        config: _field.additional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./entity-field-view.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.label {
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  font-size: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  color: colors.$muted;
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityFieldsMenuComponent.html b/documentation/components/EntityFieldsMenuComponent.html new file mode 100644 index 0000000000..955acb323d --- /dev/null +++ b/documentation/components/EntityFieldsMenuComponent.html @@ -0,0 +1,846 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/entity-fields-menu/entity-fields-menu.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + activeFields +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + availableFields +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + icon +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : IconProp + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : "eye" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + activeFieldsChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + toggleFieldSelection + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +toggleFieldSelection(field: FormFieldConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                      field + FormFieldConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + _availableFields + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + availableFields +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + setavailableFields(value: ColumnConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                      value + ColumnConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Optional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { IconProp } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityFieldLabelComponent } from "../entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  toFormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityFormService } from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-entity-fields-menu",
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./entity-fields-menu.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrl: "./entity-fields-menu.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class EntityFieldsMenuComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() icon: IconProp = "eye";
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() set availableFields(value: ColumnConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this._availableFields = value
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((field) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.entityFormService && this.entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ? this.entityFormService.extendFormFieldConfig(field, this.entityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          : toFormFieldConfig(field),
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((field) => field.label)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // filter duplicates:
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (item, pos, arr) => arr.findIndex((x) => x.id === item.id) === pos,
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  _availableFields: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() activeFields: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() activeFieldsChange = new EventEmitter<string[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(@Optional() private entityFormService: EntityFormService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  toggleFieldSelection(field: FormFieldConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.activeFields.includes(field.id)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.activeFields = this.activeFields.filter((f) => f !== field.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.activeFields = [...this.activeFields, field.id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.activeFieldsChange.emit(this.activeFields);
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [matMenuTriggerFor]="list"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  matTooltip="Add or remove visible fields"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  class="square-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <fa-icon [icon]="icon" transform="shrink-4"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<mat-menu #list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    *ngFor="let field of _availableFields"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (click)="toggleFieldSelection(field)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [icon]="activeFields.includes(field.id) ? 'toggle-on' : 'toggle-off'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <app-entity-field-label
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [field]="field"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ></app-entity-field-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</mat-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityFormComponent.html b/documentation/components/EntityFormComponent.html new file mode 100644 index 0000000000..eb2da620db --- /dev/null +++ b/documentation/components/EntityFormComponent.html @@ -0,0 +1,784 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/common-components/entity-form/entity-form/entity-form.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        A general purpose form component for displaying and editing entities. +It uses the FormFieldConfig interface for building the form fields but missing information are also fetched from +the entity's schema definitions. Properties with sufficient schema information can be displayed by only providing +the name of this property (and not an FormFieldConfig object).

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        This component can be used directly or in a popup. +Inside the entity details component use the FormComponent which is registered as dynamic component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, confirmationDialog: ConfirmationDialogService, ability: EntityAbility) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        The entity which should be displayed and edited

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + fieldGroups +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + form +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EntityForm<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + gridLayout +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        Whether the component should use a grid layout or just rows

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ViewEncapsulation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityForm } from "../entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ConfirmationDialogService } from "../../confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgClass, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Subscription } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityFieldEditComponent } from "../../entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FieldGroup } from "../../../entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityAbility } from "../../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A general purpose form component for displaying and editing entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * It uses the FormFieldConfig interface for building the form fields but missing information are also fetched from
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * the entity's schema definitions. Properties with sufficient schema information can be displayed by only providing
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * the name of this property (and not an FormFieldConfig object).
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This component can be used directly or in a popup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Inside the entity details component use the FormComponent which is registered as dynamic component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-entity-form",
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./entity-form.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./entity-form.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  // Use no encapsulation because we want to change the value of children (the mat-form-fields that are
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  // dynamically created)
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [NgForOf, NgIf, NgClass, EntityFieldEditComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class EntityFormComponent<T extends Entity = Entity>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The entity which should be displayed and edited
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entity: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() form: EntityForm<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Whether the component should use a grid layout or just rows
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() gridLayout = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initialFormValues: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private changesSubscription: Subscription;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.fieldGroups) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fieldGroups = this.filterFieldGroupsByPermissions(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.fieldGroups,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.entity && this.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.changesSubscription?.unsubscribe();
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.changesSubscription = this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .receiveUpdates(this.entity.getConstructor())
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          filter(({ entity }) => entity.getId() === this.entity.getId()),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          filter(({ type }) => type !== "remove"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          untilDestroyed(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .subscribe(({ entity }) => this.applyChanges(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.form && this.form) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.initialFormValues = this.form.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.disableForLockedEntity();
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async applyChanges(externallyUpdatedEntity: T) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.formIsUpToDate(externallyUpdatedEntity)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Object.assign(this.entity, externallyUpdatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const userEditedFields = Object.entries(this.form.getRawValue()).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ([key]) => this.form.controls[key].dirty,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let userEditsWithoutConflicts = userEditedFields.filter(([key]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // no conflict with updated values
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityEqualsFormValue(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        externallyUpdatedEntity[key],
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.initialFormValues[key],
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      userEditsWithoutConflicts.length !== userEditedFields.length &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      !(await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        $localize`Load changes?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        $localize`Local changes are in conflict with updated values synced from the server. Do you want the local changes to be overwritten with the latest values?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ))
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // user "resolved" conflicts by confirming to overwrite
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      userEditsWithoutConflicts = userEditedFields;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // apply update to all pristine (not user-edited) fields and update base entity (to avoid conflicts when saving)
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Object.assign(this.entity, externallyUpdatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Object.assign(this.initialFormValues, externallyUpdatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.form.reset(externallyUpdatedEntity as any);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // re-apply user-edited fields
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    userEditsWithoutConflicts.forEach(([key, value]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.form.get(key).setValue(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.form.get(key).markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private formIsUpToDate(entity: T): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return Object.entries(this.form.getRawValue()).every(([key, value]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityEqualsFormValue(entity[key], value),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private filterFieldGroupsByPermissions<T extends Entity = Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldGroups: FieldGroup[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): FieldGroup[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const action = entity.isNew ? "create" : "read";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return fieldGroups
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .map((group) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        group.fields = group.fields.filter((field) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.ability.can(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            action,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            typeof field === "string" ? field : field.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return group;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .filter((group) => group.fields.length > 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private entityEqualsFormValue(entityValue, formValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (entityValue instanceof Date &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        moment(entityValue).isSame(formValue, "day")) ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (entityValue === undefined && formValue === null) ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      entityValue === formValue ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      JSON.stringify(entityValue) === JSON.stringify(formValue)
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Disable the form for certain states of the entity, like it being already anonymized.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private disableForLockedEntity() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.entity?.anonymized) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        <form [ngClass]="{ 'grid-layout': gridLayout }">
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <div *ngFor="let group of fieldGroups" class="entity-form-cell">
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <h2 *ngIf="group.header">{{ group.header }}</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <div *ngFor="let field of group.fields">
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <app-entity-field-edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [field]="field"
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ></app-entity-field-edit>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./entity-form.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        @use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.grid-layout {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @include grid-layout.adaptive(
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    $min-block-width: sizes.$form-group-min-width,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    $max-screen-width: 414px
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.entity-form-cell {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /* set the width of each form field to 100% in every form component that is a descendent
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +     of the columns-wrapper class */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mat-form-field {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /* We align the photo (and only tht photo) to the center of the cell if there is one.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +     This looks better on desktop and mobile compared to an alignment to the start of the cell
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +     which is the default for all other elements */
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  > app-edit-photo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    align-self: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityImportConfigComponent.html b/documentation/components/EntityImportConfigComponent.html new file mode 100644 index 0000000000..f4402a5344 --- /dev/null +++ b/documentation/components/EntityImportConfigComponent.html @@ -0,0 +1,746 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/basic-datatypes/entity/entity-import-config/entity-import-config.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          Configuration UI for the EntityDatatype's import mapping function.

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • + Async + save +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(data: MappingDialogData, confirmation: ConfirmationDialogService, dialog: MatDialogRef, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                          data + MappingDialogData + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          confirmation + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          dialog + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + save() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + availableProperties + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : MappingDialogData + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + entity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + propertyForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new FormControl("") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MappingDialogData } from "../../../import/import-column-mapping/import-column-mapping.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityRegistry } from "../../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HelpButtonComponent } from "../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Configuration UI for the EntityDatatype's import mapping function.
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("EntityImportConfig")
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-entity-import-config",
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./entity-import-config.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./entity-import-config.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EntityImportConfigComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entity: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  propertyForm = new FormControl("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  availableProperties: { property: string; label: string }[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(MAT_DIALOG_DATA) public data: MappingDialogData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private confirmation: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private dialog: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const propertyName = this.data.col.propertyName;
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const entityName = this.data.entityType.schema.get(propertyName).additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.entity = this.entities.get(entityName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.availableProperties = [...this.entity.schema.entries()]
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .filter(([_, schema]) => !!schema.label)
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .map(([prop, schema]) => ({ label: schema.label, property: prop }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.propertyForm.setValue(this.data.col.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async save() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const confirmed =
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.propertyForm.value ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (await this.confirmation.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`Ignore for import?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`If no property is selected, this column will be skipped during import. Are you sure to keep it unmapped?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ));
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.data.col.additional = this.propertyForm.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.dialog.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          <mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <h3 i18n="Label for property selection">
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Select matching {{ entity.label }} property
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-select [formControl]="propertyForm">
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngFor="let property of availableProperties"
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [value]="property.property"
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >{{ property.label }}</mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text="Select which property of the target entity is matching with the values of this column. E.g. if your column contains names of children then select 'Name'."
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    i18n-text="import - value mapping (entity) - help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ></app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button mat-raised-button color="accent" (click)="save()" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Save & Close
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button mat-stroked-button matDialogClose i18n>Cancel</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./entity-import-config.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityInlineEditActionsComponent.html b/documentation/components/EntityInlineEditActionsComponent.html new file mode 100644 index 0000000000..49d925c296 --- /dev/null +++ b/documentation/components/EntityInlineEditActionsComponent.html @@ -0,0 +1,779 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/entities-table/entity-inline-edit-actions/entity-inline-edit-actions.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Buttons to edit an (entities-table) row inline, handling the necessary logic and UI buttons.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(entityFormService: EntityFormService, alertService: AlertService, entityRemoveService: EntityActionsService, unsavedChanges: UnsavedChangesService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityRemoveService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + row +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : TableRow<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + delete + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + delete() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + edit + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +edit() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + resetChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +resetChanges() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Discard any changes to the given entity and reset it to the state before the user started editing.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + save() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            Save an edited record to the database (if validation succeeds).

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DisableEntityOperationDirective } from "../../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { TableRow } from "../entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { InvalidFormFieldError } from "../../entity-form/invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFormService } from "../../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AlertService } from "../../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityActionsService } from "../../../entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { UnsavedChangesService } from "../../../entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Buttons to edit an (entities-table) row inline, handling the necessary logic and UI buttons.
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-entity-inline-edit-actions",
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./entity-inline-edit-actions.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrl: "./entity-inline-edit-actions.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EntityInlineEditActionsComponent<T extends Entity = Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() row: TableRow<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityRemoveService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  edit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.row.formGroup = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Array.from(this.row.record.getSchema().keys()),
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.row.record,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.row.formGroup.enable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Save an edited record to the database (if validation succeeds).
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async save(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.row.record = await this.entityFormService.saveChanges(
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.row.formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.row.record,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      delete this.row.formGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!(err instanceof InvalidFormFieldError)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.alertService.addDanger(err.message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async delete(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.entityRemoveService.delete(this.row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Discard any changes to the given entity and reset it to the state before the user started editing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  resetChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete this.row.formGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            <ng-container *ngIf="row && (!row.formGroup || row.formGroup.disabled)">
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity: row.record,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      operation: 'update',
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="edit(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon aria-label="edit" icon="pen"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div *ngIf="row?.formGroup?.enabled" class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="save(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [angularticsCategory]="row?.record?.getType()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsAction="subrecord_inlineedit_save"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon aria-label="save" icon="check-circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="resetChanges(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [angularticsCategory]="row?.record?.getType()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsAction="subrecord_inlineedit_cancel"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon aria-label="cancel" icon="times-circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity: row.record,
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      operation: 'delete',
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="delete(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [angularticsCategory]="row?.record?.getType()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsAction="subrecord_inlineedit_delete"
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <fa-icon aria-label="delete" icon="trash"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntityListComponent.html b/documentation/components/EntityListComponent.html new file mode 100644 index 0000000000..b5dd26ba63 --- /dev/null +++ b/documentation/components/EntityListComponent.html @@ -0,0 +1,2522 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity-list/entity-list/entity-list.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              This component allows to create a full-blown table with pagination, filtering, searching and grouping. +The filter and grouping settings are written into the URL params to allow going back to the previous view. +The pagination settings are stored for each user. +The columns can be any kind of component. +The column components will be provided with the Entity object, the id for this column, as well as its static config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              The component can be either used inside a template, or directly in a route through the config object.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + EntityListConfig + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(screenWidthObserver: ScreenWidthObserver, router: Router, activatedRoute: ActivatedRoute, entityMapperService: EntityMapperService, entities: EntityRegistry, dialog: MatDialog, duplicateRecord: DuplicateRecordService, entityActionsService: EntityActionsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                              screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              activatedRoute + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              duplicateRecord + DuplicateRecordService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityActionsService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + allEntities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : "navigate" | "popup" | "none" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "navigate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + columnGroups +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + defaultSort +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityConstructor +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + exportConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + filters +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              initial / default state whether to include archived records in the list

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + title +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + addNewClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + elementClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + addNew + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +addNew() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + anonymizeRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + anonymizeRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + applyFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +applyFilter(filterValue: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                              filterValue + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + archiveRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + archiveRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + deleteRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + deleteRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + duplicateRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +duplicateRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + Async + getEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Template method that can be overwritten to change the loading logic.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + Async + loadEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + loadEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + onRowClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +onRowClick(row: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                              row + T + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + openFilterOverlay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +openFilterOverlay() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Calling this function will display the filters in a popup

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + defaultColumnGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + filteredData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + filterFreetext + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + filterObj + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + filterString + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + groups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : GroupConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + isDesktop + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + mobileColumnGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + selectedColumnGroupIndex_ + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + selectedRows + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + selectedColumnGroupIndex +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + getselectedColumnGroupIndex() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + setselectedColumnGroupIndex(newValue: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                              newValue + number + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + offsetFilterStyle +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + getoffsetFilterStyle() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              defines the bottom margin of the topmost row in the +desktop version. This has to be bigger when there are +several column groups since there are +tabs with zero top-padding in this case

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : object + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ActivatedRoute, Router, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ColumnGroupsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  EntityListConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  FilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  GroupConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "../EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormFieldConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FilterOverlayComponent } from "../../filter/filter-overlay/filter-overlay.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NgStyle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FilterComponent } from "../../filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { TabStateModule } from "../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ExportDataDirective } from "../../export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DuplicateRecordService } from "../duplicate-records/duplicate-records.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ExportColumnConfig } from "../../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityActionsService } from "app/core/entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { applyUpdate } from "../../entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Subscription } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DataFilter } from "../../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityCreateButtonComponent } from "../../common-components/entity-create-button/entity-create-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AbilityModule } from "@casl/angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityActionsMenuComponent } from "../../entity-details/entity-actions-menu/entity-actions-menu.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewActionsComponent } from "../../common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This component allows to create a full-blown table with pagination, filtering, searching and grouping.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The filter and grouping settings are written into the URL params to allow going back to the previous view.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The pagination settings are stored for each user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The columns can be any kind of component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The column components will be provided with the Entity object, the id for this column, as well as its static config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The component can be either used inside a template, or directly in a route through the config object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@RouteTarget("EntityList")
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-entity-list",
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./entity-list.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./entity-list.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providers: [DuplicateRecordService],
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgStyle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FilterComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    TabStateModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntityCreateButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    AbilityModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntityActionsMenuComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ViewActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // WARNING: all imports here also need to be set for components extending EntityList, like ChildrenListComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class EntityListComponent<T extends Entity>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  implements EntityListConfig, OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() allEntities: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entityConstructor: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() defaultSort: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() exportConfig: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() clickMode: "navigate" | "popup" | "none" = "navigate";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** initial / default state whether to include archived records in the list */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() showInactive: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() elementClick = new EventEmitter<T>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() addNewClick = new EventEmitter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selectedRows: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  isDesktop: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() title = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() columns: (FormFieldConfig | string)[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() columnGroups: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  groups: GroupConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  defaultColumnGroup = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mobileColumnGroup = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() filters: FilterConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columnsToDisplay: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filterObj: DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filterString = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filteredData = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filterFreetext: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get selectedColumnGroupIndex(): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.selectedColumnGroupIndex_;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  set selectedColumnGroupIndex(newValue: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedColumnGroupIndex_ = newValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.columnsToDisplay = this.groups[newValue].columns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selectedColumnGroupIndex_: number = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * defines the bottom margin of the topmost row in the
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * desktop version. This has to be bigger when there are
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * several column groups since there are
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * tabs with zero top-padding in this case
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get offsetFilterStyle(): object {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const bottomMargin = this.groups.length > 1 ? 29 : 14;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "margin-bottom": `${bottomMargin}px`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private activatedRoute: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    protected entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private duplicateRecord: DuplicateRecordService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityActionsService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.screenWidthObserver
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .platform()
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe((isDesktop) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (!isDesktop) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.displayColumnGroupByName(this.mobileColumnGroup);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        } else if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.selectedColumnGroupIndex ===
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.getSelectedColumnIndexByName(this.mobileColumnGroup)
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.displayColumnGroupByName(this.defaultColumnGroup);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.isDesktop = isDesktop;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.buildComponentFromConfig();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async buildComponentFromConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entityConstructor = this.entities.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ) as EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!this.allEntities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // if no entities are passed as input, by default load all entities of the type
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.loadEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.title = this.title || this.entityConstructor?.labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.initColumnGroups(this.columnGroups);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.displayColumnGroupByName(
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.screenWidthObserver.isDesktop()
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? this.defaultColumnGroup
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : this.mobileColumnGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  protected async loadEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.allEntities = await this.getEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.listenToEntityUpdates();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Template method that can be overwritten to change the loading logic.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @protected
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  protected async getEntities(): Promise<T[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.entityMapperService.loadType(this.entityConstructor);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private updateSubscription: Subscription;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private listenToEntityUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!this.updateSubscription && this.entityConstructor) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.updateSubscription = this.entityMapperService
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .receiveUpdates(this.entityConstructor)
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .subscribe((next) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.allEntities = applyUpdate(this.allEntities, next);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private initColumnGroups(columnGroup?: ColumnGroupsConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (columnGroup && columnGroup.groups.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.groups = columnGroup.groups;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.defaultColumnGroup =
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        columnGroup.default || columnGroup.groups[0].name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.mobileColumnGroup = columnGroup.mobile || columnGroup.groups[0].name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.groups = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          name: "default",
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          columns: this.columns.map((c) => (typeof c === "string" ? c : c.id)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.defaultColumnGroup = "default";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.mobileColumnGroup = "default";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  applyFilter(filterValue: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // TODO: turn this into one of our filter types, so that all filtering happens the same way (and we avoid accessing internal datasource of sub-component here)
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.filterFreetext = filterValue.trim().toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private displayColumnGroupByName(columnGroupName: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const selectedColumnIndex =
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.getSelectedColumnIndexByName(columnGroupName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (selectedColumnIndex !== -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.selectedColumnGroupIndex = selectedColumnIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getSelectedColumnIndexByName(columnGroupName: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.groups.findIndex((c) => c.name === columnGroupName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Calling this function will display the filters in a popup
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  openFilterOverlay() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dialog.open(FilterOverlayComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        filterConfig: this.filters,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entityType: this.entityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entities: this.allEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        useUrlQueryParams: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        filterObjChange: (filter: DataFilter<T>) => (this.filterObj = filter),
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  addNew() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.clickMode === "navigate") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.router.navigate(["new"], { relativeTo: this.activatedRoute });
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.addNewClick.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  duplicateRecords() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.duplicateRecord.duplicateRecord(this.selectedRows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedRows = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async deleteRecords() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await this.entityActionsService.delete(this.selectedRows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedRows = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async archiveRecords() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await this.entityActionsService.archive(this.selectedRows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedRows = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async anonymizeRecords() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await this.entityActionsService.anonymize(this.selectedRows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.selectedRows = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  onRowClick(row: T) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.elementClick.emit(row);
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              <!-- Desktop version -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<div *ngIf="isDesktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <!-- Header bar; contains the title on the left and controls on the right -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <app-view-title [ngStyle]="offsetFilterStyle">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    {{ title }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <app-entity-create-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (entityCreate)="addNew()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ></app-entity-create-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <!-- Filters -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div class="flex-row gap-regular flex-wrap">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <app-filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *ngIf="!!allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="flex-row gap-regular flex-wrap"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [filterConfig]="filters"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [entities]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [useUrlQueryParams]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [(filterObj)]="filterObj"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></app-filter>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div class="mat-elevation-z1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div *ngIf="groups.length > 1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <mat-tab-group
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [(selectedIndex)]="selectedColumnGroupIndex"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        appTabStateMemo
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <mat-tab
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          *ngFor="let item of groups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          [label]="item.name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          angularticsAction="list_column_view"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          [angularticsLabel]="item.name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ></mat-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<!-- Mobile Version -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<div *ngIf="!isDesktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <h2>{{ title }}</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<!-- Templates and menus for both mobile and desktop -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<ng-template #filterDialog>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-form-field class="full-width filter-field">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-label
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      i18n="Filter placeholder|Allows the user to filter through entities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >Filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="full-width"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      i18n-placeholder="Examples of things to filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      placeholder="e.g. name, age"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (ngModelChange)="applyFilter($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [(ngModel)]="filterString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    />
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *ngIf="filterString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      aria-label="Clear"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (click)="filterString = ''; applyFilter('')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<ng-template #subrecord>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [records]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [customColumns]="columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [editable]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    (entityClick)="onRowClick($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [filter]="filterObj"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [sortBy]="defaultSort"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [(selectedRecords)]="selectedRows"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [selectable]="!!selectedRows"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    (filteredRecordsChange)="filteredData = $event"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [filterFreetext]="filterFreetext"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-menu #additional>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div class="hide-desktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (click)="addNew()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      angularticsCategory="UserAction"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [angularticsAction]="title.toLowerCase().replace(' ', '_') + '_add_new'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entity: entityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        operation: 'create',
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        aria-label="add element"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        icon="plus-circle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <span i18n="Add a new entity to a list of multiple entities">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Add New
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button mat-menu-item (click)="openFilterOverlay()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        aria-label="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        icon="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <span i18n="Show filter options popup for list"> Filter options </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [appExportData]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n="Download list contents as CSV"> Download all data (.csv) </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [appExportData]="filteredData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n="Download list contents as CSV"> Download current (.csv) </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    angularticsAction="import_file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [routerLink]="['/import']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [queryParams]="{ entityType: entityConstructor?.ENTITY_TYPE }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      aria-label="import file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      icon="file-import"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n> Import from file </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    (click)="selectedRows = []"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    matTooltip="Select multiple records for bulk actions like duplicating or deleting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    matTooltipPosition="before"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      aria-label="bulk actions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      icon="list-check"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n> Bulk Actions </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [routerLink]="['/admin/entity', entityConstructor.ENTITY_TYPE]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [queryParams]="{ mode: 'list' }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    queryParamsHandling="merge"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    *ngIf="'update' | ablePure: 'Config' | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      icon="tools"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <span i18n>Edit Data Structure</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <ng-content select="[mat-menu-item]"></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<ng-template #bulkActions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div *ngIf="!!selectedRows" class="bulk-action-button">
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div i18n>Actions on selected records:</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      class="flex-row gap-small bulk-action-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      matTooltip="Select rows for an action on multiple records"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (click)="archiveRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Archive
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (click)="anonymizeRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Anonymize
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (click)="deleteRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Delete
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (click)="duplicateRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Duplicate
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <button mat-raised-button (click)="selectedRows = undefined" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./entity-list.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              @use "../../../../styles/variables/breakpoints";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Aligns the baseline of the filter-field with the baseline
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * of the other controls.
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This only has to be done on the desktop
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.filter-field {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @media screen and (min-width: breakpoints.$md) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    /* restricts the width so that the field does not feel too big */
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    max-width: 412px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.bulk-action-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  position: fixed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  right: sizes.$large;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  z-index: 999;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  padding: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EntitySelectComponent.html b/documentation/components/EntitySelectComponent.html new file mode 100644 index 0000000000..552857b3ec --- /dev/null +++ b/documentation/components/EntitySelectComponent.html @@ -0,0 +1,1520 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/common-components/entity-select/entity-select.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapperService: EntityMapperService, formDialog: FormDialogService, entityRegistry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + accessor +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : (e) => e.toString() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The accessor used for filtering and when selecting a new +entity. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Per default, this filters for the name. If the entity +has no name, this filters for the entity's id.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + additionalFilter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : (_) => true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The entity-type (e.g. 'Child', 'School', e.t.c.) to set. + that displays the entities. Can be an array giving multiple types.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + form +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + includeInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The label is what is seen above the list. For example when used +in the note-details-view, this is "Children"

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + multi +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Whether users can select multiple entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + placeholder +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The placeholder is what is seen when someone clicks into the input- +field and adds new entities. +In the note-details-view, this is "Add children..." +The placeholder is only displayed if loading === false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + showEntities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Whether to show entities in the list. +Entities can still be selected using the autocomplete, +and selection as well as selectionChange will +still work as expected

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + recalculateMatchingInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +recalculateMatchingInactive(newAutocompleteFilter?: (o?: Entity) => void) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                Recalculates the number of inactive entities that match the current filter, +and optionally updates the current filter function (otherwise reuses the filter previously set)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                newAutocompleteFilter + function + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + toggleIncludeInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + toggleIncludeInactive() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + allEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + availableOptions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new BehaviorSubject<E[]>([]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + createNewEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + currentlyMatchingInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + entityToId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + loading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new BehaviorSubject(true) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                true when this is loading and false when it's ready. +This subject's state reflects the actual loading resp. the 'readiness'- +state of this component. Will trigger once loading is done

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Readonly + loadingPlaceholder + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : $localize`:A placeholder for the input element when select options are not loaded yet:loading...` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setentityType(type: string | string[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The entity-type (e.g. 'Child', 'School', e.t.c.) to set. + that displays the entities. Can be an array giving multiple types.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                type + string | string[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                The ENTITY_TYPE of a Entity. This affects the entities which will be loaded and the component +that displays the entities. Can be an array giving multiple types.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BehaviorSubject, lastValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormControl, FormsModule, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatChipsModule } from "@angular/material/chips";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatAutocompleteModule } from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { UntilDestroy } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorHintComponent } from "../error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BasicAutocompleteComponent } from "../basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatSlideToggle } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { asArray } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormDialogService } from "../../form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-entity-select",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./entity-select.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./entity-select.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatChipsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatSlideToggle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class EntitySelectComponent<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  E extends Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  T extends string[] | string = string[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  readonly loadingPlaceholder = $localize`:A placeholder for the input element when select options are not loaded yet:loading...`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() form: FormControl<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The entity-type (e.g. 'Child', 'School', e.t.c.) to set.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param type The ENTITY_TYPE of a Entity. This affects the entities which will be loaded and the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *             that displays the entities. Can be an array giving multiple types.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @throws Error when `type` is not in the entity-map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() set entityType(type: string | string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (type === undefined || type === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      type = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._entityType = Array.isArray(type) ? type : [type];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.loadAvailableEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private _entityType: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Whether users can select multiple entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() multi: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The label is what is seen above the list. For example when used
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * in the note-details-view, this is "Children"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The placeholder is what is seen when someone clicks into the input-
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * field and adds new entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * In the note-details-view, this is "Add children..."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The placeholder is only displayed if `loading === false`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() placeholder: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Whether to show entities in the list.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Entities can still be selected using the autocomplete,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and {@link selection} as well as {@link selectionChange} will
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * still work as expected
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() showEntities = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * true when this is loading and false when it's ready.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This subject's state reflects the actual loading resp. the 'readiness'-
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * state of this component. Will trigger once loading is done
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  loading = new BehaviorSubject(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  allEntities: E[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  availableOptions = new BehaviorSubject<E[]>([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() includeInactive: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  currentlyMatchingInactive: number = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The accessor used for filtering and when selecting a new
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * <br> Per default, this filters for the name. If the entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * has no name, this filters for the entity's id.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() accessor: (e: Entity) => string = (e) => e.toString();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entityToId = (option: E) => option.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() additionalFilter: (e: E) => boolean = (_) => true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async loadAvailableEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.loading.next(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.allEntities = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const type of this._entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.allEntities.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        ...(await this.entityMapperService.loadType<E>(type)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.allEntities.sort((a, b) => a.toString().localeCompare(b.toString()));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.updateAvailableOptions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.loading.next(false);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async updateAvailableOptions() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const includeInactive = (entity: E) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.includeInactive || entity.isActive;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const includeSelected = (entity: E) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      asArray(this.form.value).includes(entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const newAvailableEntities = this.allEntities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (e) => includeInactive(e) || includeSelected(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.alignAvailableAndSelectedEntities(newAvailableEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.availableOptions.next(newAvailableEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.recalculateMatchingInactive();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Edit form value (currently selected) and the given available Entities to be consistent:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Entities that do not exist should be removed from the form value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and availableEntities should contain all selected entities, even from other types.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async alignAvailableAndSelectedEntities(availableEntities: E[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.form.value === null || this.form.value === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let updatedValue: T = this.form.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const id of asArray(this.form.value)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (availableEntities.find((e) => id === e.getId())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // already available, nothing to do
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const additionalEntity = await this.getEntity(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (additionalEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        availableEntities.push(additionalEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        updatedValue = isMulti(this)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          ? ((updatedValue as string[]).filter((v) => v !== id) as T)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.form.value !== updatedValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.form.setValue(updatedValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async getEntity(selectedId: string): Promise<E | undefined> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const type = Entity.extractTypeFromId(selectedId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const entity = await this.entityMapperService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .load<E>(type, selectedId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .catch((err: Error) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          "[ENTITY_SELECT] Error loading selected entity.",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          selectedId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          err.message,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async toggleIncludeInactive() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.includeInactive = !this.includeInactive;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.updateAvailableOptions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private autocompleteFilter: (o: E) => boolean = () => true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Recalculates the number of inactive entities that match the current filter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and optionally updates the current filter function (otherwise reuses the filter previously set)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param newAutocompleteFilter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  recalculateMatchingInactive(newAutocompleteFilter?: (o: Entity) => boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (newAutocompleteFilter) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.autocompleteFilter = newAutocompleteFilter;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.currentlyMatchingInactive = this.allEntities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (e) => !e.isActive && this.autocompleteFilter(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ).length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  createNewEntity = async (input: string): Promise<E> => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this._entityType?.length < 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this._entityType.length > 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        "EntitySelect with multiple types is always creating a new entity of the first listed type only.",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // TODO: maybe display an additional popup asking the user to select which type should be created?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const newEntity = new (this.entityRegistry.get(this._entityType[0]))();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    applyTextToCreatedEntity(newEntity, input);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const dialogRef = this.formDialog.openFormPopup(newEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return lastValueFrom<E | undefined>(dialogRef.afterClosed());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +function isMulti(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  cmp: EntitySelectComponent<any, string | string[]>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +): cmp is EntitySelectComponent<any, string[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  return cmp.multi;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Update the given entity by applying the text entered by a user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * to the most likely appropriate entity field, inferred from the toString representation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export function applyTextToCreatedEntity(entity: Entity, input: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  const toStringFields = entity.getConstructor().toStringAttributes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  if (!toStringFields || toStringFields.length < 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  const inputParts = input.split(/\s+/);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  for (let i = 0; i < inputParts.length; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const targetProperty =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      toStringFields[i < toStringFields.length ? i : toStringFields.length - 1];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    entity[targetProperty] = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (entity[targetProperty] ?? "") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      inputParts[i]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ).trim();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <app-basic-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    #autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [formControl]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [valueMapper]="entityToId"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [optionToString]="accessor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    (autocompleteFilterChange)="recalculateMatchingInactive($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [multi]="multi"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [display]="showEntities ? 'chips' : 'none'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [options]="availableOptions | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [placeholder]="(loading | async) ? loadingPlaceholder : placeholder"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [createOption]="createNewEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <ng-template let-item>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        style="margin: auto"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        [entityToDisplay]="item"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        [linkDisabled]="form.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <ng-container autocompleteFooter *ngIf="currentlyMatchingInactive > 0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <mat-slide-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        [checked]="includeInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (toggleChange)="toggleIncludeInactive()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        i18n="Label for checkbox|e.g. include inactive children"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        >Also show {{ currentlyMatchingInactive }} inactive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      </mat-slide-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </app-basic-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    *ngIf="form.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    icon="caret-down"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    class="form-field-icon-suffix"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    (click)="autocomplete.showAutocomplete()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-error *ngIf="form.errors">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-error-hint [form]="form"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./entity-select.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                .chip {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  padding-top: 2px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  padding-bottom: 2px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/EnumDropdownComponent.html b/documentation/components/EnumDropdownComponent.html new file mode 100644 index 0000000000..057c2cd8dc --- /dev/null +++ b/documentation/components/EnumDropdownComponent.html @@ -0,0 +1,1022 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/configurable-enum/enum-dropdown/enum-dropdown.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(enumService: ConfigurableEnumService, entityMapper: EntityMapperService, ability: EntityAbility, dialog: MatDialog, confirmation: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  confirmation + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + enumId +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + form +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormControl + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + multi +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + openSettings + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +openSettings(event: Event) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  event + Event + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + canEdit + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + createNewOption + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + enumEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ConfigurableEnum + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + enumValueToString + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + invalidOptions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ConfigurableEnumValue[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + options + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ConfigurableEnumValue[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnumDirective } from "../configurable-enum-directive/configurable-enum.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { BasicAutocompleteComponent } from "../../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnumService } from "../configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnum } from "../configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityAbility } from "../../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigureEnumPopupComponent } from "../configure-enum-popup/configure-enum-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfirmationDialogService } from "../../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { OkButton } from "../../../common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-enum-dropdown",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./enum-dropdown.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./enum-dropdown.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ConfigurableEnumDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EnumDropdownComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() form: FormControl; // cannot be named "formControl" - otherwise the angular directive grabs this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() multi = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  enumEntity: ConfigurableEnum;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  invalidOptions: ConfigurableEnumValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  options: ConfigurableEnumValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  canEdit = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  enumValueToString = (v: ConfigurableEnumValue) => v?.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  createNewOption: (input: string) => Promise<ConfigurableEnumValue>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private confirmation: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (changes.hasOwnProperty("enumId")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.enumEntity = this.enumService.getEnum(this.enumId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.canEdit = this.ability.can("update", this.enumEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (this.canEdit) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.createNewOption = this.addNewOption.bind(this);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (changes.hasOwnProperty("enumId") || changes.hasOwnProperty("form")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.invalidOptions = this.prepareInvalidOptions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.options = [...(this.enumEntity?.values ?? []), ...this.invalidOptions];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private prepareInvalidOptions(): ConfigurableEnumValue[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let additionalOptions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.multi && this.form.value?.isInvalidOption) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      additionalOptions = [this.form.value];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.multi) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      additionalOptions = this.form.value?.filter((o) => o.isInvalidOption);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return additionalOptions ?? [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async addNewOption(name: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const prevValues = JSON.stringify(this.enumEntity.values);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let addedOption: ConfigurableEnumValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      addedOption = this.enumEntity.addOption(name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } catch (error) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.confirmation.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        $localize`Failed to create new option`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        $localize`Couldn't create this new option. Please check if the value already exists.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        OkButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!addedOption) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const userConfirmed = await this.confirmation.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`Create new option`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`Do you want to create the new option "${addedOption.label}"?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!userConfirmed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.enumEntity.values = JSON.parse(prevValues);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    await this.entityMapper.save(this.enumEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return addedOption;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  openSettings(event: Event) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    event.stopPropagation();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .open(ConfigureEnumPopupComponent, { data: this.enumEntity })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe(() => this.updateOptions());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private updateOptions() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.form.value &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // value not in options anymore
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      !this.enumEntity.values.some((v) => v.id === this.form.value.id) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // but was in options previously
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.options.some((v) => v.id === this.form.value.id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.form.setValue(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.options = [...(this.enumEntity?.values ?? []), ...this.invalidOptions];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-label>{{ label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <app-basic-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    #autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [formControl]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [multi]="multi"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [options]="options"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [optionToString]="enumValueToString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [createOption]="createNewOption"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></app-basic-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    *ngIf="form.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    icon="caret-down"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    class="form-field-icon-suffix"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (click)="autocomplete.showAutocomplete()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    *ngIf="form.enabled && !!createNewOption && canEdit"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    class="form-field-icon-suffix"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (click)="openSettings($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    icon="wrench"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-error *ngIf="form.errors">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <app-error-hint [form]="form"></app-error-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + ./enum-dropdown.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ErrorHintComponent.html b/documentation/components/ErrorHintComponent.html new file mode 100644 index 0000000000..15126ead77 --- /dev/null +++ b/documentation/components/ErrorHintComponent.html @@ -0,0 +1,404 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/common-components/error-hint/error-hint.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + form +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : UntypedFormControl + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UntypedFormControl } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { KeyValuePipe, NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-error-hint",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./error-hint.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./error-hint.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [NgForOf, KeyValuePipe],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ErrorHintComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() form: UntypedFormControl;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <div *ngFor="let err of form?.errors | keyvalue">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  {{ err.value["errorMessage"] }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./error-hint.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/FaDynamicIconComponent.html b/documentation/components/FaDynamicIconComponent.html new file mode 100644 index 0000000000..9d998a8fb6 --- /dev/null +++ b/documentation/components/FaDynamicIconComponent.html @@ -0,0 +1,738 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/fa-dynamic-icon/fa-dynamic-icon.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      This component can be used to display dynamic Font-Awesome icons. +The term 'dynamic icons' refers to icons that are injected at runtime, +for example through the config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(iconLibrary: FaIconLibrary) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      iconLibrary + FaIconLibrary + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + icon +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Sets the dynamic icon by name. +You should make sure that the icon is registered inside the iconAliases-map, +or put it into this map if it isn't there. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +If for some reason the icon is not inside the map or cannot be inserted into the map, +the icon name has to match the exact icon name as provided by font-awesome. +A prefix can be specified using the syntax " ", for example +"far address-book". The default prefix, if not specified, is "fas" +(font-awesome solid icons) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +In case the provided icon still doesn't exist, a question-mark-icon with circle +(see fallbackIcon) will be shown. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +Note that there is no getter and you should not attempt to get the icon name, for example via +_icon#iconName since it is not guaranteed to be the same as the provided name

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + _icon + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : IconDefinition + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The font-awesome internal icon definition

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + fallbackIcon + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : faQuestionCircle +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The fallback icon if the given icon is neither known (inside the internal map) +nor registered as a font-awesome icon

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + icon +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + seticon(icon: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Sets the dynamic icon by name. +You should make sure that the icon is registered inside the iconAliases-map, +or put it into this map if it isn't there. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +If for some reason the icon is not inside the map or cannot be inserted into the map, +the icon name has to match the exact icon name as provided by font-awesome. +A prefix can be specified using the syntax " ", for example +"far address-book". The default prefix, if not specified, is "fas" +(font-awesome solid icons) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +In case the provided icon still doesn't exist, a question-mark-icon with circle +(see fallbackIcon) will be shown. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +Note that there is no getter and you should not attempt to get the icon name, for example via +_icon#iconName since it is not guaranteed to be the same as the provided name

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      icon + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      the icon name

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  IconDefinition,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  IconName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  IconPrefix,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faCalendarAlt,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faCalendarCheck,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faChartLine,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faFileAlt,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faQuestionCircle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  faUsers,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@fortawesome/free-solid-svg-icons";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FaIconLibrary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A map to prevent old configs to be broken
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +const iconAliases = new Map<string, IconDefinition>([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["calendar-check-o", faCalendarCheck],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["file-text", faFileAlt],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["question", faQuestionCircle],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["line-chart", faChartLine],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["calendar", faCalendarAlt],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ["users", faUsers],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This component can be used to display dynamic Font-Awesome icons.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The term 'dynamic icons' refers to icons that are injected at runtime,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * for example through the config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-fa-dynamic-icon",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  template: ` <fa-icon *ngIf="_icon" [icon]="_icon"></fa-icon>`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [FontAwesomeModule, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class FaDynamicIconComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** The fallback icon if the given icon is neither known (inside the internal map)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * nor registered as a font-awesome icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static fallbackIcon = faQuestionCircle;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Sets the dynamic icon by name.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * You should make sure that the icon is registered inside the {@link iconAliases}-map,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * or put it into this map if it isn't there.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If for some reason the icon is not inside the map or cannot be inserted into the map,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * the icon name has to match the <em>exact</em> icon name as provided by font-awesome.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A prefix can be specified using the syntax "<prefix> <icon-name>", for example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * "far address-book". The default prefix, if not specified, is "fas"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * (font-awesome solid icons)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * In case the provided icon still doesn't exist, a question-mark-icon with circle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * (see {@link fallbackIcon}) will be shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Note that there is no getter and you should not attempt to get the icon name, for example via
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * {@link _icon#iconName} since it is not guaranteed to be the same as the provided name
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param icon the icon name
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() set icon(icon: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!icon) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this._icon = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let definition = iconAliases.get(icon);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!definition && icon) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const iconAndDef = icon.split(" ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (iconAndDef.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        definition = this.iconLibrary.getIconDefinition(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          "fas",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          icon as IconName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        definition = this.iconLibrary.getIconDefinition(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          iconAndDef[0] as IconPrefix,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          iconAndDef[1] as IconName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // Fallback if the icon is not available: search through the icon definitions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!definition) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // Fallback if the icon is neither in the map nor a registered icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      definition = FaDynamicIconComponent.fallbackIcon;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        `Tried to set icon "${icon}" but it does not exist as a font awesome regular item nor is it registered as an alias.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this._icon = definition;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The font-awesome internal icon definition
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  _icon: IconDefinition;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private iconLibrary: FaIconLibrary) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/FilterComponent.html b/documentation/components/FilterComponent.html new file mode 100644 index 0000000000..65ff32d658 --- /dev/null +++ b/documentation/components/FilterComponent.html @@ -0,0 +1,995 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/filter/filter/filter.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This component can be used to display filters, for example above tables.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(filterGenerator: FilterGeneratorService, filterService: FilterService, router: Router, route: ActivatedRoute) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        filterGenerator + FilterGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The list of entities. This is used to detect which options should be available

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The type of entities that will be filtered

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + filterConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The filter configuration from the config

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + filterObj +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The filter query which is build by combining all selected filters. +This can be used as two-way-binding or through the filterObjChange output.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + onlyShowRelevantFilterOptions +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If true, only filter options are shown, for which some entities pass the filter. +default false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + useUrlQueryParams +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If true, the filter state will be stored in the url and automatically applied on reload or navigation. +default false.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + filterObjChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        An event emitter that notifies about updates of the filter.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + filterOptionSelected + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +filterOptionSelected(filter: Filter<T>, selectedOptions: string[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        filter + Filter<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        selectedOptions + string[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + filterSelections + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Filter<T>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + urlPath + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : getUrlWithoutParams(this.router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FilterConfig } from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FilterGeneratorService } from "../filter-generator/filter-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ActivatedRoute, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgComponentOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { getUrlWithoutParams } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FilterService } from "../filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DataFilter, Filter } from "../filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This component can be used to display filters, for example above tables.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-filter",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./filter.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [NgComponentOutlet],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class FilterComponent<T extends Entity = Entity> implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The filter configuration from the config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() filterConfig: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The type of entities that will be filtered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The list of entities. This is used to detect which options should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entities: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If true, the filter state will be stored in the url and automatically applied on reload or navigation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * default `false`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() useUrlQueryParams = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If true, only filter options are shown, for which some entities pass the filter.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * default `false`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() onlyShowRelevantFilterOptions = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The filter query which is build by combining all selected filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * This can be used as two-way-binding or through the `filterObjChange` output.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() filterObj: DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * An event emitter that notifies about updates of the filter.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Output() filterObjChange = new EventEmitter<DataFilter<T>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  filterSelections: Filter<T>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  urlPath = getUrlWithoutParams(this.router);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private filterGenerator: FilterGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.filterConfig || changes.entityType || changes.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.filterSelections = await this.filterGenerator.generate(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.filterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.onlyShowRelevantFilterOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      for (const filter of this.filterSelections) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        filter.selectedOptionChange.subscribe((event) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.filterOptionSelected(filter, event),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.loadUrlParams();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.applyFilterSelections();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  filterOptionSelected(filter: Filter<T>, selectedOptions: string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    filter.selectedOptionValues = selectedOptions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.applyFilterSelections();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.useUrlQueryParams) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.updateUrl(filter.name, selectedOptions.toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private applyFilterSelections() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const previousFilter: string = JSON.stringify(this.filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const newFilter: DataFilter<T> = this.filterService.combineFilters<T>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.filterSelections,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (previousFilter === JSON.stringify(newFilter)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.filterObj = newFilter;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.filterObjChange.emit(this.filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private updateUrl(key: string, value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const params = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    params[key] = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.router.navigate([], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      relativeTo: this.route,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      queryParams: params,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      queryParamsHandling: "merge",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private loadUrlParams() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.useUrlQueryParams) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const params = this.route.snapshot.queryParams;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.filterSelections.forEach((f) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (params.hasOwnProperty(f.name)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        f.selectedOptionValues = params[f.name]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          .split(",")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          .filter((value) => value !== "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        @for (filter of filterSelections; track filter.name) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngComponentOutlet="filter.component; inputs: { filterConfig: filter }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/FilterOverlayComponent.html b/documentation/components/FilterOverlayComponent.html new file mode 100644 index 0000000000..18c1ce887e --- /dev/null +++ b/documentation/components/FilterOverlayComponent.html @@ -0,0 +1,504 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/filter/filter-overlay/filter-overlay.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The component that shows filter options on small screens +via a popover instead of the menu

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • + + Public + data +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(data: FilterOverlayData<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          data + FilterOverlayData<T> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FilterOverlayData<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FilterConfig } from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FilterComponent } from "../filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DataFilter } from "../filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface FilterOverlayData<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  filterConfig: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entities: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  useUrlQueryParams: true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  filterObjChange: (filter: DataFilter<T>) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * The component that shows filter options on small screens
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * via a popover instead of the menu
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-filter-overlay",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./filter-overlay.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styles: [":host { display: block }"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [MatDialogModule, FilterComponent, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class FilterOverlayComponent<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(@Inject(MAT_DIALOG_DATA) public data: FilterOverlayData<T>) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <h1 mat-dialog-title i18n>Filter Options</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [filterConfig]="data.filterConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [entityType]="data.entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [entities]="data.entities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [useUrlQueryParams]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (filterObjChange)="data.filterObjChange($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </app-filter>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button mat-raised-button mat-dialog-close i18n>Close</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          :host { display: block }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/FormComponent.html b/documentation/components/FormComponent.html new file mode 100644 index 0000000000..dc51ab5902 --- /dev/null +++ b/documentation/components/FormComponent.html @@ -0,0 +1,846 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity-details/form/form.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A simple wrapper function of the EntityFormComponent which can be used as a dynamic component +e.g. as a panel for the EntityDetailsComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + FormConfig + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(router: Router, location: Location, entityFormService: EntityFormService, alertService: AlertService, viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + creatingNew +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : E + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + fieldGroups +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + cancelClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +cancelClicked() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + saveClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + saveClicked() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EntityForm<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input, OnInit, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { getParentUrl } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Location, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { InvalidFormFieldError } from "../../common-components/entity-form/invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFormComponent } from "../../common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FieldGroup } from "./field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A simple wrapper function of the EntityFormComponent which can be used as a dynamic component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * e.g. as a panel for the EntityDetailsComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("Form")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-form",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./form.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./form.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class FormComponent<E extends Entity> implements FormConfig, OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() entity: E;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() creatingNew = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  form: EntityForm<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Optional() private viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.form = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [].concat(...this.fieldGroups.map((group) => group.fields)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!this.creatingNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async saveClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.entityFormService.saveChanges(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.creatingNew && !this.viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        await this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          getParentUrl(this.router),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.entity.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!(err instanceof InvalidFormFieldError)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.alertService.addDanger(err.message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  cancelClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.creatingNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.location.back();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityFormService.resetForm(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Config format that the FormComponent handles.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface FormConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  class="form-buttons-wrapper padding-bottom-small flex-row gap-small align-self-end"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *ngIf="form?.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="saveClicked()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    i18n="Save button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *ngIf="form?.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="cancelClicked()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    i18n="Cancel button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <ng-container *ngIf="form?.disabled && !entity?.anonymized">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (click)="form.enable()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        operation: 'update',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      i18n="Edit button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [fieldGroups]="fieldGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +></app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./form.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.form-buttons-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  position: sticky;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  top: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  z-index: 100;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-right: 3px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  padding: sizes.$x-small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/GroupedChildAttendanceComponent.html b/documentation/components/GroupedChildAttendanceComponent.html new file mode 100644 index 0000000000..4d850d4820 --- /dev/null +++ b/documentation/components/GroupedChildAttendanceComponent.html @@ -0,0 +1,598 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/children/child-details/grouped-child-attendance/grouped-child-attendance.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(attendanceService: AttendanceService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Child + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : new Child("") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + activities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : RecurringActivity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + loading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Input, OnInit, ViewEncapsulation } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Child } from "../../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AttendanceService } from "../../../attendance/attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RecurringActivity } from "../../../attendance/model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { TabStateModule } from "../../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ActivityAttendanceSectionComponent } from "../../../attendance/activity-attendance-section/activity-attendance-section.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("GroupedChildAttendance")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-grouped-child-attendance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./grouped-child-attendance.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./grouped-child-attendance.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    TabStateModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ActivityAttendanceSectionComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class GroupedChildAttendanceComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entity: Child = new Child("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  loading: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  activities: RecurringActivity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(private attendanceService: AttendanceService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.loadActivities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async loadActivities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.loading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.activities = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.attendanceService.getActivitiesForChild(this.entity.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ).filter((a) => !a.excludedParticipants.includes(this.entity.getId()));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.loading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <div *ngIf="loading">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-tab-group appTabStateMemo class="activity-tab-group">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-tab *ngFor="let activity of activities" [label]="activity.title">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <app-activity-attendance-section
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [entity]="activity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [forChild]="entity.getId()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </app-activity-attendance-section>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./grouped-child-attendance.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .activity-tab-group .mat-mdc-tab-body-content {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/HelpButtonComponent.html b/documentation/components/HelpButtonComponent.html new file mode 100644 index 0000000000..8d71d1c78c --- /dev/null +++ b/documentation/components/HelpButtonComponent.html @@ -0,0 +1,432 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/common-components/help-button/help-button.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Display a help button that shows the user additional guidance and explanations when necessary +as the user clicks on it.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + text +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Help text to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Display a help button that shows the user additional guidance and explanations when necessary
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * as the user clicks on it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-help-button",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./help-button.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./help-button.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [FontAwesomeModule, MatButtonModule, NgIf, MatTooltipModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class HelpButtonComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Help text to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  *ngIf="text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  #tooltipElement="matTooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [matTooltip]="text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  (click)="tooltipElement.show()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <fa-icon icon="question-circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./help-button.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/HistoricalDataComponent.html b/documentation/components/HistoricalDataComponent.html new file mode 100644 index 0000000000..2b8f9d7cee --- /dev/null +++ b/documentation/components/HistoricalDataComponent.html @@ -0,0 +1,1342 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/historical-data/historical-data/historical-data.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  A general component that can be included on a entity details page through the config. +It loads all historical data related to that entity and displays it in a table. +The columns that are displayed can be configured according to the ColumnDescription interface

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + RelatedEntitiesComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(historicalDataService: HistoricalDataService, entityMapper: EntityMapperService, entityRegistry: EntityRegistry, screenWidthObserver: ScreenWidthObserver, filterService: FilterService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  historicalDataService + HistoricalDataService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : HistoricalEntityData +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + setconfig(value: FormFieldConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value + FormFieldConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { HistoricalEntityData } from "../model/historical-entity-data";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { HistoricalDataService } from "../historical-data.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RelatedEntitiesComponent } from "../../../core/entity-details/related-entities/related-entities.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * A general component that can be included on a entity details page through the config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * It loads all historical data related to that entity and displays it in a table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * The columns that are displayed can be configured according to the `ColumnDescription` interface
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("HistoricalDataComponent")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-historical-data",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    "../../../core/entity-details/related-entities/related-entities.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [EntitiesTableComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class HistoricalDataComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  extends RelatedEntitiesComponent<HistoricalEntityData>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entityCtr = HistoricalEntityData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** @deprecated use @Input() columns instead */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set config(value: FormFieldConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (Array.isArray(value)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.columns = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private historicalDataService: HistoricalDataService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super(entityMapper, entityRegistry, screenWidthObserver, filterService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  override getData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.historicalDataService.getHistoricalDataFor(this.entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [editable]="editable"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImagePopupComponent.html b/documentation/components/ImagePopupComponent.html new file mode 100644 index 0000000000..ac7c9ae13d --- /dev/null +++ b/documentation/components/ImagePopupComponent.html @@ -0,0 +1,474 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/file/edit-photo/image-popup/image-popup.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • + + Public + data +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(data: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    data + literal type + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DialogCloseComponent } from "../../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-image-popup",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [CommonModule, DialogCloseComponent, MatDialogModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./image-popup.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./image-popup.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ImagePopupComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(@Inject(MAT_DIALOG_DATA) public data: { url: string }) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +<img [src]="data.url" style="margin: 40px" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./image-popup.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    img {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  max-width: 60vw;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportAdditionalActionsComponent.html b/documentation/components/ImportAdditionalActionsComponent.html new file mode 100644 index 0000000000..0dd60a5970 --- /dev/null +++ b/documentation/components/ImportAdditionalActionsComponent.html @@ -0,0 +1,1085 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/import/import-additional-actions/import-additional-actions.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Import sub-step: Let user select additional import actions like adding entities to a group entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(entityMapper: EntityMapperService, entityTypeLabelPipe: EntityTypeLabelPipe, importService: ImportService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityTypeLabelPipe + EntityTypeLabelPipe + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      importService + ImportService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + importActions +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : AdditionalImportAction[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + importActionsChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + addAction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +addAction() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + removeAction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +removeAction(actionToRemove: AdditionalImportAction) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      actionToRemove + AdditionalImportAction + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + actionSelected + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + entityToId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + linkableEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + linkableEntityTypes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + linkEntityForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : new FormGroup({ + type: new FormControl({ value: "", disabled: true }), + id: new FormControl({ value: "", disabled: true }), + }) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + typeToString + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormControl, FormGroup, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityTypeLabelPipe } from "../../common-components/entity-type-label/entity-type-label.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AdditionalImportAction } from "./additional-import-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ImportService } from "../import.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatListModule } from "@angular/material/list";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { BasicAutocompleteComponent } from "../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Import sub-step: Let user select additional import actions like adding entities to a group entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-import-additional-actions",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./import-additional-actions.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./import-additional-actions.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatListModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    EntityTypeLabelPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providers: [EntityTypeLabelPipe],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ImportAdditionalActionsComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() importActions: AdditionalImportAction[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() importActionsChange = new EventEmitter<AdditionalImportAction[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  linkableEntityTypes: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  typeToString = (val) => this.entityTypeLabelPipe.transform(val);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  linkableEntities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityToId = (e: Entity) => e.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  linkEntityForm = new FormGroup({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    type: new FormControl({ value: "", disabled: true }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: new FormControl({ value: "", disabled: true }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  actionSelected: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityTypeLabelPipe: EntityTypeLabelPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private importService: ImportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.linkEntityForm
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get("type")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.subscribe((val) => this.updateSelectableOptions(val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.linkEntityForm
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get("id")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.subscribe((val) => (this.actionSelected = !!val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (changes.hasOwnProperty("entityType")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.updateSelectableTypes();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private updateSelectableTypes() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.linkEntityForm.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!this.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkEntityForm.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkableEntityTypes = this.importService.getLinkableEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkEntityForm.enable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.updateSelectableOptions(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async updateSelectableOptions(newLinkType: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (newLinkType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkableEntities = await this.entityMapper.loadType(newLinkType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkEntityForm.get("id").enable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkableEntities = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.linkEntityForm.get("id").disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  addAction() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const newAction = this.linkEntityForm.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.importActions = [...(this.importActions ?? []), newAction];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.linkEntityForm.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.importActionsChange.emit(this.importActions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  removeAction(actionToRemove: AdditionalImportAction) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.importActions = this.importActions.filter((a) => a !== actionToRemove);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.importActionsChange.emit(this.importActions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <!-- Existing additional actions -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-list-item *ngFor="let action of importActions">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        icon="xmark"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        matListItemIcon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (click)="removeAction(action)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        matTooltip="Remove"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        class="existing-action-remove"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <div matListItemTitle i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        Link all imported records to {{ action.type | entityTypeLabel }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <div matListItemLine>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [entityId]="action.id"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-list-item>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </mat-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    *ngIf="!(importActions?.length > 0)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    class="no-actions margin-bottom-large"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    i18n="import additional actions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    no additional actions selected
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<!-- Create new additional action -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<form [formGroup]="linkEntityForm">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-error *ngIf="linkEntityForm.disabled" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Select an Import Target Type before defining additional actions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-label i18n="Label for linked entity type input"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        >Linked record type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <app-basic-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formControlName="type"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [options]="linkableEntityTypes"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [optionToString]="typeToString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ></app-basic-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-label i18n="Label for linked entity input">Linked record</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <app-basic-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formControlName="id"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [options]="linkableEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [valueMapper]="entityToId"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <ng-template let-item>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            [entityToDisplay]="item"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </app-basic-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (click)="addAction()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [disabled]="!actionSelected"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="action-add-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Add Action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./import-additional-actions.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      .action-add-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  margin: auto 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.existing-action-remove {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.no-actions {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportColumnMappingComponent.html b/documentation/components/ImportColumnMappingComponent.html new file mode 100644 index 0000000000..36bbfe2d5c --- /dev/null +++ b/documentation/components/ImportColumnMappingComponent.html @@ -0,0 +1,1239 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/import/import-column-mapping/import-column-mapping.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Import sub-step: Let user map columns from import data to entity properties +and define value matching and transformations.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entities: EntityRegistry, schemaService: EntitySchemaService, componentRegistry: ComponentRegistry, dialog: MatDialog, importColumnMappingService: ImportColumnMappingService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        componentRegistry + ComponentRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        importColumnMappingService + ImportColumnMappingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + columnMapping +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ColumnMapping[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + rawData +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + columnMappingChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + openMappingComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + openMappingComponent(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + updateMapping + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +updateMapping(col: ColumnMapping, settingAdditional: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        col + ColumnMapping + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        settingAdditional + boolean + + No + + false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + allProps + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity properties that have a label

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + dataTypeMap + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        properties that need further adjustments through a component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isUsed + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + labelMapper + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + mappingAdditionalWarning + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        warning label badges for a mapped column that requires user configuration for the "additional" details

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + setentityType(value: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ColumnMapping } from "../column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { HelpButtonComponent } from "../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { BasicAutocompleteComponent } from "../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatBadgeModule } from "@angular/material/badge";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ComponentRegistry } from "../../../dynamic-components";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ImportColumnMappingService } from "./import-column-mapping.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Import sub-step: Let user map columns from import data to entity properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * and define value matching and transformations.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-import-column-mapping",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./import-column-mapping.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./import-column-mapping.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatBadgeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class ImportColumnMappingComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() rawData: any[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() columnMapping: ColumnMapping[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Output() columnMappingChange = new EventEmitter<ColumnMapping[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() set entityType(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityCtor = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dataTypeMap = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.allProps = [...this.entityCtor.schema.entries()]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .filter(([_, schema]) => schema.label)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .map(([name, schema]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.dataTypeMap[name] = this.schemaService.getDatatypeOrDefault(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          schema.dataType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private entityCtor: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** entity properties that have a label */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  allProps: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** properties that need further adjustments through a component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  dataTypeMap: { [name: string]: DefaultDatatype };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** warning label badges for a mapped column that requires user configuration for the "additional" details */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mappingAdditionalWarning: { [key: string]: string } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  labelMapper = (name: string) => this.entityCtor.schema.get(name).label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  isUsed = (option: string) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.columnMapping.some(({ propertyName }) => propertyName === option);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private componentRegistry: ComponentRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private importColumnMappingService: ImportColumnMappingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.columnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.importColumnMappingService.automaticallySelectMappings(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.columnMapping,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityCtor.schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async openMappingComponent(col: ColumnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const uniqueValues = new Set<any>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.rawData.forEach((obj) => uniqueValues.add(obj[col.column]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const configComponent = await this.componentRegistry.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.dataTypeMap[col.propertyName].importConfigComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    )();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .open<any, MappingDialogData>(configComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          col: col,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          values: [...uniqueValues],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          entityType: this.entityCtor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        disableClose: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe(() => this.updateMapping(col, true));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  updateMapping(col: ColumnMapping, settingAdditional: boolean = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!settingAdditional) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // reset additional, because mapping changed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      delete col.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.mappingAdditionalWarning[col.column] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.dataTypeMap[
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        col.propertyName
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ]?.importIncompleteAdditionalConfigBadge?.(col);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // Emitting copy of array to trigger change detection; values have been updated in place through data binding
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.columnMappingChange.emit([...this.columnMapping]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  // TODO: infer column mapping from data. The following is from old DataImportModule (#1942)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Try to guess mappings of import file columns to entity properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (e.g. based on column headers)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private inferColumnPropertyMapping() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //const columnMap: ImportColumnMap = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //    for (const p of this.properties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //      const match = this.importData?.fields.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //        (f) => f === p.label || f === p.key
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //      if (match) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //        columnMap[match] = p;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    //    this.loadColumnMapping(columnMap);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface MappingDialogData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  col: ColumnMapping;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  values: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <span i18n>Define which columns / fields will be imported:</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    style="float: right"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    text="The form below lists all columns from your imported file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          Select a property of the record type in the system, into which you want to import each column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          You can also omit some columns. If you do not select anything for a column, that column will be ignored during the import.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          For advanced types, use the button next to the field to configure how values are transformed."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n-text="import - column mapping - help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <div *ngFor="let col of columnMapping">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <mat-label>{{ col.column }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <app-basic-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [options]="allProps"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [(ngModel)]="col.propertyName"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        (ngModelChange)="updateMapping(col)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [optionToString]="labelMapper"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [hideOption]="isUsed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      class="margin-left-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      *ngIf="dataTypeMap[col.propertyName]?.importConfigComponent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (click)="openMappingComponent(col)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        import - column mapping - configure additional transformation button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [matBadge]="mappingAdditionalWarning?.[col.column]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [matBadgeHidden]="!mappingAdditionalWarning?.[col.column]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      matBadgeColor="warn"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Configure value mapping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./import-column-mapping.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportComponent.html b/documentation/components/ImportComponent.html new file mode 100644 index 0000000000..fec7c0d4ab --- /dev/null +++ b/documentation/components/ImportComponent.html @@ -0,0 +1,1401 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/import/import/import.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          View providing a full UI workflow to import data from an uploaded file.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(confirmationDialog: ConfirmationDialogService, alertService: AlertService, route: ActivatedRoute, router: Router, location: Location) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + applyPreviousMapping + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +applyPreviousMapping(importMetadata: ImportMetadata) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          importMetadata + ImportMetadata + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + onColumnMappingUpdate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +onColumnMappingUpdate(newColumnMapping: ColumnMapping[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          newColumnMapping + ColumnMapping[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + onDataLoaded + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +onDataLoaded(data: ParsedData) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          data + ParsedData + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + onImportCompleted + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +onImportCompleted() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + reset(skipConfirmation?: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          skipConfirmation + boolean + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + additionalImportActions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : AdditionalImportAction[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + columnMapping + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ColumnMapping[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + entityType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + importFileComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ImportFileComponent + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + @ViewChild(ImportFileComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + mappedColumnsCount + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          calculated for validation on columnMapping changes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + rawData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + stepper + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : MatStepper + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + @ViewChild(MatStepper)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Inject, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ParsedData } from "../../common-components/input-file/input-file.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatStepper, MatStepperModule } from "@angular/material/stepper";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ColumnMapping } from "../column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportFileComponent } from "../import-file/import-file.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AdditionalImportAction } from "../import-additional-actions/additional-import-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportMetadata } from "../import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ActivatedRoute, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportHistoryComponent } from "../import-history/import-history.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityTypeLabelPipe } from "../../common-components/entity-type-label/entity-type-label.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportEntityTypeComponent } from "../import-entity-type/import-entity-type.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatExpansionModule } from "@angular/material/expansion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HelpButtonComponent } from "../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportAdditionalActionsComponent } from "../import-additional-actions/import-additional-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportColumnMappingComponent } from "../import-column-mapping/import-column-mapping.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ImportReviewDataComponent } from "../import-review-data/import-review-data.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LOCATION_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * View providing a full UI workflow to import data from an uploaded file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@RouteTarget("Import")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-import",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./import.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./import.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatStepperModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportFileComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatCardModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportHistoryComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntityTypeLabelPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportEntityTypeComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatExpansionModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportAdditionalActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportColumnMappingComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ImportReviewDataComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class ImportComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  rawData: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  additionalImportActions: AdditionalImportAction[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  columnMapping: ColumnMapping[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @ViewChild(MatStepper) stepper: MatStepper;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @ViewChild(ImportFileComponent) importFileComponent: ImportFileComponent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** calculated for validation on columnMapping changes */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mappedColumnsCount: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(LOCATION_TOKEN) private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.route.queryParamMap.subscribe((params) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (params.has("entityType")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.entityType = params.get("entityType");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async reset(skipConfirmation?: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !skipConfirmation &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !(await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Import Reset Confirmation title:Cancel Import?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Import Reset Confirmation text:Do you really want to discard the currently prepared import?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const currentRoute = this.location.pathname;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.router
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .navigate([""], { skipLocationChange: true })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .then(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.router.navigate([currentRoute], { skipLocationChange: true }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  onDataLoaded(data: ParsedData) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.rawData = data.data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.columnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.alertService.addInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:alert info after file load:Column Mappings have been reset`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.onColumnMappingUpdate(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      data.fields.map((field) => ({ column: field, propertyName: undefined })),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  onColumnMappingUpdate(newColumnMapping: ColumnMapping[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.columnMapping = newColumnMapping;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.mappedColumnsCount = newColumnMapping.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (m) => !!m.propertyName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ).length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  applyPreviousMapping(importMetadata: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.entityType = importMetadata.config.entityType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.additionalImportActions = importMetadata.config.additionalActions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const adjustedMappings = this.columnMapping.map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ({ column }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        importMetadata.config.columnMapping.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (c) => column === c.column,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ) ?? { column },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // TODO: load additionalActions also
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.onColumnMappingUpdate(adjustedMappings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  onImportCompleted() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.reset(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <mat-stepper [linear]="true" #stepper style="height: 100%">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-template matStepperIcon="edit">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon icon="check" class="stepper-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- STEP 1: SELECT FILE -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-step [completed]="rawData?.length > 0" #step1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepLabel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div i18n="Import Step - upload">Select File</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="step1.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="step-label-extra"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="Import Step - upload - sub-label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        {{ rawData?.length }} rows to import
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepContent>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div class="stepper-navigation">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [disabled]="!step1.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n="import next step button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          matStepperNext
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Continue
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div class="flex-row gap-large">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <div class="flex-grow">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <app-import-file
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            (dataLoaded)="onDataLoaded($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ></app-import-file>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <mat-card class="flex-grow-1-3">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            <app-import-history
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              [data]="rawData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              (itemSelected)="applyPreviousMapping($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            ></app-import-history>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-step>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- STEP 2: SELECT IMPORT TYPE -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-step [completed]="!!entityType" #step2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepLabel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div i18n="Import Step - import types">Select Import Type(s)</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="step2.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="step-label-extra"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="Import Step - type - sub-label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        as {{ entityType | entityTypeLabel }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepContent>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div class="stepper-navigation">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button mat-stroked-button i18n="import back button" matStepperPrevious>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Back
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [disabled]="!step2.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n="import next step button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          matStepperNext
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Continue
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <app-import-entity-type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [(entityType)]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></app-import-entity-type>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-expansion-panel [expanded]="additionalImportActions?.length > 0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <mat-panel-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            <span i18n>Advanced Import Actions [optional]</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              style="float: right"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              text="In addition to creating new records directly for the imported data you can also define additional actions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +                    (e.g. to make all imported records members of an existing activity or group).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +                    This is an advanced functionality you do not have to use.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +                    If uncertain, please refer to the user guides, videos or support contact."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              i18n-text="import - additional actions - help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            </app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          </mat-panel-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <app-import-additional-actions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [(importActions)]="additionalImportActions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ></app-import-additional-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-expansion-panel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-step>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- STEP 3: MAP COLUMNS -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-step [completed]="mappedColumnsCount > 0" #step3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepLabel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div i18n="Import Step - map columns">Map Columns</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        *ngIf="step3.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="step-label-extra"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="Import Step - map columns - sub-label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        {{ mappedColumnsCount }} columns selected
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepContent>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div class="stepper-navigation">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button mat-stroked-button i18n="import back button" matStepperPrevious>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Back
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [disabled]="!step3.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n="import next step button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          matStepperNext
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Continue
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <app-import-column-mapping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [columnMapping]="columnMapping"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (columnMappingChange)="onColumnMappingUpdate($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [rawData]="rawData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></app-import-column-mapping>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-step>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- STEP 4: REVIEW DATA -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-step [completed]="false" #step4>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepLabel i18n="Import Step - review data">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Review & Edit Data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-template matStepContent>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div class="stepper-navigation">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button mat-stroked-button matStepperPrevious i18n="import back button">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Back
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          color="warn"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (click)="reset()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n="import cancel/reset button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <app-import-review-data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [rawData]="rawData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [columnMapping]="columnMapping"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [additionalActions]="additionalImportActions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (importComplete)="onImportCompleted()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></app-import-review-data>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-step>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-stepper>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./import.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +mat-stepper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  background-color: transparent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.stepper-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  font-size: 0.8em;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.step-label-extra {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  font-size: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  color: colors.$muted;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/* this component is designed as a screen filling view with sticky headers */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  height: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  padding-bottom: 0; /* overwrite parent assigned (larger) padding to make reasonable use of space with scrolling */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +:host ::ng-deep .mat-horizontal-stepper-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  height: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +:host ::ng-deep .mat-horizontal-content-container {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  overflow-y: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.stepper-navigation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  flex-direction: row;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  justify-content: flex-end;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  gap: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  position: sticky;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  top: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  z-index: 100;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  padding-top: sizes.$x-small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  padding-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportConfirmSummaryComponent.html b/documentation/components/ImportConfirmSummaryComponent.html new file mode 100644 index 0000000000..e3f2e86df7 --- /dev/null +++ b/documentation/components/ImportConfirmSummaryComponent.html @@ -0,0 +1,689 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/import/import-confirm-summary/import-confirm-summary.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Summary screen and confirmation / execution dialog for running an import.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(dialogRef: MatDialogRef<ImportConfirmSummaryComponent>, data: ImportDialogData, snackBar: MatSnackBar, importService: ImportService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            dialogRef + MatDialogRef<ImportConfirmSummaryComponent> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            data + ImportDialogData + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            importService + ImportService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + executeImport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + executeImport() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : ImportDialogData + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + importInProgress + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ImportService } from "../import.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ImportMetadata, ImportSettings } from "../import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Data passed into Import Confirmation Dialog.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface ImportDialogData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entitiesToImport: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  importSettings: ImportSettings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Summary screen and confirmation / execution dialog for running an import.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-import-confirm-summary",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./import-confirm-summary.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./import-confirm-summary.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [MatDialogModule, NgIf, MatProgressBarModule, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ImportConfirmSummaryComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  importInProgress: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private dialogRef: MatDialogRef<ImportConfirmSummaryComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA) public data: ImportDialogData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private importService: ImportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // TODO: detailed summary including warnings of unmapped columns, ignored values, etc. (#1943)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async executeImport() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.importInProgress = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.dialogRef.disableClose = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const completedImport = await this.importService.executeImport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.data.entitiesToImport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.data.importSettings,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showImportSuccessToast(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.dialogRef.close(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private showImportSuccessToast(completedImport: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const snackBarRef = this.snackBar.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      $localize`Import completed`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      $localize`Undo`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        duration: 8000,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    snackBarRef.onAction().subscribe(async () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.importService.undoImport(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <h2 *ngIf="!importInProgress" mat-dialog-title i18n>Start Import?</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<h2 *ngIf="importInProgress" mat-dialog-title i18n>Importing Data</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <!-- Summary -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <div i18n>{{ data.entitiesToImport?.length }} records will be imported.</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <!-- Progress -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <div *ngIf="importInProgress" class="margin-top-large">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <div i18n>Importing data ...</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="executeImport()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [disabled]="importInProgress"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Confirm & Run Import
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [mat-dialog-close]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [disabled]="importInProgress"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./import-confirm-summary.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportEntityTypeComponent.html b/documentation/components/ImportEntityTypeComponent.html new file mode 100644 index 0000000000..4124a18c5e --- /dev/null +++ b/documentation/components/ImportEntityTypeComponent.html @@ -0,0 +1,751 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/import/import-entity-type/import-entity-type.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Import sub-step: Let user select which entity type data should be imported as.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(entityRegistry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              pre-selected entity type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityTypeChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              user selected entity type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + entityRegistry + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityRegistry + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + entityTypes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + expertMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + getexpertMode() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Whether to show all, including administrative, entity types for selection.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + setexpertMode(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { HelpButtonComponent } from "../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Import sub-step: Let user select which entity type data should be imported as.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-import-entity-type",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./import-entity-type.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./import-entity-type.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ImportEntityTypeComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** user selected entity type */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() entityTypeChange = new EventEmitter<string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** pre-selected entity type */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Whether to show all, including administrative, entity types for selection.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get expertMode(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this._expertMode;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  set expertMode(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entityTypes = this.entityRegistry.getEntityTypes(!value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private _expertMode: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityTypes: { key: string; value: EntityConstructor }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(public entityRegistry: EntityRegistry) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entityTypes = this.entityRegistry.getEntityTypes(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  // TODO: infer entityType automatically -> pre-select + UI explanatory text
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <p i18n>Select the import target type:</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<div class="flex-row align-center">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-label i18n>Import as</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-select
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [(value)]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (selectionChange)="entityTypeChange.emit($event.value)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        *ngFor="let entity of entityTypes"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [value]="entity.key"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        [hidden]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        {{ entity.value.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    text="What type of records should your imported data become in the system? Select the target 'Entity Type' here. (e.g. are you trying to import participants, events or team members etc.)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n-text="import - select type - help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <span class="flex-grow"></span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <mat-slide-toggle [(ngModel)]="expertMode" i18n="Toggle label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >Expert Mode</mat-slide-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./import-entity-type.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportFileComponent.html b/documentation/components/ImportFileComponent.html new file mode 100644 index 0000000000..ce24157976 --- /dev/null +++ b/documentation/components/ImportFileComponent.html @@ -0,0 +1,643 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/import/import-file/import-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Import sub-step: Let user load a file and return parsed data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + dataLoaded +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onFileLoad + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +onFileLoad(parsedData: ParsedData<any>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parsedData + ParsedData<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ParsedData<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + inputFileField + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : InputFileComponent + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + @ViewChild(InputFileComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  InputFileComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ParsedData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../../common-components/input-file/input-file.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Import sub-step: Let user load a file and return parsed data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-import-file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./import-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./import-file.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [InputFileComponent, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class ImportFileComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Output() dataLoaded = new EventEmitter<ParsedData<any>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  data: ParsedData<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @ViewChild(InputFileComponent) inputFileField: InputFileComponent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  onFileLoad(parsedData: ParsedData<any>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.dataLoaded.emit(parsedData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.data = parsedData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public reset() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    delete this.data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.inputFileField.formControl.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <p i18n>Select a .csv file with data to import:</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<app-input-file (fileLoad)="onFileLoad($event)" fileType="csv"></app-input-file>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<div *ngIf="data" i18n>{{ data.data?.length }} rows detected for import</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./import-file.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportHistoryComponent.html b/documentation/components/ImportHistoryComponent.html new file mode 100644 index 0000000000..3596f1912e --- /dev/null +++ b/documentation/components/ImportHistoryComponent.html @@ -0,0 +1,777 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/import/import-history/import-history.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(entityMapper: EntityMapperService, importService: ImportService, confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  importService + ImportService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + data +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + itemSelected +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + undoImport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + undoImport(item: ImportMetadata) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  item + ImportMetadata + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + previousImports + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ImportMetadata[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ImportMetadata } from "../import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ImportService } from "../import.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { applyUpdate } from "../../entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatExpansionModule } from "@angular/material/expansion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DatePipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityTypeLabelPipe } from "../../common-components/entity-type-label/entity-type-label.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-import-history",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./import-history.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./import-history.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatExpansionModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityTypeLabelPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ImportHistoryComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() data: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Output() itemSelected = new EventEmitter<ImportMetadata>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  previousImports: ImportMetadata[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private importService: ImportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .receiveUpdates(ImportMetadata)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe((update) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.previousImports = applyUpdate(this.previousImports, update);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.sortImports();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.loadPreviousImports();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async loadPreviousImports() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.previousImports =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.entityMapper.loadType<ImportMetadata>(ImportMetadata);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.sortImports();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private sortImports() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.previousImports.sort((a, b) => b.date.getTime() - a.date.getTime());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async undoImport(item: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const confirmation = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`:Import Undo Confirmation Title:Revert Import?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`:Import Undo Confirmation Text:Are you sure you want to undo this import? All records that had been imported at that time will be deleted from the system.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (confirmation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.importService.undoImport(item);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <h3 i18n>Previous Imports</h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-accordion>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-expansion-panel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    *ngFor="let item of previousImports; index as i"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [expanded]="i === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <mat-panel-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {{ item.date | date }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </mat-panel-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <mat-panel-description i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {{ item.ids.length }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        "{{ item.config.entityType | entityTypeLabel }}" records
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </mat-panel-description>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      imported by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [entityId]="item.user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        entityType="User"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      at {{ item.date | date: "medium" }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div class="flex-row gap-regular margin-top-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        i18n-matTooltip="Tooltip help text for button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        matTooltip="Please select a file first"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [matTooltipDisabled]="data?.length > 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [disabled]="!data?.length"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          (click)="itemSelected.emit(item)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Re-use configuration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <button (click)="undoImport(item)" mat-stroked-button color="warn" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Undo import
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-expansion-panel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-accordion>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  *ngIf="!(previousImports?.length > 0)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  class="no-results"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  i18n="Placeholder text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  no existing imports
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + ./import-history.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .no-results {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportReviewDataComponent.html b/documentation/components/ImportReviewDataComponent.html new file mode 100644 index 0000000000..8a27ed40d9 --- /dev/null +++ b/documentation/components/ImportReviewDataComponent.html @@ -0,0 +1,904 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/import/import-review-data/import-review-data.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(importService: ImportService, matDialog: MatDialog, entityRegistry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    importService + ImportService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    matDialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + additionalActions +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : AdditionalImportAction[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + columnMapping +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ColumnMapping[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + rawData +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + importComplete +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + startImport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + startImport() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + displayColumns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + mappedEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ColumnMapping } from "../column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ImportService } from "../import.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ImportConfirmSummaryComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ImportDialogData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../import-confirm-summary/import-confirm-summary.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { lastValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ImportMetadata } from "../import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AdditionalImportAction } from "../import-additional-actions/additional-import-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { HelpButtonComponent } from "../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatProgressBar } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-import-review-data",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./import-review-data.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./import-review-data.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatProgressBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ImportReviewDataComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() rawData: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() columnMapping: ColumnMapping[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() additionalActions: AdditionalImportAction[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() importComplete = new EventEmitter<ImportMetadata>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  isLoading: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  mappedEntities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  displayColumns: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private importService: ImportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private matDialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.entityConstructor = this.entityRegistry.get(this.entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // Every change requires a complete re-calculation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.parseRawData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private async parseRawData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.isLoading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.mappedEntities = await this.importService.transformRawDataToEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.rawData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.columnMapping,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.displayColumns = this.columnMapping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .filter(({ propertyName }) => !!propertyName)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .map(({ propertyName }) => propertyName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async startImport() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const confirmationResult = await lastValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.matDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .open(ImportConfirmSummaryComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            entitiesToImport: this.mappedEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            importSettings: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              columnMapping: this.columnMapping,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              entityType: this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              additionalActions: this.additionalActions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          } as ImportDialogData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .afterClosed(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!!confirmationResult) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.importComplete.emit(confirmationResult);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @if (isLoading) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div i18n>Preparing data for preview and import ...</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div class="flex-row gap-regular align-center">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <span class="flex-grow" i18n>Review your mapped data to be imported:</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button (click)="startImport()" mat-raised-button color="accent" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Start Import
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-help-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text="The data previewed here is mapped and transformed according to the 'Column Mapping' you defined in the previous step.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        Only columns for which you selected a field there will be imported and appears here in this preview.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        If necessary, you can go back to the previous step and make changes to the mapping."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n-text="import - review data - help text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </app-help-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [customColumns]="displayColumns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [columnsToDisplay]="displayColumns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [records]="mappedEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    clickMode="none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [editable]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./import-review-data.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ImportantNotesDashboardComponent.html b/documentation/components/ImportantNotesDashboardComponent.html new file mode 100644 index 0000000000..1a30c97cbd --- /dev/null +++ b/documentation/components/ImportantNotesDashboardComponent.html @@ -0,0 +1,725 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + DashboardWidget +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(formDialog: FormDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + warningLevels +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getRequiredEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DashboardWidget:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + openNote + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +openNote(note: Note) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      note + Note + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + dataMapper + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Note } from "../../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormDialogService } from "../../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DatePipe, NgStyle } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("ImportantNotesDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("ImportantNotesComponent") // TODO remove after all existing instances are updated
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-important-notes-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./important-notes-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./important-notes-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [DashboardListWidgetComponent, MatTableModule, DatePipe, NgStyle],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ImportantNotesDashboardComponent extends DashboardWidget {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static getRequiredEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return Note.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() warningLevels: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  dataMapper: (data: Note[]) => Note[] = (data) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((note) => note.warningLevel && this.noteIsRelevant(note))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .sort((a, b) => b.warningLevel._ordinal - a.warningLevel._ordinal);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private formDialog: FormDialogService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private noteIsRelevant(note: Note): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.warningLevels.includes(note.warningLevel.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  openNote(note: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.formDialog.openView(note, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  icon="exclamation-triangle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  subtitle="Notes needing follow-up"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  i18n-subtitle="subtitle|dashboard showing notes that require action"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  theme="note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityType="Note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [dataMapper]="dataMapper"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <table mat-table aria-label="Notes needing follow-up">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <!-- Table header only for assistive technologies like screen readers -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <tr hidden="true">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <th scope="col">Date</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <th scope="col">Title</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <ng-container matColumnDef="date">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <td *matCellDef="let note" class="date-cell row-indicator">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        {{ note.date | date }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <ng-container matColumnDef="title">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <td *matCellDef="let note" class="subject-cell">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        {{ note.subject }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      *matRowDef="let row; columns: ['date', 'title']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="dashboard-table-row row-view"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (click)="openNote(row)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [ngStyle]="{ '--row-indicator-color': row.getColor?.() }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./important-notes-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.subject-cell {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  text-align: right;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.row-view {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  & > td:first-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    padding-left: 2 * sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  & > td:last-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    padding-right: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/InputFileComponent.html b/documentation/components/InputFileComponent.html new file mode 100644 index 0000000000..917ba78b77 --- /dev/null +++ b/documentation/components/InputFileComponent.html @@ -0,0 +1,766 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/common-components/input-file/input-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Form Field to select and parse a file.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Currently only supports CSV.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(papa: Papa) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        papa + Papa + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + fileType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : "csv" | "json" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + fileLoad +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        returns parsed data as an object on completing load after user selects a file

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + loadFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + loadFile($event: Event) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        $event + Event + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + formControl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : new FormControl() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + parsedData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ParsedData<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { readFile } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Papa } from "ngx-papaparse";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Form Field to select and parse a file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Currently only supports CSV.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-input-file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./input-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class InputFileComponent<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** returns parsed data as an object on completing load after user selects a file */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Output() fileLoad = new EventEmitter<ParsedData<T>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() fileType: "csv" | "json";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  parsedData: ParsedData<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  formControl = new FormControl();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private papa: Papa) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async loadFile($event: Event): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.formControl.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const file = this.getFileFromInputEvent($event, this.fileType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.formControl.setValue(file.name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const fileContent = await readFile(file);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.parsedData = this.parseContent(fileContent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fileLoad.emit(this.parsedData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } catch (errors) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.formControl.setErrors(errors);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.formControl.markAsTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getFileFromInputEvent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    inputEvent: Event,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    allowedFileType?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): File {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const target = inputEvent.target as HTMLInputElement;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const file = target.files[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      allowedFileType &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      !file.name.toLowerCase().endsWith("." + allowedFileType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw { fileInvalid: `Only ${this.fileType} files are supported` };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return file;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private parseContent(fileContent: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.fileType === "csv") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const papaParsed = this.papa.parse(fileContent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        header: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        dynamicTyping: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        skipEmptyLines: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      result = { data: papaParsed.data, fields: papaParsed.meta.fields };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else if (this.fileType === "json") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      result = { data: JSON.parse(fileContent) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (result === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw { parsingError: "File could not be parsed" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (result.data.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw { parsingError: "File has no content" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Results and (optional) meta data about data parsed from a file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ParsedData<T = any[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** object or array of objects parsed from a file */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  data: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** meta information listing the fields contained in data objects */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  fields?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  #fileInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  type="file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  style="display: none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (change)="loadFile($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-label i18n="Label for file select input">Select file</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    readonly
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n-placeholder="placeholder for file-input"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    placeholder="No file selected"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="fileInput.click()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button mat-icon-button matIconSuffix (click)="fileInput.click()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <fa-icon icon="upload"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-error *ngIf="formControl.invalid">{{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formControl.errors.fileInvalid || formControl.errors.parsingError
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }}</mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/LanguageSelectComponent.html b/documentation/components/LanguageSelectComponent.html new file mode 100644 index 0000000000..162dc03795 --- /dev/null +++ b/documentation/components/LanguageSelectComponent.html @@ -0,0 +1,657 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/language/language-select/language-select.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Shows a dropdown-menu of available languages

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(translationService: LanguageService, location: Location) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          translationService + LanguageService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + changeLocale + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +changeLocale(lang: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          lang + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + localeEnumId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : LOCALE_ENUM_ID +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + siteRegionCode + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : this.translationService.currentRegionCode() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The region code of the currently selected language/region

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LanguageService } from "../language.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LOCATION_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LANGUAGE_LOCAL_STORAGE_KEY } from "../language-statics";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatIconModule } from "@angular/material/icon";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LOCALE_ENUM_ID } from "../languages";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigurableEnumDirective } from "../../basic-datatypes/configurable-enum/configurable-enum-directive/configurable-enum.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Shows a dropdown-menu of available languages
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-language-select",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./language-select.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./language-select.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatIconModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ConfigurableEnumDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class LanguageSelectComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  localeEnumId = LOCALE_ENUM_ID;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The region code of the currently selected language/region
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  siteRegionCode = this.translationService.currentRegionCode();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private translationService: LanguageService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(LOCATION_TOKEN) private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  changeLocale(lang: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, lang);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [matMenuTriggerFor]="menu"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  matTooltip="Change language"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <fa-icon icon="globe" class="toolbar-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<mat-menu #menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    *appConfigurableEnum="let lang of localeEnumId"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (click)="changeLocale(lang.id)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span>{{ lang.label }}</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </a>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./language-select.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .toolbar-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  color: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ListFilterComponent.html b/documentation/components/ListFilterComponent.html new file mode 100644 index 0000000000..2ac8c08a63 --- /dev/null +++ b/documentation/components/ListFilterComponent.html @@ -0,0 +1,566 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/filter/list-filter/list-filter.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + filterConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : SelectableFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + deselectAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +deselectAll() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + selectAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +selectAll() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { BorderHighlightDirective } from "../../common-components/border-highlight/border-highlight.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { JsonPipe, NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SelectableFilter } from "../filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-list-filter",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./list-filter.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./list-filter.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    BorderHighlightDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    JsonPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ListFilterComponent<E extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input({ transform: (value: any) => value as SelectableFilter<E> })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filterConfig: SelectableFilter<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectAll() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterConfig.selectedOptionValues = this.filterConfig.options.map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (option) => option.key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterConfig.selectedOptionChange.emit(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.filterConfig.selectedOptionValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  deselectAll() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterConfig.selectedOptionValues = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterConfig.selectedOptionChange.emit(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.filterConfig.selectedOptionValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <mat-form-field appearance="fill" class="full-width">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-label>{{ filterConfig.label || filterConfig.name }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-select
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [id]="filterConfig.name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [(value)]="filterConfig.selectedOptionValues"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (valueChange)="filterConfig.selectedOptionChange.emit($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    multiple
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <!-- SELECT ALL / CLEAR -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <button mat-flat-button i18n class="util-button" (click)="selectAll()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Select All
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <button mat-flat-button i18n class="util-button" (click)="deselectAll()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Clear
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @for (option of filterConfig.options; track option.key) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [value]="option.key"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [appBorderHighlight]="option.color"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        style="padding-top: 0.5em; padding-bottom: 0.5em"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        {{ option.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./list-filter.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .util-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  flex-basis: 50%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-size: 0.8rem;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ListPaginatorComponent.html b/documentation/components/ListPaginatorComponent.html new file mode 100644 index 0000000000..4abcaa363b --- /dev/null +++ b/documentation/components/ListPaginatorComponent.html @@ -0,0 +1,759 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/common-components/entities-table/list-paginator/list-paginator.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + OnChanges + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + dataSource +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : MatTableDataSource<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + idForSavingPagination +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + onPaginateChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +onPaginateChange(event: PageEvent) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              event + PageEvent + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Readonly + LOCAL_STORAGE_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "PAGINATION-" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + pageSize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : 10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Readonly + pageSizeOptions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [10, 20, 50, 100] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + paginator + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : MatPaginator + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + @ViewChild(MatPaginator, {static: true})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatPaginator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatPaginatorModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  PageEvent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/material/paginator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTableDataSource } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-list-paginator",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./list-paginator.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./list-paginator.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [MatPaginatorModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ListPaginatorComponent<E> implements OnChanges, OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  readonly LOCAL_STORAGE_KEY = "PAGINATION-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  readonly pageSizeOptions = [10, 20, 50, 100];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() dataSource: MatTableDataSource<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() idForSavingPagination: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  pageSize = 10;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (changes.hasOwnProperty("idForSavingPagination")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.applyUserPaginationSettings();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dataSource.paginator = this.paginator;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  onPaginateChange(event: PageEvent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.pageSize = event.pageSize;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.savePageSize(this.pageSize);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private applyUserPaginationSettings() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const savedSize = this.getSavedPageSize();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.pageSize = savedSize && savedSize !== -1 ? savedSize : this.pageSize;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getSavedPageSize(): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Number.parseInt(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      localStorage.getItem(this.LOCAL_STORAGE_KEY + this.idForSavingPagination),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private savePageSize(size: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.LOCAL_STORAGE_KEY + this.idForSavingPagination,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      size?.toString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <mat-paginator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  (page)="onPaginateChange($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [pageSize]="pageSize"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [pageSizeOptions]="pageSizeOptions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [showFirstLastButtons]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +></mat-paginator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./list-paginator.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/* The paginator is usually a little smaller than this */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +$approx-width-paginator: 450px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +$slider-padding-all: 16px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  flex-direction: row;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @media all and (max-width: $approx-width-paginator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    flex-direction: column-reverse;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    align-items: flex-start;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  justify-content: flex-start;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  background-color: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.slider {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  padding-left: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @media all and (max-width: $approx-width-paginator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    padding-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  font-size: small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/LocationInputComponent.html b/documentation/components/LocationInputComponent.html new file mode 100644 index 0000000000..9cdad7f6d3 --- /dev/null +++ b/documentation/components/LocationInputComponent.html @@ -0,0 +1,2070 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/location/location-input/location-input.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + CustomFormControlDirective +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(elementRef: ElementRef, errorStateMatcher: ErrorStateMatcher, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, dialog: MatDialog) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                elementRef + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                errorStateMatcher + ErrorStateMatcher + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ngControl + NgControl + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parentForm + NgForm + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parentFormGroup + FormGroupDirective + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + autoLookup +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Automatically run an address lookup when the user leaves the input field.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + aria-describedby +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + disabled +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + placeholder +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + required +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + id + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + onContainerClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + onContainerClick() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + openMap + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +openMap() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + blur + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +blur() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + focus + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +focus() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + registerOnChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +registerOnChange(fn: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                fn + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + registerOnTouched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +registerOnTouched(fn: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                fn + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + setDescribedByIds + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +setDescribedByIds(ids: string[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ids + string[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + setDisabledState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +setDisabledState(isDisabled: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                isDisabled + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + writeValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +writeValue(val: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + T + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + _disabled + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + _value + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + controlType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "custom-control" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + elementRef + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ElementRef<HTMLElement> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + errorState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + errorStateMatcher + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ErrorStateMatcher + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + focused + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + id + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + @HostBinding()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + nextId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + ngControl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : NgControl + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onTouched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + parentForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : NgForm + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + parentFormGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormGroupDirective + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + stateChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new Subject<void>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + touched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, ElementRef, Input, Optional, Self } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatFormFieldControl, MatSuffix } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatInput } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { CustomFormControlDirective } from "../../../core/common-components/basic-autocomplete/custom-form-control.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  MapPopupComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  MapPopupConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../map-popup/map-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { filter, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-location-input",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatInput,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatIconButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatSuffix,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatTooltip,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  providers: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    { provide: MatFormFieldControl, useExisting: LocationInputComponent },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./location-input.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./location-input.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class LocationInputComponent extends CustomFormControlDirective<GeoLocation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Automatically run an address lookup when the user leaves the input field.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() autoLookup = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    elementRef: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    errorStateMatcher: ErrorStateMatcher,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Optional() @Self() ngControl: NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Optional() parentForm: NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Optional() parentFormGroup: FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      elementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      errorStateMatcher,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ngControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      parentForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      parentFormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  override onContainerClick() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this._disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.openMap();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  openMap() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const config: MapPopupConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      selectedLocation: this.value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      disabled: this._disabled,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const ref = this.dialog.open(MapPopupComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      width: "90%",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      autoFocus: ".address-search-input",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      restoreFocus: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      data: config,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this._disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ref
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filter((result: GeoLocation[] | undefined) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            return Array.isArray(result);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          map((result: GeoLocation[]) => result[0]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            (result: GeoLocation | undefined) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +              JSON.stringify(result) !== JSON.stringify(this.value),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          ), // nothing changed, skip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .subscribe((result: GeoLocation) => (this.value = result));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <textarea
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    #inputElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [title]="placeholder"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [disabled]="_disabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    readonly
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [value]="_value?.locationString ?? _value?.geoLookup?.display_name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    rows="2"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ></textarea>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @if (_value?.geoLookup) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (click)="openMap(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      class="input-suffix-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      matTooltip="Show the location marked on the map."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <fa-icon icon="map-location-dot"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      matTooltip="No location marked yet. Edit and search a location on the map here."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (click)="openMap(); $event.stopPropagation()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        class="input-suffix-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        [disabled]="_disabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <fa-icon icon="magnifying-glass-location"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./location-input.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  pointer-events: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.input-suffix-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin-top: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/LoginComponent.html b/documentation/components/LoginComponent.html new file mode 100644 index 0000000000..2a8c53e377 --- /dev/null +++ b/documentation/components/LoginComponent.html @@ -0,0 +1,926 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/session/login/login.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Allows the user to login online or offline depending on the connection status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(router: Router, route: ActivatedRoute, sessionManager: SessionManagerService, loginState: LoginStateSubject, siteSettingsService: SiteSettingsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  sessionManager + SessionManagerService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  loginState + LoginStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  siteSettingsService + SiteSettingsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + tryLogin + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +tryLogin() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + enableOfflineLogin + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : !this.sessionManager.remoteLoginAvailable() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + loginInProgress + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Public + loginState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : LoginStateSubject + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + offlineUsers + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : SessionInfo[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Public + sessionManager + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : SessionManagerService + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Public + siteSettingsService + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : SiteSettingsService + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ActivatedRoute, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { LoginState } from "../session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { LoginStateSubject } from "../session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionManagerService } from "../session-service/session-manager.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionInfo } from "../auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SiteSettingsService } from "../../site-settings/site-settings.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatListModule } from "@angular/material/list";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { waitForChangeTo } from "../session-states/session-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { race, timer } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Allows the user to login online or offline depending on the connection status
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-login",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./login.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./login.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatCardModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatListModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class LoginComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  offlineUsers: SessionInfo[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  enableOfflineLogin = !this.sessionManager.remoteLoginAvailable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  loginInProgress = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    public sessionManager: SessionManagerService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    public loginState: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    public siteSettingsService: SiteSettingsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    sessionManager
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .remoteLogin()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .then(() => sessionManager.clearRemoteSessionIfNecessary());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.loginState.pipe(untilDestroyed(this)).subscribe((state) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.loginInProgress = state === LoginState.IN_PROGRESS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (state === LoginState.LOGGED_IN) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.routeAfterLogin();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.offlineUsers = this.sessionManager.getOfflineUsers();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    race(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.loginState.pipe(waitForChangeTo(LoginState.LOGIN_FAILED)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      timer(10000),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ).subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.enableOfflineLogin = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private routeAfterLogin() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const redirectUri = this.route.snapshot.queryParams["redirect_uri"] || "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.router.navigateByUrl(decodeURIComponent(redirectUri));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  tryLogin() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.sessionManager.remoteLogin();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-card appearance="raised" class="full-width border-box-sizing">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-card-header class="header">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <mat-card-title style="text-align: center" i18n="Sign in title">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      Welcome
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </mat-card-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <mat-card-subtitle i18n="Sign in subtitle">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      to your system
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <em>{{ siteSettingsService.siteName | async }}</em>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </mat-card-subtitle>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-card-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div class="gap-regular flex-column">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <!-- ONLINE -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        matTooltip="It is necessary to log in to the server so that your data can be synchronized with other team members. We are checking whether you are still logged in or otherwise forward you to provide your credentials. You can still use the application offline, if you currently have no internet connection."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        i18n-matTooltip="online login tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <div *ngIf="loginInProgress">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <em i18n="login progess bar title">Checking online login ...</em>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <mat-progress-bar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            mode="indeterminate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            class="login-check-progressbar"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          ></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <div *ngIf="!loginInProgress">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            i18n="online login failed text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            class="online-error margin-bottom-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            We couldn't connect to the server currently. You can still use the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            application offline, if you have logged in on this device
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            previously.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            type="button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            (click)="tryLogin()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            i18n="Login button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            style="width: 100%"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            Retry online login
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <!-- OFFLINE -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <mat-card
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        *ngIf="offlineUsers.length > 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        class="margin-top-large"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        appearance="outlined"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <mat-card-header
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          matTooltip="You can use the application completely offline. However, your changes cannot be synchronized with other team members in this mode. When available, you should always use the online login."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          i18n-matTooltip="offline login tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <h3 mat-card-title class="offline-title" i18n="offline section title">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            Offline Login
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          </h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <mat-card-subtitle i18n="Select user for offline login title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            >Log in as user ...</mat-card-subtitle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </mat-card-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          <mat-action-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              mat-list-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              *ngFor="let user of offlineUsers"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              (click)="sessionManager.offlineLogin(user)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              [disabled]="!enableOfflineLogin"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              <fa-icon matListItemIcon icon="user"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +              {{ user.email ?? user.name }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          </mat-action-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + ./login.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.login-error {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  color: colors.$error;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  font-size: 90%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  text-align: justify;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  max-width: 400px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  margin: 0 auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.header {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  justify-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  padding-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.offline-title {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  font-size: 1.1em;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.login-check-progressbar {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  margin-top: 8px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/MapComponent.html b/documentation/components/MapComponent.html new file mode 100644 index 0000000000..9024629d2a --- /dev/null +++ b/documentation/components/MapComponent.html @@ -0,0 +1,1358 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/location/map/map.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(configService: ConfigService, dialog: MatDialog) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + displayedProperties +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : LocationProperties + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + expandable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + height +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "200px" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + highlightedEntities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + marked +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Coordinates[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + displayedPropertiesChange +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + mapClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Observable<Coordinates> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + openMapInPopup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + openMapInPopup() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + openMapPropertiesPopup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +openMapPropertiesPopup() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + showPropertySelection + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + marked +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + setmarked(coordinates: Coordinates[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    coordinates + Coordinates[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + setentities(entities: Entity[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entities + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + highlightedEntities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + sethighlightedEntities(entities: Entity[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entities + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + displayedProperties +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + setdisplayedProperties(displayedProperties: LocationProperties) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    displayedProperties + LocationProperties + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  AfterViewInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import * as L from "leaflet";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { BehaviorSubject, Observable, timeInterval } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { debounceTime, filter, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Coordinates } from "../coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { getHueForEntity, getLocationProperties } from "../map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ConfigService } from "../../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MAP_CONFIG_KEY, MapConfig } from "../map-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MapPopupConfig } from "../map-popup/map-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  LocationProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MapPropertiesPopupComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "./map-properties-popup/map-properties-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { GeoResult } from "../geo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-map",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./map.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./map.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [FontAwesomeModule, NgIf, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class MapComponent implements AfterViewInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private readonly start_location: L.LatLngTuple = [52.4790412, 13.4319106];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @ViewChild("map") private mapElement: ElementRef<HTMLDivElement>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() height = "200px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() expandable = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() set marked(coordinates: Coordinates[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!coordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.clearMarkers(this.markers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.markers = this.createMarkers(coordinates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.showMarkersOnMap(this.markers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._marked.next(coordinates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private _marked = new BehaviorSubject<Coordinates[]>([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() set entities(entities: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.clearMarkers(this.markers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.markers = this.createEntityMarkers(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.showMarkersOnMap(this.markers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._entities.next(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private _entities = new BehaviorSubject<Entity[]>([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() set highlightedEntities(entities: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.clearMarkers(this.highlightedMarkers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.highlightedMarkers = this.createEntityMarkers(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.showMarkersOnMap(this.highlightedMarkers, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._highlightedEntities.next(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private _highlightedEntities = new BehaviorSubject<Entity[]>([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() set displayedProperties(displayedProperties: LocationProperties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (displayedProperties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this._displayedProperties = displayedProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.showPropertySelection = Object.keys(displayedProperties).length > 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private _displayedProperties: LocationProperties = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() displayedPropertiesChange = new EventEmitter<LocationProperties>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  showPropertySelection = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private map: L.Map;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private markers: L.Marker[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private highlightedMarkers: L.Marker[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private clickStream = new EventEmitter<Coordinates>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() mapClick: Observable<Coordinates> = this.clickStream.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    timeInterval(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    debounceTime(400),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    filter(({ interval }) => interval >= 400),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    map(({ value }) => value),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() entityClick = new EventEmitter<Entity>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const config = configService.getConfig<MapConfig>(MAP_CONFIG_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (config?.start) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.start_location = config.start;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngAfterViewInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // init Map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.map = L.map(this.mapElement.nativeElement, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      center:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.markers?.length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          ? this.markers[0].getLatLng()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          : this.start_location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      zoom: 14,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.map.addEventListener("click", (res) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.clickStream.emit({ lat: res.latlng.lat, lon: res.latlng.lng }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const tiles = L.tileLayer(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        maxZoom: 18,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        minZoom: 3,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        attribution:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    tiles.addTo(this.map);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // this is necessary to remove gray spots when directly opening app on a page with the map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    setTimeout(() => this.map.invalidateSize());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.showMarkersOnMap(this.markers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.showMarkersOnMap(this.highlightedMarkers, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private showMarkersOnMap(marker: L.Marker[], highlighted = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!marker || !this.map || marker.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    marker.forEach((m) => this.addMarker(m, highlighted));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const group = L.featureGroup(marker);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.map.fitBounds(group.getBounds(), {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      padding: [50, 50],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      maxZoom: this.map.getZoom(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private createEntityMarkers(entities: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const markers: L.Marker[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .filter((entity) => !!entity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .forEach((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.getMapProperties(entity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          .map((prop) => entity[prop]?.geoLookup)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          .filter((loc: GeoResult) => !!loc)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          .forEach((loc: GeoResult) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            const marker = L.marker([loc.lat, loc.lon]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            marker.bindTooltip(entity.toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            marker.on("click", () => this.entityClick.emit(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            marker["entity"] = entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            markers.push(marker);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return markers;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getMapProperties(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this._displayedProperties[entity.getType()]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return this._displayedProperties[entity.getType()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const locationProperties = getLocationProperties(entity.getConstructor());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this._displayedProperties[entity.getType()] = locationProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.displayedPropertiesChange.emit(this._displayedProperties);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.showPropertySelection = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return locationProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private clearMarkers(markers: L.Marker[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (markers?.length > 0 && this.map) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      markers.forEach((marker) => marker.removeFrom(this.map));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private createMarkers(coordinates: Coordinates[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return coordinates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .filter((coord) => !!coord)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .map((coord) => L.marker([coord.lat, coord.lon]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private addMarker(m: L.Marker, highlighted: boolean = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    m.addTo(this.map);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const entity = m["entity"] as Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (highlighted || entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const degree = entity ? getHueForEntity(entity) : "145";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const icon = m["_icon"] as HTMLElement;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      icon.style.filter = `hue-rotate(${degree}deg)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      icon.style.opacity = highlighted ? "1" : "0.5";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return m;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async openMapInPopup() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // Breaking circular dependency by using async import
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const mapComponent = await import("../map-popup/map-popup.component");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const data: MapPopupConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      marked: this._marked.value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entities: this._entities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      highlightedEntities: this._highlightedEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entityClick: this.entityClick,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      displayedProperties: this._displayedProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .open(mapComponent.MapPopupComponent, { width: "90%", data })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // displayed properties might have changed in map view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.updatedDisplayedProperties(data.displayedProperties),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private updatedDisplayedProperties(properties: LocationProperties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._displayedProperties = properties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.displayedPropertiesChange.emit(this._displayedProperties);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.entities = this._entities.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.highlightedEntities = this._highlightedEntities.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  openMapPropertiesPopup() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .open(MapPropertiesPopupComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        data: this._displayedProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe((res: LocationProperties) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (res) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.updatedDisplayedProperties(res);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <div class="map-frame" [style.height]="height">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div id="map" #map>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div class="action-elements">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <button *ngIf="expandable" mat-mini-fab (click)="openMapInPopup()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <fa-icon icon="expand" style="color: black"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *ngIf="showPropertySelection"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        mat-mini-fab
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (click)="openMapPropertiesPopup()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <fa-icon icon="location-dot" style="color: black"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./map.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .map-frame {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  border: 1px solid lightgrey;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  border-radius: 2px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +#map {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  height: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.action-elements {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  bottom: 3px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  left: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  z-index: 1000;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  background-color: white !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin-left: 3px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/MapPopupComponent.html b/documentation/components/MapPopupComponent.html new file mode 100644 index 0000000000..d49806cfe4 --- /dev/null +++ b/documentation/components/MapPopupComponent.html @@ -0,0 +1,908 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/location/map-popup/map-popup.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A dialog to display an OpenStreetMap map with markers and optionally allow the user to select a location.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(data: MapPopupConfig, dialogRef: MatDialogRef<MapPopupComponent>, geoService: GeoService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      data + MapPopupConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      dialogRef + MatDialogRef<MapPopupComponent> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      geoService + GeoService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + mapClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + mapClicked(newCoordinates: Coordinates) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      newCoordinates + Coordinates + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + updateLocation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +updateLocation(event: GeoLocation) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      event + GeoLocation + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : MapPopupConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + helpText + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : $localize`Search an address or click on the map directly to select a different location` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + markedLocations + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : BehaviorSubject<GeoResult[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + selectedLocation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : GeoLocation + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Coordinates } from "../coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { BehaviorSubject, firstValueFrom, Observable, of, Subject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MapComponent } from "../map/map.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AsyncPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LocationProperties } from "../map/map-properties-popup/map-properties-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AddressSearchComponent } from "../address-search/address-search.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { GeoResult, GeoService } from "../geo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { catchError, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AddressEditComponent } from "../address-edit/address-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface MapPopupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  marked?: Coordinates[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entities?: Observable<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  highlightedEntities?: Observable<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityClick?: Subject<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  disabled?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  displayedProperties?: LocationProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Display a custom help text in the dialog to explain possible actions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * (Otherwise the default help is shown)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  helpText?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A single location that is selected and editable.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selectedLocation?: GeoLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A dialog to display an OpenStreetMap map with markers and optionally allow the user to select a location.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-map-popup",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./map-popup.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./map-popup.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MapComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    AddressSearchComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    AddressEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class MapPopupComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  markedLocations: BehaviorSubject<GeoResult[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  helpText: string = $localize`Search an address or click on the map directly to select a different location`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selectedLocation: GeoLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    @Inject(MAT_DIALOG_DATA) public data: MapPopupConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dialogRef: MatDialogRef<MapPopupComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private geoService: GeoService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.markedLocations = new BehaviorSubject<GeoResult[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (data.marked as GeoResult[]) ?? [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.selectedLocation = data.selectedLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.selectedLocation &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      !this.markedLocations.value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .filter((x) => !!x)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .includes(this.selectedLocation.geoLookup)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.markedLocations.next([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ...this.markedLocations.value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.selectedLocation.geoLookup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!data.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.dialogRef.disableClose = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (data.hasOwnProperty("helpText")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.helpText = data.helpText;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async mapClicked(newCoordinates: Coordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.data.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const geoResult: GeoResult = await firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.lookupCoordinates(newCoordinates),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.updateLocation({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      geoLookup: geoResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      locationString: geoResult?.display_name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private lookupCoordinates(coords: Coordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!coords) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const fallback: GeoResult = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      display_name: $localize`[selected on map: ${coords.lat} - ${coords.lon}]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ...coords,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.geoService.reverseLookup(coords).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      map((res) => (res["error"] ? fallback : res)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      catchError(() => of(fallback)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  updateLocation(event: GeoLocation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.selectedLocation = event;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.markedLocations.next(event?.geoLookup ? [event?.geoLookup] : []);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <mat-dialog-content style="max-height: 90vh">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <app-address-edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [disabled]="data.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [selectedLocation]="selectedLocation"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (selectedLocationChange)="updateLocation($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ></app-address-edit>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <app-map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    height="65vh"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [marked]="markedLocations | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [(displayedProperties)]="data.displayedProperties"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [entities]="data.entities | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [highlightedEntities]="data.highlightedEntities | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (mapClick)="mapClicked($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (entityClick)="data.entityClick?.next($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ></app-map>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @if (data.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button mat-raised-button mat-dialog-close i18n>Close</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    @if (helpText) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <p class="help-text">{{ helpText }}</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button mat-stroked-button mat-dialog-close i18n>Cancel</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button mat-raised-button [mat-dialog-close]="[selectedLocation]" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./map-popup.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      mat-dialog-actions {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  justify-content: end;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.help-text {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  margin: auto 20px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +app-address-edit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  max-width: 640px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/MapPropertiesPopupComponent.html b/documentation/components/MapPropertiesPopupComponent.html new file mode 100644 index 0000000000..fb36e90384 --- /dev/null +++ b/documentation/components/MapPropertiesPopupComponent.html @@ -0,0 +1,609 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/location/map/map-properties-popup/map-properties-popup.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(mapProperties: LocationProperties, entities: EntityRegistry, dialogRef: MatDialogRef<MapPropertiesPopupComponent>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        mapProperties + LocationProperties + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dialogRef + MatDialogRef<MapPropertiesPopupComponent> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + closeDialog + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +closeDialog() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entityProperties + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DialogCloseComponent } from "../../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { getLocationProperties } from "../../map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A map of entity types and the (selected) location properties of this type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type LocationProperties = { [key: string]: string[] };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-map-properties-popup",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./map-properties-popup.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styles: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class MapPropertiesPopupComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityProperties: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entity: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    properties: { name: string; label: string }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    selected: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    @Inject(MAT_DIALOG_DATA) mapProperties: LocationProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dialogRef: MatDialogRef<MapPropertiesPopupComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityProperties = Object.entries(mapProperties).map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ([entityType, selected]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const entity = entities.get(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const mapProperties = getLocationProperties(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const properties = mapProperties.map((name) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          label: entity.schema.get(name).label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return { entity, properties, selected };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  closeDialog() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const result: LocationProperties = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityProperties.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ({ entity, selected }) => (result[entity.ENTITY_TYPE] = selected),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dialogRef.close(result);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <h1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  matDialogTitle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  i18n="Title of popup to select locations that are displayed in the map"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Select displayed locations
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<app-dialog-close matDialogClose></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-form-field *ngFor="let row of entityProperties" style="width: 100%">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-label>{{ row.entity.label }}</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-select
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [(value)]="row.selected"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [disabled]="row.properties.length < 2"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      multiple
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <mat-option *ngFor="let prop of row.properties" [value]="prop.name">{{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        prop.label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }}</mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="closeDialog()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n="Button for closing popup and applying changes"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Apply
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/MarkdownPageComponent.html b/documentation/components/MarkdownPageComponent.html new file mode 100644 index 0000000000..b969f52c2d --- /dev/null +++ b/documentation/components/MarkdownPageComponent.html @@ -0,0 +1,400 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/markdown-page/markdown-page/markdown-page.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display markdown formatted page that is dynamically loaded based on the file defined in config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + markdownFile +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          filepath to be loaded as markdown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MarkdownPageModule } from "../markdown-page.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Display markdown formatted page that is dynamically loaded based on the file defined in config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@RouteTarget("MarkdownPage")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-markdown-page",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./markdown-page.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [MarkdownPageModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class MarkdownPageComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** filepath to be loaded as markdown */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() markdownFile: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <div markdown [src]="markdownFile"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/MatchingEntitiesComponent.html b/documentation/components/MatchingEntitiesComponent.html new file mode 100644 index 0000000000..d22c9fcf0a --- /dev/null +++ b/documentation/components/MatchingEntitiesComponent.html @@ -0,0 +1,1747 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/matching-entities/matching-entities/matching-entities.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(route: ActivatedRoute, formDialog: FormDialogService, entityMapper: EntityMapperService, configService: ConfigService, entityRegistry: EntityRegistry, filterService: FilterService, changeDetector: ChangeDetectorRef) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            changeDetector + ChangeDetectorRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Column mapping of property pairs of left and right entity that should be compared side by side.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + leftSide +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + matchActionLabel +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : $localize`:Matching button label:create matching` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + onMatch +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : NewMatchAction + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + rightSide +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + applySelectedFilters + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +applySelectedFilters(side: MatchingSide, filter: DataFilter<Entity>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            side + MatchingSide + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            filter + DataFilter<Entity> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + createMatch + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + createMatch() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + entityInMapClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +entityInMapClicked(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + updateMarkersAndDistances + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +updateMarkersAndDistances() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + DEFAULT_CONFIG_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "appConfig:matching-entities" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + displayedLocationProperties + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : LocationProperties + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : {} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + filteredMapEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + lockedMatching + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + mapVisible + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + matchComparisonElement + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : ElementRef + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @ViewChild('matchComparison', {static: true})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + sideDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : [MatchingSide, MatchingSide] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatchingEntitiesConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatchingSideConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  NewMatchAction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "./matching-entities-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponentConfig } from "../../../core/config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ActivatedRoute } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { addAlphaToHexColor } from "../../../utils/style-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ConfigService } from "../../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldViewComponent } from "../../../core/common-components/entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MapComponent } from "../../location/map/map.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterComponent } from "../../../core/filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Coordinates } from "../../location/coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LocationProperties } from "../../location/map/map-properties-popup/map-properties-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { getLocationProperties } from "../../location/map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FlattenArrayPipe } from "../../../utils/flatten-array/flatten-array.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { GeoLocation } from "../../location/location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface MatchingSide extends MatchingSideConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** pass along filters from app-filter to subrecord component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filterObj?: DataFilter<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  availableEntities?: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectMatch?: (e) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** whether this allows to select more than one selected match */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  multiSelect: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selected?: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** item of `selected` that is currently highlighted */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  highlightedSelected: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  distanceColumn: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    coordinatesProperties: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    compareCoordinates: BehaviorSubject<Coordinates[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@RouteTarget("MatchingEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("MatchingEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-matching-entities",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./matching-entities.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./matching-entities.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MapComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FilterComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FlattenArrayPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class MatchingEntitiesComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static DEFAULT_CONFIG_KEY = "appConfig:matching-entities";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() leftSide: MatchingSideConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() rightSide: MatchingSideConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Column mapping of property pairs of left and right entity that should be compared side by side.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() columns: [ColumnConfig, ColumnConfig][] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  matchActionLabel: string = $localize`:Matching button label:create matching`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() onMatch: NewMatchAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild("matchComparison", { static: true })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  matchComparisonElement: ElementRef;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columnsToDisplay = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  lockedMatching = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  sideDetails: [MatchingSide, MatchingSide];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  mapVisible = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filteredMapEntities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  displayedLocationProperties: LocationProperties = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private changeDetector: ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const config: MatchingEntitiesConfig =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.configService.getConfig<MatchingEntitiesConfig>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        MatchingEntitiesComponent.DEFAULT_CONFIG_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ) ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Object.assign(this, JSON.parse(JSON.stringify(config)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.route.data.subscribe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (data: DynamicComponentConfig<MatchingEntitiesConfig>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          !data?.config?.leftSide &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          !data?.config?.rightSide &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          !data?.config?.columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Object.assign(this, JSON.parse(JSON.stringify(data.config)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // TODO: fill selection on hover already?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sideDetails = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.initSideDetails(this.leftSide, 0),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.initSideDetails(this.rightSide, 1),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sideDetails.forEach((side, index) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.initDistanceColumn(side, index),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterMapEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.columnsToDisplay = ["side-0", "side-1"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // needed due to async
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Generate setup for a side of the matching view template based on the component input properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param sideIndex
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async initSideDetails(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    side: MatchingSideConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    sideIndex: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<MatchingSide> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newSide = Object.assign({}, side) as MatchingSide; // we are transforming it into this type here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!newSide.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.selected = newSide.selected ?? [this.entity];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.highlightedSelected = newSide.selected[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.entityType = newSide.highlightedSelected?.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let entityType = newSide.entityType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (typeof entityType === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entityType = this.entityRegistry.get(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newSide.entityType =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entityType ?? newSide.highlightedSelected?.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newSide.columns =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.columns ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.columns.map((p) => p[sideIndex]).filter((c) => !!c);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newSide.multiSelect = this.checkIfMultiSelect(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.onMatch.newEntityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      sideIndex === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ? this.onMatch.newEntityMatchPropertyLeft
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        : this.onMatch.newEntityMatchPropertyRight,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (newSide.multiSelect) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.selectMatch = this.getMultiSelectFunction(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.selectMatch = this.getSingleSelectFunction(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!newSide.selected && newSide.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.availableEntities = await this.entityMapper.loadType(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSide.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.availableFilters = newSide.availableFilters ?? [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.filterObj = { ...(side.prefilter ?? {}) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.mapVisible =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.mapVisible || getLocationProperties(newSide.entityType).length > 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return newSide;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private checkIfMultiSelect(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    onMatchEntityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    onMatchProperty: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const schemaField = this.entityRegistry
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .get(onMatchEntityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .schema.get(onMatchProperty);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return schemaField.isArray;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getMultiSelectFunction(newSide: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!newSide.selected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSide.selected = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (newSide.selected.includes(e)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        // unselect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.highlightSelectedRow(e, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSide.selected = newSide.selected.filter((s) => s !== e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (newSide.highlightedSelected === e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          newSide.highlightedSelected = newSide.selected[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.highlightSelectedRow(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSide.selected = [...newSide.selected, e];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSide.highlightedSelected = e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.matchComparisonElement.nativeElement.scrollIntoView();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.updateDistanceColumn(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getSingleSelectFunction(newSide: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.highlightSelectedRow(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (newSide.highlightedSelected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.highlightSelectedRow(newSide.highlightedSelected, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.selected = [e];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSide.highlightedSelected = e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.matchComparisonElement.nativeElement.scrollIntoView();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.updateDistanceColumn(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private highlightSelectedRow(newSelectedEntity: Entity, unHighlight = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (unHighlight) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSelectedEntity.getColor =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        newSelectedEntity.getConstructor().prototype.getColor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newSelectedEntity.getColor = () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        addAlphaToHexColor(newSelectedEntity.getConstructor().color, 0.2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async createMatch() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newMatchEntity = new (this.entityRegistry.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.onMatch.newEntityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ))();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const leftMatch = this.sideDetails[0].selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const rightMatch = this.sideDetails[1].selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newMatchEntity[this.onMatch.newEntityMatchPropertyLeft] = this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .sideDetails[0].multiSelect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? leftMatch.map((e) => e.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : leftMatch[0].getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newMatchEntity[this.onMatch.newEntityMatchPropertyRight] = this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .sideDetails[1].multiSelect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? rightMatch.map((e) => e.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : rightMatch[0].getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // best guess properties (if they do not exist on the specific entity, the values will be discarded during save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newMatchEntity["date"] = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newMatchEntity["start"] = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newMatchEntity["name"] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newMatchEntity.getConstructor().label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      leftMatch.map((e) => e.toString()).join(", ") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      " - " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      rightMatch.map((e) => e.toString()).join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.onMatch.columnsToReview) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.formDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .openFormPopup(newMatchEntity, this.onMatch.columnsToReview)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .subscribe((result) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          if (result instanceof newMatchEntity.getConstructor()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            this.lockedMatching = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.entityMapper.save(newMatchEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.lockedMatching = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  applySelectedFilters(side: MatchingSide, filter: DataFilter<Entity>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    side.filterObj = { ...side.prefilter, ...filter };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filterMapEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private filterMapEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filteredMapEntities = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sideDetails.forEach((side) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (side.filterObj) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const predicate = this.filterService.getFilterPredicate(side.filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const filtered = side.availableEntities.filter(predicate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.filteredMapEntities.push(...filtered);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.filteredMapEntities.push(...(side.availableEntities ?? []));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityInMapClicked(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const side = this.sideDetails.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (s) => s.entityType === entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (side) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      side.selectMatch(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Initialize distance column for columns of side and columns of EntitySubrecord
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param index of the side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private initDistanceColumn(side: MatchingSide, index: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const sideIndex = side.columns.findIndex((col) => col === "distance");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (sideIndex !== -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const columnConfig = this.getDistanceColumnConfig(side);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      side.columns[sideIndex] = columnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      side.distanceColumn = columnConfig.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const colIndex = this.columns.findIndex(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (row) => row[index] === "distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (colIndex !== -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.columns[colIndex][index] = columnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getDistanceColumnConfig(side: MatchingSide): FormFieldConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      id: "distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      label: $localize`:Matching View column name:Distance`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      viewComponent: "DisplayDistance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      additional: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        coordinatesProperties:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.displayedLocationProperties[side.entityType.ENTITY_TYPE],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        compareCoordinates: new BehaviorSubject<Coordinates[]>([]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  updateMarkersAndDistances() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sideDetails.forEach((side) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const sideProperties =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.displayedLocationProperties[side.entityType.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (side.distanceColumn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        side.distanceColumn.coordinatesProperties = sideProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const lastValue = side.distanceColumn.compareCoordinates.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        side.distanceColumn.compareCoordinates.next(lastValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (side.highlightedSelected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.updateDistanceColumn(side);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private updateDistanceColumn(side: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const locationProperties =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.displayedLocationProperties[side.highlightedSelected?.getType()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const otherIndex = this.sideDetails[0] === side ? 1 : 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const distanceColumn = this.sideDetails[otherIndex].distanceColumn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (locationProperties && distanceColumn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const coordinates: Coordinates[] = locationProperties.map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (prop) => (side.highlightedSelected[prop] as GeoLocation)?.geoLookup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      distanceColumn.compareCoordinates.next(coordinates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div class="margin-bottom-small" #matchComparison>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [dataSource]="columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    class="match-comparison-table mat-elevation-z1"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [matColumnDef]="'side-' + i"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      *ngFor="let side of sideDetails; let i = index"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <th
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        mat-header-cell
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        *matHeaderCellDef
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        class="comparison-header"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [style.color]="side.entityType?.color ?? 'black'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <em class="comparison-header-type">{{ side.entityType?.label }}:</em>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        &nbsp;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <ng-container *ngFor="let s of side.selected; let i = index">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          <span
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            [class.highlighted-name]="s === side.highlightedSelected"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            (click)="side.highlightedSelected = s"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            >{{ s.toString() }}</span
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          ><ng-container *ngIf="i < side.selected.length - 1">, </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        &nbsp;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          icon="lock"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          *ngIf="!side.availableEntities || lockedMatching"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          matTooltip="These details of the record are displayed to make comparison easier. You cannot select a different record here."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          i18n-matTooltip="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            tooltip explaining that this entity in matching is locked
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          class="icon"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <td mat-cell *matCellDef="let property">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <app-entity-field-view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          *ngIf="side.highlightedSelected && property[i]; else placeholder"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          [entity]="side.highlightedSelected"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          [field]="property[i]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          showLabel="above"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ></app-entity-field-view>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <ng-template #placeholder> - </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <tr mat-row *matRowDef="let row; columns: columnsToDisplay"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div class="margin-bottom-large flex-column gap-small">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    style="width: 100%"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="createMatch()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [disabled]="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      !(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        sideDetails?.[0].selected?.length > 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        sideDetails?.[1].selected?.length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ) || lockedMatching
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    {{ matchActionLabel }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <app-map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *ngIf="mapVisible"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    class="flex-grow"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [expandable]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [entities]="filteredMapEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [highlightedEntities]="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [sideDetails?.[0].selected, sideDetails?.[1].selected] | flattenArray
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (entityClick)="entityInMapClicked($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [(displayedProperties)]="displayedLocationProperties"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (displayedPropertiesChange)="updateMarkersAndDistances()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ></app-map>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div class="flex-row flex-wrap gap-large" *ngIf="!lockedMatching">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <ng-container *ngFor="let side of sideDetails">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <div class="flex-grow" *ngIf="side.availableEntities">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <h3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [style.color]="side.entityType?.color ?? 'black'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        class="selection-header"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        i18n="header of section with entities available for selection"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Select {{ side.entityType?.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <app-filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        class="flex-row gap-regular flex-wrap"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [filterConfig]="side.availableFilters"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [entityType]="side.entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [entities]="side.availableEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (filterObjChange)="applySelectedFilters(side, $event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ></app-filter>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [entityType]="side.entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [records]="side.availableEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [customColumns]="side.columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [editable]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        clickMode="none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (entityClick)="side.selectMatch($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [filter]="side.filterObj"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./matching-entities.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.overall-layout {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @include grid-layout.adaptive(380px, 100%);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.map-placeholder {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  background-color: lightgrey;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  height: 100px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  padding: 2em;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.match-comparison-table {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  table-layout: fixed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  border-spacing: sizes.$large 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.comparison-header {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-size: medium;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.comparison-header-type {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-weight: bold;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.selection-header {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-weight: 500;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  font-size: medium;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.highlighted-name {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  text-decoration: underline;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NavigationComponent.html b/documentation/components/NavigationComponent.html new file mode 100644 index 0000000000..65fc8f9ea1 --- /dev/null +++ b/documentation/components/NavigationComponent.html @@ -0,0 +1,683 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/ui/navigation/navigation/navigation.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Main app menu listing.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(configService: ConfigService, router: Router, routePermissionService: RoutePermissionsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              routePermissionService + RoutePermissionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + activeLink + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The menu-item link (not the actual router link) that is currently active

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + menuItems + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              all menu items to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MenuItem, NavigationMenuConfig } from "../menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ConfigService } from "../../../config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NavigationEnd, Router, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { filter, startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatListModule } from "@angular/material/list";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FaDynamicIconComponent } from "../../../common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RoutePermissionsService } from "../../../config/dynamic-routing/route-permissions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Main app menu listing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-navigation",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./navigation.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./navigation.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatListModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class NavigationComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** The menu-item link (not the actual router link) that is currently active */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  activeLink: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** name of config array in the config json file */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private readonly CONFIG_ID = "navigationMenu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** all menu items to be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public menuItems: MenuItem[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private routePermissionService: RoutePermissionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.configService.configUpdates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe(() => this.initMenuItemsFromConfig());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.router.events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        startWith(new NavigationEnd(0, this.router.url, "")),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        filter((event) => event instanceof NavigationEnd),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe((event: NavigationEnd) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.activeLink = this.computeActiveLink(event.url);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Computes the active link from a set of MenuItems.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The active link is the link with the most "overlap", i.e.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * the most specific link that can be found given the array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param newUrl The new url for which the navigation item should be highlighted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @return the most specific link
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private computeActiveLink(newUrl: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // conservative filter matching all items that could fit to the given url
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const items: MenuItem[] = this.menuItems.filter((item) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      newUrl.startsWith(item.link),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (items.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case 0:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case 1:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const link = items[0].link;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // for root "/" only return on exact match to avoid confusing highlighting of unrelated items
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return newUrl === link || link.length > 1 ? link : "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // If there are multiple matches (A user navigates with a URL that starts with
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // multiple links from a MenuItem), use the element where the length is bigger.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // For example: Let there be two possible routes: '/attendance' and '/attendance/add/day'.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // When a user navigates to the URL '/attendance', only '/attendance' is
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // a prefix of the possible '/attendance'. The potential other candidate '/attendance/add/day'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // is not a prefix of '/attendance' and there is no ambiguity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // Vice Versa, when navigated to '/attendance/add/day',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // both '/attendance' and '/attendance/add/day' are a prefix of '/attendance/add/day'.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // In the latter case, the one with the longer URL should match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return items.reduce((i1, i2) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          i1.link.length > i2.link.length ? i1 : i2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ).link;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Load menu items from config file
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async initMenuItemsFromConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const config = this.configService.getConfig<NavigationMenuConfig>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.menuItems = await this.routePermissionService.filterPermittedRoutes(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      config.items,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // re-select active menu item after menu has been fully initialized
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.activeLink = this.computeActiveLink(location.pathname);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-nav-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <ng-container *ngFor="let item of menuItems">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-list-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      angularticsCategory="Navigation"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      angularticsAction="app_navigation_link_click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [angularticsLabel]="item.label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [routerLink]="[item.link]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [class.matched-background]="item.link === activeLink"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      onclick="this.blur();"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <a class="flex-row gap-small">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <app-fa-dynamic-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          class="nav-icon"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          [icon]="item.icon"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        <div>{{ item.label }}</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      </a>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </mat-list-item>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <mat-divider></mat-divider>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-nav-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./navigation.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/* ensures that all icons have the same width */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.nav-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  min-width: sizes.$max-icon-width;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.matched-background {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  background-color: colors.$background !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NotFoundComponent.html b/documentation/components/NotFoundComponent.html new file mode 100644 index 0000000000..0e2ca5a6df --- /dev/null +++ b/documentation/components/NotFoundComponent.html @@ -0,0 +1,423 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/config/dynamic-routing/not-found/not-found.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(location: Location) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Inject, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { LOCATION_TOKEN } from "../../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-not-found",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./not-found.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./not-found.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [MatButtonModule, RouterLink],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class NotFoundComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(@Inject(LOCATION_TOKEN) private location: Location) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this.location.pathname.endsWith("/404")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      Logging.debug("Could not find route: " + this.location.pathname);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="flex-column place-center">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <h1 i18n>Page Not Found</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <h2 class="error-code">404</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <p i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Either the page has been removed or you don't have the required permissions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    to view this page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <button mat-stroked-button routerLink="" i18n>Go to Dashboard</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./not-found.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.error-code {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  color: colors.$text-secondary;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NoteAttendanceCountBlockComponent.html b/documentation/components/NoteAttendanceCountBlockComponent.html new file mode 100644 index 0000000000..71bed817f4 --- /dev/null +++ b/documentation/components/NoteAttendanceCountBlockComponent.html @@ -0,0 +1,483 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/notes/note-attendance-block/note-attendance-count-block.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Displays the amount of children with a given attendance status at a given note.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The logical attendance status for which the attendance should be counted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Note + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The note on which the attendance should be counted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + participantsWithStatus + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AttendanceLogicalStatus } from "../../attendance/model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Displays the amount of children with a given attendance status at a given note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("NoteAttendanceCountBlock")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-note-attendance-count-block",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  template: `{{ participantsWithStatus }}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class NoteAttendanceCountBlockComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The note on which the attendance should be counted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() entity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The logical attendance status for which the attendance should be counted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() config: { status: AttendanceLogicalStatus };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  participantsWithStatus: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.participantsWithStatus = this.entity.countWithStatus(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.config.status,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NoteDetailsComponent.html b/documentation/components/NoteDetailsComponent.html new file mode 100644 index 0000000000..997c308ce7 --- /dev/null +++ b/documentation/components/NoteDetailsComponent.html @@ -0,0 +1,1284 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/child-dev-project/notes/note-details/note-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component responsible for displaying the Note creation/view window

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + AbstractEntityDetailsComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(entityMapperService: EntityMapperService, entities: EntityRegistry, ability: EntityAbility, router: Router, unsavedChanges: UnsavedChangesService, configService: ConfigService, entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + bottomForm +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : ["children", "schools"] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Note + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + middleForm +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : ["subject", "text"] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + topForm +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [ + "date", + "warningLevel", + "category", + "authors", + "attachment", + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + Async + loadEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + loadEntity() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + subscribeToEntityChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + subscribeToEntityChanges() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + bottomFieldGroups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : Note +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + exportConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    export format for notes to be used for downloading the individual details

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityForm<Note> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + tmpEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Note + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + topFieldGroups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ViewEncapsulation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ExportColumnConfig } from "../../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ConfigService } from "../../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityListConfig } from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DatePipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ExportDataDirective } from "../../../core/export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../../../core/common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityFormComponent } from "../../../core/common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponentDirective } from "../../../core/config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DialogButtonsComponent } from "../../../core/form-dialog/dialog-buttons/dialog-buttons.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DialogCloseComponent } from "../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityArchivedInfoComponent } from "../../../core/entity-details/entity-archived-info/entity-archived-info.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityFieldEditComponent } from "../../../core/common-components/entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FieldGroup } from "../../../core/entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AbstractEntityDetailsComponent } from "../../../core/entity-details/abstract-entity-details/abstract-entity-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityAbility } from "../../../core/permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UnsavedChangesService } from "../../../core/entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatProgressBar } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ViewActionsComponent } from "../../../core/common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Component responsible for displaying the Note creation/view window
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("NoteDetails")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-note-details",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./note-details.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./note-details.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DialogButtonsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityArchivedInfoComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatProgressBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ViewActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class NoteDetailsComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  extends AbstractEntityDetailsComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  implements OnChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityConstructor = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** export format for notes to be used for downloading the individual details */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  exportConfig: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() topForm = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    "date",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    "warningLevel",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    "category",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    "authors",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    "attachment",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() middleForm = ["subject", "text"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() bottomForm = ["children", "schools"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  topFieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  bottomFieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  form: EntityForm<Note>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  tmpEntity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super(entityMapperService, entities, ability, router, unsavedChanges);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.exportConfig = this.configService.getConfig<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      config: EntityListConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }>("view:note")?.config.exportConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    await super.ngOnChanges(changes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.topFieldGroups = this.topForm.map((f) => ({ fields: [f] }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.bottomFieldGroups = [{ fields: this.bottomForm }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.middleForm.concat(this.topForm, this.bottomForm),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // create an object reflecting unsaved changes to use in template (e.g. for dynamic title)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.tmpEntity = this.entity.copy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.valueChanges.pipe(untilDestroyed(this)).subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.tmpEntity = Object.assign(this.tmpEntity, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @if (isLoading || !tmpEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {{ tmpEntity.date | date }}: {{ tmpEntity.subject }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div class="flex-column gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-entity-archived-info [entity]="entity"></app-entity-archived-info>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [fieldGroups]="topFieldGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <!-- Primary information of Note -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="mat-elevation-z2 flex-column gap-small padding-small margin-bottom-regular"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <div class="middle-form-field">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <app-entity-field-edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [field]="middleForm[0]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ></app-entity-field-edit>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <div class="textarea middle-form-field">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <app-entity-field-edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [field]="middleForm[1]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ></app-entity-field-edit>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [fieldGroups]="bottomFieldGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      style="margin-top: 10px"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ></app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <app-dialog-buttons [form]="form" [entity]="entity">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [appExportData]="[entity]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [filename]="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          'event_' +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          entity.toString()?.replace(' ', '-') +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          '_' +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          (entity.date | date: 'YYYY-MM-dd')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          angularticsCategory="Note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          angularticsAction="single_note_csv_export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <span i18n="Download note details as CSV"> Download details </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </app-dialog-buttons>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./note-details.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.input-medium {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  max-width: 500px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.content-header {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @include grid-layout.adaptive(450px);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.additional-actions-menu {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  right: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  top: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.form-section {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin-top: 24px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.middle-form-field mat-form-field {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NotesDashboardComponent.html b/documentation/components/NotesDashboardComponent.html new file mode 100644 index 0000000000..283f88b188 --- /dev/null +++ b/documentation/components/NotesDashboardComponent.html @@ -0,0 +1,1179 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Dashboard Widget displaying entities that do not have a recently added Note.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      If you do not set "sinceDays" of "fromBeginningOfWeek" inputs +by default notes since beginning of the current week are considered.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + DashboardWidget +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + OnInit + NotesDashboardConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(childrenService: ChildrenService, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Entity for which the recent notes should be counted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + fromBeginningOfWeek +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Whether an additional offset should be automatically added to include notes from the beginning of the week

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + mode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : "with-recent-notes" | "without-recent-notes" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + sinceDays +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      number of days since last note that entities should be considered having a "recent" note.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getRequiredEntities(config: NotesDashboardConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DashboardWidget:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      config + NotesDashboardConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + _entity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : Child +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + entries + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EntityWithRecentNoteInfo[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Entities displayed in the template with additional "daysSinceLastNote" field

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + subtitle + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + setentity(value: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Entity for which the recent notes should be counted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + gettooltip() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + sinceBeginningOfTheWeek +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + getsinceBeginningOfTheWeek() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + withinTheLastNDays +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + getwithinTheLastNDays() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ChildrenService } from "../../../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityConstructor } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DecimalPipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Note } from "../../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface NotesDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  sinceDays?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  fromBeginningOfWeek?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  mode?: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Dashboard Widget displaying entities that do not have a recently added Note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * If you do not set "sinceDays" of "fromBeginningOfWeek" inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * by default notes since beginning of the current week are considered.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("NotesDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-no-recent-notes-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./notes-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./notes-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DecimalPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class NotesDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  implements OnInit, NotesDashboardConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static getRequiredEntities(config: NotesDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return config?.entity || Note.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Entity for which the recent notes should be counted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() set entity(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this._entity = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  _entity: EntityConstructor = Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * number of days since last note that entities should be considered having a "recent" note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() sinceDays = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** Whether an additional offset should be automatically added to include notes from the beginning of the week */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() fromBeginningOfWeek = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() mode: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Entities displayed in the template with additional "daysSinceLastNote" field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entries: EntityWithRecentNoteInfo[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  subtitle: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let dayRangeBoundary = this.sinceDays;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      dayRangeBoundary += moment().diff(moment().startOf("week"), "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          (stat) => stat[1] <= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities with recent reports:${this._entity.labelPlural} with recent report`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          (stat) => stat[1] >= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities without recent reports:${this._entity.labelPlural} having no recent reports`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    filter: (stat: [string, number]) => boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    dayRangeBoundary: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const queryRange = Math.round((dayRangeBoundary * 3) / 10) * 10; // query longer range to be able to display exact date of last note for recent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // recent notes are sorted ascending, without recent notes descending
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const order = this.mode === "with-recent-notes" ? -1 : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const recentNotesMap =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      await this.childrenService.getDaysSinceLastNoteOfEachEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this._entity.ENTITY_TYPE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entries = Array.from(recentNotesMap)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter(filter)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((stat) => statsToEntityWithRecentNoteInfo(stat, queryRange))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .sort((a, b) => order * (b.daysSinceLastNote - a.daysSinceLastNote));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  get tooltip(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases with a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases without a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  get sinceBeginningOfTheWeek(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        $localize`:Tooltip-part|'includes cases without a note since the beginning of the week':since the beginning of the week`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  get withinTheLastNDays(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.sinceDays > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        $localize`:Tooltip-part|'includes cases without a note within the last x days':without a note within the last ${this.sinceDays} days`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * details on entity stats to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  daysSinceLastNote: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** true when the daysSinceLastNote is not accurate but was cut off for performance optimization */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  moreThanDaysSince: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Map a result entry from getDaysSinceLastNoteOfEachEntity to the EntityWithRecentNoteInfo interface
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @param stat Array of [entityId, daysSinceLastNote]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @param queryRange The query range (the maximum of days that exactly calculated)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +function statsToEntityWithRecentNoteInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  stat: [string, number],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  queryRange: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +): EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  if (stat[1] < Number.POSITIVE_INFINITY) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      daysSinceLastNote: stat[1],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moreThanDaysSince: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      daysSinceLastNote: queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moreThanDaysSince: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  icon="file-alt"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  theme="note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [subtitle]="subtitle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [explanation]="tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [entries]="entries"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div class="table-wrapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <table mat-table [attr.aria-label]="subtitle">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <!-- Table header only for assistive technologies like screen readers -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <tr hidden="true">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <th scope="col">{{ _entity.label }}</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <th scope="col">Days since last note</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <ng-container matColumnDef="entity">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <td *matCellDef="let entityNoteInfo">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            [entityId]="entityNoteInfo.entityId"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        matColumnDef="daysSinceLastNote"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        i18n="Amount of days back|Format like 'Days passed > 5 days'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <td *matCellDef="let entityNoteInfo" class="text-align-end">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          <ng-container *ngIf="entityNoteInfo.moreThanDaysSince">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            &gt;&nbsp;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          {{ entityNoteInfo.daysSinceLastNote | number: "1.0-0" }} days
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        *matRowDef="let row; columns: ['entity', 'daysSinceLastNote']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <div *ngIf="entries?.length === 0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        *ngIf="mode === 'without-recent-notes'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          There are no participants that don't have a recent report to be shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        no records without recent report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        *ngIf="mode === 'with-recent-notes'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          There are no participants that have a recent report to be shown here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        no records with recent report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./notes-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NotesManagerComponent.html b/documentation/components/NotesManagerComponent.html new file mode 100644 index 0000000000..717255888c --- /dev/null +++ b/documentation/components/NotesManagerComponent.html @@ -0,0 +1,1042 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/child-dev-project/notes/notes-manager/notes-manager.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(formDialog: FormDialogService, entityMapperService: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + columnGroups +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + defaultSort +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + exportConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + filters +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + includeEventNotes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + showEventNotesToggle +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + title +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + addNoteClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +addNoteClick() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + showDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +showDetails(entity: Note) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + Note + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + updateIncludeEvents + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + updateIncludeEvents() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : Note +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + notes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Note[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityListComponent } from "../../../core/entity-list/entity-list/entity-list.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { applyUpdate } from "../../../core/entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ColumnGroupsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  FilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EventNote } from "../../attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { merge } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FaDynamicIconComponent } from "../../../core/common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * additional config specifically for NotesManagerComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface NotesManagerConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** whether to also load EventNote entities in addition to Note entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  includeEventNotes?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** whether a toggle control is displayed to users, allowing to change the "includeEventNotes" state */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  showEventNotesToggle?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@RouteTarget("NotesManager")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-notes-manager",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./notes-manager.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    EntityListComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class NotesManagerComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  // inputs to be passed through to EntityList
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() defaultSort: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() exportConfig: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() showInactive: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() title = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() columns: (FormFieldConfig | string)[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() columnGroups: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() filters: FilterConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() includeEventNotes: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() showEventNotesToggle: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityConstructor = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  notes: Note[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.notes = await this.loadEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.subscribeEntityUpdates();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async loadEntities(): Promise<Note[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let notes = await this.entityMapperService.loadType(Note);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.includeEventNotes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const eventNotes = await this.entityMapperService.loadType(EventNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      notes = notes.concat(eventNotes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return notes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private subscribeEntityUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    merge(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityMapperService.receiveUpdates(Note),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityMapperService.receiveUpdates(EventNote),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe((updatedNote) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          !this.includeEventNotes &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          updatedNote?.entity?.getType() === EventNote.ENTITY_TYPE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.notes = applyUpdate(this.notes, updatedNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async updateIncludeEvents() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.includeEventNotes = !this.includeEventNotes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.notes = await this.loadEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  addNoteClick() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const newNote = new Note(Date.now().toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.showDetails(newNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  showDetails(entity: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.formDialog.openView(entity, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <app-entity-list
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [allEntities]="notes"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [entityConstructor]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  clickMode="none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (elementClick)="showDetails($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (addNewClick)="addNoteClick()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [defaultSort]="defaultSort"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [title]="title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [columns]="columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [columnGroups]="columnGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [filters]="filters"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngIf="showEventNotesToggle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="updateIncludeEvents()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    angularticsCategory="Note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    angularticsAction="include_events_toggle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [angularticsLabel]="includeEventNotes ? 'off' : 'on'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Slider that allows a user to also include events|events are related to a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      child
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <app-fa-dynamic-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [icon]="includeEventNotes ? 'toggle-on' : 'toggle-off'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Include events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</app-entity-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/NotesRelatedToEntityComponent.html b/documentation/components/NotesRelatedToEntityComponent.html new file mode 100644 index 0000000000..4462e9dd3c --- /dev/null +++ b/documentation/components/NotesRelatedToEntityComponent.html @@ -0,0 +1,1523 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/notes/notes-related-to-entity/notes-related-to-entity.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The component that is responsible for listing the Notes that are related to a certain entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + RelatedEntitiesComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(childrenService: ChildrenService, formDialog: FormDialogService, entityMapper: EntityMapperService, entities: EntityRegistry, screenWidthObserver: ScreenWidthObserver, filterService: FilterService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + showNoteDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +showNoteDetails(note: Note) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          note + Note + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [ + { id: "date", visibleFrom: "xs" }, + { id: "subject", visibleFrom: "xs" }, + { id: "text", visibleFrom: "md" }, + { id: "authors", visibleFrom: "md" }, + { id: "warningLevel", visibleFrom: "md" }, + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : Note +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + getColor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          returns the color for a note; passed to the entity subrecord component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          note +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          note to get color for

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + newRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : this.createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ChildrenService } from "../../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ChildSchoolRelation } from "../../children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityDatatype } from "../../../core/basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { asArray } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RelatedEntitiesComponent } from "../../../core/entity-details/related-entities/related-entities.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * The component that is responsible for listing the Notes that are related to a certain entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("NotesRelatedToEntity")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("NotesOfChild") // for backward compatibility
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-notes-related-to-entity",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./notes-related-to-entity.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [EntitiesTableComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class NotesRelatedToEntityComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  extends RelatedEntitiesComponent<Note>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override entityCtr = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override _columns: FormFieldConfig[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    { id: "date", visibleFrom: "xs" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    { id: "subject", visibleFrom: "xs" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    { id: "text", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    { id: "authors", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    { id: "warningLevel", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * returns the color for a note; passed to the entity subrecord component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param note note to get color for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getColor = (note: Note) => note?.getColor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  newRecordFactory = this.createNewRecordFactory();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super(entityMapper, entities, screenWidthObserver, filterService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.entity.getType() === Child.ENTITY_TYPE) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // When displaying notes for a child, use attendance color highlighting
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.getColor = (note: Note) => note?.getColorForId(this.entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override getData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.childrenService.getNotesRelatedTo(this.entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override createNewRecordFactory() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const newNote = super.createNewRecordFactory()();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      //TODO: generalize this code - possibly by only using relatedEntities to link other records here? see #1501
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (this.entity.getType() === ChildSchoolRelation.ENTITY_TYPE) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        for (const childId of asArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (this.entity as ChildSchoolRelation).childId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        )) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          if (childId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            newNote.addChild(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        for (const schooldId of asArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (this.entity as ChildSchoolRelation).schoolId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        )) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          if (schooldId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            newNote.addSchool(schooldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      for (const e of [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.entity.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ...this.getIndirectlyRelatedEntityIds(this.entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (!newNote.relatedEntities.includes(e)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          newNote.relatedEntities.push(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return newNote;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Get entities referenced in the given entity that match the entity types allowed for Note.relatedEntities schema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * and return their ids (including prefix).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private getIndirectlyRelatedEntityIds(entity: Entity): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let relatedIds = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let permittedRelatedTypes = asArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Note.schema.get("relatedEntities").additional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const [property, schema] of entity.getSchema().entries()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (!entity[property]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // empty - skip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (schema.dataType !== EntityDatatype.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // not referencing other entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      for (const referencedId of asArray(entity[property])) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        const referencedType = Entity.extractTypeFromId(referencedId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (permittedRelatedTypes.includes(referencedType)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          // entity can have references of multiple entity types of which only some are allowed to be linked to Notes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          relatedIds.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            Entity.createPrefixedId(referencedType, referencedId),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return relatedIds;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  showNoteDetails(note: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.formDialog.openView(note, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [newRecordFactory]="newRecordFactory"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  clickMode="none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  (entityClick)="showNoteDetails($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [getBackgroundColor]="getColor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ObjectTableComponent.html b/documentation/components/ObjectTableComponent.html new file mode 100644 index 0000000000..f2f0ca1e68 --- /dev/null +++ b/documentation/components/ObjectTableComponent.html @@ -0,0 +1,593 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/reporting/reporting/object-table/object-table.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + objects +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + dataSource + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : new MatTableDataSource() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + paginator + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MatPaginator + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @ViewChild(MatPaginator, {static: true})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + sort + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MatSort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @ViewChild(MatSort, {static: true})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input, OnInit, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableDataSource, MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatSort, MatSortModule } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatPaginator, MatPaginatorModule } from "@angular/material/paginator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-object-table",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./object-table.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./object-table.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [MatTableModule, NgForOf, MatSortModule, MatPaginatorModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ObjectTableComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() objects: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(MatSort, { static: true }) sort: MatSort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  dataSource = new MatTableDataSource();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.dataSource.paginator = this.paginator;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.dataSource.sort = this.sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.columns = Object.keys(this.objects[0]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.dataSource.data = this.objects;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  mat-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [dataSource]="dataSource"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  matSort
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  class="full-width"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  i18n-aria-label="Label for table showing report result"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  aria-label="Table showing the report results"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <ng-container *ngFor="let col of columns" [matColumnDef]="col">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ col }}</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <td mat-cell *matCellDef="let row">{{ row[col] }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <tr mat-header-row *matHeaderRowDef="columns"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <tr mat-row *matRowDef="let row; columns: columns"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<mat-paginator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [pageSizeOptions]="[10, 50, 100]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showFirstLastButtons
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  aria-label="Select page of periodic elements"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</mat-paginator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./object-table.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/PillComponent.html b/documentation/components/PillComponent.html new file mode 100644 index 0000000000..0b3a0479cc --- /dev/null +++ b/documentation/components/PillComponent.html @@ -0,0 +1,344 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/common-components/pill/pill.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-pill",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./pill.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./pill.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class PillComponent {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./pill.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  padding: sizes.$small sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  border-radius: 100vmax;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  width: max-content;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  display: inline-block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/PrimaryActionComponent.html b/documentation/components/PrimaryActionComponent.html new file mode 100644 index 0000000000..c40625486b --- /dev/null +++ b/documentation/components/PrimaryActionComponent.html @@ -0,0 +1,579 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/ui/primary-action/primary-action.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The "Primary Action" is always displayed hovering over the rest of the app as a quick action for the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This is a UX concept also used in many Android apps. +see https://material.io/components/buttons-floating-action-button/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(formDialog: FormDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + primaryAction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +primaryAction() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The primary action to be triggered when the user clicks the hovering button.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + noteConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : Note +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { ChangeDetectionStrategy, Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Note } from "../../../child-dev-project/notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormDialogService } from "../../form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * The "Primary Action" is always displayed hovering over the rest of the app as a quick action for the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This is a UX concept also used in many Android apps.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * see {@link https://material.io/components/buttons-floating-action-button/}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-primary-action",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./primary-action.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./primary-action.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class PrimaryActionComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  noteConstructor = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(private formDialog: FormDialogService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The primary action to be triggered when the user clicks the hovering button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  primaryAction() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.formDialog.openView(this.createNewNote(), "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private createNewNote() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return new Note(Date.now().toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  mat-fab
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  class="primary-action"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  (click)="primaryAction()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  angularticsCategory="Navigation"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  angularticsAction="primary_action_click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    entity: noteConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    operation: 'create',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <fa-icon icon="file-alt"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./primary-action.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                .primary-action {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  font-size: 180%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  bottom: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  right: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  z-index: 999;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ProgressComponent.html b/documentation/components/ProgressComponent.html new file mode 100644 index 0000000000..c5f100a8da --- /dev/null +++ b/documentation/components/ProgressComponent.html @@ -0,0 +1,462 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/file/progress/progress.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(config: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  config + literal type + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + Public + config + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + @Inject(MAT_SNACK_BAR_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MAT_SNACK_BAR_DATA } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AsyncPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-progress",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./progress.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [MatProgressBarModule, AsyncPipe],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ProgressComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_SNACK_BAR_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    public config: { message: string; progress: Observable<number> },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <p>{{ config.message }}</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-progress-bar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  mode="determinate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [value]="config.progress | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ProgressDashboardComponent.html b/documentation/components/ProgressDashboardComponent.html new file mode 100644 index 0000000000..4fa5f045d4 --- /dev/null +++ b/documentation/components/ProgressDashboardComponent.html @@ -0,0 +1,841 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DashboardWidget +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(entityMapper: EntityMapperService, dialog: MatDialog, syncState: SyncStateSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    syncState + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + dashboardConfigId +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + getRequiredEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DashboardWidget:39 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + save() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + showEditComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +showEditComponent() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ProgressDashboardConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ProgressDashboardConfig } from "./progress-dashboard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Logging } from "../../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EditProgressDashboardComponent } from "../edit-progress-dashboard/edit-progress-dashboard.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { waitForChangeTo } from "../../../../core/session/session-states/session-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncState } from "../../../../core/session/session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { PercentPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncStateSubject } from "../../../../core/session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-progress-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./progress-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./progress-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    PercentPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("ProgressDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ProgressDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static getRequiredEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return ProgressDashboardConfig.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() dashboardConfigId = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  data: ProgressDashboardConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private syncState: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.data = new ProgressDashboardConfig(this.dashboardConfigId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.loadConfigFromDatabase().catch(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      firstValueFrom(this.syncState.pipe(waitForChangeTo(SyncState.COMPLETED)))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .then(() => this.loadConfigFromDatabase())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .catch(() => this.createDefaultConfig()),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private loadConfigFromDatabase() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .load(ProgressDashboardConfig, this.dashboardConfigId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .then((config) => (this.data = config));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private createDefaultConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      `ProgressDashboardConfig (${this.dashboardConfigId}) not found. Creating ...`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.data.title = $localize`:The progress, e.g. of a certain activity:Progress of X`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.save();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async save() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    await this.entityMapper.save(this.data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  showEditComponent() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .open(EditProgressDashboardComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        data: this.data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe(async (next) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (next) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Object.assign(this.data, next);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          await this.save();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <div class="widget-container">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    icon="list"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    theme="child"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [subtitle]="data?.title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    [entries]="data?.parts"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div class="table-wrapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        mat-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        i18n-aria-label="Label for progress dashboard"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        aria-label="Table showing organization progress"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <ng-container matColumnDef="label">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <td *matCellDef="let entry" class="width-1-3 padding-right-small">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            {{ entry.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <ng-container matColumnDef="progress-bar">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <td *matCellDef="let entry" class="full-width">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            <mat-progress-bar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              class="progress-bar"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              mode="determinate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              [value]="(entry.currentValue / entry.targetValue) * 100"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            ></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <ng-container matColumnDef="progress-value">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <td *matCellDef="let entry" class="progress-cell">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            {{ entry.currentValue }} / {{ entry.targetValue }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <tr hidden>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <th scope="col" i18n="The label of an entry">Label</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <th scope="col" i18n="A visual aid to understand a progress of sorts">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            Progress Bar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <th scope="col" i18n="A progress in numbers">Progress Value</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          *matRowDef="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            let row;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            columns: ['label', 'progress-bar', 'progress-value']
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <button mat-icon-button (click)="showEditComponent()" class="config-panel">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <fa-icon aria-label="configure" icon="wrench"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./progress-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.progress-bar {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  height: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.progress-cell {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  white-space: nowrap;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  padding-left: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  text-align: end;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.config-panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  left: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  bottom: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin: 4px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.widget-container {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ProgressDialogComponent.html b/documentation/components/ProgressDialogComponent.html new file mode 100644 index 0000000000..ee9e5acecf --- /dev/null +++ b/documentation/components/ProgressDialogComponent.html @@ -0,0 +1,466 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/confirmation-dialog/progress-dialog/progress-dialog.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A simple progress indicator dialog +used via the ConfirmationDialogService.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + + Public + data +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(data: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      data + literal type + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A simple progress indicator dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * used via the {@link ConfirmationDialogService}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./progress-dialog.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [MatProgressBarModule, MatDialogModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ProgressDialogComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(@Inject(MAT_DIALOG_DATA) public data: { message: string }) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <h1 mat-dialog-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  {{ data.message }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<div mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/PublicFormComponent.html b/documentation/components/PublicFormComponent.html new file mode 100644 index 0000000000..7dbfcfb304 --- /dev/null +++ b/documentation/components/PublicFormComponent.html @@ -0,0 +1,870 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/public-form/public-form.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(database: PouchDatabase, route: ActivatedRoute, entities: EntityRegistry, entityMapper: EntityMapperService, entityFormService: EntityFormService, configService: ConfigService, entitySchemaService: EntitySchemaService, snackbar: MatSnackBar) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        database + PouchDatabase + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        snackbar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + submit + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + submit() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : E + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + fieldGroups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EntityForm<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + formConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : PublicFormConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { PouchDatabase } from "../../core/database/pouch-database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ActivatedRoute } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { PublicFormConfig } from "./public-form-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../../core/common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityFormComponent } from "../../core/common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ConfigService } from "../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaService } from "../../core/entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatCardModule } from "@angular/material/card";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FieldGroup } from "../../core/entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { InvalidFormFieldError } from "../../core/common-components/entity-form/invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-public-form",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./public-form.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./public-form.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [EntityFormComponent, MatButtonModule, MatCardModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class PublicFormComponent<E extends Entity> implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private entityType: EntityConstructor<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private prefilled: Partial<E> = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  formConfig: PublicFormConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entity: E;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  form: EntityForm<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private database: PouchDatabase,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entitySchemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private snackbar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.database["pouchDB"]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.database.initRemoteDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // wait for config to be initialized
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.configService.configUpdates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe(() => this.loadFormConfig());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async submit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.entityFormService.saveChanges(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.snackbar.open($localize`Successfully submitted form`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (e instanceof InvalidFormFieldError) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.snackbar.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          $localize`Some fields are invalid, please check the form and submit again.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  reset() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async loadFormConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const id = this.route.snapshot.paramMap.get("id");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.formConfig = await this.entityMapper.load(PublicFormConfig, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityType = this.entities.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.formConfig.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ) as EntityConstructor<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.formConfig.prefilled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.prefilled = this.entitySchemaService.transformDatabaseToEntityFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.formConfig.prefilled,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityType.schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.fieldGroups = this.formConfig.columns.map((row) => ({ fields: row }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initForm() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entity = new this.entityType();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Object.entries(this.prefilled).forEach(([prop, value]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entity[prop] = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.form = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [].concat(...this.fieldGroups.map((group) => group.fields)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <mat-card-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-card-title>{{ formConfig?.title }}</mat-card-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-card-subtitle>{{ formConfig?.description }}</mat-card-subtitle>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </mat-card-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @if (formConfig && form) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [fieldGroups]="fieldGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        [gridLayout]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ></app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-card-footer>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        (click)="submit()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        i18n="Submit form button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Submit Form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <button mat-stroked-button (click)="reset()" i18n="Reset form button">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Reset
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </mat-card-footer>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      <p i18n>Loading form ...</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </mat-card-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./public-form.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  max-width: 700px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  width: 95%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  height: 50px !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  font-size: large;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin-left: 2.5%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin-bottom: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/PwaInstallComponent.html b/documentation/components/PwaInstallComponent.html new file mode 100644 index 0000000000..4a22ee072a --- /dev/null +++ b/documentation/components/PwaInstallComponent.html @@ -0,0 +1,799 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/pwa-install/pwa-install.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(snackBar: MatSnackBar, pwaInstallService: PwaInstallService, changeDetector: ChangeDetectorRef) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          pwaInstallService + PwaInstallService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          changeDetector + ChangeDetectorRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + pwaInstallButtonClicked + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +pwaInstallButtonClicked() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + _showPWAInstallButton + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + snackBar + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : MatSnackBar + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + templateIOSInstallInstructions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + @ViewChild('iOSInstallInstructions')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + showPWAInstallButton +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + setshowPWAInstallButton(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ChangeDetectionStrategy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { PwaInstallService, PWAInstallType } from "./pwa-install.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-pwa-install",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./pwa-install.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./pwa-install.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [NgIf, MatButtonModule, Angulartics2Module, FontAwesomeModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class PwaInstallComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @ViewChild("iOSInstallInstructions")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateIOSInstallInstructions: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  set showPWAInstallButton(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this._showPWAInstallButton = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  _showPWAInstallButton = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private pwaInstallType: PWAInstallType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    public snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private pwaInstallService: PwaInstallService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private changeDetector: ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.pwaInstallType = this.pwaInstallService.getPWAInstallType();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.pwaInstallType === PWAInstallType.ShowiOSInstallInstructions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.showPWAInstallButton = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    PwaInstallService.canInstallDirectly?.then(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.showPWAInstallButton = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  pwaInstallButtonClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.pwaInstallType === PWAInstallType.ShowiOSInstallInstructions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.snackBar.openFromTemplate(this.templateIOSInstallInstructions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.pwaInstallService.installPWA().then((choice) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (choice.outcome === "accepted") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          this.showPWAInstallButton = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  *ngIf="_showPWAInstallButton"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mat-flat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  class="pwa-install-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  color="primary"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  angularticsCategory="UserAction"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  angularticsAction="install_app"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  (click)="pwaInstallButtonClicked()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <fa-icon icon="cloud-download-alt" class="standard-icon-with-text"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <span i18n="PWA Install Button Label">Install App</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<ng-template #iOSInstallInstructions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-container i18n="PWA iOS Install Instructions - Line 1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    To install the app
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    style="position: absolute; right: -10px; top: 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (click)="snackBar.dismiss()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon icon="window-close" class="nav-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ol>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container i18n="PWA iOS Install Instructions - Line 2-1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        tap on
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon icon="arrow-up-from-bracket" class="nav-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container i18n="PWA iOS Install Instructions - Line 2-2">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        at the bottom
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container i18n="PWA iOS Install Instructions - Line 3-1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        and then tap on
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon icon="plus-square" class="nav-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container i18n="PWA iOS Install Instructions - Line 3-2">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (Add to Homescreen).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </ol>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./pwa-install.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.pwa-install-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  border-top: solid 1px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  color: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ReadonlyFunctionComponent.html b/documentation/components/ReadonlyFunctionComponent.html new file mode 100644 index 0000000000..e4ec60d80c --- /dev/null +++ b/documentation/components/ReadonlyFunctionComponent.html @@ -0,0 +1,574 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/display-readonly-function/readonly-function.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ViewDirective } from "../../entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFunctionPipe } from "./entity-function.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("ReadonlyFunction")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-readonly-function",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  template: `{{ entity | entityFunction: config }}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [EntityFunctionPipe],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ReadonlyFunctionComponent extends ViewDirective<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  (entity: Entity) => any
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +> {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RecentAttendanceBlocksComponent.html b/documentation/components/RecentAttendanceBlocksComponent.html new file mode 100644 index 0000000000..a707c39acb --- /dev/null +++ b/documentation/components/RecentAttendanceBlocksComponent.html @@ -0,0 +1,647 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/children/children-list/recent-attendance-blocks/recent-attendance-blocks.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              This component lists attendance blocks for a child for recent months filtered by institutions. +The child object the institution needs to be provided. +It also implements a flexible layout to display less attendance blocks on a smaller layout.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(attendanceService: AttendanceService, screenWidthObserver: ScreenWidthObserver) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Child + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + attendanceList + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ActivityAttendance[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + maxAttendanceBlocks + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : 3 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Child } from "../../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ActivityAttendance } from "../../../attendance/model/activity-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AttendanceService } from "../../../attendance/attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ScreenSize,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "../../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf, SlicePipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AttendanceBlockComponent } from "../../../attendance/attendance-block/attendance-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This component lists attendance blocks for a child for recent months filtered by institutions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The child object the institution needs to be provided.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * It also implements a flexible layout to display less attendance blocks on a smaller layout.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("RecentAttendanceBlocks")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-recent-attendance-blocks",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  template: `
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <app-attendance-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *ngFor="let att of attendanceList | slice: 0 : maxAttendanceBlocks"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [attendanceData]="att"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      [forChild]="entity.getId()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ></app-attendance-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  `,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [NgForOf, SlicePipe, AttendanceBlockComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class RecentAttendanceBlocksComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  attendanceList: ActivityAttendance[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  maxAttendanceBlocks: number = 3;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entity: Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() config: { filterByActivityType: string };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.screenWidthObserver
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .shared()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe((change) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        switch (change) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.xs:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.sm: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            this.maxAttendanceBlocks = 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.md: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            this.maxAttendanceBlocks = 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.lg: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            this.maxAttendanceBlocks = 3;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.xl:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          case ScreenSize.xxl: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            this.maxAttendanceBlocks = 6;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let activities = await this.attendanceService.getActivitiesForChild(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entity.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.config.filterByActivityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activities = activities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (a) => a.type.id === this.config.filterByActivityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.attendanceList = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const activityRecords =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.attendanceService.getAllActivityAttendancesForPeriod(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        moment().startOf("month").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        moment().endOf("month").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const record of activityRecords) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (activities.find((a) => a.getId() === record.activity?.getId())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.attendanceList.push(record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RelatedEntitiesComponent.html b/documentation/components/RelatedEntitiesComponent.html new file mode 100644 index 0000000000..952e7ab839 --- /dev/null +++ b/documentation/components/RelatedEntitiesComponent.html @@ -0,0 +1,1393 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/entity-details/related-entities/related-entities.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Load and display a list of entity subrecords (entities related to the current entity details view).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapper: EntityMapperService, entityRegistry: EntityRegistry, screenWidthObserver: ScreenWidthObserver, filterService: FilterService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<E[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : EntityConstructor<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setentityType(value: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setcolumns(value: ColumnConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + ColumnConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { applyUpdate } from "../../entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ScreenSize,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  toFormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DataFilter } from "../../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FilterService } from "../../filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityDatatype } from "../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Load and display a list of entity subrecords (entities related to the current entity details view).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("RelatedEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-related-entities",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./related-entities.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [EntitiesTableComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class RelatedEntitiesComponent<E extends Entity> implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** currently viewed/main entity for which related entities are displayed in this component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** entity type of the related entities to be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() set entityType(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.entityCtr = this.entityRegistry.get(value) as EntityConstructor<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Property name of the related entities (type given in this.entityType) that holds the entity id
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * to be matched with the id of the current main entity (given in this.entity).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If not explicitly set, this will be inferred based on the defined relations between the entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * manually setting this is only necessary if you have multiple properties referencing the same entity type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and you want to list only records related to one of them.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * For example: if you set `entityType = "Project"` (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * you can set `property = "supervisors"` to only list those projects where the current User is supervisors, not participant.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() property: string | string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Columns to be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public set columns(value: ColumnConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!Array.isArray(value)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._columns = value.map((c) => toFormFieldConfig(c));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.updateColumnsToDisplayForScreenSize();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected _columns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columnsToDisplay: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This filter is applied before displaying the data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() filter?: DataFilter<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Whether inactive/archived records should be shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() showInactive: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() clickMode: "popup" | "navigate" = "popup";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() editable: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  data: E[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected entityCtr: EntityConstructor<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    protected entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    protected filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.screenWidthObserver
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .shared()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .subscribe(() => this.updateColumnsToDisplayForScreenSize());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.property = this.property ?? this.getProperty();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.data = await this.getData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.filter = this.initFilter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.showInactive === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // show all related docs when visiting an archived entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.showInactive = this.entity.anonymized;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.listenToEntityUpdates();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected getData(): Promise<E[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.entityMapper.loadType(this.entityCtr);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected getProperty(): string | string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const relType = this.entity.getType();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const found = [...this.entityCtr.schema].filter(([, field]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const entityDatatype = field.dataType === EntityDatatype.dataType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return entityDatatype && Array.isArray(field.additional)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        ? field.additional.includes(relType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        : field.additional === relType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return found.length === 1 ? found[0][0] : found.map(([key]) => key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected initFilter(): DataFilter<E> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const filter: DataFilter<E> = { ...this.filter };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.property) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // only show related entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (typeof this.property === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        Object.assign(filter, this.getFilterForProperty(this.property));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else if (this.property.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter["$or"] = this.property.map((prop) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.getFilterForProperty(prop),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return filter;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private getFilterForProperty(property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const isArray = this.entityCtr.schema.get(property).isArray;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const filter = isArray
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ? { $elemMatch: { $eq: this.entity.getId() } }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      : this.entity.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return { [property]: filter };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected listenToEntityUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .receiveUpdates(this.entityCtr)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .subscribe((next) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.data = applyUpdate(this.data, next);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  createNewRecordFactory() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const rec = new this.entityCtr();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.filterService.alignEntityWithFilter(rec, this.filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return rec;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private updateColumnsToDisplayForScreenSize() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this._columns) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.columnsToDisplay = this._columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .filter((column) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (column?.hideFromTable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const numericValue = ScreenSize[column?.visibleFrom];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (numericValue === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return this.screenWidthObserver.currentScreenSize() >= numericValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .map((c) => c.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [editable]="editable"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RelatedEntitiesWithSummaryComponent.html b/documentation/components/RelatedEntitiesWithSummaryComponent.html new file mode 100644 index 0000000000..a2f98cee8f --- /dev/null +++ b/documentation/components/RelatedEntitiesWithSummaryComponent.html @@ -0,0 +1,1415 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/entity-details/related-entities-with-summary/related-entities-with-summary.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Load and display a list of related entities +including a summary below the table.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + RelatedEntitiesComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + summaries +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Configuration of what numbers should be summarized below the table.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + updateSummary + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +updateSummary(filteredData: E[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  update the summary or generate a new one. +The summary contains no duplicates and is in a +human-readable format

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  filteredData + E[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<E[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + entitiesTable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntitiesTableComponent<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + @ViewChild(EntitiesTableComponent, {static: true})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + summaryAvg + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + summarySum + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntityConstructor<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RelatedEntitiesComponent } from "../related-entities/related-entities.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Load and display a list of related entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * including a summary below the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("RelatedEntitiesWithSummary")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-related-entities-with-summary",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./related-entities-with-summary.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [EntitiesTableComponent, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class RelatedEntitiesWithSummaryComponent<E extends Entity = Entity>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  extends RelatedEntitiesComponent<E>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @ViewChild(EntitiesTableComponent, { static: true })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entitiesTable: EntitiesTableComponent<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Configuration of what numbers should be summarized below the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() summaries?: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    countProperty: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    groupBy?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    total?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    average?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  summarySum = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  summaryAvg = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  override async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    await super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.entitiesTable.filteredRecordsChange.subscribe((data) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.updateSummary(data),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * update the summary or generate a new one.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The summary contains no duplicates and is in a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * human-readable format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  updateSummary(filteredData: E[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.summaries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summarySum = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summaryAvg = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const summary = new Map<string, { count: number; sum: number }>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const average = new Map<string, number>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    filteredData.forEach((m) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const amount = m[this.summaries.countProperty];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      let groupLabel;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (this.summaries.groupBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        groupLabel =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          m[this.summaries.groupBy]?.label ?? m[this.summaries.groupBy];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      summary.set(groupLabel, summary.get(groupLabel) || { count: 0, sum: 0 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      summary.get(groupLabel).count++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      summary.get(groupLabel).sum += amount;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.summaries.total) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const summarySumArray = Array.from(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        summary.entries(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ([label, { sum }]) => `${label}: ${sum}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summarySum = summarySumArray.join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.summaries.average) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const summaryAvgArray = Array.from(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        summary.entries(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ([label, { count, sum }]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          const avg = parseFloat((sum / count).toFixed(2));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          average.set(label, avg);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          return `${label}: ${avg}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summaryAvg = summaryAvgArray.join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (summary.size === 1 && summary.has(undefined)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // display only single summary without group label (this also applies if no groupBy is given)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summarySum = this.summarySum.replace("undefined: ", "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.summaryAvg = this.summaryAvg.replace("undefined: ", "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<div class="margin-top-large">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <ng-container *ngIf="summarySum">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <strong i18n>Total:</strong> {{ summarySum }} <br />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <ng-container *ngIf="summaryAvg">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <strong i18n>Average:</strong> {{ summaryAvg }} <br />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RelatedTimePeriodEntitiesComponent.html b/documentation/components/RelatedTimePeriodEntitiesComponent.html new file mode 100644 index 0000000000..dab8ce9c37 --- /dev/null +++ b/documentation/components/RelatedTimePeriodEntitiesComponent.html @@ -0,0 +1,1405 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity-details/related-time-period-entities/related-time-period-entities.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Display a list of entity subrecords (entities related to the current entity details view) +which can be active or past/inactive.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This component is similar to RelatedEntities but provides some additional UI to help users +create a new entry if no currently active entry exists and +show/hide inactive entries from the list.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + RelatedEntitiesComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + single +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<E[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [ + { id: "start", visibleFrom: "md" }, + { id: "end", visibleFrom: "md" }, + isActiveIndicator, + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + backgroundColorFn + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + hasCurrentlyActiveEntry + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityConstructor<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + getcolumns() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + setcolumns(value: FormFieldConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + FormFieldConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FormFieldConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitiesTableComponent } from "../../common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { PillComponent } from "../../common-components/pill/pill.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ChildSchoolRelation } from "../../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { RelatedEntitiesComponent } from "../related-entities/related-entities.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { TimePeriod } from "./time-period";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Display a list of entity subrecords (entities related to the current entity details view)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * which can be active or past/inactive.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This component is similar to RelatedEntities but provides some additional UI to help users
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * create a new entry if no currently active entry exists and
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * show/hide inactive entries from the list.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("RelatedTimePeriodEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-related-time-period-entities",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./related-time-period-entities.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./related-time-period-entities.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    PillComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class RelatedTimePeriodEntitiesComponent<E extends TimePeriod>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  extends RelatedEntitiesComponent<E>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // also see super class for Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() single = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() showInactive = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() set columns(value: FormFieldConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._columns = [...value, isActiveIndicator];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  get columns(): FormFieldConfig[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this._columns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  _columns: FormFieldConfig[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    { id: "start", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    { id: "end", visibleFrom: "md" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    isActiveIndicator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  backgroundColorFn = (r: E) => r.getColor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  hasCurrentlyActiveEntry: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    await super.ngOnInit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.hasCurrentlyActiveEntry = this.data.some((record) => record.isActive);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  override createNewRecordFactory() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const newRelation = super.createNewRecordFactory()();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newRelation.start =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.data?.length && this.data[0].end
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          ? moment(this.data[0].end).add(1, "day").toDate()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          : moment().startOf("day").toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return newRelation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export const isActiveIndicator: FormFieldConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  id: "isActive",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  label: $localize`:Label for the currently active status|e.g. Currently active:Currently`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  viewComponent: "ReadonlyFunction",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  hideFromTable: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  description: $localize`:Tooltip for the status of currently active or not:Only added to linked record if active. Change the start or end date to modify this status.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  additional: (csr: ChildSchoolRelation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    csr.isActive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ? $localize`:Indication for the currently active status of an entry:active`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      : $localize`:Indication for the currently inactive status of an entry:not active`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <app-pill class="hint-badge" *ngIf="!hasCurrentlyActiveEntry && !!data">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Currently there is no active entry. To add a new entry, click on the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <fa-icon class="color-accent" aria-label="add" icon="plus-circle"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</app-pill>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +<app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [newRecordFactory]="createNewRecordFactory()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [getBackgroundColor]="showInactive ? backgroundColorFn : undefined"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [(showInactive)]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./related-time-period-entities.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.hint-badge {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  background-color: colors.$primary;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin-bottom: sizes.$regular;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ReportRowComponent.html b/documentation/components/ReportRowComponent.html new file mode 100644 index 0000000000..b716994b52 --- /dev/null +++ b/documentation/components/ReportRowComponent.html @@ -0,0 +1,731 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/reporting/reporting/report-row/report-row.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + rows +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : ReportRow[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + dataSource + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : new MatTreeFlatDataSource(this.treeControl, this.treeFlattener) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + displayedColumns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : ["name", "count"] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + getGroupedByString + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : getGroupingInformationString +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + treeControl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : new FlatTreeControl<FlattenedReportRow>( + (row) => row.level, + (row) => row.isExpandable, + ) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + treeFlattener + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : new MatTreeFlattener<ReportRow, FlattenedReportRow>( + (row, level) => ({ + level: level, + isExpandable: !!row.subRows && row.subRows.length > 0, + ...row, + }), + (row) => row.level, + (row) => row.isExpandable, + (row) => row.subRows, + ) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + rows +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + setrows(rows: ReportRow[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      rows + ReportRow[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { getGroupingInformationString, ReportRow } from "../../report-row";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FlatTreeControl } from "@angular/cdk/tree";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatTreeFlatDataSource,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatTreeFlattener,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/material/tree";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface FlattenedReportRow extends ReportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  level: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  isExpandable: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-report-row",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./report-row.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./report-row.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [MatTableModule, MatButtonModule, FontAwesomeModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ReportRowComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() set rows(rows: ReportRow[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dataSource.data = rows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  displayedColumns: string[] = ["name", "count"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  getGroupedByString = getGroupingInformationString;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  treeFlattener = new MatTreeFlattener<ReportRow, FlattenedReportRow>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row, level) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      level: level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      isExpandable: !!row.subRows && row.subRows.length > 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ...row,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row) => row.level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row) => row.isExpandable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row) => row.subRows,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  treeControl = new FlatTreeControl<FlattenedReportRow>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row) => row.level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (row) => row.isExpandable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <table mat-table [dataSource]="dataSource" class="full-width">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <ng-container matColumnDef="name">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <th mat-header-cell *matHeaderCellDef>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <span style="padding-left: 40px" i18n="Table report header"> Name </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <td
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-cell
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      *matCellDef="let node"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="flex-row align-center"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      style="height: 52px"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [style.visibility]="node.isExpandable ? '' : 'hidden'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [style.marginLeft.px]="node.level * 32"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (click)="treeControl.toggle(node)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [attr.aria-label]="'Toggle ' + node.header.label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          class="expand-icon-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [icon]="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            treeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      {{ node.header.label }} {{ getGroupedByString(node.header.groupedBy) }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <ng-container matColumnDef="count">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <th mat-header-cell *matHeaderCellDef i18n="Table report header">Count</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <td mat-cell *matCellDef="let node">{{ node.header.result }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./report-row.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +table tr:nth-child(even) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  background-color: colors.$grey-light;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +.expand-icon-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  color: colors.$muted;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ReportingComponent.html b/documentation/components/ReportingComponent.html new file mode 100644 index 0000000000..a6cccb600b --- /dev/null +++ b/documentation/components/ReportingComponent.html @@ -0,0 +1,1043 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/reporting/reporting.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(dataAggregationService: DataAggregationService, dataTransformationService: DataTransformationService, sqlReportService: SqlReportService, entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dataAggregationService + DataAggregationService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dataTransformationService + DataTransformationService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        sqlReportService + SqlReportService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + calculateResults + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + calculateResults(selectedReport: ReportEntity, fromDate: Date, toDate: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        selectedReport + ReportEntity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        fromDate + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        toDate + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + errorDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : null +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + exportableData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isError + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + mode + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + reportCalculation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ReportCalculation | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : null +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + reports + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ReportEntity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DataAggregationService } from "../data-aggregation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getGroupingInformationString,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  GroupByDescription,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../report-row";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatePipe, JsonPipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SelectReportComponent } from "./select-report/select-report.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ReportRowComponent } from "./report-row/report-row.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ObjectTableComponent } from "./object-table/object-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DataTransformationService } from "../../../core/export/data-transformation-service/data-transformation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ReportEntity } from "../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ReportCalculation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  SqlReportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../sql-report/sql-report.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@RouteTarget("Reporting")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-reporting",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./reporting.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./reporting.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    SelectReportComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ReportRowComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ObjectTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    JsonPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class ReportingComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  reports: ReportEntity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode: ReportEntity["mode"]; // "reporting" (default), "exporting", "sql"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  isLoading: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  isError: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  errorDetails: string | null = null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  reportCalculation: ReportCalculation | null = null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  data: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  exportableData: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dataAggregationService: DataAggregationService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dataTransformationService: DataTransformationService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private sqlReportService: SqlReportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityMapper.loadType(ReportEntity).then((res) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.reports = res.sort((a, b) => a.title?.localeCompare(b.title));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async calculateResults(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    selectedReport: ReportEntity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fromDate: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    toDate: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.isError = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.errorDetails = null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.isLoading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.data = await this.getReportResults(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      selectedReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ).catch((reason) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.isError = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.errorDetails = reason.message || reason;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return Promise.reject(reason.message || reason);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.mode = selectedReport.mode ?? "reporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.exportableData =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.mode === "reporting" ? this.flattenReportRows() : this.data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async getReportResults(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    report: ReportEntity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Promise<any[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    switch (report.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      case "exporting":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // Add one day because to date is exclusive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const dayAfterToDate = moment(to).add(1, "day").toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return this.dataTransformationService.queryAndTransformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          report.aggregationDefinitions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          dayAfterToDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      case "sql":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        let reportData = await this.sqlReportService.query(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          report,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.reportCalculation !== null,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.reportCalculation = await firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.sqlReportService.fetchReportCalculation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            reportData.calculation.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return reportData.data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return this.dataAggregationService.calculateReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          report.aggregationDefinitions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private flattenReportRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    rows = this.data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): { label: string; result: any }[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const tableRows: { label: string; result: any }[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    rows.forEach((result) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      tableRows.push(this.createExportableRow(result.header));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      tableRows.push(...this.flattenReportRows(result.subRows));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return tableRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private createExportableRow(header: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    groupedBy: GroupByDescription[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    result: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }): { label: string; result: any } {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let resultLabel = header.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const groupByString = getGroupingInformationString(header.groupedBy);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (groupByString) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      resultLabel += " " + groupByString;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return { label: resultLabel, result: header.result };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <app-view-title
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  class="view-section"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Reports concern a group of for example children and include data about these
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    children in a certain date range
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Reports
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<app-select-report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [reports]="reports"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [loading]="isLoading"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [exportableData]="exportableData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (calculateClick)="calculateResults($event.report, $event.from, $event.to)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  (dataChanged)="reportCalculation = null; data = null"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  class="view-section"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +></app-select-report>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<div style="color: gray; padding: 10px" *ngIf="reportCalculation" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  This report was calculated at:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  {{ reportCalculation?.endDate | date: "dd.MM.yyyy HH:mm" }} <br />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Click again on "Calculate" to re-calculate the report including any changes of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  records since then.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<div class="error-message" *ngIf="isError">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <h3 class="header" i18n>Something went wrong calculating the report</h3>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <div class="content">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <p i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Please try again. If you continue to see this error, contact the technical
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      support team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <p>Error details:</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <code>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {{ errorDetails | json }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    </code>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<app-report-row
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  *ngIf="data?.length > 0 && mode === 'reporting'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [rows]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +></app-report-row>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<app-object-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  *ngIf="data?.length > 0 && (mode === 'exporting' || mode === 'sql')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  [objects]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +></app-object-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./reporting.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.work-panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  padding-top: 20px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  padding-bottom: 20px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.primary-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  background-color: white !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.view-section {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin-bottom: 1em;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.error-message {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  margin-top: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  border-radius: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  border: 1px solid colors.$grey-darker;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  .header {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    border-top-left-radius: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    border-top-right-radius: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    background: colors.$error;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    padding: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    color: colors.$grey-light;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  .content {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    border-bottom-left-radius: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    border-bottom-right-radius: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    padding-left: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    padding-right: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    padding-bottom: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    background: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    font-size: small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    color: colors.$text-secondary;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RollCallComponent.html b/documentation/components/RollCallComponent.html new file mode 100644 index 0000000000..18d0c8b2ab --- /dev/null +++ b/documentation/components/RollCallComponent.html @@ -0,0 +1,1875 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Displays the participants of the given event one by one to mark attendance status.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(enumService: ConfigurableEnumService, entityMapper: EntityMapperService, formDialog: FormDialogService, confirmationDialog: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + eventEntity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Note + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The event to be displayed and edited.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + sortParticipantsBy +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (optional) property name of the participant entities by which they are sorted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + complete +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Emitted when the roll call is finished and results can be saved.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + exit +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Emitted when the user wants to dismiss & leave the roll call view.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + finish + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +finish() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToFirst + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToFirst() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToLast + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToLast() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToNext + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToNext() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToParticipantWithIndex + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToParticipantWithIndex(newIndex: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          newIndex + number + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + goToPrevious + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +goToPrevious() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + includeInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + includeInactive() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + markAttendance + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +markAttendance(status: AttendanceStatusType) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          status + AttendanceStatusType + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + showDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +showDetails() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + availableStatus + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : AttendanceStatusType[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          options available for selecting an attendance status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + children + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Child[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + currentAttendance + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EventAttendance + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + currentChild + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Child + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + currentIndex + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The index, child and attendance that is currently being processed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + inactiveParticipants + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Child[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + isDirty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          whether any changes have been made to the model

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + isFirst +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + getisFirst() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + isLast +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + getisLast() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + isFinished +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + getisFinished() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Injectable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { animate, style, transition, trigger } from "@angular/animations";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  AttendanceStatusType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Note } from "../../../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EventAttendance } from "../../model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { sortByAttribute } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormDialogService } from "../../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgClass, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ChildBlockComponent } from "../../../children/child-block/child-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RollCallTabComponent } from "./roll-call-tab/roll-call-tab.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  HAMMER_GESTURE_CONFIG,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  HammerGestureConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  HammerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import Hammer from "hammerjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigurableEnumService } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfirmationDialogService } from "../../../../core/common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +// Only allow horizontal swiping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +class HorizontalHammerConfig extends HammerGestureConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  overrides = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    swipe: { direction: Hammer.DIRECTION_HORIZONTAL },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    pinch: { enable: false },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    rotate: { enable: false },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Displays the participants of the given event one by one to mark attendance status.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-roll-call",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./roll-call.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./roll-call.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  animations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    trigger("completeRollCall", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      transition("void => *", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        style({ backgroundColor: "transparent" }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        animate(1000),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ChildBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgClass,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    RollCallTabComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    HammerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providers: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      provide: HAMMER_GESTURE_CONFIG,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      useClass: HorizontalHammerConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class RollCallComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The event to be displayed and edited.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() eventEntity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (optional) property name of the participant entities by which they are sorted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() sortParticipantsBy?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Emitted when the roll call is finished and results can be saved.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Output() complete = new EventEmitter<Note>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Emitted when the user wants to dismiss & leave the roll call view.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Output() exit = new EventEmitter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The index, child and attendance that is currently being processed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  currentIndex = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  currentChild: Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  currentAttendance: EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * whether any changes have been made to the model
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  isDirty: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** options available for selecting an attendance status */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  availableStatus: AttendanceStatusType[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  children: Child[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  inactiveParticipants: Child[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (changes.eventEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.loadAttendanceStatusTypes();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.loadParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.setInitialIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (changes.sortParticipantsBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.sortParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Set the index of the first child that expects user input.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This is the first entry of the list, if the user has never recorded attendance
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * for this event. Else it is the first child without any attendance information
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (i.e. got skipped or the user left at this child)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private setInitialIndex() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let index = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const entry of this.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (!this.eventEntity.getAttendance(entry.getId())?.status?.id) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      index += 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // do not jump to end - if all participants are recorded, start with first instead
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (index >= this.children.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      index = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.goToParticipantWithIndex(index);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private loadAttendanceStatusTypes() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.availableStatus = this.enumService.getEnumValues<AttendanceStatusType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async loadParticipants() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.children = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.inactiveParticipants = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const childId of this.eventEntity.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      let child: Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        child = await this.entityMapper.load(Child, childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          "Could not find child " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            childId +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            " for event " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            this.eventEntity.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.eventEntity.removeChild(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (child.isActive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.children.push(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.inactiveParticipants.push(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.sortParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private sortParticipants() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.sortParticipantsBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.children.sort(sortByAttribute<any>(this.sortParticipantsBy, "asc"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // also sort the participants in the Note entity itself for display in details view later
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.eventEntity.children = this.children.map((e) => e.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  markAttendance(status: AttendanceStatusType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.currentAttendance.status = status;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.isDirty = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.goToNext();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToParticipantWithIndex(newIndex: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.currentIndex = newIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.isFinished) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.complete.emit(this.eventEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.currentChild = this.children[this.currentIndex];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.currentAttendance = this.eventEntity.getAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.currentChild.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToPrevious() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.currentIndex - 1 >= 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.goToParticipantWithIndex(this.currentIndex - 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToNext() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.currentIndex + 1 <= this.children.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.goToParticipantWithIndex(this.currentIndex + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToFirst() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.goToParticipantWithIndex(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  goToLast() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // jump directly to completed state, i.e. beyond last participant index
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.goToParticipantWithIndex(this.children.length);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  get isFirst(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.currentIndex === 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  get isLast(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.currentIndex === this.children.length - 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  get isFinished(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.currentIndex >= this.children.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  finish() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.exit.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  showDetails() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.formDialog.openView(this.eventEntity, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async includeInactive() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const confirmation = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`Also include archived participants?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`This event has some participants who are "archived". We automatically remove them from the attendance list for you. Do you want to also include archived participants for this event?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (confirmation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.children = [...this.children, ...this.inactiveParticipants];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.inactiveParticipants = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <!-- Individual Student's Page -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div *ngIf="children?.length > 0" class="flex-column gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-progress-bar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mode="determinate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [value]="(currentIndex / children.length) * 100"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="progress-nav flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div style="margin-left: -10px">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="goToFirst()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="isFirst"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-skip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="angle-double-left"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="goToPrevious()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="isFirst"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-skip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="angle-left"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="progress-label flex-grow"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [style.visibility]="currentIndex < children.length ? 'visible' : 'hidden'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {{ currentIndex + 1 }} / {{ children.length }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="goToNext()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="isFinished"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-skip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="angle-right"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="goToLast()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="isFinished"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="button-skip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="angle-double-right"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div *ngIf="inactiveParticipants?.length > 0" style="margin-right: -10px">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="includeInactive()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="isFinished"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        color="warn"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        matTooltip="Excluded some archived participants. Click to include."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="warning"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-child-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    class="margin-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    *ngIf="!isFinished"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [entity]="currentChild"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [linkDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [tooltipDisabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </app-child-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div *ngIf="!isFinished && currentAttendance" class="tab-wrapper">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <app-roll-call-tab
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (swiperight)="goToPrevious()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (swipeleft)="goToNext()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      *ngFor="let child of children; let i = index"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="tab-body"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [class.tab-body-active]="currentIndex === i"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [position]="i - currentIndex"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          class="group-select-option"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          *ngFor="let option of availableStatus"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (click)="markAttendance(option)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [ngClass]="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            eventEntity.getAttendance(child).status.id === option.id
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              ? option.style
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              : ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            style="display: flex; flex-direction: row; padding: 16px; gap: 16px"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              *ngIf="eventEntity.getAttendance(child).status.id === option.id"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              icon="check"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            <p style="margin: 0">{{ option.label }}</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </app-roll-call-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<!-- Completion Page -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div *ngIf="isFinished" class="flex-column gap-regular margin-top-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="roll-call-complete" @completeRollCall>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon icon="check-circle" size="3x"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Attendance completed|shows when the user has registered the attendance
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        of all children
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (click)="finish()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Attendance completed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (click)="showDetails()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="finished-screen-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n="Open details of recorded event for review"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Review Details
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (click)="finish()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    color="primary"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    i18n="Back to overview button after finishing a roll call"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Back to Overview
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ./roll-call.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@use "sass:color";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.group-select-option {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  box-sizing: border-box;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  border: 1px solid;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  border-top: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  &:first-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    border-top: 1px solid;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.roll-call-complete {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  place-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  place-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  height: 200px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  gap: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  background-color: color.adjust(colors.$success, $alpha: -0.5);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  border-radius: 4px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.progress-label {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  place-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.attendance-progress-bar {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-top: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-bottom: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.progress-nav {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  margin-top: -4px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  justify-content: space-between;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.tab-body {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  left: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  right: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  bottom: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  top: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  overflow-x: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.tab-body-active {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  flex-grow: 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  place-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  z-index: 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.tab-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  overflow-x: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RollCallSetupComponent.html b/documentation/components/RollCallSetupComponent.html new file mode 100644 index 0000000000..bb4d7a77ac --- /dev/null +++ b/documentation/components/RollCallSetupComponent.html @@ -0,0 +1,1577 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/attendance/add-day-attendance/roll-call-setup/roll-call-setup.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(entityMapper: EntityMapperService, attendanceService: AttendanceService, currentUser: CurrentUserSubject, formDialog: FormDialogService, alertService: AlertService, filerService: FilterService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            filerService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + eventSelected +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + createOneTimeEvent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +createOneTimeEvent() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + filterExistingEvents + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +filterExistingEvents(filter: DataFilter<Note>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            filter + DataFilter<Note> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + selectEvent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +selectEvent(event: NoteForActivitySetup) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            event + NoteForActivitySetup + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + setNewDate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + setNewDate(date: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            date + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + showLess + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + showLess() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + showMore + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + showMore() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + allActivities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : RecurringActivity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + date + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : new Date() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + dateField + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : NgModel + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @ViewChild('dateField')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + entityType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : Note +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + existingEvents + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : NoteForActivitySetup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Readonly + FILTER_VISIBLE_THRESHOLD + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : 4 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            filters are displayed in the UI only if at least this many events are listed.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This avoids displaying irrelevant filters for an empty or very short list.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + filterConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [{ id: "category" }, { id: "schools" }] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + filteredExistingEvents + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : NoteForActivitySetup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + showingAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + visibleActivities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : RecurringActivity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AttendanceService } from "../../attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Note } from "../../../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { RecurringActivity } from "../../model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AlertService } from "../../../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AlertDisplay } from "../../../../core/alerts/alert-display";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormsModule, NgModel } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterService } from "../../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterConfig } from "../../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatDatepickerModule } from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterComponent } from "../../../../core/filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ActivityCardComponent } from "../../activity-card/activity-card.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CurrentUserSubject } from "../../../../core/session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DataFilter } from "../../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-roll-call-setup",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./roll-call-setup.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./roll-call-setup.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FilterComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ActivityCardComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class RollCallSetupComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  date = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  existingEvents: NoteForActivitySetup[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filteredExistingEvents: NoteForActivitySetup[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() eventSelected = new EventEmitter<Note>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  allActivities: RecurringActivity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  visibleActivities: RecurringActivity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filterConfig: FilterConfig[] = [{ id: "category" }, { id: "schools" }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityType = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showingAll = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild("dateField") dateField: NgModel;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  isLoading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * filters are displayed in the UI only if at least this many events are listed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This avoids displaying irrelevant filters for an empty or very short list.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly FILTER_VISIBLE_THRESHOLD = 4;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private filerService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.initAvailableEvents();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async initAvailableEvents() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.isLoading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.existingEvents =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.attendanceService.getEventsWithUpdatedParticipants(this.date);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.loadActivities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sortEvents();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filteredExistingEvents = this.existingEvents;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async loadActivities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.allActivities = await this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .loadType(RecurringActivity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .then((res) => res.filter((a) => a.isActive));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.showingAll) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.visibleActivities = this.allActivities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // TODO implement a generic function that finds the property where a entity has relations to another entity type (e.g. `authors` for `Note` when looking for `User`) to allow dynamic checks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.visibleActivities = this.allActivities.filter((a) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        a.isAssignedTo(this.currentUser.value?.getId()),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.visibleActivities.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.visibleActivities = this.allActivities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          (a) => a.assignedTo.length === 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.visibleActivities.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.visibleActivities = this.allActivities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.showingAll = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newEvents = await Promise.all(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.visibleActivities.map((activity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.createEventForActivity(activity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.existingEvents = this.existingEvents.concat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...newEvents.filter((e) => !!e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async showMore() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showingAll = !this.showingAll;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.initAvailableEvents();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async showLess() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showingAll = !this.showingAll;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.initAvailableEvents();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async setNewDate(date: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.date = date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.initAvailableEvents();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async createEventForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    activity: RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<NoteForActivitySetup> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.existingEvents.find((e) => e.relatesTo === activity.getId())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const event = (await this.attendanceService.createEventForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      activity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    )) as NoteForActivitySetup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.currentUser.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      event.authors = [this.currentUser.value.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    event.isNewFromActivity = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return event;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private sortEvents() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const calculateEventPriority = (event: Note) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      let score = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const activityAssignedUsers = this.allActivities.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (a) => a.getId() === event.relatesTo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      )?.assignedTo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // use parent activities' assigned users and only fall back to event if necessary
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const assignedUsers = activityAssignedUsers ?? event.authors;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!RecurringActivity.isActivityEventNote(event)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        // show one-time events first
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        score += 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (assignedUsers.includes(this.currentUser.value?.getId())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        score += 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return score;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.existingEvents.sort(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (a, b) => calculateEventPriority(b) - calculateEventPriority(a),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  createOneTimeEvent() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newNote = Note.create(new Date());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.currentUser.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      newNote.authors = [this.currentUser.value.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.formDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .openView(newNote, "NoteDetails")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .subscribe((createdNote: Note) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (createdNote) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.existingEvents.push(createdNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filterExistingEvents(filter: DataFilter<Note>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const predicate = this.filerService.getFilterPredicate(filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filteredExistingEvents = this.existingEvents.filter(predicate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectEvent(event: NoteForActivitySetup) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.dateField.valid) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.eventSelected.emit(event);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.alertService.addWarning(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        $localize`:Alert when selected date is invalid:Invalid Date`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        AlertDisplay.TEMPORARY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +type NoteForActivitySetup = Note & { isNewFromActivity?: boolean };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div class="top-control">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      i18n="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Event-Record label|Record an event for a particular date that is to be
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        inputted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      >Date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      #dateField="ngModel"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [(ngModel)]="date"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      required
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [matDatepicker]="datePicker"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (dateChange)="setNewDate($event.value)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [for]="datePicker"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      angularticsCategory="Record Attendance"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      angularticsAction="select_date"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <mat-datepicker #datePicker></mat-datepicker>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <app-filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *ngIf="existingEvents.length >= FILTER_VISIBLE_THRESHOLD"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    class="flex-row flex-wrap gap-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [filterConfig]="filterConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [entityType]="entityType"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [entities]="existingEvents"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [onlyShowRelevantFilterOptions]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (filterObjChange)="filterExistingEvents($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ></app-filter>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div *ngIf="isLoading" class="process-spinner">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <mat-progress-bar mode="indeterminate"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div class="cards-list" *ngIf="!isLoading">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <app-activity-card
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    class="pointer"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    *ngFor="let event of filteredExistingEvents"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [event]="event"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [recurring]="event.isNewFromActivity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="selectEvent(event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </app-activity-card>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<div class="padding-top-regular gap-regular flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="showingAll ? showLess() : showMore()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsCategory="Record Attendance"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsAction="show_more"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    class="padding-right-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <span *ngIf="showingAll" i18n="Show less entries of a list">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Show less
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <span *ngIf="!showingAll" i18n="Show more entries of a list">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Show more
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    i18n="Not listed|Allows to create a new event"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (click)="createOneTimeEvent()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsCategory="Record Attendance"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    angularticsAction="create_onetime_event"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    My event is not listed ...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./roll-call-setup.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @use "mixins/grid-layout";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.top-control {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  position: sticky;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  top: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /* make this visible while other contents go "under" this top control */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  z-index: 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /* These small hacks remove the global margin and re-apply them as padding.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +     This way, the margin stays consistent and scrolling works
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +     as intended (there is no overflow left or right)  */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-left: -(sizes.$margin-main-view-left);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  padding-left: sizes.$margin-main-view-left;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-right: -(sizes.$margin-main-view-right);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  padding-right: sizes.$margin-main-view-right;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-top: -(sizes.$margin-main-view-top);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  padding-top: sizes.$margin-main-view-top;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.cards-list {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @include grid-layout.adaptive(350px, 414px);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.process-spinner {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  justify-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RollCallTabComponent.html b/documentation/components/RollCallTabComponent.html new file mode 100644 index 0000000000..de3ca0350d --- /dev/null +++ b/documentation/components/RollCallTabComponent.html @@ -0,0 +1,636 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call-tab/roll-call-tab.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + position +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + @translateTab + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + animationState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + @HostBinding('@translateTab')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + position +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + setposition(position: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              position + number + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, HostBinding, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  animate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  state,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  style,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  transition,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  trigger,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/animations";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * These position states are used internally as animation states for the tab body. Setting the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * position state to left, right, or center will transition the tab body from its current
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * position to its respective state. If there is no current position (void, in the case of a new
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * tab body), then there will be no transition animation to its state.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * In the case of a new tab body that should immediately be centered with an animating transition,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * then left-origin-center or right-origin-center can be used, which will use left or right as its
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * pseudo-prior state.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +type PositionState = "left" | "center" | "right";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-roll-call-tab",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  template: "<ng-content></ng-content>",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./roll-call-tab.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  animations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    trigger("translateTab", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // Transitions to `none` instead of 0, because some browsers might blur the content.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      state("center, void", style({ transform: "none" })),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // If the tab is either on the left or right, we additionally add a `min-height` of 1px
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // in order to ensure that the element has a height before its state changes. This is
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // necessary because Chrome does seem to skip the transition in RTL mode if the element does
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // not have a static height and is not rendered. See related issue: #9465
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      state(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "left",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        style({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          transform: "translate(-110%)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          minHeight: "1px",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          visibility: "hidden",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      state(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "right",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        style({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          transform: "translate(110%)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          minHeight: "1px",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          visibility: "hidden",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      transition("void => *", []),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      transition(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "* => left, * => right, left => center, right => center",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        animate("800ms cubic-bezier(0.35, 0, 0.25, 1)"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class RollCallTabComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  set position(position: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let posState: PositionState;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (position < 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      posState = "left";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else if (position > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      posState = "right";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      posState = "center";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.animationState = posState;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @HostBinding("@translateTab") animationState = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./roll-call-tab.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  display: block !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RoutedViewComponent.html b/documentation/components/RoutedViewComponent.html new file mode 100644 index 0000000000..43d2460b17 --- /dev/null +++ b/documentation/components/RoutedViewComponent.html @@ -0,0 +1,628 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/ui/routed-view/routed-view.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Wrapper component for a primary, full page view +that takes parameters from the route and passes these on to normal @Input properties.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This allows to develop functional feature components in a way to easily reuse them for display +as a full page view or in a modal dialog.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + AbstractViewComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(route: ActivatedRoute, injector: Injector) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                injector + Injector + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + component + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + config + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + componentInjector + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Injector | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from AbstractViewComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + viewContext + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ViewComponentContext + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from AbstractViewComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Injector } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ActivatedRoute } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ViewConfig } from "../../config/dynamic-routing/view-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponentPipe } from "../../config/dynamic-components/dynamic-component.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { AbstractViewComponent } from "../abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatDialogActions } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Wrapper component for a primary, full page view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * that takes parameters from the route and passes these on to normal @Input properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This allows to develop functional feature components in a way to easily reuse them for display
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * as a full page view or in a modal dialog.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@RouteTarget("RoutedView")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-routed-view",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DynamicComponentPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatDialogActions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./routed-view.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class RoutedViewComponent<T = any> extends AbstractViewComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  config: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(route: ActivatedRoute, injector: Injector) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super(injector, false);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    route.data.subscribe((data: { component: string } & ViewConfig<T>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.component = data.component;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // pass all other config properties to the component as config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.config = Object.assign({}, data.config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // merge updated config properties from route params
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      route.paramMap.subscribe((params) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const config = this.config;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        for (const key of params.keys) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          config[key] = params.get(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.config = { ...config };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <div class="flex-grow">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      *ngTemplateOutlet="viewContext?.title?.template"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    *ngTemplateOutlet="viewContext?.actions?.template"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<ng-container
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  *ngComponentOutlet="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    component | dynamicComponent | async;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    inputs: config;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    injector: componentInjector
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/RowDetailsComponent.html b/documentation/components/RowDetailsComponent.html new file mode 100644 index 0000000000..057f079e2d --- /dev/null +++ b/documentation/components/RowDetailsComponent.html @@ -0,0 +1,718 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/form-dialog/row-details/row-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Displays a single row of a table as a dialog component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(data: DetailsComponentData, formService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  data + DetailsComponentData + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  formService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + Public + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DetailsComponentData + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + fieldGroups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : EntityForm<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + tempEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + viewOnlyColumns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FormFieldConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DialogCloseComponent } from "../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFormComponent } from "../../common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { PillComponent } from "../../common-components/pill/pill.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DialogButtonsComponent } from "../dialog-buttons/dialog-buttons.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityArchivedInfoComponent } from "../../entity-details/entity-archived-info/entity-archived-info.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FieldGroup } from "../../entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFieldEditComponent } from "../../common-components/entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityFieldViewComponent } from "../../common-components/entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Data interface that must be given when opening the dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface DetailsComponentData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** The row to edit / view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** The columns to edit / view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  columns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** Additional columns that only provide context information */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  viewOnlyColumns?: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Displays a single row of a table as a dialog component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-row-details",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./row-details.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    PillComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DialogButtonsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityArchivedInfoComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  viewProviders: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    { provide: ViewComponentContext, useValue: new ViewComponentContext(true) },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class RowDetailsComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  form: EntityForm<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  viewOnlyColumns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  tempEntity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_DIALOG_DATA) public data: DetailsComponentData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private formService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.init(data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private init(data: DetailsComponentData) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.form = this.formService.createFormGroup(data.columns, data.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.enableSaveWithoutChangesIfNew(data.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.fieldGroups = data.columns.map((col) => ({ fields: [col] }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.tempEntity = this.data.entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.form.valueChanges.pipe(untilDestroyed(this)).subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const dynamicConstructor: any = data.entity.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.tempEntity = Object.assign(new dynamicConstructor(), value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.viewOnlyColumns = data.viewOnlyColumns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private enableSaveWithoutChangesIfNew(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (entity.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // could check here that at least some fields hold a value but the naive heuristic to allow save of all new seems ok
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.form.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <app-dialog-close mat-dialog-close></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <div class="flex-column gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <app-entity-archived-info [entity]="data.entity"></app-entity-archived-info>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [fieldGroups]="fieldGroups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [entity]="data.entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div *ngFor="let col of viewOnlyColumns">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <app-pill
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [matTooltip]="col.description"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [style.background-color]="tempEntity.getColor()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        class="mat-body-strong"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <app-entity-field-view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [field]="col"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [entity]="tempEntity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          showLabel="inline"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ></app-entity-field-view>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </app-pill>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <app-dialog-buttons [form]="form" [entity]="data.entity" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SearchComponent.html b/documentation/components/SearchComponent.html new file mode 100644 index 0000000000..87f06b4c53 --- /dev/null +++ b/documentation/components/SearchComponent.html @@ -0,0 +1,1214 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/ui/search/search.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    General search box that provides results out of any kind of entities from the system +as soon as the user starts typing.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This is usually displayed in the app header to be available to the user anywhere, allowing to navigate quickly.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(router: Router, userRoleGuard: UserRoleGuard, searchService: SearchService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    userRoleGuard + UserRoleGuard + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    searchService + SearchService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + clickOption + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + clickOption(optionElement) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    optionElement + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + searchResults + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + searchResults(next: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    next + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + formControl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : new FormControl("") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + ILLEGAL_INPUT + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 5 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + INPUT_DEBOUNCE_TIME_MS + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 400 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + MIN_CHARACTERS_FOR_SEARCH + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 2 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + NO_RESULTS + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 3 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + NOTHING_ENTERED + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + results + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Observable<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + SEARCH_IN_PROGRESS + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 2 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + SHOW_RESULTS + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 4 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + state + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : this.NOTHING_ENTERED +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Readonly + TOO_FEW_CHARACTERS + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : 1 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ChangeDetectionStrategy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ViewEncapsulation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { concatMap, debounceTime, tap } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UserRoleGuard } from "../../permissions/permission-guard/user-role.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatAutocompleteModule } from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AsyncPipe, NgForOf, NgSwitch, NgSwitchCase } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SearchService } from "./search.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * General search box that provides results out of any kind of entities from the system
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * as soon as the user starts typing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This is usually displayed in the app header to be available to the user anywhere, allowing to navigate quickly.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-search",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./search.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./search.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  encapsulation: ViewEncapsulation.None,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgSwitch,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgSwitchCase,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class SearchComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static INPUT_DEBOUNCE_TIME_MS = 400;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MIN_CHARACTERS_FOR_SEARCH = 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly NOTHING_ENTERED = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly TOO_FEW_CHARACTERS = 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly SEARCH_IN_PROGRESS = 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly NO_RESULTS = 3;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly SHOW_RESULTS = 4;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  readonly ILLEGAL_INPUT = 5;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  state = this.NOTHING_ENTERED;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  formControl = new FormControl("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  results: Observable<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private userRoleGuard: UserRoleGuard,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private searchService: SearchService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.results = this.formControl.valueChanges.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      debounceTime(SearchComponent.INPUT_DEBOUNCE_TIME_MS),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      tap((next) => (this.state = this.updateState(next))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      concatMap((next: string) => this.searchResults(next)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      untilDestroyed(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private updateState(next: any): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (typeof next !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return this.ILLEGAL_INPUT;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (next.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return this.NOTHING_ENTERED;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.isRelevantSearchInput(next)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return this.ILLEGAL_INPUT;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return next.length < this.MIN_CHARACTERS_FOR_SEARCH
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ? this.TOO_FEW_CHARACTERS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      : this.SEARCH_IN_PROGRESS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async searchResults(next: string): Promise<Entity[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.state !== this.SEARCH_IN_PROGRESS) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const entities = await this.searchService.getSearchResults(next);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const filtered = this.prepareResults(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.state = filtered.length === 0 ? this.NO_RESULTS : this.SHOW_RESULTS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return filtered;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async clickOption(optionElement) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    await this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      optionElement.value.getConstructor().route,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      optionElement.value.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.formControl.setValue("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Check if the input should start an actual search.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Only search for words starting with a char or number -> no searching for space or no input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param searchText
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private isRelevantSearchInput(searchText: string): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return /^[a-zA-Z]+|\d+$/.test(searchText);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private prepareResults(entities: Entity[]): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return entities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.userRoleGuard.checkRoutePermissions(entity.getConstructor().route),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <div class="white mat-subtitle-2 remove-margin-bottom full-width">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-form-field class="full-width searchbar">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <fa-icon matIconPrefix class="padding-right-small" icon="search"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="full-width search-input"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title="Search"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n-placeholder="Search label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      placeholder="Search"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [formControl]="formControl"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [matAutocomplete]="autoResults"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <mat-autocomplete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    #autoResults="matAutocomplete"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    (optionSelected)="clickOption($event.option)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <ng-container [ngSwitch]="state">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *ngSwitchCase="TOO_FEW_CHARACTERS"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        class="result-hint"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [disabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          i18n="The user has inserted too few characters to start a search"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          class="remove-margin-bottom"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Insert at least {{ MIN_CHARACTERS_FOR_SEARCH }} characters
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        class="result-hint"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *ngSwitchCase="SEARCH_IN_PROGRESS"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [disabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <p i18n="A search is in progress" class="remove-margin-bottom">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Search in progress...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        class="result-hint"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *ngSwitchCase="NO_RESULTS"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [disabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <p i18n="No search results are available" class="remove-margin-bottom">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          There were no results
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        class="result-hint"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        *ngSwitchCase="ILLEGAL_INPUT"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        [disabled]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          i18n="Invalid characters were entered into the search field"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          class="remove-margin-bottom"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Please only enter numbers or letters
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-option *ngFor="let res of results | async" [value]="res">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <app-entity-block [entityToDisplay]="res"></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </mat-autocomplete>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./search.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.result-hint {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  background-color: colors.$grey-light;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.search-input {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  caret-color: white !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.search-input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.search-input::placeholder {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  color: white !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.searchbar {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin-top: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  .mat-mdc-form-field-focus-overlay {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    background-color: transparent !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  .mdc-text-field--filled .mdc-line-ripple::before,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  .mdc-text-field--active .mdc-line-ripple::before,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  .mdc-text-field--filled .mdc-line-ripple::after {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    border-bottom-color: white !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SelectReportComponent.html b/documentation/components/SelectReportComponent.html new file mode 100644 index 0000000000..414023d68b --- /dev/null +++ b/documentation/components/SelectReportComponent.html @@ -0,0 +1,887 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/reporting/reporting/select-report/select-report.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + exportableData +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + loading +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + reports +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : ReportEntity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + calculateClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + dataChanged +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + dateChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +dateChange() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + reportChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +reportChange() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + fromDate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + selectedReport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : ReportEntity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + toDate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatDatepickerModule } from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ExportDataDirective } from "../../../../core/export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ReportEntity } from "../../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-select-report",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./select-report.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./select-report.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class SelectReportComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() reports: ReportEntity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() loading: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() exportableData: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() calculateClick = new EventEmitter<CalculateReportOptions>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() dataChanged = new EventEmitter<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selectedReport: ReportEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  fromDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  toDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (changes.hasOwnProperty("reports")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (this.reports?.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.selectedReport = this.reports[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  reportChange() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dataChanged.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  dateChange() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dataChanged.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface CalculateReportOptions {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  report: ReportEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  from: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  to: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <div *ngIf="!reports || reports.length === 0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <p i18n>Reports have not been configured for you yet.</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    href="mailto:info@aam-digital.com?subject=Set up reports"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    i18n="Button if no reports are configured yet"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    Ask for a setup call
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </a>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<div *ngIf="reports?.length > 0" class="work-panel">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div class="flex-row flex-wrap gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-label i18n>Select Report</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-select
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [(ngModel)]="selectedReport"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [disabled]="loading"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (ngModelChange)="reportChange()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <mat-option *ngFor="let report of reports" [value]="report">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          {{ report.title }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-label i18n>Enter a date range</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-date-range-input [rangePicker]="picker" [disabled]="loading">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [(ngModel)]="fromDate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          (ngModelChange)="dateChange()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          matStartDate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          i18n-placeholder="Date selection for the reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          placeholder="Start date"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [(ngModel)]="toDate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          (ngModelChange)="dateChange()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          matEndDate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          i18n-placeholder="Date selection for the reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          placeholder="End date"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      </mat-date-range-input>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-datepicker-toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        [for]="picker"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ></mat-datepicker-toggle>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <mat-date-range-picker #picker></mat-date-range-picker>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      #calculateButton
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="primary-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [disabled]="!selectedReport || (!fromDate && !toDate) || loading"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (click)="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        calculateClick.emit({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          report: selectedReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          from: fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          to: toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      i18n="Calculate the results for a report"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angularticsCategory="Reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angularticsAction="calculate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [angularticsLabel]="selectedReport?.title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      matTooltip="Please select a report and a date range"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [matTooltipDisabled]="!calculateButton.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      style="pointer-events: all"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Calculate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      class="primary-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [appExportData]="exportableData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [disabled]="!exportableData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      filename="report"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      style="float: right"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angularticsCategory="Reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      angularticsAction="export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [angularticsLabel]="selectedReport?.title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        class="standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      <ng-container i18n="Button to download data"> Download</ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <div style="clear: both; padding-bottom: 5px"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <mat-progress-bar mode="indeterminate" *ngIf="loading"></mat-progress-bar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./select-report.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SetupWizardButtonComponent.html b/documentation/components/SetupWizardButtonComponent.html new file mode 100644 index 0000000000..ccc9ef7c69 --- /dev/null +++ b/documentation/components/SetupWizardButtonComponent.html @@ -0,0 +1,591 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/admin/setup-wizard/setup-wizard-button/setup-wizard-button.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, router: Router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + navigateToWizard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +navigateToWizard() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + showSetupWizard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Config } from "../../../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  CONFIG_SETUP_WIZARD_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  SetupWizardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../setup-wizard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-setup-wizard-button",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [FaIconComponent, MatButton],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./setup-wizard-button.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./setup-wizard-button.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class SetupWizardButtonComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  showSetupWizard: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .load(Config, CONFIG_SETUP_WIZARD_ID)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .then((r: Config<SetupWizardConfig>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.updateStatus(r.data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (!r.data.finished && r.data.openOnStart) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.navigateToWizard();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .catch((e) => Logging.debug("No Setup Wizard Config found"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .receiveUpdates<Config<SetupWizardConfig>>(Config)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        untilDestroyed(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        filter(({ entity }) => entity.getId() === CONFIG_SETUP_WIZARD_ID),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe((update) => this.updateStatus(update.entity.data));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private updateStatus(config: SetupWizardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.showSetupWizard = !config.finished;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  navigateToWizard() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.router.navigate(["/admin/setup-wizard"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        @if (showSetupWizard) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mat-flat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (click)="navigateToWizard()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    class="button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    style="border-radius: 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <fa-icon icon="person-digging"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    Setup Wizard
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./setup-wizard-button.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  border-top: solid 1px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SetupWizardComponent.html b/documentation/components/SetupWizardComponent.html new file mode 100644 index 0000000000..ce2db6113d --- /dev/null +++ b/documentation/components/SetupWizardComponent.html @@ -0,0 +1,826 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/admin/setup-wizard/setup-wizard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + finishWizard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + finishWizard() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + onNextStep + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +onNextStep(newStep: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          newStep + number + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + completedSteps + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [0] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + currentStep + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Readonly + LOCAL_STORAGE_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "SETUP_WIZARD_STATUS" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + steps + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : SetupWizardStep[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatStep,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatStepper,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatStepperIcon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatStepperNext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/material/stepper";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatActionList, MatListItem } from "@angular/material/list";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Config } from "../../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  CONFIG_SETUP_WIZARD_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  SetupWizardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  SetupWizardStep,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "./setup-wizard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MarkdownComponent } from "ngx-markdown";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-setup-wizard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatStepper,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatStep,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatActionList,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatListItem,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatStepperNext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatStepperIcon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MarkdownComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTooltip,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./setup-wizard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrl: "./setup-wizard.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class SetupWizardComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  readonly LOCAL_STORAGE_KEY = "SETUP_WIZARD_STATUS";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  steps: SetupWizardStep[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  currentStep: number = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  completedSteps: number[] = [0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private configEntity: Config<SetupWizardConfig>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private entityMapper: EntityMapperService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.loadSetupConfig();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.loadLocalStatus();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async loadSetupConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.configEntity = await this.entityMapper.load<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Config<SetupWizardConfig>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >(Config, CONFIG_SETUP_WIZARD_ID);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.steps = this.configEntity?.data.steps;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("no setup wizard config loaded", e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private loadLocalStatus() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const storedStatus = localStorage.getItem(this.LOCAL_STORAGE_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (storedStatus) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const parsedStatus = JSON.parse(storedStatus);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // set delayed to ensure steps are loaded first
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      setTimeout(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.currentStep = parsedStatus.currentStep;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.completedSteps = parsedStatus.completedSteps;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  onNextStep(newStep: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.currentStep = newStep;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.completedSteps.includes(newStep)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.completedSteps.push(newStep);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.LOCAL_STORAGE_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      JSON.stringify({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        currentStep: this.currentStep,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        completedSteps: this.completedSteps,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async finishWizard() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.configEntity.data.finished = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.entityMapper.save(this.configEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <mat-stepper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [selectedIndex]="currentStep"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  (selectedIndexChange)="onNextStep($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- overwrite icons to keep simple numbered steps -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-template matStepperIcon="edit" let-index="index">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    {{ index + 1 }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-template matStepperIcon="done" let-index="index">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    {{ index + 1 }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @for (step of steps; track step; let index = $index; let last = $last) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-step
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [label]="step.title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [completed]="completedSteps?.includes(index)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <markdown>{{ step.text }}</markdown>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-action-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        @for (action of step.actions; track action.link) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          <button mat-list-item [routerLink]="action.link">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            {{ action.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-action-list>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      @if (!last) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button mat-raised-button matStepperNext color="accent" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Continue
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } @else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          routerLink=""
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (click)="finishWizard()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          matTooltip="We will hide the setup wizard from the main menu as you finish it here. You can still access it from the admin screen."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Finish
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-step>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-stepper>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ShortcutDashboardComponent.html b/documentation/components/ShortcutDashboardComponent.html new file mode 100644 index 0000000000..35d176523f --- /dev/null +++ b/documentation/components/ShortcutDashboardComponent.html @@ -0,0 +1,829 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A simple list of shortcuts displayed as a dashboard widget for easy access to important navigation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(routePermissionsService: RoutePermissionsService, locationStrategy: LocationStrategy, clipboard: Clipboard, alertService: AlertService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            routePermissionsService + RoutePermissionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            locationStrategy + LocationStrategy + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            clipboard + Clipboard + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + shortcuts +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            displayed entries, each representing one line displayed as a shortcut

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + copyAbsoluteLink2Clipboard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + copyAbsoluteLink2Clipboard(link: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            link + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + _shortcuts + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + shortcuts +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + getshortcuts() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + setshortcuts(items: MenuItem[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            displayed entries, each representing one line displayed as a shortcut

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            items + MenuItem[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MenuItem } from "../../../../core/ui/navigation/menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaDynamicIconComponent } from "../../../../core/common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { RoutePermissionsService } from "../../../../core/config/dynamic-routing/route-permissions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatIconButton } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LocationStrategy } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AlertService } from "../../../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Clipboard } from "@angular/cdk/clipboard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A simple list of shortcuts displayed as a dashboard widget for easy access to important navigation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("ShortcutDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-shortcut-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./shortcut-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./shortcut-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatIconButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltip,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ShortcutDashboardComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** displayed entries, each representing one line displayed as a shortcut */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set shortcuts(items: MenuItem[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.routePermissionsService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filterPermittedRoutes(items)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .then((res) => (this._shortcuts = res));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get shortcuts(): MenuItem[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this._shortcuts;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _shortcuts: MenuItem[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private routePermissionsService: RoutePermissionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private locationStrategy: LocationStrategy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private clipboard: Clipboard,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async copyAbsoluteLink2Clipboard(link: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const externalLink =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      window.location.origin + this.locationStrategy.prepareExternalUrl(link);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const success = this.clipboard.copy(externalLink);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (success) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.alertService.addInfo("Link copied: " + externalLink);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  icon="external-link-alt"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  theme="general"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  subtitle="Quick actions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  i18n-subtitle="
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Title of dashboard widget that shows a list of certain actions a user can
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click on
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  "
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [entries]="_shortcuts"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <div class="table-container">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <table mat-table aria-label="Quick actions">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <!-- Table header only for assistive technologies like screen readers -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <tr hidden>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <th scope="col">Icon</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <th scope="col">Label</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="icon">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let row" class="pointer" [routerLink]="row.link">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          <app-fa-dynamic-icon [icon]="row.icon"></app-fa-dynamic-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="label">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let row" class="pointer" [routerLink]="row.link">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          {{ row.label }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <ng-container matColumnDef="copy">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        <td *matCellDef="let row" class="text-align-end">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            (click)="copyAbsoluteLink2Clipboard(row.link)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            matTooltip="Copy the link to share or paste it somewhere else"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            <fa-icon [icon]="['far', 'copy']" size="xs"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <tr mat-row *matRowDef="let row; columns: ['icon', 'label', 'copy']"></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./shortcut-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @use "../../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.table-container {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-left: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  margin-right: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ShowFileComponent.html b/documentation/components/ShowFileComponent.html new file mode 100644 index 0000000000..c341141e13 --- /dev/null +++ b/documentation/components/ShowFileComponent.html @@ -0,0 +1,498 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/file/show-file/show-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              This simple component can be used to open a file in a new window, if the user's browser is blocking popups.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(link: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              link + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +showFile() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This simple component can be used to open a file in a new window, if the user's browser is blocking popups.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-show-file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./show-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./show-file.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [MatDialogModule, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ShowFileComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(@Inject(MAT_DIALOG_DATA) private link: string) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  showFile(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    window.open(this.link, "_blank");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <h2 mat-dialog-title i18n="Header of popup">File downloaded</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +<mat-dialog-content class="content">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    (click)="showFile()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    i18n="Button to show a downloaded file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Show File
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <em i18n="Text in popup"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      >To automatically open files after they have been downloaded, please allow
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      popups for this page in your browser.</em
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./show-file.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .content {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  text-align: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  max-width: 300px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SupportComponent.html b/documentation/components/SupportComponent.html new file mode 100644 index 0000000000..7c85f1927e --- /dev/null +++ b/documentation/components/SupportComponent.html @@ -0,0 +1,1349 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/support/support/support.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(syncState: SyncStateSubject, sessionSubject: SessionSubject, currentUserSubject: CurrentUserSubject, sw: SwUpdate, database: PouchDatabase, confirmationDialog: ConfirmationDialogService, http: HttpClient, backupService: BackupService, downloadService: DownloadService, window: Window, location: Location) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                syncState + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                sessionSubject + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                currentUserSubject + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                sw + SwUpdate + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                database + PouchDatabase + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                backupService + BackupService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                downloadService + DownloadService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                window + Window + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + downloadLocalDatabase + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + downloadLocalDatabase() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + resetApplication + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + resetApplication() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + sendReport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +sendReport() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + appVersion + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + currentSyncState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + currentUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + dbInfo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + lastRemoteLogin + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + lastSync + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + sessionInfo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : SessionInfo + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + storageInfo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + swLog + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "not available" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + swStatus + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + userAgent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : this.window.navigator.userAgent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Inject, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { LOCATION_TOKEN, WINDOW_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SyncState } from "../../session/session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SwUpdate } from "@angular/service-worker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import * as Sentry from "@sentry/angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SessionInfo, SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatExpansionModule } from "@angular/material/expansion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { PouchDatabase } from "../../database/pouch-database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BackupService } from "../../admin/backup/backup.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DownloadService } from "../../export/download-service/download.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SyncStateSubject } from "../../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SyncService } from "../../database/sync.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { KeycloakAuthService } from "../../session/auth/keycloak/keycloak-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { CurrentUserSubject } from "../../session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-support",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./support.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./support.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [MatExpansionModule, MatButtonModule, MatTooltipModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class SupportComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  sessionInfo: SessionInfo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  currentUser: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  currentSyncState: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  lastSync: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  lastRemoteLogin: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  storageInfo: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  swStatus: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  swLog = "not available";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  userAgent = this.window.navigator.userAgent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  appVersion: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  dbInfo: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private syncState: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private sessionSubject: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private currentUserSubject: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private sw: SwUpdate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private database: PouchDatabase,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private backupService: BackupService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private downloadService: DownloadService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Inject(WINDOW_TOKEN) private window: Window,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Inject(LOCATION_TOKEN) private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.sessionInfo = this.sessionSubject.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.currentUser = this.currentUserSubject.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.appVersion = environment.appVersion;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.initCurrentSyncState();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.initLastSync();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.initLastRemoteLogin();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.initStorageInfo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.initSwStatus();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.initDbInfo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initCurrentSyncState() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    switch (this.syncState.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      case SyncState.COMPLETED:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.currentSyncState = "synced";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      case SyncState.STARTED:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.currentSyncState = "in progress";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.currentSyncState = "unsynced";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initLastSync() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.lastSync = localStorage.getItem(SyncService.LAST_SYNC_KEY) || "never";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initLastRemoteLogin() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.lastRemoteLogin =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      localStorage.getItem(KeycloakAuthService.LAST_AUTH_KEY) || "never";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initStorageInfo() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const storage = this.window.navigator?.storage;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (storage && "estimate" in storage) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      storage.estimate().then((estimate) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const used = estimate.usage / 1048576;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const available = estimate.quota / 1048576;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.storageInfo = `${used.toFixed(2)}MBs / ${available.toFixed(2)}MBs`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initSwStatus() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.sw.isEnabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.swStatus = "enabled";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.swStatus = "not enabled";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.window.navigator.serviceWorker.ready
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .then(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        firstValueFrom(this.http.get("/ngsw/state", { responseType: "text" })),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .then((res) => (this.swLog = res));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private initDbInfo() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this.database || !this.database.getPouchDB()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.dbInfo = "db not initialized";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .getPouchDB()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .info()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .then(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (res) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (this.dbInfo = `${res.doc_count} (update sequence ${res.update_seq})`),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  sendReport() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    // This is sent even without submitting the crash report.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Sentry.captureMessage("report information", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      user: { name: this.sessionInfo?.name },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      level: "debug",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      extra: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        currentUser: this.currentUser?.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        currentSyncState: this.currentSyncState,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        lastSync: this.lastSync,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        lastRemoteLogin: this.lastRemoteLogin,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        swStatus: this.swStatus,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        userAgent: this.userAgent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        swLog: this.swLog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        storageInfo: this.storageInfo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        dbInfo: this.dbInfo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        timestamp: new Date().toISOString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Sentry.showReportDialog({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      user: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        name: this.sessionInfo?.name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        email: "example@email.com",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      title: $localize`:Title user feedback dialog:Support request`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      subtitle: $localize`:Subtitle user feedback dialog:Please describe the problem you are facing.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      subtitle2: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async resetApplication() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const choice = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      "Reset Application",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      "Are you sure you want to reset the application? This will delete all application data from your device and you will have to synchronize again.",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!choice) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const dbs = await this.window.indexedDB.databases();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await Promise.all(dbs.map(({ name }) => this.destroyDatabase(name)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const registrations =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      await this.window.navigator.serviceWorker.getRegistrations();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const unregisterPromises = registrations.map((reg) => reg.unregister());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await Promise.all(unregisterPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    localStorage.clear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.location.pathname = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async downloadLocalDatabase() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const backup = await this.backupService.getDatabaseExport();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.downloadService.triggerDownload(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      backup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      "json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      "aamdigital_data_" + new Date().toISOString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private destroyDatabase(name: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return new Promise((resolve, reject) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const del = this.window.indexedDB.deleteDatabase(name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      del.onsuccess = resolve;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      del.onerror = reject;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <h1 i18n>Technical User Support Details</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<p id="table-description" class="text-secondary" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  The following details of your device and app can help the user support
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  troubleshoot when you are having technical issues.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<table class="support-table" aria-describedby="table-description">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <thead>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <th>Detail</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <th>Value</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </thead>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <tbody class="support-table--body">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Session</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ sessionInfo?.name ?? "-" }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Username</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ currentUser?.toString() ?? "-" }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>App version</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ appVersion }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Device info</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ userAgent }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Current sync state</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ currentSyncState }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Last sync</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ lastSync }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Last remote login</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ lastRemoteLogin }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Storage usage</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ storageInfo || "No information" }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Database documents</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ dbInfo }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>Service Worker</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <td>{{ swStatus }}</td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </tbody>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<mat-expansion-panel class="mat-elevation-z0">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <mat-panel-title class="tech-details">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      Service Worker Logs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </mat-panel-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-expansion-panel-header>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <div class="sw-logs tech-details">{{ swLog }}</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-expansion-panel>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <button mat-raised-button (click)="sendReport()" i18n>Send Details</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    matTooltip="Download a backup of all data in your local database."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    i18n-matTooltip="Support Panel - Download local db tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    (click)="downloadLocalDatabase()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    i18n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Download Local Database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <button mat-raised-button color="warn" (click)="resetApplication()" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Reset Application
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./support.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-odd-color: colors.$grey-light;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-even-color: colors.$grey-medium;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-border-color: colors.$border-color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-border: 1px solid $table-border-color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-padding-horizontal: 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-padding-vertical: 16px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +$table-padding: $table-padding-vertical $table-padding-horizontal;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  max-width: sizes.$max-text-width;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin: 0 auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.support-table {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-collapse: collapse;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-spacing: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin-bottom: sizes.$large;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  &--body {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    > tr:nth-of-type(odd) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      background-color: $table-odd-color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      border-top: $table-border;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      border-bottom: $table-border;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    > tr:nth-of-type(even) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      background-color: $table-even-color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    > tr td:first-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      width: 25%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    > tr td:nth-child(2) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      width: 75%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  th {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    padding: $table-padding;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    text-align: left;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  td {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    padding: $table-padding;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.tech-details {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  color: colors.$hint-text;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.mat-expansion-panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  background-color: transparent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border: 1px colors.$hint-text solid;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin-bottom: sizes.$large;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.sw-logs {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  overflow: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  white-space: pre;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/SyncStatusComponent.html b/documentation/components/SyncStatusComponent.html new file mode 100644 index 0000000000..b89a3674ae --- /dev/null +++ b/documentation/components/SyncStatusComponent.html @@ -0,0 +1,552 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/ui/sync-status/sync-status/sync-status.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  A small indicator component that displays an icon when there is currently synchronization +with the remote server going on in the background.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This component also triggers a blocking dialog box when an initial sync is detected that prevents +user login (because user accounts need to be synced first).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(syncState: SyncStateSubject, dbIndexingService: DatabaseIndexingService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  syncState + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  dbIndexingService + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + backgroundProcesses + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : this._backgroundProcesses + .asObservable() + .pipe(debounceTime(1000)) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  background processes to be displayed to users, with short delay to avoid flickering

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { ChangeDetectionStrategy, Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SyncState } from "../../../session/session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DatabaseIndexingService } from "../../../entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { BackgroundProcessState } from "../background-process-state.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { debounceTime } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { BackgroundProcessingIndicatorComponent } from "../background-processing-indicator/background-processing-indicator.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SyncStateSubject } from "../../../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * A small indicator component that displays an icon when there is currently synchronization
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * with the remote server going on in the background.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This component also triggers a blocking dialog box when an initial sync is detected that prevents
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * user login (because user accounts need to be synced first).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-sync-status",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./sync-status.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [BackgroundProcessingIndicatorComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  changeDetection: ChangeDetectionStrategy.OnPush,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class SyncStatusComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private indexingProcesses: BackgroundProcessState[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private _backgroundProcesses = new BehaviorSubject<BackgroundProcessState[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** background processes to be displayed to users, with short delay to avoid flickering */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  backgroundProcesses = this._backgroundProcesses
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    .asObservable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    .pipe(debounceTime(1000));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private syncState: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private dbIndexingService: DatabaseIndexingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.dbIndexingService.indicesRegistered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe((indicesStatus) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.indexingProcesses = indicesStatus;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.updateBackgroundProcessesList();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.syncState
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe(() => this.updateBackgroundProcessesList());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Build and emit an updated array of current background processes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private updateBackgroundProcessesList() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let currentProcesses: BackgroundProcessState[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.syncState.value === SyncState.STARTED) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      currentProcesses.push({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        title: $localize`Synchronizing database`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        pending: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      currentProcesses.push({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        title: $localize`Database up-to-date`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        pending: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    currentProcesses = currentProcesses.concat(this.indexingProcesses);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._backgroundProcesses.next(currentProcesses);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<app-background-processing-indicator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  [backgroundProcesses]="backgroundProcesses"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</app-background-processing-indicator>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TemplateTooltipComponent.html b/documentation/components/TemplateTooltipComponent.html new file mode 100644 index 0000000000..b460e44093 --- /dev/null +++ b/documentation/components/TemplateTooltipComponent.html @@ -0,0 +1,749 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/common-components/template-tooltip/template-tooltip.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This is the component that the tooltip is shown. It serves the following purposes:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Rendering the actual tooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Animating when the tooltip appears
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • giving each tooltip the same border and background
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Usage is intended for internal use only. To display a custom tooltip, +refer to the Template Tooltip Directive

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(zone: NgZone, el: ElementRef) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    zone + NgZone + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    el + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + contentTemplate +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This provides finer control on the content to be visible on the tooltip +This template will be injected in ToolTipRenderer directive in the consumer template +<ng-template #template> + content..... +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + hide +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + show +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + @appear + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + animation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + @HostBinding('@appear')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + Readonly + SELECTOR + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "app-template-tooltip" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HostBinding,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  NgZone,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  animate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  state,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  style,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transition,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  trigger,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/animations";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This is the component that the tooltip is shown. It serves the following purposes:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * - Rendering the actual tooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * - Animating when the tooltip appears
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * - giving each tooltip the same border and background
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Usage is intended for internal use only. To display a custom tooltip,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * refer to the {@link ./template-tooltip.directive.ts Template Tooltip Directive}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: TemplateTooltipComponent.SELECTOR,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  template: '<ng-container *ngTemplateOutlet="contentTemplate"></ng-container>',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./template-tooltip.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  animations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    trigger("appear", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      state(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        "void",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        style({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          transform: "scale(0)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      state(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        "*",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        style({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          transform: "scale(1)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      transition(":enter", [animate("100ms")]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [NgTemplateOutlet],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class TemplateTooltipComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static readonly SELECTOR = "app-template-tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This provides finer control on the content to be visible on the tooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This template will be injected in ToolTipRenderer directive in the consumer template
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * <ng-template #template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *  content.....
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() contentTemplate: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() hide = new EventEmitter<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Output() show = new EventEmitter<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(zone: NgZone, el: ElementRef<HTMLElement>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    zone.runOutsideAngular(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      el.nativeElement.addEventListener("mouseenter", () => this.show.emit());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      el.nativeElement.addEventListener("mouseleave", (ev) => this.hide.emit());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @HostBinding("@appear") animation = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./template-tooltip.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  background-color: colors.$background-neutral;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  border-radius: 4px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  border: 1px solid colors.$border-color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transform-origin: center 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  display: block;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @include mat-elevation.elevation(3);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TodoCompletionComponent.html b/documentation/components/TodoCompletionComponent.html new file mode 100644 index 0000000000..cde0be5baa --- /dev/null +++ b/documentation/components/TodoCompletionComponent.html @@ -0,0 +1,499 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/todos/todo-completion/todo-completion/todo-completion.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Todo + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + complete +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + uncomplete +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Todo } from "../../model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DisplayTodoCompletionComponent } from "../display-todo-completion/display-todo-completion.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-todo-completion",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./todo-completion.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./todo-completion.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DisplayTodoCompletionComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class TodoCompletionComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entity: Todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() complete = new EventEmitter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Output() uncomplete = new EventEmitter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  *ngIf="!entity.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  (click)="complete.emit()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <fa-icon icon="check" class="margin-right-small"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <span i18n>Complete Task</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +<div *ngIf="entity.completed" class="flex-row align-center gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <app-display-todo-completion
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    [value]="entity.completed"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ></app-display-todo-completion>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    (click)="uncomplete.emit()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    matTooltip="mark as incomplete again"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    i18n-matTooltip="todo uncomplete button tooltip"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <fa-icon icon="undo-alt"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ./todo-completion.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TodoDetailsComponent.html b/documentation/components/TodoDetailsComponent.html new file mode 100644 index 0000000000..d882bf77a8 --- /dev/null +++ b/documentation/components/TodoDetailsComponent.html @@ -0,0 +1,803 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/todos/todo-details/todo-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(data: DetailsComponentData, dialogRef: MatDialogRef, todoService: TodoService, entityFormService: EntityFormService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        data + DetailsComponentData + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dialogRef + MatDialogRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        todoService + TodoService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityFormService + EntityFormService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Todo + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + close +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + completeTodo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + completeTodo() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + uncompleteTodo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +uncompleteTodo() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EntityForm<Todo> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + formColumns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Inject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Todo } from "../model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DetailsComponentData } from "../../../core/form-dialog/row-details/row-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { TodoService } from "../todo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "../../../core/common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { TodoCompletionComponent } from "../todo-completion/todo-completion/todo-completion.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DialogCloseComponent } from "../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityFormComponent } from "../../../core/common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DialogButtonsComponent } from "../../../core/form-dialog/dialog-buttons/dialog-buttons.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FieldGroup } from "../../../core/entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-todo-details",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./todo-details.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: ["./todo-details.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    TodoCompletionComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    DialogButtonsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class TodoDetailsComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entity: Todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Output() close = new EventEmitter<Todo>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  formColumns: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  form: EntityForm<Todo>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    @Inject(MAT_DIALOG_DATA) data: DetailsComponentData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private dialogRef: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private todoService: TodoService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entity = data.entity as Todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.formColumns = [{ fields: data.columns }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.form = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [].concat(...this.formColumns.map((group) => group.fields)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async completeTodo() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.form.dirty) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // we assume the user always wants to save pending changes rather than discard them
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.entityFormService.saveChanges(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await this.todoService.completeTodo(this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dialogRef.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  uncompleteTodo() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.todoService.uncompleteTodo(this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <h1 *ngIf="!entity.isNew" mat-dialog-title>{{ entity.subject }}</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<h1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  *ngIf="entity.isNew"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mat-dialog-title
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  i18n="Todo details heading for new record"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Creating new item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<app-dialog-close mat-dialog-close=""></app-dialog-close>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <app-entity-form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [fieldGroups]="formColumns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [form]="form"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ></app-entity-form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +<mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <app-todo-completion
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (complete)="completeTodo()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    (uncomplete)="uncompleteTodo()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    *ngIf="!entity.isNew"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    style="margin-right: 8px"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ></app-todo-completion>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  <app-dialog-buttons [form]="form" [entity]="entity" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +</mat-dialog-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ./todo-details.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        .heading-new {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +.complete-button-absolute {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  position: absolute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  right: 48px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TodoListComponent.html b/documentation/components/TodoListComponent.html new file mode 100644 index 0000000000..120168b89a --- /dev/null +++ b/documentation/components/TodoListComponent.html @@ -0,0 +1,2712 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/todos/todo-list/todo-list.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + EntityListComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(screenWidthObserver: ScreenWidthObserver, router: Router, activatedRoute: ActivatedRoute, entityMapperService: EntityMapperService, entityActionsService: EntityActionsService, entities: EntityRegistry, dialog: MatDialog, duplicateRecord: DuplicateRecordService, currentUser: CurrentUserSubject, formDialog: FormDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          activatedRoute + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityActionsService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          duplicateRecord + DuplicateRecordService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + allEntities +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : "navigate" | "popup" | "none" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "navigate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + columnGroups +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + defaultSort +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityConstructor +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + exportConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + filters +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          initial / default state whether to include archived records in the list

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + title +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Outputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + addNewClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + elementClick +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EventEmitter + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + addNew + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + addNew() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + onRowClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + onRowClick(entity: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entity + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + showDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +showDetails(entity: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entity + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + anonymizeRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + anonymizeRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + applyFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +applyFilter(filterValue: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          filterValue + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + archiveRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + archiveRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + deleteRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + deleteRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + duplicateRecords + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +duplicateRecords() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + Async + getEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + getEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Template method that can be overwritten to change the loading logic.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + Async + loadEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + loadEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + openFilterOverlay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +openFilterOverlay() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Calling this function will display the filters in a popup

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + clickMode + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : "navigate" | "popup" | "none" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "none" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + defaultSort + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : { + active: "deadline", + direction: "asc", + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : Todo +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + showInactive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + defaultColumnGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + filteredData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + filterFreetext + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + filterObj + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + filterString + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + groups + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : GroupConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + isDesktop + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + mobileColumnGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + selectedColumnGroupIndex_ + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + selectedRows + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from EntityListComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Todo } from "../model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { PrebuiltFilterConfig } from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { TodoDetailsComponent } from "../todo-details/todo-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityListComponent } from "../../../core/entity-list/entity-list/entity-list.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  DataFilter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  FilterSelectionOption,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ActivatedRoute, Router, RouterLink } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DuplicateRecordService } from "../../../core/entity-list/duplicate-records/duplicate-records.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { CurrentUserSubject } from "../../../core/session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  NgStyle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Angulartics2OnModule } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FilterComponent } from "../../../core/filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { TabStateModule } from "../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewTitleComponent } from "../../../core/common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ExportDataDirective } from "../../../core/export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DisableEntityOperationDirective } from "../../../core/permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityCreateButtonComponent } from "../../../core/common-components/entity-create-button/entity-create-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityActionsService } from "app/core/entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AbilityModule } from "@casl/angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewActionsComponent } from "../../../core/common-components/view-actions/view-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityActionsMenuComponent } from "../../../core/entity-details/entity-actions-menu/entity-actions-menu.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@RouteTarget("TodoList")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-todo-list",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "../../../core/entity-list/entity-list/entity-list.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgStyle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Angulartics2OnModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FilterComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    TabStateModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntityCreateButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    AbilityModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntityActionsMenuComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ViewActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class TodoListComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  extends EntityListComponent<Todo>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  // TODO: make this component obsolete by generalizing Entity and EntityList so that we can define a viewDetailsComponent on the entity that gets opened as popup?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityConstructor = Todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override clickMode: "navigate" | "popup" | "none" = "none";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override defaultSort: Sort = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    active: "deadline",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    direction: "asc",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override showInactive = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    activatedRoute: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityActionsService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    duplicateRecord: DuplicateRecordService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      screenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      activatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      dialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      duplicateRecord,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.addPrebuiltFilters();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private addPrebuiltFilters() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.setFilterDefaultToCurrentUser();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const prebuiltFilter of this.filters.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (filter) => filter.type === "prebuilt",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    )) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      switch (prebuiltFilter.id) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        case "due-status": {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          this.buildFilterDueStatus(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            prebuiltFilter as PrebuiltFilterConfig<Todo>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        default: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            "[TodoList] No filter options available for prebuilt filter: " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              prebuiltFilter.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          prebuiltFilter["options"] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private setFilterDefaultToCurrentUser() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const assignedToFilter = this.filters.find((c) => c.id === "assignedTo");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (assignedToFilter && !assignedToFilter.default) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // filter based on currently logged-in user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.currentUser
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .subscribe((entity) => (assignedToFilter.default = entity?.getId()));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private buildFilterDueStatus(filter: PrebuiltFilterConfig<Todo>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    filter.options = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      filterCurrentlyActive,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        key: "overdue",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: $localize`:Filter-option for todos:Overdue`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        filter: { isOverdue: true },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        key: "completed",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: $localize`:Filter-option for todos:Completed`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        filter: { completed: { $exists: true } },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        key: "open",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: $localize`:Filter-option for todos:All Open`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        filter: { completed: undefined },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      { key: "", label: $localize`Any`, filter: {} },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    filter.label = filter.label ?? $localize`Tasks due`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    filter.default = filter.default ?? "current";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override addNew() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showDetails(new Todo());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override onRowClick(entity: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showDetails(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  showDetails(entity: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.formDialog.openFormPopup(entity, undefined, TodoDetailsComponent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +const filterCurrentlyActive: FilterSelectionOption<Todo> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  key: "current",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  label: $localize`:Filter-option for todos:Currently Active`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  filter: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    $and: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      { completed: undefined },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $or: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            startDate: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              $exists: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            startDate: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              $lte: moment().format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              $gt: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            deadline: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              $lte: moment().format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              $gt: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  } as DataFilter<Todo>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <!-- Desktop version -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div *ngIf="isDesktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- Header bar; contains the title on the left and controls on the right -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-view-title [ngStyle]="offsetFilterStyle">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    {{ title }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </app-view-title>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div class="flex-row gap-regular">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <app-entity-create-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (entityCreate)="addNew()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></app-entity-create-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </app-view-actions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <!-- Filters -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="flex-row gap-regular flex-wrap">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <app-filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      *ngIf="!!allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="flex-row gap-regular flex-wrap"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [filterConfig]="filters"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [entities]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [useUrlQueryParams]="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [(filterObj)]="filterObj"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></app-filter>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="mat-elevation-z1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div *ngIf="groups.length > 1">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <mat-tab-group
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [(selectedIndex)]="selectedColumnGroupIndex"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        appTabStateMemo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        <mat-tab
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          *ngFor="let item of groups"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [label]="item.name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          angularticsAction="list_column_view"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [angularticsLabel]="item.name"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ></mat-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<!-- Mobile Version -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<div *ngIf="!isDesktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <h2>{{ title }}</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div *ngTemplateOutlet="filterDialog"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button mat-icon-button color="primary" [matMenuTriggerFor]="additional">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon icon="ellipsis-v"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-container *ngTemplateOutlet="bulkActions"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-container *ngTemplateOutlet="subrecord"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<!-- Templates and menus for both mobile and desktop -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<ng-template #filterDialog>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <mat-form-field class="full-width filter-field">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <mat-label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n="Filter placeholder|Allows the user to filter through entities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >Filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="full-width"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      matInput
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n-placeholder="Examples of things to filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      placeholder="e.g. name, age"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (ngModelChange)="applyFilter($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [(ngModel)]="filterString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      *ngIf="filterString"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      matIconSuffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="Clear"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (click)="filterString = ''; applyFilter('')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon icon="times"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<ng-template #subrecord>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [entityType]="entityConstructor"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [records]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [customColumns]="columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [editable]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [clickMode]="clickMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (entityClick)="onRowClick($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [columnsToDisplay]="columnsToDisplay"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [filter]="filterObj"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [sortBy]="defaultSort"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [(selectedRecords)]="selectedRows"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [selectable]="!!selectedRows"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [showInactive]="showInactive"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (filteredRecordsChange)="filteredData = $event"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [filterFreetext]="filterFreetext"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<mat-menu #additional>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div class="hide-desktop">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (click)="addNew()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      angularticsCategory="UserAction"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      [angularticsAction]="title.toLowerCase().replace(' ', '_') + '_add_new'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      *appDisabledEntityOperation="{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entity: entityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        operation: 'create',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        aria-label="add element"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        icon="plus-circle"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <span i18n="Add a new entity to a list of multiple entities">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Add New
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <button mat-menu-item (click)="openFilterOverlay()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        aria-label="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        icon="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <span i18n="Show filter options popup for list"> Filter options </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [appExportData]="allEntities"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span i18n="Download list contents as CSV"> Download all data (.csv) </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [appExportData]="filteredData"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [exportConfig]="exportConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [filename]="title.replace(' ', '')"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angularticsAction="list_csv_export"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="download csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon="download"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span i18n="Download list contents as CSV"> Download current (.csv) </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [angularticsCategory]="entityConstructor?.ENTITY_TYPE"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    angularticsAction="import_file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [routerLink]="['/import']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [queryParams]="{ entityType: entityConstructor?.ENTITY_TYPE }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="import file"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon="file-import"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span i18n> Import from file </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (click)="selectedRows = []"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    matTooltip="Select multiple records for bulk actions like duplicating or deleting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    matTooltipPosition="before"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="color-accent standard-icon-with-text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      aria-label="bulk actions"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon="list-check"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span i18n> Bulk Actions </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    mat-menu-item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [routerLink]="['/admin/entity', entityConstructor.ENTITY_TYPE]"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    [queryParams]="{ mode: 'list' }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    queryParamsHandling="merge"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    *ngIf="'update' | ablePure: 'Config' | async"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <fa-icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="standard-icon-with-text color-accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon="tools"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <span i18n>Edit Data Structure</span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <ng-content select="[mat-menu-item]"></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-menu>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +<ng-template #bulkActions>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  <div *ngIf="!!selectedRows" class="bulk-action-button">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div i18n>Actions on selected records:</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      class="flex-row gap-small bulk-action-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      matTooltip="Select rows for an action on multiple records"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i18n-matTooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="archiveRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Archive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="anonymizeRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Anonymize
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="deleteRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Delete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        (click)="duplicateRecords()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [disabled]="selectedRows.length === 0"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        i18n="bulk action button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Duplicate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      <button mat-raised-button (click)="selectedRows = undefined" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TodosDashboardComponent.html b/documentation/components/TodosDashboardComponent.html new file mode 100644 index 0000000000..fc80a0f1cd --- /dev/null +++ b/documentation/components/TodosDashboardComponent.html @@ -0,0 +1,818 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DashboardWidget +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(formDialog: FormDialogService, currentUser: CurrentUserSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + getRequiredEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + getRequiredEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DashboardWidget +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DashboardWidget:29 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + openEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +openEntity(entity: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + dataMapper + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + filterEntries + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + sortEntries + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + startDateLabel + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : Todo.schema.get("startDate").label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Todo } from "../model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { TodoDetailsComponent } from "../todo-details/todo-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DashboardListWidgetComponent } from "../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DatePipe, NgStyle } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CurrentUserSubject } from "../../../core/session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DashboardWidget } from "../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("TodosDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-todos-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./todos-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./todos-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgStyle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class TodosDashboardComponent extends DashboardWidget {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static getRequiredEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Todo.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  dataMapper: (data: Todo[]) => Todo[] = (data) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    data.filter(this.filterEntries).sort(this.sortEntries);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  startDateLabel: string = Todo.schema.get("startDate").label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filterEntries = (todo: Todo) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      !todo.completed &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      todo.assignedTo.includes(this.currentUser.value?.getId()) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      moment(todo.startDate).isSameOrBefore(moment(), "days")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  sortEntries = (a: Todo, b: Todo) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // list overdue todos first
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (a.isOverdue && b.isOverdue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return a.deadline?.getTime() - b.deadline?.getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (a.isOverdue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return -1; // a first
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (b.isOverdue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return 1; // b first
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (a.startDate ?? a.deadline)?.getTime() -
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (b.startDate ?? b.deadline)?.getTime()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  openEntity(entity: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.formDialog.openFormPopup(entity, undefined, TodoDetailsComponent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <app-dashboard-list-widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  icon="tasks"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  subtitle="Tasks due"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  i18n-subtitle="subtitle|dashboard showing open todos"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  theme="note"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityType="Todo"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [dataMapper]="dataMapper"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <table mat-table aria-label="Notes needing follow-up">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <!-- Table header only for assistive technologies like screen readers -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <tr hidden="true">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <th scope="col">Subject</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <th scope="col">Deadline</th>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <ng-container matColumnDef="subject">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <td *matCellDef="let todo" class="subject-cell row-indicator">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        {{ todo.subject }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <ng-container matColumnDef="deadline">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      <td
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        *matCellDef="let todo"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        class="deadline"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        matTooltip="{{ startDateLabel }}: {{ todo.startDate | date }}"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [matTooltipDisabled]="!todo.startDate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        {{ todo.deadline | date }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      </td>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    </ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    <tr
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      mat-row
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      *matRowDef="let row; columns: ['subject', 'deadline']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      class="dashboard-table-row row-view"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (click)="openEntity(row)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [ngStyle]="{ '--row-indicator-color': row.isOverdue ? 'red' : '' }"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ></tr>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  </table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</app-dashboard-list-widget>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ./todos-dashboard.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @use "../../../core/dashboard/dashboard-widget-base";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +.row-view {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  & > td:first-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    padding-left: 2 * sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  & > td:last-child {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    padding-right: sizes.$small;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/TodosRelatedToEntityComponent.html b/documentation/components/TodosRelatedToEntityComponent.html new file mode 100644 index 0000000000..773d2f828f --- /dev/null +++ b/documentation/components/TodosRelatedToEntityComponent.html @@ -0,0 +1,1492 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/todos/todos-related-to-entity/todos-related-to-entity.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + RelatedEntitiesComponent +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(formDialog: FormDialogService, dbIndexingService: DatabaseIndexingService, entityMapper: EntityMapperService, entities: EntityRegistry, screenWidthObserver: ScreenWidthObserver, filterService: FilterService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              formDialog + FormDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              dbIndexingService + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + clickMode +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : "popup" | "navigate" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "popup" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + columns +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Columns to be displayed in the table

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + editable +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              currently viewed/main entity for which related entities are displayed in this component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entity type of the related entities to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + filter +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              This filter is applied before displaying the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + property +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string | string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Property name of the related entities (type given in this.entityType) that holds the entity id +to be matched with the id of the current main entity (given in this.entity). +If not explicitly set, this will be inferred based on the defined relations between the entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              manually setting this is only necessary if you have multiple properties referencing the same entity type +and you want to list only records related to one of them. +For example: if you set entityType = "Project" (to display a list of projects here) and the Project entities have a properties "participants" and "supervisors" both storing references to User entities, +you can set property = "supervisors" to only list those projects where the current User is supervisors, not participant.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + showInactive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Whether inactive/archived records should be shown.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + getData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + getNewEntryFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getNewEntryFunction() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Todo + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + showDetails + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +showDetails(entity: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entity + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + createNewRecordFactory + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +createNewRecordFactory() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : () => any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + getProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getProperty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : string | [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + initFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + initFilter() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : DataFilter<E> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + listenToEntityUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + listenToEntityUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + _columns + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : [ + { id: "deadline" }, + { id: "subject" }, + { id: "startDate" }, + { id: "assignedTo" }, + { id: "description", visibleFrom: "xl" }, + { id: "repetitionInterval", visibleFrom: "xl" }, + { id: "relatedEntities", hideFromTable: true }, + { id: "completed", hideFromForm: true }, + ] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + backgroundColorFn + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + entityCtr + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : Todo +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + filter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : DataFilter<Todo> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : { isActive: true } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + columnsToDisplay + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + data + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : E[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from RelatedEntitiesComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Todo } from "../model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DatabaseIndexingService } from "../../../core/entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { TodoDetailsComponent } from "../todo-details/todo-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RelatedEntitiesComponent } from "../../../core/entity-details/related-entities/related-entities.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("TodosRelatedToEntity")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-todos-related-to-entity",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./todos-related-to-entity.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./todos-related-to-entity.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [EntitiesTableComponent, MatSlideToggleModule, FormsModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class TodosRelatedToEntityComponent extends RelatedEntitiesComponent<Todo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  override entityCtr = Todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  override _columns: FormFieldConfig[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "deadline" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "subject" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "startDate" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "assignedTo" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "description", visibleFrom: "xl" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "repetitionInterval", visibleFrom: "xl" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "relatedEntities", hideFromTable: true },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    { id: "completed", hideFromForm: true },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  // TODO: filter by current user as default in UX? --> custom filter component or some kind of variable interpolation?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  override filter: DataFilter<Todo> = { isActive: true };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  backgroundColorFn = (r: Todo) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!r.isActive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return "#e0e0e0";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return r.getColor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private dbIndexingService: DatabaseIndexingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super(entityMapper, entities, screenWidthObserver, filterService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  override getData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (Array.isArray(this.property)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return super.getData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // TODO: move this generic index creation into schema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dbIndexingService.generateIndexOnProperty(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "todo_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Todo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.property as keyof Todo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "deadline",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const entityId = this.entity.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.dbIndexingService.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Todo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "todo_index/by_" + this.property,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        startkey: [entityId, "\uffff"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        endkey: [entityId],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        descending: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public getNewEntryFunction(): () => Todo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const newEntry = new Todo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      newEntry.relatedEntities = [this.entity.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return newEntry;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  showDetails(entity: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.formDialog.openFormPopup(entity, this.columns, TodoDetailsComponent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <app-entities-table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [entityType]="entityCtr"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [records]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [customColumns]="_columns"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [newRecordFactory]="getNewEntryFunction()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  clickMode="none"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [filter]="filter"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  (entityClick)="showDetails($event)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  [getBackgroundColor]="backgroundColorFn"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +></app-entities-table>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./todos-related-to-entity.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/UiComponent.html b/documentation/components/UiComponent.html new file mode 100644 index 0000000000..14b55919a1 --- /dev/null +++ b/documentation/components/UiComponent.html @@ -0,0 +1,1091 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/ui/ui/ui.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The main user interface component as root element for the app structure +which also ties different components together into the overall app layout.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(screenWidthObserver: ScreenWidthObserver, siteSettingsService: SiteSettingsService, loginState: LoginStateSubject, sessionManager: SessionManagerService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                screenWidthObserver + ScreenWidthObserver + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                siteSettingsService + SiteSettingsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                loginState + LoginStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                sessionManager + SessionManagerService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + closeSidenavOnMobile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +closeSidenavOnMobile() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + isLoggedIn + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +isLoggedIn() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Check if user is logged in.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + logout + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + logout() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Trigger logout of user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + sideNav + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + @ViewChild('sideNav')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                reference to sideNav component in template, required for toggling the menu on user actions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + sideNavMode + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : MatDrawerMode + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                display mode for the menu to make it responsive and usable on smaller screens

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + siteSettings + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new SiteSettings() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                latest version of the site settings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, ViewChild } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatDrawerMode, MatSidenavModule } from "@angular/material/sidenav";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ScreenWidthObserver } from "../../../utils/media/screen-size-observer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatToolbarModule } from "@angular/material/toolbar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { RouterLink, RouterOutlet } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SearchComponent } from "../search/search.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SyncStatusComponent } from "../sync-status/sync-status/sync-status.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { LanguageSelectComponent } from "../../language/language-select/language-select.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NavigationComponent } from "../navigation/navigation/navigation.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { PwaInstallComponent } from "../../pwa-install/pwa-install.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { AppVersionComponent } from "../latest-changes/app-version/app-version.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { PrimaryActionComponent } from "../primary-action/primary-action.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SiteSettingsService } from "../../site-settings/site-settings.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DisplayImgComponent } from "../../../features/file/display-img/display-img.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SiteSettings } from "../../site-settings/site-settings";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { LoginStateSubject } from "../../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { LoginState } from "../../session/session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SessionManagerService } from "../../session/session-service/session-manager.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { SetupWizardButtonComponent } from "../../admin/setup-wizard/setup-wizard-button/setup-wizard-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * The main user interface component as root element for the app structure
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * which also ties different components together into the overall app layout.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-ui",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./ui.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./ui.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatToolbarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    RouterLink,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    SearchComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    SyncStatusComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    LanguageSelectComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatSidenavModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NavigationComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    PwaInstallComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    AppVersionComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    RouterOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    PrimaryActionComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DisplayImgComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    SetupWizardButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class UiComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** display mode for the menu to make it responsive and usable on smaller screens */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  sideNavMode: MatDrawerMode;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** reference to sideNav component in template, required for toggling the menu on user actions */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @ViewChild("sideNav") sideNav;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** latest version of the site settings*/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  siteSettings = new SiteSettings();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private screenWidthObserver: ScreenWidthObserver,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private siteSettingsService: SiteSettingsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private loginState: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private sessionManager: SessionManagerService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.screenWidthObserver
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .platform()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .subscribe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (isDesktop) => (this.sideNavMode = isDesktop ? "side" : "over"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.siteSettingsService.siteSettings.subscribe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (s) => (this.siteSettings = s),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Check if user is logged in.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  isLoggedIn(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.loginState.value === LoginState.LOGGED_IN;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Trigger logout of user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async logout() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.sessionManager.logout();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  closeSidenavOnMobile() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.sideNavMode === "over") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.sideNav.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<!-- HEADER TOOLBAR -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<mat-toolbar color="primary" class="ui-toolbar">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <!-- Left items -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <div class="flex-row align-center">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <span *ngIf="isLoggedIn() && sideNavMode === 'over'">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <button mat-icon-button (click)="sideNav.toggle()">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <fa-icon class="header-icon" icon="bars"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      *ngIf="sideNavMode !== 'over'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      [routerLink]="['']"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      class="header-title"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      angulartics2On="click"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      angularticsCategory="Navigation"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      angularticsAction="navbar_site_title_link"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      {{ siteSettings.siteName }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </a>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <!--top right icons and search-->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    class="flex-row align-center flex-grow-1-3 justify-content-end gap-small"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-search
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      class="hide-mobile full-width"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      *ngIf="isLoggedIn()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ></app-search>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-sync-status></app-sync-status>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <app-language-select
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      *ngIf="siteSettings.displayLanguageSelect"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ></app-language-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-toolbar>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<!-- MAIN NAVIGATION + CONTENT -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<mat-sidenav-container (backdropClick)="closeSidenavOnMobile()" autosize>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-sidenav
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    #sideNav
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    *ngIf="isLoggedIn()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [autoFocus]="false"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [mode]="sideNavMode"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [opened]="sideNavMode === 'side'"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    class="sidenav-menu"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    disableClose
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      class="flex-column justify-space-between full-height overflow-y-hidden"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <app-display-img
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        *ngIf="siteSettings.logo"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        [entity]="siteSettings"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        imgProperty="logo"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        class="site-logo"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ></app-display-img>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <app-navigation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        class="overflow-auto-y"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (click)="closeSidenavOnMobile()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ></app-navigation>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <div class="flex-grow"></div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      <div class="flex-column">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <app-setup-wizard-button></app-setup-wizard-button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <app-pwa-install></app-pwa-install>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            (click)="closeSidenavOnMobile()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            routerLink="user-account"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            i18n="Navigate to user profile page"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            class="footer-cell width-1-2"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            <fa-icon icon="user"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            Profile
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            (click)="logout()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            i18n="Sign out of the app"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            class="footer-cell width-1-2"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            <fa-icon icon="sign-out-alt"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            Sign out
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        <div class="flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            class="footer-cell"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            routerLink="/support"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            (click)="closeSidenavOnMobile()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            <fa-icon icon="info-circle" class="info-icon"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            mat-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            class="footer-cell full-width"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            style="height: 100%"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            (click)="version.showLatestChanges()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            <app-version #version></app-version>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-sidenav>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  <mat-sidenav-content class="sidenav-content">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    <router-outlet></router-outlet>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  </mat-sidenav-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +</mat-sidenav-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +<app-primary-action *ngIf="isLoggedIn()"></app-primary-action>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ./ui.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @use "@angular/material/core/style/elevation" as mat-elevation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@use "variables/sizes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@use "variables/colors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@use "variables/breakpoints";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * outermost elements; make them as tall as possible.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Consumes all of the available screen
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +html,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +body {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /* height: 100%; */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**  Toolbar  **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Directive for the only toolbar row.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Both of these directives are required to make the shadow show
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.ui-toolbar {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  z-index: 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  justify-content: space-between;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @include mat-elevation.elevation(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.search-field {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Use a fixed width here because
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * the form field does not work with
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * relative / computed sizes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: 450px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.header-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  color: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  font-size: 15pt;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**  App content  **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +:host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  background-color: colors.$background;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  display: grid;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  grid-template-columns: 1fr;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  grid-template-rows: auto 1fr;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  height: 100vh;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  This only targets iOs devices. Note that (just like the line below), this is
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  a hacky solution. While it is practically guaranteed that only iOs will have this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  property, it is not guaranteed that iOs will keep this property for ever.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @supports (-webkit-touch-callout: none) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    /* mobile viewport bug fix.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      The viewport height on iOs is not necessarily the visible screen size.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      There might be a bar on the top of the screen. The following line
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      fixes this, but since this is no official css feature, this line should
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      be replaced as soon as a nicer solution exists.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    height: -webkit-fill-available;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.sidenav-menu {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  background-color: colors.$background-secondary;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**  Main content  **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +mat-sidenav-container {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  background: none;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * reset the styles from the anchor element
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.header-title {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  color: white;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  text-decoration: none;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Remove the right border so that the background color
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * merges into the main element
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.mat-drawer-side {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-right: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.site-logo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: 180px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  padding: 8px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.footer-cell {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-top: solid 1px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  place-content: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  place-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  min-width: fit-content;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  &:not(:last-child) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    border-right: solid 1px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  box-sizing: border-box;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.info-icon {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  margin: auto;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  font-size: 20px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.info-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: 48px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-right: solid 1px rgba(0, 0, 0, 0.12);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  border-radius: 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  overflow: hidden;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +.justify-content-end {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  justify-content: end;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/UserAccountComponent.html b/documentation/components/UserAccountComponent.html new file mode 100644 index 0000000000..cad4b5cb5a --- /dev/null +++ b/documentation/components/UserAccountComponent.html @@ -0,0 +1,733 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/user/user-account/user-account.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  User account form to allow the user to view and edit information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(currentUser: CurrentUserSubject, sessionInfo: SessionSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + checkIfPasswordChangeAllowed + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +checkIfPasswordChangeAllowed() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + entityId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : this.sessionInfo.value.entityId +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + passwordChangeDisabled + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + tooltipText + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + username + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  user to be edited

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionType } from "../../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { TabStateModule } from "../../../utils/tab-state/tab-state.module";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AccountPageComponent } from "../../session/auth/keycloak/account-page/account-page.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { CurrentUserSubject } from "../../session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AsyncPipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityBlockComponent } from "../../basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * User account form to allow the user to view and edit information.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-user-account",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./user-account.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./user-account.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    TabStateModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    AccountPageComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class UserAccountComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** user to be edited */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  username: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  passwordChangeDisabled = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  tooltipText;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entityId = this.sessionInfo.value.entityId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.checkIfPasswordChangeAllowed();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.username = this.currentUser.value?.toString();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  checkIfPasswordChangeAllowed() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.passwordChangeDisabled = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.tooltipText = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (environment.session_type !== SessionType.synced) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.passwordChangeDisabled = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.tooltipText = $localize`:Password reset disabled tooltip:Password change is not allowed in demo mode.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else if (!navigator.onLine) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.tooltipText = $localize`:Password reset disabled tooltip:Password change is not possible while being offline.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <!--
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     This file is part of ndb-core.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is free software: you can redistribute it and/or modify
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     it under the terms of the GNU General Public License as published by
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     the Free Software Foundation, either version 3 of the License, or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     (at your option) any later version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     ndb-core is distributed in the hope that it will be useful,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     but WITHOUT ANY WARRANTY; without even the implied warranty of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     GNU General Public License for more details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     You should have received a copy of the GNU General Public License
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ~     along with ndb-core.  If not, see <http://www.gnu.org/licenses/>.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  -->
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +<mat-tab-group appTabStateMemo>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  <mat-tab i18n-label="User-Account label" label="User Account">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div class="min-width-1-3 margin-top-large" [matTooltip]="tooltipText">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <mat-form-field class="full-width">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        <input
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          i18n-placeholder="Username placeholder"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          placeholder="Username"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          matInput="text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          id="username"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          type="text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [value]="username"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          disabled
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <app-account-page [disabled]="passwordChangeDisabled"></app-account-page>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    <div *ngIf="entityId">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <hr />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <h2 i18n>Your profile:</h2>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      <app-entity-block
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        [entityId]="entityId"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        class="entity-box"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ></app-entity-block>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  </mat-tab>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +</mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + ./user-account.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  .min-width-1-3 {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  max-width: 600px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.entity-box {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  border: 1px solid lightgrey;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  border-radius: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  width: fit-content;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  padding: 10px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/UserSecurityComponent.html b/documentation/components/UserSecurityComponent.html new file mode 100644 index 0000000000..c47d812a8c --- /dev/null +++ b/documentation/components/UserSecurityComponent.html @@ -0,0 +1,1337 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/user/user-security/user-security.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(authService: KeycloakAuthService, sessionInfo: SessionSubject, fb: FormBuilder, alertService: AlertService, http: HttpClient) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    authService + KeycloakAuthService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + createAccount + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +createAccount() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + disableForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +disableForm() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + editForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +editForm() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + getFormValues + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +getFormValues() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Partial<KeycloakUser> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + toggleAccount + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +toggleAccount(enabled: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    enabled + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + updateAccount + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +updateAccount() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + availableRoles + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Role[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + editing + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : true +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + form + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : this.fb.group({ + username: [{ value: "", disabled: true }], + email: ["", [Validators.required, Validators.email]], + roles: new FormControl<Role[]>([], Validators.required), + }) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + user + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : KeycloakUser + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + userIsPermitted + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  KeycloakAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  KeycloakUser,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Role,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../../session/auth/keycloak/keycloak-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { catchError } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("UserSecurity")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-user-security",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./user-security.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./user-security.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class UserSecurityComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  form = this.fb.group({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    username: [{ value: "", disabled: true }],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    email: ["", [Validators.required, Validators.email]],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    roles: new FormControl<Role[]>([], Validators.required),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  availableRoles: Role[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  user: KeycloakUser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  editing = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  userIsPermitted = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private authService: KeycloakAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      sessionInfo.value?.roles.includes(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        KeycloakAuthService.ACCOUNT_MANAGER_ROLE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.userIsPermitted = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // automatically skip trailing and leading whitespaces when the form changes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.valueChanges.pipe(untilDestroyed(this)).subscribe((next) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (next.email?.startsWith(" ") || next.email?.endsWith(" ")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.form.get("email").setValue(next.email.trim());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.authService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .getRoles()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe((roles) => this.initializeRoles(roles));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private initializeRoles(roles: Role[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.availableRoles = roles;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.user) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      // assign "user_app" as default role for new users
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const userAppRole = roles.find(({ name }) => name === "user_app");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (userAppRole) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.form.get("roles").setValue([userAppRole]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.userIsPermitted) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.get("username").setValue(this.entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.authService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .getUser(this.entity.getId(true))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(catchError(() => this.authService.getUser(this.entity.getId())))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        next: (res) => this.assignUser(res),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        error: () => undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private assignUser(user: KeycloakUser) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.user = user;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.initializeForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.user) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.disableForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private initializeForm() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.get("email").setValue(this.user.email);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .get("roles")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .setValue(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.user.roles.map((role) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.availableRoles.find((r) => r.id === role.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.markAsPristine();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  toggleAccount(enabled: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let message = $localize`:Snackbar message:Account has been disabled, user will not be able to login anymore.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (enabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      message = $localize`:Snackbar message:Account has been activated, user can login again.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.updateKeycloakUser({ enabled }, message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  editForm() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.editing = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.user.enabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.form.enable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  disableForm() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.editing = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.initializeForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  createAccount() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const user = this.getFormValues();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!user) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    user.enabled = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (user) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.authService.createUser(user).subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        next: () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.alertService.addInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            $localize`:Snackbar message:Account created. An email has been sent to ${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              this.form.get("email").value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.user = user as KeycloakUser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.disableForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        error: ({ error }) => this.form.setErrors({ failed: error.message }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  updateAccount() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const update = this.getFormValues();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // only send values that have changed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Object.keys(this.form.controls).forEach((control) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.form.get(control).pristine ? delete update[control] : undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (update) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.updateKeycloakUser(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        update,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        $localize`:Snackbar message:Successfully updated user`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private updateKeycloakUser(update: Partial<KeycloakUser>, message: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.authService.updateUser(this.user.id, update).subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      next: () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.alertService.addInfo(message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        Object.assign(this.user, update);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.disableForm();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (update.roles?.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          // roles changed, user might have more permissions now
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.triggerSyncReset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      error: ({ error }) => this.form.setErrors({ failed: error.message }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  getFormValues(): Partial<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.form.invalid) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.form.markAllAsTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.setErrors({});
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.form.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private triggerSyncReset() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .post(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}/clear_local`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        next: () => undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // request fails if no permission backend is used - this is fine
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        error: () => undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <em
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  *ngIf="!userIsPermitted"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  i18n="Placeholder text when permissions are missing"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  You account does not have the required permissions to see this page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</em>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +<div *ngIf="userIsPermitted" class="flex-column">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div *ngIf="!user" class="buttons-wrapper align-self-start">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="notice about user without account"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="field-hint field-warning"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      There is no user account set up for this user yet. Enable this user to log
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      into the app by filling the details below.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="editing && !user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      type="submit"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="createAccount()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [disabled]="form.disabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="invite-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [color]="form.valid ? 'accent' : ''"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [class.invite-button-animate]="form.valid"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="button to invite a new user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Create account & send invitation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <div
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    class="padding-bottom-small flex-row gap-small align-self-end flex-wrap"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    *ngIf="user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="editing && user?.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      color="warn"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="toggleAccount(false)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      matTooltip="User will not be able to login again, no information will be lost"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="button to update disable a user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Deactivate user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="editing && !user?.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="toggleAccount(true)"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      matTooltip="User can login again with the previously used credentials"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="button to enable a user"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Activate user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="editing && user?.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      color="accent"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="action-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="updateAccount()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="Save button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="editing"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="action-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="disableForm()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="Cancel button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Cancel
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      *ngIf="!editing"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      mat-raised-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      class="action-button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (click)="editForm()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      i18n="Edit button for forms"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Edit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    *ngIf="user && !user.enabled"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    i18n="Hint in user account page"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    class="field-hint field-warning"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    User is currently disabled and will not be able to login to the app
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </p>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  <form [formGroup]="form">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-label i18n="label of email input">Email</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <input matInput type="text" formControlName="email" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-error *ngIf="form.hasError('email', 'email')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Please enter a valid email
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-error *ngIf="form.hasError('required', 'email')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      <mat-form-field style="width: 100%">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-label i18n="label of roles input">Roles</mat-label>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-select formControlName="roles" multiple>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <mat-select-trigger>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            <span *ngFor="let role of form.get('roles').value"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              >{{ role.name }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            </span>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </mat-select-trigger>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          <mat-option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            *ngFor="let role of availableRoles"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            [value]="role"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            [matTooltip]="role.description"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            {{ role.description }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            <em style="font-size: x-small">{{ role.name }}</em>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          </mat-option>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </mat-select>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-hint i18n="hint about assigning user roles" class="field-hint">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          You should select at least one user role. Otherwise this user will not
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          even be able to access the basic app layout like the menu.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </mat-hint>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        <mat-error *ngIf="form.hasError('required', 'roles')" i18n>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          This field is required
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        </mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      </mat-form-field>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    <mat-error *ngIf="form.getError('failed')">{{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      form.getError("failed")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }}</mat-error>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  </form>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + ./user-security.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    .buttons-wrapper {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  padding-bottom: 2em;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.field-hint {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.field-warning {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  color: #f44336;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@keyframes buttonPulse {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  0% {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    transform: scale(1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  50% {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    transform: scale(1.05);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  100% {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    transform: scale(1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.invite-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  margin: 0 12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +.invite-button-animate {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  animation: buttonPulse 1s forwards;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ViewActionsComponent.html b/documentation/components/ViewActionsComponent.html new file mode 100644 index 0000000000..40da480c31 --- /dev/null +++ b/documentation/components/ViewActionsComponent.html @@ -0,0 +1,488 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/view-actions/view-actions.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Building block for views, providing a consistent layout to action buttons and menus +for both dialog and routed views.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + template + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + @ViewChild('template')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  AfterViewInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Optional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Building block for views, providing a consistent layout to action buttons and menus
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * for both dialog and routed views.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-view-actions",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./view-actions.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [NgTemplateOutlet],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ViewActionsComponent implements AfterViewInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @ViewChild("template") template: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(@Optional() protected viewContext: ViewComponentContext) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngAfterViewInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.viewContext) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      setTimeout(() => (this.viewContext.actions = this));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <ng-template #template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@if (!viewContext) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  <ng-container *ngTemplateOutlet="template"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ViewDistanceComponent.html b/documentation/components/ViewDistanceComponent.html new file mode 100644 index 0000000000..839b3b639d --- /dev/null +++ b/documentation/components/ViewDistanceComponent.html @@ -0,0 +1,736 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/location/view-distance/view-distance.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Displays the distance between two entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(changeDetector: ChangeDetectorRef) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        changeDetector + ChangeDetectorRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + distanceFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { ChangeDetectorRef, Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ViewDirective } from "../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Coordinates } from "../coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { getKmDistance } from "../map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ReadonlyFunctionComponent } from "../../../core/common-components/display-readonly-function/readonly-function.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Config for displaying the distance between two entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ViewDistanceConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the `GeoResult`/`Coordinates` property of the first entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  coordinatesProperties: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The updates of coordinates of the second entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * A `ReplaySubject` works best for this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  compareCoordinates: Observable<Coordinates[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Displays the distance between two entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@DynamicComponent("DisplayDistance")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-view-distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  template: `
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    <app-readonly-function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      [config]="distanceFunction"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ></app-readonly-function>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  `,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [ReadonlyFunctionComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class ViewDistanceComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  extends ViewDirective<Geolocation, ViewDistanceConfig>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private changeDetector: ChangeDetectorRef) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  distanceFunction = (_entity: Entity) => "-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.config.compareCoordinates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe((coordinates) => this.setDistanceFunction(coordinates));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private setDistanceFunction(compareCoordinates: Coordinates[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.distanceFunction = (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const distances = this.getAllDistances(compareCoordinates, e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (distances.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const closest = Math.min(...distances).toFixed(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return $localize`:distance with unit|e.g. 5 km:${closest} km`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return "-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // somehow changes to `displayFunction` don't trigger the change detection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getAllDistances(compareCoordinates: Coordinates[], e: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const results: number[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const prop of this.config.coordinatesProperties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      for (const coord of compareCoordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (e[prop]?.geoLookup && coord) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          results.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            getKmDistance((e[prop] as GeoLocation).geoLookup, coord),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ViewFileComponent.html b/documentation/components/ViewFileComponent.html new file mode 100644 index 0000000000..389e80d172 --- /dev/null +++ b/documentation/components/ViewFileComponent.html @@ -0,0 +1,799 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/file/view-file/view-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This component should be used as viewComponent when a property stores files. +If a file is stored, this component allows to view it.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(fileService: FileService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +showFile(event: Event) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          event + Event + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + fileService + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FileService + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewDirective } from "../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FileService } from "../file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This component should be used as `viewComponent` when a property stores files.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * If a file is stored, this component allows to view it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("ViewFile")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-view-file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./view-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["../edit-file/edit-file.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [MatButtonModule, NgIf],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class ViewFileComponent extends ViewDirective<string> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(public fileService: FileService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  showFile(event: Event) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // Prevent event bubbling
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    event.stopPropagation();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.fileService.showFile(this.entity, this.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <button mat-button class="filename" *ngIf="value" (click)="showFile($event)">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {{ value }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ../edit-file/edit-file.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          /* let click events on disabled input be handled by parent element (because browsers completely eat them up otherwise)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + https://stackoverflow.com/a/32925830/1473411  */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +input[disabled] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  pointer-events: none;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.clickable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.clickable * {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  cursor: pointer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +.filename {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  font-style: italic;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ViewLocationComponent.html b/documentation/components/ViewLocationComponent.html new file mode 100644 index 0000000000..be74081536 --- /dev/null +++ b/documentation/components/ViewLocationComponent.html @@ -0,0 +1,583 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/location/view-location/view-location.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + ViewDirective +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:6 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:7 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:8 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from ViewDirective +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in ViewDirective:13 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ViewDirective } from "../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("ViewLocation")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-view-location",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./view-location.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [FaIconComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ViewLocationComponent extends ViewDirective<GeoLocation> {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            {{ value?.locationString }}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@if (value?.geoLookup) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  <fa-icon icon="location-dot"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/ViewTitleComponent.html b/documentation/components/ViewTitleComponent.html new file mode 100644 index 0000000000..f0e97a5207 --- /dev/null +++ b/documentation/components/ViewTitleComponent.html @@ -0,0 +1,936 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/common-components/view-title/view-title.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Building block for views, providing a consistent layout to a title section +for both dialog and routed views.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + AfterViewInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(router: Router, location: Location, viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + disableBackButton +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) do not show button to navigate back to the parent page

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + displayInPlace +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + title +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The page title to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + class + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "mat-title" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + navigateBack + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + navigateBack() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + extraClasses + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "mat-title" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + @HostBinding('class')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + navigateToParentBehaviour + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              whether instead of a basic back to previous page navigation the back button should navigate to logical parent page

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Readonly + parentUrl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + template + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + @ViewChild('template')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  AfterViewInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  HostBinding,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Optional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { getUrlWithoutParams } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Location, NgIf, NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Building block for views, providing a consistent layout to a title section
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * for both dialog and routed views.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-view-title",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./view-title.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./view-title.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ViewTitleComponent implements AfterViewInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @ViewChild("template") template: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** The page title to be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** (Optional) do not show button to navigate back to the parent page */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() disableBackButton: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * whether instead of a basic back to previous page navigation the back button should navigate to logical parent page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  navigateToParentBehaviour: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  readonly parentUrl: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    @Optional() protected viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.parentUrl = this.findParentUrl();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.disableBackButton = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngAfterViewInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.viewContext && !this.displayInPlace) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      setTimeout(() => (this.viewContext.title = this));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private findParentUrl(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const currentUrl = getUrlWithoutParams(this.router);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const lastUrlSegmentStart = currentUrl.lastIndexOf("/");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (lastUrlSegmentStart < 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // do not navigate to root
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return currentUrl.substring(0, lastUrlSegmentStart);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async navigateBack() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.navigateToParentBehaviour && this.parentUrl) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.router.navigate([this.parentUrl]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.location.back();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @HostBinding("class") extraClasses = "mat-title";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() displayInPlace!: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <ng-template #template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <div class="container flex-row">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      *ngIf="(parentUrl || !navigateToParentBehaviour) && !disableBackButton"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      mat-icon-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (click)="navigateBack()"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      i18n-matTooltip="Generic back button"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      matTooltip="Back"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <fa-icon icon="arrow-left"></fa-icon>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </button>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    <h1 class="remove-margin-bottom flex-grow">
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      <ng-content></ng-content>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    </h1>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  </div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@if (!viewContext || displayInPlace) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  <ng-container *ngTemplateOutlet="template"></ng-container>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + ./view-title.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              .container {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  align-items: center;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  margin-bottom: 0 !important;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +.back-button {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  position: relative;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  left: -12px;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/components/WidgetContentComponent.html b/documentation/components/WidgetContentComponent.html new file mode 100644 index 0000000000..e142e032ff --- /dev/null +++ b/documentation/components/WidgetContentComponent.html @@ -0,0 +1,333 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/dashboard/dashboard-widget/widget-content/widget-content.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-widget-content",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  template: `<ng-content></ng-content>`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["widget-content.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class WidgetContentComponent {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + widget-content.component.scss +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                :host {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  width: 100%;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  display: flex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  flex-direction: column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Legend +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Component +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Html element with directive +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/contributing.html b/documentation/contributing.html new file mode 100644 index 0000000000..ba244d75c5 --- /dev/null +++ b/documentation/contributing.html @@ -0,0 +1,225 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Welcome!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Aam Digital is open source because we believe in building things together +and letting people benefit from and adapt things rather than everybody reinventing their own wheel.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  In order to build great software for small social impact organisations +we welcome anybody willing to contribute. +We are a small core team of full-time developers as well as a few regular volunteer contributors. +So whether you want to extend our code for your own use case or just help out - +we welcome any contributions to make this project better!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Get started

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  To get started, please have a look at our Developer Documentation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1. Work through the Tutorial.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • This walks you through the setup and basic understanding of the project and also gives an overview of the technologies and frameworks involved.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Feel free to skip over steps that seem trivial to you, we tried to make this very beginner friendly.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  2. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  3. Check our workflow regarding pull requests: How to contribute code
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  4. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  5. Don't hesitate to ask questions!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  6. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Get in touch

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Do get in touch with us by creating an issue here or +writing to info@aam-digital.com.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Our main communication channels in the team are

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • GitHub issues and pull requests. +Feel free to open one yourself also to ask a question.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Slack. Write us an e-mail to get an invitation to our workspace.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Where can I help?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Have a look at our issues on GitHub. +Some of them are explicitly label as suitable issues for a new contributor to work on: Community Help Wanted. +If you are not sure whether you should work on a certain issue, just post a short comment in the issue to clarify.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Whenever you start working on an issue, please assign yourself on the GitHub issue and change the "status" within the project to "In Progress".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  We organize our work using GitHub Projects' kanban boards and issue labels:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Project Board
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Get an overview of all issues (across all repositories) and their status here, we use a kanban-style board where issues are moved through the columns based on their status.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • The issues in the board are sorted by priority (most important on top).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Please do not work on issues in the "Triage / Analysis" status, these topics still required a clearer definition and approval from the core team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Labels
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Our labels are scoped into a few logical groups (e.g. "Status" or "Type" related labels), do check the descriptions shown beside the label name in the list of GitHub labels.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • The same labels are maintained across all our repositories.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/coverage.html b/documentation/coverage.html new file mode 100644 index 0000000000..9690affaa1 --- /dev/null +++ b/documentation/coverage.html @@ -0,0 +1,8001 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    FileTypeIdentifierStatements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/app.component.ts + componentAppComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/activities-overview/activities-overview.component.ts + componentActivitiesOverviewComponent + 31 % + (6/19) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/activity-attendance-section/activity-attendance-section.component.ts + componentActivityAttendanceSectionComponent + 0 % + (0/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/activity-card/activity-card.component.ts + componentActivityCardComponent + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/add-day-attendance/add-day-attendance.component.ts + componentAddDayAttendanceComponent + 7 % + (1/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/add-day-attendance/roll-call-setup/roll-call-setup.component.ts + componentRollCallSetupComponent + 5 % + (1/20) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call-tab/roll-call-tab.component.ts + componentRollCallTabComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call.component.ts + componentRollCallComponent + 36 % + (8/22) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call.component.ts + injectableHorizontalHammerConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-block/attendance-block.component.ts + componentAttendanceBlockComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-calendar/attendance-calendar.component.ts + componentAttendanceCalendarComponent + 0 % + (0/18) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-components.ts + variableattendanceComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-details/attendance-details.component.ts + componentAttendanceDetailsComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-manager/attendance-manager.component.ts + componentAttendanceManagerComponent + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-status-select/attendance-status-select.component.ts + componentAttendanceStatusSelectComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance-summary/attendance-summary.component.ts + componentAttendanceSummaryComponent + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/attendance.service.ts + injectableAttendanceService + 33 % + (3/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-day-block/attendance-day-block.component.ts + componentAttendanceDayBlockComponent + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-week-dashboard.component.ts + componentAttendanceWeekDashboardComponent + 40 % + (4/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-week-dashboard.component.ts + interfaceAttendanceWeekRow + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/demo-data/demo-activity-events-generator.service.ts + classDemoEventsConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/demo-data/demo-activity-events-generator.service.ts + injectableDemoActivityEventsGeneratorService + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/demo-data/demo-activity-generator.service.ts + injectableDemoActivityGeneratorService + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/edit-attendance/edit-attendance.component.ts + componentEditAttendanceComponent + 43 % + (7/16) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/activity-attendance.ts + classActivityAttendance + 64 % + (27/42) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/activity-attendance.ts + functiongenerateEventWithAttendance + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/attendance-status.ts + interfaceAttendanceStatusType + 100 % + (6/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/attendance-status.ts + variableATTENDANCE_STATUS_CONFIG_ID + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/attendance-status.ts + variableNullAttendanceStatusType + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/calculate-average-event-attendance.ts + interfaceAverageAttendanceStats + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/calculate-average-event-attendance.ts + functioncalculateAverageAttendance + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/event-attendance.datatype.ts + injectableEventAttendanceDatatype + 46 % + (6/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/event-attendance.datatype.ts + injectableEventAttendanceMapDatatype + 53 % + (7/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/event-attendance.ts + classEventAttendance + 20 % + (1/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/event-attendance.ts + classEventAttendanceMap + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/event-note.ts + classEventNote + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/attendance/model/recurring-activity.ts + classRecurringActivity + 46 % + (7/15) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/aser/demo-aser-generator.service.ts + injectableDemoAserGeneratorService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/aser/model/aser.ts + classAser + 0 % + (0/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/aser/model/skill-levels.ts + variablemathLevels + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/aser/model/skill-levels.ts + variablereadingLevels + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/child-block/child-block-tooltip/child-block-tooltip.component.ts + componentChildBlockTooltipComponent + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/child-block/child-block.component.ts + componentChildBlockComponent + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/child-details/grouped-child-attendance/grouped-child-attendance.component.ts + componentGroupedChildAttendanceComponent + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/children-components.ts + variablechildrenComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/children-list/children-list.component.ts + componentChildrenListComponent + 5 % + (2/37) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/children-list/recent-attendance-blocks/recent-attendance-blocks.component.ts + componentRecentAttendanceBlocksComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/children.service.ts + injectableChildrenService + 55 % + (5/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/demo-child-generator.service.ts + classDemoChildConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/demo-child-generator.service.ts + injectableDemoChildGenerator + 33 % + (3/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/demo-child-school-relation-generator.service.ts + injectableDemoChildSchoolRelationGenerator + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/fixtures/centers.ts + variablecentersUnique + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/fixtures/centers.ts + variablecentersWithProbability + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/fixtures/dropout-types.ts + variabledropoutTypes + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/fixtures/languages.ts + variablelanguages + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/demo-data-generators/fixtures/religions.ts + variablereligions + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/educational-material/demo-educational-material-generator.service.ts + classDemoEducationMaterialConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/educational-material/demo-educational-material-generator.service.ts + injectableDemoEducationalMaterialGeneratorService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/educational-material/model/educational-material.ts + classEducationalMaterial + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/educational-material/model/materials.ts + variablematerials + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/health-checkup/demo-data/demo-health-check-generator.service.ts + injectableDemoHealthCheckGeneratorService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/health-checkup/demo-data/height-weight.ts + variableheightRangeForAge + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/health-checkup/demo-data/height-weight.ts + variableweightRangeForAge + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/health-checkup/model/health-check.ts + classHealthCheck + 33 % + (3/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/model/child.ts + classChild + 8 % + (2/23) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/model/childSchoolRelation.ts + classChildSchoolRelation + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/children/model/genders.ts + variablegenders + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/dashboard-widgets/important-notes-dashboard/important-notes-dashboard.component.ts + componentImportantNotesDashboardComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts + componentNotesDashboardComponent + 50 % + (5/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts + interfaceEntityWithRecentNoteInfo + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts + interfaceNotesDashboardConfig + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts + functionstatsToEntityWithRecentNoteInfo + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/demo-data/demo-note-generator.service.ts + classDemoNoteConfig + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/demo-data/demo-note-generator.service.ts + injectableDemoNoteGeneratorService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/demo-data/notes_group-stories.ts + variablenoteGroupStories + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/demo-data/notes_individual-stories.ts + variablenoteIndividualStories + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/demo-data/remarks.ts + variableabsenceRemarks + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/model/interaction-type.interface.ts + interfaceInteractionType + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/model/interaction-type.interface.ts + variableINTERACTION_TYPE_CONFIG_ID + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/model/note.ts + classNote + 46 % + (13/28) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/note-attendance-block/note-attendance-count-block.component.ts + componentNoteAttendanceCountBlockComponent + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/note-details/note-details.component.ts + componentNoteDetailsComponent + 11 % + (2/17) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/notes-components.ts + variablenotesComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/notes-manager/notes-manager.component.ts + componentNotesManagerComponent + 0 % + (0/16) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/notes-manager/notes-manager.component.ts + interfaceNotesManagerConfig + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/notes/notes-related-to-entity/notes-related-to-entity.component.ts + componentNotesRelatedToEntityComponent + 36 % + (8/22) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/child-school-overview/child-school-overview.component.ts + componentChildSchoolOverviewComponent + 17 % + (4/23) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/demo-school-generator.service.ts + classDemoSchoolConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/demo-school-generator.service.ts + injectableDemoSchoolGenerator + 42 % + (3/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/display-participants-count/display-participants-count.component.ts + componentDisplayParticipantsCountComponent + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/model/school.ts + classSchool + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/schools/schools-components.ts + variableschoolsComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/warning-level.ts + functiongetWarningLevelColor + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/child-dev-project/warning-level.ts + variablewarningLevels + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-details/admin-entity-details.component.ts + componentAdminEntityDetailsComponent + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/admin-edit-description-only-field/admin-edit-description-only-field.component.ts + componentAdminEditDescriptionOnlyFieldComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts + componentAdminEntityFieldComponent + 11 % + (2/18) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts + interfaceSimpleDropdownValue + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/anonymize-options/anonymize-options.component.ts + componentAnonymizeOptionsComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/configure-entity-field-validator/configure-entity-field-validator.component.ts + componentConfigureEntityFieldValidatorComponent + 50 % + (3/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-field/default-value-options/default-value-options.component.ts + componentDefaultValueOptionsComponent + 0 % + (0/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-form/admin-entity-form.component.ts + componentAdminEntityFormComponent + 18 % + (3/16) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-details/admin-entity-panel-component/admin-entity-panel-component.component.ts + componentAdminEntityPanelComponentComponent + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-list/admin-entity-list.component.ts + componentAdminEntityListComponent + 0 % + (0/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity-types/admin-entity-types.component.ts + componentAdminEntityTypesComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity.service.ts + injectableAdminEntityService + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity/admin-entity-general-settings/admin-entity-general-settings.component.ts + componentAdminEntityGeneralSettingsComponent + 0 % + (0/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity/admin-entity-general-settings/admin-entity-general-settings.component.ts + interfaceSimpleDropdownValue + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin-entity/admin-entity.component.ts + componentAdminEntityComponent + 0 % + (0/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/admin/admin.component.ts + componentAdminComponent + 70 % + (7/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/backup/backup.service.ts + injectableBackupService + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/building-blocks/admin-section-header/admin-section-header.component.ts + componentAdminSectionHeaderComponent + 50 % + (4/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/building-blocks/admin-tabs/admin-tab-template.directive.ts + directiveAdminTabTemplateDirective + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/building-blocks/admin-tabs/admin-tab-template.directive.ts + interfaceAdminTabTemplateContext + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/building-blocks/admin-tabs/admin-tabs.component.ts + componentAdminTabsComponent + 22 % + (2/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard-button/setup-wizard-button.component.ts + componentSetupWizardButtonComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard-config.ts + interfaceSetupWizardConfig + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard-config.ts + interfaceSetupWizardStep + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard-config.ts + variableCONFIG_SETUP_WIZARD_ID + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard-config.ts + variabledefaultSetupWizardConfig + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/admin/setup-wizard/setup-wizard.component.ts + componentSetupWizardComponent + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/alerts/alert-config.ts + interfaceAlertConfig + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/alerts/alert-config.ts + interfaceExtendedAlertConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/alerts/alert-stories-helper.component.ts + componentAlertStoriesHelperComponent + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/alerts/alert.service.ts + injectableAlertService + 85 % + (6/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/analytics/analytics.service.ts + injectableAnalyticsService + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/analytics/usage-analytics-config.ts + interfaceUsageAnalyticsConfig + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/analytics/usage-analytics-config.ts + variableUSAGE_ANALYTICS_CONFIG_ID + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/boolean/boolean.datatype.ts + injectableBooleanDatatype + 9 % + (1/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/boolean/display-checkmark/display-checkmark.component.ts + componentDisplayCheckmarkComponent + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/boolean/edit-boolean/boolean-input/boolean-input.component.ts + componentBooleanInputComponent + 0 % + (0/33) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/boolean/edit-boolean/edit-boolean.component.ts + componentEditBooleanComponent + 88 % + (8/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-datatype/configurable-enum.datatype.ts + injectableConfigurableEnumDatatype + 25 % + (3/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-directive/configurable-enum.directive.ts + directiveConfigurableEnumDirective + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-ordering.ts + interfaceHasOrdinal + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-ordering.ts + functionhasOrdinalValue + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-ordering.ts + functionimposeTotalOrdering + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-testing.ts + functioncreateTestingConfigurableEnumService + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum-testing.ts + variabledemoEnums + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum.interface.ts + interfaceConfigurableEnumValue + 100 % + (6/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum.interface.ts + variableEMPTY + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum.service.ts + injectableConfigurableEnumService + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum.ts + classConfigurableEnum + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configurable-enum.ts + classDuplicateEnumOptionException + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/configure-enum-popup/configure-enum-popup.component.ts + componentConfigureEnumPopupComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/demo-configurable-enum-generator.service.ts + injectableDemoConfigurableEnumGeneratorService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/display-configurable-enum/display-configurable-enum.component.ts + componentDisplayConfigurableEnumComponent + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/edit-configurable-enum/edit-configurable-enum.component.ts + componentEditConfigurableEnumComponent + 72 % + (8/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/configurable-enum/enum-dropdown/enum-dropdown.component.ts + componentEnumDropdownComponent + 0 % + (0/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-only/date-only.datatype.ts + injectableDateOnlyDatatype + 18 % + (2/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-only/date-only.datatype.ts + functionmigrateIsoDatesToInferredDateOnly + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-with-age/date-with-age.datatype.ts + injectableDateWithAgeDatatype + 18 % + (2/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-with-age/dateWithAge.ts + classDateWithAge + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-with-age/display-age/display-age.component.ts + componentDisplayAgeComponent + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date-with-age/edit-age/edit-age.component.ts + componentEditAgeComponent + 80 % + (8/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date-import-config/date-import-config.component.ts + componentDateImportConfigComponent + 12 % + (1/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component.ts + componentDateRangeFilterPanelComponent + 0 % + (0/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component.ts + functioncalculateDateRange + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component.ts + variabledefaultDateFilters + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date-range-filter/date-range-filter.component.ts + componentDateRangeFilterComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/date.datatype.ts + injectableDateDatatype + 27 % + (3/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/display-date/display-date.component.ts + componentDisplayDateComponent + 37 % + (3/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/date/edit-date/edit-date.component.ts + componentEditDateComponent + 88 % + (8/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/discrete/discrete-import-config/discrete-import-config.component.ts + componentDiscreteImportConfigComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/discrete/discrete.datatype.ts + classDiscreteDatatype + 45 % + (5/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/entity/display-entity/display-entity.component.ts + componentDisplayEntityComponent + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/entity/edit-entity/edit-entity.component.ts + componentEditEntityComponent + 69 % + (9/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/entity/entity-block/entity-block.component.ts + componentEntityBlockComponent + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/entity/entity-import-config/entity-import-config.component.ts + componentEntityImportConfigComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/entity/entity.datatype.ts + injectableEntityDatatype + 16 % + (2/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/month/display-month/display-month.component.ts + componentDisplayMonthComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/month/edit-month/edit-month.component.ts + componentEditMonthComponent + 80 % + (8/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/month/edit-month/edit-month.component.ts + variableMY_FORMATS + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/month/month.datatype.ts + injectableMonthDatatype + 18 % + (2/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/number/display-dynamic-percentage/display-dynamic-percentage.component.ts + componentDisplayDynamicPercentageComponent + 37 % + (3/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/number/display-percentage/display-percentage.component.ts + componentDisplayPercentageComponent + 10 % + (1/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/number/display-unit/display-unit.component.ts + componentDisplayUnitComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/number/edit-number/edit-number.component.ts + componentEditNumberComponent + 88 % + (8/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/number/number.datatype.ts + injectableNumberDatatype + 45 % + (5/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/schema-embed/schema-embed.datatype.ts + classSchemaEmbedDatatype + 61 % + (8/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/string/display-text/display-text.component.ts + componentDisplayTextComponent + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/string/edit-long-text/edit-long-text.component.ts + componentEditLongTextComponent + 88 % + (8/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/string/edit-text/edit-text.component.ts + componentEditTextComponent + 88 % + (8/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/string/long-text.datatype.ts + injectableLongTextDatatype + 54 % + (6/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/basic-datatypes/string/string.datatype.ts + injectableStringDatatype + 54 % + (6/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/basic-autocomplete/basic-autocomplete.component.ts + componentBasicAutocompleteComponent + 8 % + (5/58) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/basic-autocomplete/basic-autocomplete.component.ts + interfaceSelectableOption + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/basic-autocomplete/custom-form-control.directive.ts + directiveCustomFormControlDirective + 0 % + (0/32) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/border-highlight/border-highlight.directive.ts + directiveBorderHighlightDirective + 12 % + (1/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog.service.ts + injectableConfirmationDialogService + 60 % + (3/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + componentConfirmationDialogComponent + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + interfaceConfirmationDialogButton + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + interfaceConfirmationDialogConfig + 100 % + (5/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + variableOkButton + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + variableYesNoButtons + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts + variableYesNoCancelButtons + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/confirmation-dialog/progress-dialog/progress-dialog.component.ts + componentProgressDialogComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/description-only/edit-description-only/edit-description-only.component.ts + componentEditDescriptionOnlyComponent + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/dialog-close/dialog-close.component.ts + componentDialogCloseComponent + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/display-readonly-function/entity-function.pipe.ts + pipeEntityFunctionPipe + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/display-readonly-function/readonly-function.component.ts + componentReadonlyFunctionComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/edit-text-with-autocomplete/edit-text-with-autocomplete.component.ts + componentEditTextWithAutocompleteComponent + 40 % + (9/22) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/entities-table.component.ts + componentEntitiesTableComponent + 38 % + (15/39) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/entities-table.component.ts + interfaceTableRow + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/entity-inline-edit-actions/entity-inline-edit-actions.component.ts + componentEntityInlineEditActionsComponent + 42 % + (3/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/list-paginator/list-paginator.component.ts + componentListPaginatorComponent + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/table-sort/table-sort.ts + functioncompareValues + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/table-sort/table-sort.ts + functiongetComparableValue + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/table-sort/table-sort.ts + functiontableSort + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/value-accessor/value-accessor.ts + functiongetReadableValue + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/value-accessor/value-accessor.ts + functionisConfigurableEnum + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entities-table/value-accessor/value-accessor.ts + functiontransformToReadableFormat + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-create-button/entity-create-button.component.ts + componentEntityCreateButtonComponent + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-field-edit/entity-field-edit.component.ts + componentEntityFieldEditComponent + 57 % + (4/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-field-label/entity-field-label.component.ts + componentEntityFieldLabelComponent + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-field-view/entity-field-view.component.ts + componentEntityFieldViewComponent + 50 % + (3/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-fields-menu/entity-fields-menu.component.ts + componentEntityFieldsMenuComponent + 0 % + (0/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/FormConfig.ts + interfaceFormFieldConfig + 100 % + (7/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/FormConfig.ts + functiontoFormFieldConfig + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/dynamic-form-validators/dynamic-validators.service.ts + injectableDynamicValidatorsService + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/dynamic-form-validators/dynamic-validators.service.ts + functionpatternWithMessage + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/entity-form.service.ts + injectableEntityFormService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/entity-form/entity-form.component.ts + componentEntityFormComponent + 50 % + (3/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/invalid-form-field.error.ts + classInvalidFormFieldError + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-form/unique-id-validator/unique-id-validator.ts + functionuniqueIdValidator + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-select/entity-select.component.ts + componentEntitySelectComponent + 40 % + (8/20) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-select/entity-select.component.ts + functionapplyTextToCreatedEntity + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-select/entity-select.component.ts + functionisMulti + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/entity-type-label/entity-type-label.pipe.ts + pipeEntityTypeLabelPipe + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/error-hint/error-hint.component.ts + componentErrorHintComponent + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/fa-dynamic-icon/fa-dynamic-icon.component.ts + componentFaDynamicIconComponent + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/fa-dynamic-icon/fa-dynamic-icon.component.ts + variableiconAliases + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/help-button/help-button.component.ts + componentHelpButtonComponent + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/input-file/input-file.component.ts + componentInputFileComponent + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/input-file/input-file.component.ts + interfaceParsedData + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/pill/pill.component.ts + componentPillComponent + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/template-tooltip/template-tooltip.component.ts + componentTemplateTooltipComponent + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/template-tooltip/template-tooltip.directive.ts + directiveTemplateTooltipDirective + 83 % + (5/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/view-actions/view-actions.component.ts + componentViewActionsComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/common-components/view-title/view-title.component.ts + componentViewTitleComponent + 36 % + (4/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config-fix.ts + variabledefaultJsonConfig + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.app-initializer.ts + variableAPP_INITIALIZER_PROPAGATE_CONFIG_UPDATES + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + injectableConfigService + 40 % + (4/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateEntityArrayDatatype + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateEntityAttributesWithId + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateEntityDetailsInputEntityType + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateEntitySchemaDefaultValue + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateFormFieldConfigView2ViewComponent + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateFormHeadersIntoFieldGroups + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.service.ts + variablemigrateMenuItemConfig + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/config.ts + classConfig + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/default-config/default-attendance-status-types.ts + variabledefaultAttendanceStatusTypes + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/default-config/default-interaction-types.ts + variabledefaultInteractionTypes + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/demo-config-generator.service.ts + injectableDemoConfigGeneratorService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-components/dynamic-component-config.interface.ts + interfaceDynamicComponentConfig + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-components/dynamic-component.decorator.ts + variableDynamicComponent + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-components/dynamic-component.directive.ts + directiveDynamicComponentDirective + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-components/dynamic-component.pipe.ts + pipeDynamicComponentPipe + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/empty/application-loading.component.ts + componentApplicationLoadingComponent + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/not-found/not-found.component.ts + componentNotFoundComponent + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/route-permissions.service.ts + injectableRoutePermissionsService + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/router.service.ts + injectableRouterService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/view-config.interface.ts + interfaceViewConfig + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/dynamic-routing/view-config.interface.ts + variablePREFIX_VIEW_CONFIG + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/registry/dynamic-registry.ts + classRegistry + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/config/testing-config-service.ts + functioncreateTestingConfigService + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/core-components.ts + variablecoreComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard-list-widget/dashboard-list-widget.component.ts + componentDashboardListWidgetComponent + 33 % + (5/15) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard-widget/dashboard-widget.component.ts + componentDashboardWidgetComponent + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard-widget/dashboard-widget.ts + classDashboardWidget + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard-widget/widget-content/widget-content.component.ts + componentWidgetContentComponent + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard/dashboard.component.ts + componentDashboardComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/dashboard/dashboard/dashboard.component.ts + interfaceDashboardConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/database/database.ts + classDatabase + 83 % + (10/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/database/pouch-database.ts + classDatabaseException + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/database/pouch-database.ts + injectablePouchDatabase + 95 % + (19/20) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/database/query-data-source.ts + classQueryDataSource + 83 % + (5/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/database/sync.service.ts + injectableSyncService + 57 % + (4/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data-generating-progress-dialog.component.ts + componentDemoDataGeneratingProgressDialogComponent + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data-generator.ts + classDemoDataGenerator + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data-initializer.service.ts + injectableDemoDataInitializerService + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data.app-initializer.ts + variableAPP_INITIALIZER_DEMO_DATA + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data.module.ts + variabledemoDataGeneratorProviders + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data.service.ts + classDemoDataServiceConfig + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/demo-data.service.ts + injectableDemoDataService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/faker.ts + classCustomFaker + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/demo-data/faker.ts + variablefaker + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/EntityDetailsConfig.ts + interfaceEntityDetailsConfig + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/EntityDetailsConfig.ts + interfacePanel + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/EntityDetailsConfig.ts + interfacePanelComponent + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/EntityDetailsConfig.ts + interfacePanelConfig + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/abstract-entity-details/abstract-entity-details.component.ts + directiveAbstractEntityDetailsComponent + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/entity-actions-menu/entity-actions-menu.component.ts + componentEntityActionsMenuComponent + 33 % + (3/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/entity-archived-info/entity-archived-info.component.ts + componentEntityArchivedInfoComponent + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/entity-details/entity-details.component.ts + componentEntityDetailsComponent + 22 % + (2/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/form/field-group.ts + interfaceFieldGroup + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/form/form.component.ts + componentFormComponent + 12 % + (1/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/form/form.component.ts + interfaceFormConfig + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/form/unsaved-changes.service.ts + injectableUnsavedChangesService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/related-entities-with-summary/related-entities-with-summary.component.ts + componentRelatedEntitiesWithSummaryComponent + 39 % + (9/23) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/related-entities/related-entities.component.ts + componentRelatedEntitiesComponent + 36 % + (7/19) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/related-time-period-entities/related-time-period-entities.component.ts + componentRelatedTimePeriodEntitiesComponent + 23 % + (5/21) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/related-time-period-entities/related-time-period-entities.component.ts + variableisActiveIndicator + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-details/related-time-period-entities/time-period.ts + classTimePeriod + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceBasicFilterConfig + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceBooleanFilterConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceColumnGroupsConfig + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceConfigurableEnumFilterConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceDateRangeFilterConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceDateRangeFilterConfigOption + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceEntityListConfig + 87 % + (7/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfaceGroupConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfacePrebuiltFilterConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/EntityListConfig.ts + interfacePrebuiltFilterConfig + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/duplicate-records/duplicate-records.service.ts + injectableDuplicateRecordService + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity-list/entity-list/entity-list.component.ts + componentEntityListComponent + 11 % + (4/36) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-entity.decorator.ts + classEntityRegistry + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-entity.decorator.ts + functionDatabaseEntity + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-entity.decorator.ts + variableentityRegistry + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-field.decorator.ts + functionaddPropertySchema + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-field.decorator.ts + functionDatabaseField + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-field.decorator.ts + functiongetEntitySchema + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/database-indexing/database-indexing.service.ts + injectableDatabaseIndexingService + 75 % + (6/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-datatype/default.datatype.ts + classDefaultDatatype + 90 % + (10/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-datatype/edit-component-story-utils.ts + functiongenerateFormFieldStory + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-datatype/edit-component.ts + directiveEditComponent + 100 % + (9/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-datatype/view.directive.ts + directiveViewDirective + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-field-value/handle-default-values.usecase.ts + injectableHandleDefaultValuesUseCase + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/default-value.service.ts + injectableDefaultValueService + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-actions/cascading-entity-action.ts + classCascadingActionResult + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-actions/cascading-entity-action.ts + classCascadingEntityAction + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-actions/entity-actions.service.ts + injectableEntityActionsService + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-actions/entity-anonymize.service.ts + injectableEntityAnonymizeService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-actions/entity-delete.service.ts + injectableEntityDeleteService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-config.service.ts + injectableEntityConfigService + 40 % + (4/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-config.ts + interfaceEntityConfig + 100 % + (10/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-mapper/entity-mapper.service.ts + injectableEntityMapperService + 70 % + (7/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-mapper/mock-entity-mapper-service.ts + classMockEntityMapperService + 47 % + (8/17) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/entity-mapper/mock-entity-mapper-service.ts + functionmockEntityMapper + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/latest-entity-loader.ts + classLatestEntityLoader + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/model/entity-update.ts + interfaceUpdatedEntity + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/model/entity-update.ts + functionapplyUpdate + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/model/entity.ts + classEntity + 84 % + (22/26) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/model/update-metadata.datatype.ts + injectableUpdateMetadataDatatype + 53 % + (7/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/model/update-metadata.ts + classUpdateMetadata + 60 % + (3/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/schema/default-value-config.ts + interfaceDefaultValueConfig + 100 % + (5/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/schema/entity-schema-field.ts + interfaceEntitySchemaField + 94 % + (16/17) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/entity/schema/entity-schema.service.ts + injectableEntitySchemaService + 90 % + (9/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/data-transformation-service/data-transformation.service.ts + injectableDataTransformationService + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/data-transformation-service/data-transformation.service.ts + interfaceExportRow + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/data-transformation-service/export-column-config.ts + interfaceExportColumnConfig + 100 % + (5/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/download-service/download.service.ts + injectableDownloadService + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/export-data-directive/export-data.directive.ts + directiveExportDataDirective + 62 % + (5/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/query.service.ts + injectableQueryService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/query.service.ts + interfaceAttendanceInfo + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/export/query.service.ts + interfaceAttendanceReport + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter-generator/filter-generator.service.ts + injectableFilterGeneratorService + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter-generator/filter-predicate.ts + functionentityFilterPredicate + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter-overlay/filter-overlay.component.ts + componentFilterOverlayComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter-overlay/filter-overlay.component.ts + interfaceFilterOverlayData + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter.service.ts + injectableFilterService + 60 % + (3/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filter/filter.component.ts + componentFilterComponent + 66 % + (8/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/booleanFilter.ts + classBooleanFilter + 72 % + (8/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/configurableEnumFilter.ts + classConfigurableEnumFilter + 72 % + (8/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/dateFilter.ts + classDateFilter + 27 % + (3/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/entityFilter.ts + classEntityFilter + 72 % + (8/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/filters.ts + classFilter + 25 % + (2/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/filters.ts + classSelectableFilter + 90 % + (10/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/filters/filters.ts + interfaceFilterSelectionOption + 100 % + (5/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/filter/list-filter/list-filter.component.ts + componentListFilterComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/form-dialog/dialog-buttons/dialog-buttons.component.ts + componentDialogButtonsComponent + 0 % + (0/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/form-dialog/form-dialog.service.ts + injectableFormDialogService + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/form-dialog/row-details/row-details.component.ts + componentRowDetailsComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/form-dialog/row-details/row-details.component.ts + interfaceDetailsComponentData + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/column-mapping.ts + interfaceColumnMapping + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-additional-actions/additional-import-action.ts + interfaceAdditionalImportAction + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-additional-actions/import-additional-actions.component.ts + componentImportAdditionalActionsComponent + 7 % + (1/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-column-mapping/import-column-mapping.component.ts + componentImportColumnMappingComponent + 30 % + (4/13) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-column-mapping/import-column-mapping.component.ts + interfaceMappingDialogData + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-column-mapping/import-column-mapping.service.ts + injectableImportColumnMappingService + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-confirm-summary/import-confirm-summary.component.ts + componentImportConfirmSummaryComponent + 20 % + (1/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-confirm-summary/import-confirm-summary.component.ts + interfaceImportDialogData + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-entity-type/import-entity-type.component.ts + componentImportEntityTypeComponent + 50 % + (3/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-file/import-file.component.ts + componentImportFileComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-history/import-history.component.ts + componentImportHistoryComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-metadata.ts + classImportMetadata + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-metadata.ts + interfaceImportSettings + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import-review-data/import-review-data.component.ts + componentImportReviewDataComponent + 0 % + (0/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import.service.ts + injectableImportService + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import-sample-raw-data.ts + variableIMPORT_SAMPLE_ADDITIONAL_ACTIONS + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import-sample-raw-data.ts + variableIMPORT_SAMPLE_COLUMN_MAPPING + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import-sample-raw-data.ts + variableIMPORT_SAMPLE_LINKABLE_DATA + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import-sample-raw-data.ts + variableIMPORT_SAMPLE_PREVIOUS_IMPORTS + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import-sample-raw-data.ts + variableIMPORT_SAMPLE_RAW_DATA + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/import/import/import.component.ts + componentImportComponent + 14 % + (2/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/TranslatableMatPaginator.ts + functionTranslatableMatPaginator + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/TranslatableMatPaginator.ts + variablematRangeLabelIntl + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/accept-language.interceptor.ts + interceptorAcceptLanguageInterceptor + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/date-adapter-with-formatting.ts + injectableDateAdapterWithFormatting + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/date-adapter-with-formatting.ts + variableDATE_FORMATS + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/language-select/language-select.component.ts + componentLanguageSelectComponent + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/language-statics.ts + variableDEFAULT_LANGUAGE + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/language-statics.ts + variableLANGUAGE_LOCAL_STORAGE_KEY + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/language.service.ts + injectableLanguageService + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/languages.ts + variableavailableLocales + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/language/languages.ts + variableLOCALE_ENUM_ID + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/logging/logging.service.ts + classLoggingService + 100 % + (11/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/logging/logging.service.ts + interfaceSentryBreadcrumbHint + 42 % + (3/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/logging/logging.service.ts + functionenhanceSentryBreadcrumb + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/logging/logging.service.ts + variableLogging + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/ability/ability.service.ts + injectableAbilityService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/ability/entity-ability.ts + injectableEntityAbility + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/ability/testing-entity-ability-factory.ts + variableentityAbilityFactory + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/demo-permission-generator.service.ts + injectableDemoPermissionGeneratorService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-directive/disable-entity-operation.directive.ts + directiveDisableEntityOperationDirective + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-directive/disabled-wrapper.component.ts + componentDisabledWrapperComponent + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts + injectablePermissionEnforcerService + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-guard/abstract-permission.guard.ts + guardAbstractPermissionGuard + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-guard/entity-permission.guard.ts + guardEntityPermissionGuard + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-guard/user-role.guard.ts + injectableUserRoleGuard + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-types.ts + interfaceDatabaseRules + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/permissions/permission-types.ts + variableactions + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/pwa-install/pwa-install.component.ts + componentPwaInstallComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/pwa-install/pwa-install.service.ts + injectablePwaInstallService + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth.guard.ts + variableAuthGuard + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/keycloak/account-page/account-page.component.ts + componentAccountPageComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/keycloak/keycloak-auth.service.ts + injectableKeycloakAuthService + 50 % + (8/16) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/keycloak/keycloak-auth.service.ts + interfaceKeycloakUser + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/keycloak/keycloak-auth.service.ts + interfaceRole + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/keycloak/remote-login-not-available.error.ts + classRemoteLoginNotAvailableError + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/local/local-auth.service.ts + injectableLocalAuthService + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/session-info.ts + injectableSessionSubject + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/auth/session-info.ts + interfaceSessionInfo + 100 % + (6/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/current-user-subject.ts + injectableCurrentUserSubject + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/login/login.component.ts + componentLoginComponent + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/not-available-offline.error.ts + classNotAvailableOfflineError + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/session-service/session-manager.service.ts + injectableSessionManagerService + 50 % + (5/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/session-states/session-utils.ts + functionwaitForChangeTo + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/session-type.ts + injectableLoginStateSubject + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/session/session-type.ts + injectableSyncStateSubject + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/site-settings/demo-site-settings-generator.service.ts + injectableDemoSiteSettingsGeneratorService + 60 % + (3/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/site-settings/site-settings.service.ts + injectableSiteSettingsService + 33 % + (4/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/site-settings/site-settings.ts + classSiteSettings + 7 % + (1/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/support/support/support.component.ts + componentSupportComponent + 0 % + (0/16) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/abstract-view/abstract-view.component.ts + classAbstractViewComponent + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/abstract-view/abstract-view.component.ts + classViewComponentContext + 20 % + (1/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/dialog-view/dialog-view.component.ts + componentDialogViewComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/dialog-view/dialog-view.component.ts + interfaceDialogViewData + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/app-version/app-version.component.ts + componentAppVersionComponent + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/changelog.ts + classChangelog + 100 % + (7/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/changelog/MarkedRendererCustom.ts + classMarkedRendererCustom + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/changelog/changelog.component.ts + componentChangelogComponent + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/latest-changes-dialog.service.ts + injectableLatestChangesDialogService + 66 % + (4/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/latest-changes.service.ts + injectableLatestChangesService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/latest-changes/update-manager.service.ts + injectableUpdateManagerService + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/navigation/menu-item.ts + interfaceMenuItem + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/navigation/menu-item.ts + interfaceNavigationMenuConfig + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/navigation/navigation/navigation.component.ts + componentNavigationComponent + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/primary-action/primary-action.component.ts + componentPrimaryActionComponent + 50 % + (2/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/routed-view/routed-view.component.ts + componentRoutedViewComponent + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/search/search.component.ts + componentSearchComponent + 6 % + (1/15) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/search/search.service.ts + injectableSearchService + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/sync-status/background-process-state.interface.ts + interfaceBackgroundProcessState + 100 % + (6/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/sync-status/background-processing-indicator/background-processing-indicator.component.ts + componentBackgroundProcessingIndicatorComponent + 50 % + (4/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/sync-status/sync-status/sync-status.component.ts + componentSyncStatusComponent + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/ui/ui/ui.component.ts + componentUiComponent + 75 % + (6/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/demo-user-generator.service.ts + injectableDemoUserGeneratorService + 85 % + (6/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/demo-user-generator.service.ts + variableTEST_USER + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/user-account/user-account.component.ts + componentUserAccountComponent + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/user-security/user-security.component.ts + componentUserSecurityComponent + 0 % + (0/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/user.routing.ts + variablerouting + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/core/user/user.ts + classUser + 28 % + (2/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/dynamic-components.ts + classComponentRegistry + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/dynamic-components.ts + variablecomponentRegistry + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/coming-soon/beta-feature/beta-feature.component.ts + componentBetaFeatureComponent + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/coming-soon/coming-soon-dialog.service.ts + injectableComingSoonDialogService + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/coming-soon/coming-soon/coming-soon.component.ts + componentComingSoonComponent + 83 % + (5/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/config-setup/config-field.raw.ts + interfaceConfigFieldRaw + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/config-setup/config-import-parser.service.ts + injectableConfigImportParserService + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/config-setup/config-import-parser.service.ts + functiondeleteEmptyProperties + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/config-setup/config-import-parser.service.ts + functionextendArray + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/config-setup/config-import/config-import.component.ts + componentConfigImportComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/auto-resolution/auto-resolution.service.ts + injectableAutoResolutionService + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/auto-resolution/conflict-resolution-strategy.ts + interfaceConflictResolutionStrategy + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/auto-resolution/conflict-resolution-strategy.ts + variableCONFLICT_RESOLUTION_STRATEGY + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/compare-rev/compare-rev.component.ts + componentCompareRevComponent + 92 % + (13/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/conflict-resolution-components.ts + variableconflictResolutionComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/conflict-resolution/conflict-resolution-list/conflict-resolution-list.component.ts + componentConflictResolutionListComponent + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + componentBirthdayDashboardComponent + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + interfaceBirthdayDashboardConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + interfaceEntityPropertyMap + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts + interfaceEntityWithBirthday + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + componentEntityCountDashboardComponent + 27 % + (3/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + interfaceEntityCountDashboardConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts + functionextractHumanReadableLabel + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/demo-progress-dashboard-widget-generator.service.ts + injectableDemoProgressDashboardWidgetGeneratorService + 50 % + (3/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/edit-progress-dashboard/edit-progress-dashboard.component.ts + componentEditProgressDashboardComponent + 10 % + (1/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/edit-progress-dashboard/edit-progress-dashboard.component.ts + interfaceEditProgressDashboardComponentData + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard-config.ts + classProgressDashboardConfig + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard-config.ts + interfaceProgressDashboardPart + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard.component.ts + componentProgressDashboardComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/dashboard-widgets/shortcut-dashboard-widget/shortcut-dashboard/shortcut-dashboard.component.ts + componentShortcutDashboardComponent + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/couchdb-file.service.ts + injectableCouchdbFileService + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/display-img/display-img.component.ts + componentDisplayImgComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/edit-file/edit-file.component.ts + componentEditFileComponent + 47 % + (9/19) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/edit-photo/edit-photo.component.ts + componentEditPhotoComponent + 38 % + (8/21) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/edit-photo/image-popup/image-popup.component.ts + componentImagePopupComponent + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/file-components.ts + variablefileComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/file-utils.ts + functionresizeImage + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/file.datatype.ts + injectableFileDatatype + 36 % + (4/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/file.service.ts + classFileService + 71 % + (5/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/mock-file.service.ts + injectableMockFileService + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/observable-queue/observable-queue.ts + classObservableQueue + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/progress/progress.component.ts + componentProgressComponent + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/show-file/show-file.component.ts + componentShowFileComponent + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/file/view-file/view-file.component.ts + componentViewFileComponent + 20 % + (2/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/demo-historical-data-generator.ts + classDemoHistoricalDataConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/demo-historical-data-generator.ts + injectableDemoHistoricalDataGenerator + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/historical-data-components.ts + variablehistoricalDataComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/historical-data.service.ts + injectableHistoricalDataService + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/historical-data/historical-data.component.ts + componentHistoricalDataComponent + 30 % + (6/20) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/model/historical-entity-data.ts + classHistoricalEntityData + 25 % + (1/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/historical-data/model/rating-answers.ts + variableratingAnswers + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/address-edit/address-edit.component.ts + componentAddressEditComponent + 40 % + (4/10) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/address-edit/address-edit.component.ts + functionmatchGeoResults + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/address-search/address-search.component.ts + componentAddressSearchComponent + 33 % + (4/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/coordinates.ts + interfaceCoordinates + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/edit-location/edit-location.component.ts + componentEditLocationComponent + 100 % + (9/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/geo.service.ts + injectableGeoService + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/geo.service.ts + interfaceGeoResult + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/location-components.ts + variablelocationComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/location-input/location-input.component.ts + componentLocationInputComponent + 2 % + (1/34) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/location.datatype.ts + injectableLocationDatatype + 33 % + (4/12) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/location.datatype.ts + interfaceGeoLocation + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-config.ts + interfaceMapConfig + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-config.ts + variableMAP_CONFIG_KEY + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-popup/map-popup.component.ts + componentMapPopupComponent + 12 % + (1/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-popup/map-popup.component.ts + interfaceMapPopupConfig + 22 % + (2/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + functiongetHueForEntity + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + functiongetKmDistance + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + functiongetLocationProperties + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + variableiconDefault + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + variableiconRetinaUrl + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + variableiconUrl + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map-utils.ts + variableshadowUrl + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map/map-properties-popup/map-properties-popup.component.ts + componentMapPropertiesPopupComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/map/map.component.ts + componentMapComponent + 0 % + (0/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/view-distance/view-distance.component.ts + componentViewDistanceComponent + 22 % + (2/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/view-distance/view-distance.component.ts + interfaceViewDistanceConfig + 100 % + (3/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/location/view-location/view-location.component.ts + componentViewLocationComponent + 14 % + (1/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/markdown-page/MarkdownPageConfig.ts + interfaceMarkdownPageConfig + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/markdown-page/markdown-page/markdown-page.component.ts + componentMarkdownPageComponent + 100 % + (2/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities-components.ts + variablematchingEntitiesComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities/matching-entities-config.ts + interfaceMatchingEntitiesConfig + 100 % + (7/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities/matching-entities-config.ts + interfaceMatchingSideConfig + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities/matching-entities-config.ts + interfaceNewMatchAction + 80 % + (4/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities/matching-entities.component.ts + componentMatchingEntitiesComponent + 5 % + (1/20) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/matching-entities/matching-entities/matching-entities.component.ts + interfaceMatchingSide + 33 % + (3/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/public-form/demo-public-form-generator.service.ts + injectableDemoPublicFormGeneratorService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/public-form/public-form-config.ts + classPublicFormConfig + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/public-form/public-form.component.ts + componentPublicFormComponent + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/data-aggregation.service.ts + injectableDataAggregationService + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/data-aggregation.service.ts + interfaceAggregation + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/demo-report-config-generator.service.ts + injectableDemoReportConfigGeneratorService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/demo-report-config-generator.service.ts + variabledemoReports + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-config.ts + classReportConfig + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-config.ts + interfaceAggregationReport + 33 % + (1/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-config.ts + interfaceExportingReport + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-config.ts + interfaceSqlReport + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-config.ts + variableReportEntity + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-row.ts + interfaceGroupByDescription + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-row.ts + interfaceReportRow + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-row.ts + functiongetGroupingInformationString + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/report-row.ts + functiongetValueDescription + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting-components.ts + variablereportingComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/object-table/object-table.component.ts + componentObjectTableComponent + 0 % + (0/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/report-row/report-row.component.ts + componentReportRowComponent + 0 % + (0/7) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/report-row/report-row.component.ts + interfaceFlattenedReportRow + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/reporting.component.ts + componentReportingComponent + 0 % + (0/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/select-report/select-report.component.ts + componentSelectReportComponent + 0 % + (0/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/reporting/select-report/select-report.component.ts + interfaceCalculateReportOptions + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/sql-report/sql-report.service.ts + injectableSqlReportService + 40 % + (2/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/sql-report/sql-report.service.ts + interfaceReportCalculation + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/sql-report/sql-report.service.ts + interfaceReportData + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/reporting/sql-report/sqs-schema.ts + classSqsSchema + 16 % + (1/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/model/demo-todo-generator.service.ts + classDemoTodoConfig + 0 % + (0/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/model/demo-todo-generator.service.ts + injectableDemoTodoGeneratorService + 33 % + (2/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/model/demo-todo-generator.service.ts + variablestories + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/model/todo-completion.ts + interfaceTodoCompletion + 100 % + (4/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/model/todo.ts + classTodo + 6 % + (1/15) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/custom-interval/custom-interval.component.ts + componentCustomIntervalComponent + 0 % + (0/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/display-recurring-interval/display-recurring-interval.component.ts + componentDisplayRecurringIntervalComponent + 12 % + (1/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/edit-recurring-interval/edit-recurring-interval.component.ts + componentEditRecurringIntervalComponent + 64 % + (9/14) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/time-interval.datatype.ts + classTimeIntervalDatatype + 63 % + (7/11) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/time-interval.ts + classTimeInterval + 75 % + (3/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/time-interval.ts + functiongenerateLabelFromInterval + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/time-interval.ts + variabletimeunitLabelMap + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/recurring-interval/time-interval.ts + variabletimeUnitsPrimary + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo-completion/display-todo-completion/display-todo-completion.component.ts + componentDisplayTodoCompletionComponent + 11 % + (1/9) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo-completion/todo-completion/todo-completion.component.ts + componentTodoCompletionComponent + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo-details/todo-details.component.ts + componentTodoDetailsComponent + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo-list/todo-list.component.ts + componentTodoListComponent + 7 % + (3/41) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo-list/todo-list.component.ts + variablefilterCurrentlyActive + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todo.service.ts + injectableTodoService + 0 % + (0/4) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todos-dashboard/todos-dashboard.component.ts + componentTodosDashboardComponent + 0 % + (0/8) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todos-related-to-entity/todos-related-to-entity.component.ts + componentTodosRelatedToEntityComponent + 26 % + (6/23) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/features/todos/todos.module.ts + variabledynamicComponents + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/route-target.ts + variableRouteTarget + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/session/session-utils.ts + interfaceParsedJWT + 20 % + (1/5) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/session/session-utils.ts + functionparseJwt + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/custom-number-validators.ts + variableCustomNumberValidators + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/di-tokens.ts + variableLOCATION_TOKEN + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/di-tokens.ts + variableNAVIGATOR_TOKEN + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/di-tokens.ts + variableWINDOW_TOKEN + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/flatten-array/flatten-array.pipe.ts + pipeFlattenArrayPipe + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/generate-id-from-label/generate-id-from-label.ts + functiongenerateIdFromLabel + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + injectableScreenWidthObserver + 83 % + (5/6) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableLG + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableMD + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableMOBILE_THRESHOLD + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableSM + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableXL + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/media/screen-size-observer.service.ts + variableXXL + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/performance-analysis-logging.ts + functionPerformanceAnalysisLogging + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/storybook-base.module.ts + variableentityFormStorybookDefaultParameters + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/style-utils.ts + functionaddAlphaToHexColor + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/style-utils.ts + functiongetHue + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/tab-state/tab-state-memo.directive.ts + directiveTabStateMemoDirective + 50 % + (1/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/test-utils/custom-matcher-utils.ts + functionmakeCustomMatcher + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/test-utils/observable-utils.ts + classObservableMatchersImpl + 0 % + (0/2) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/test-utils/observable-utils.ts + interfaceObservableMatchers + 66 % + (2/3) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/test-utils/observable-utils.ts + functionexpectObservable + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionaddToGroup + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionasArray + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functioncalculateAge + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functioncompareEnums + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functiondateToString + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionequals + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functiongetParentUrl + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functiongetUrlWithoutParams + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functiongroupBy + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionisValidDate + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionreadFile + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionserviceProvider + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/app/utils/utils.ts + functionsortByAttribute + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/bootstrap-environment.ts + functioninitEnvironmentConfig + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/bootstrap-i18n.ts + functioninitLanguage + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/environments/environment.prod.ts + variableenvironment + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/environments/environment.ts + variableenvironment + 100 % + (1/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + src/main.ts + functionbootstrap + 0 % + (0/1) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/dependencies.html b/documentation/dependencies.html new file mode 100644 index 0000000000..ea2d61ba76 --- /dev/null +++ b/documentation/dependencies.html @@ -0,0 +1,278 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/animations : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/cdk : ^17.3.10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/common : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/compiler : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/core : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/forms : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/localize : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/material : ^17.3.10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/material-moment-adapter : ^17.3.10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/platform-browser : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/platform-browser-dynamic : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/router : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @angular/service-worker : ^17.3.12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @aytek/material-color-picker : ^1.0.4
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @casl/ability : ^6.7.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @casl/angular : ^8.2.7
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @faker-js/faker : ^8.4.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @fortawesome/angular-fontawesome : ^0.14.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @fortawesome/fontawesome-svg-core : ^6.6.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @fortawesome/free-regular-svg-icons : ^6.6.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @fortawesome/free-solid-svg-icons : ^6.6.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @ngneat/until-destroy : ^10.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + @sentry/angular : ^8.20.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + angulartics2 : ^14.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + assert : ^2.1.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + crypto-es : ^2.1.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + deep-object-diff : ^1.1.9
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + hammerjs : ^2.0.8
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + json-query : ^2.2.2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + keycloak-angular : ^15.3.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + keycloak-js : ^25.0.2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + leaflet : ^1.9.4
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + lodash-es : ^4.17.21
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + md5 : ^2.3.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + moment : 2.29.4
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + ngx-markdown : ^17.2.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + ngx-papaparse : ^8.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + pouchdb-adapter-memory : ^9.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + pouchdb-browser : ^9.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + process : ^0.11.10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + reflect-metadata : ^0.2.2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + rxjs : ^7.8.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + stream-browserify : ^3.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + tslib : ^2.6.3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + util : ^0.12.5
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + uuid : ^10.0.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + webpack : 5.89.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + zone.js : ^0.14.8
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/AbstractEntityDetailsComponent.html b/documentation/directives/AbstractEntityDetailsComponent.html new file mode 100644 index 0000000000..9add24e8b9 --- /dev/null +++ b/documentation/directives/AbstractEntityDetailsComponent.html @@ -0,0 +1,693 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-details/abstract-entity-details/abstract-entity-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This component can be used to display an entity in more detail. +As an abstract base component, this provides functionality to load an entity +and leaves the UI and special functionality to components that extend this class, like EntityDetailsComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapperService: EntityMapperService, entities: EntityRegistry, ability: EntityAbility, router: Router, unsavedChanges: UnsavedChangesService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityType +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + Async + loadEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + loadEntity() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + subscribeToEntityChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + subscribeToEntityChanges() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + entityConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + isLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Directive, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Subscription } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { UnsavedChangesService } from "../form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This component can be used to display an entity in more detail.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * As an abstract base component, this provides functionality to load an entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * and leaves the UI and special functionality to components that extend this class, like EntityDetailsComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Directive()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export abstract class AbstractEntityDetailsComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  isLoading: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private changesSubscription: Subscription;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    protected unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityConstructor = this.entities.get(this.entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (changes.id) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.loadEntity();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.subscribeToEntityChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  protected subscribeToEntityChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const fullId = Entity.createPrefixedId(this.entityType, this.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.changesSubscription?.unsubscribe();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.changesSubscription = this.entityMapperService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .receiveUpdates(this.entityConstructor)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        filter(({ entity }) => entity.getId() === fullId),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        filter(({ type }) => type !== "remove"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        untilDestroyed(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe(({ entity }) => (this.entity = entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  protected async loadEntity() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.isLoading = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.id === "new") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (this.ability.cannot("create", this.entityConstructor)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.router.navigate([""]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entity = new this.entityConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entity = await this.entityMapperService.load(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/AdminTabTemplateDirective.html b/documentation/directives/AdminTabTemplateDirective.html new file mode 100644 index 0000000000..ccda1f2b36 --- /dev/null +++ b/documentation/directives/AdminTabTemplateDirective.html @@ -0,0 +1,430 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/admin/building-blocks/admin-tabs/admin-tab-template.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + appAdminTabTemplate +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + ngTemplateContextGuard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + ngTemplateContextGuard(dir: AdminTabTemplateDirective<TContext>, ctx) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • TContext
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dir + AdminTabTemplateDirective<TContext> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ctx + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Directive, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +// following guide from https://medium.com/@thomas.laforge/ngtemplateoutlet-type-checking-5d2dcb07a2c6
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +// to ensure typing of ng-template context
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface AdminTabTemplateContext<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  $implicit: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  index: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "ng-template[appAdminTabTemplate]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class AdminTabTemplateDirective<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input("appAdminTabTemplate") tabs!: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static ngTemplateContextGuard<TContext>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dir: AdminTabTemplateDirective<TContext>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ctx: unknown,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): ctx is AdminTabTemplateContext<TContext> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/BorderHighlightDirective.html b/documentation/directives/BorderHighlightDirective.html new file mode 100644 index 0000000000..ec2305c73f --- /dev/null +++ b/documentation/directives/BorderHighlightDirective.html @@ -0,0 +1,729 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/border-highlight/border-highlight.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A directive that applies a colored border to the left side of an element. +The color can either be supplied directly via the primary input, i.e.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div appBorderHighlight="red">Highlight me!</div>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            or via a class with a name:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div appBorderHighlight borderClass="some-class">Highlight me!</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + appBorderHighlight +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + borderClass +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + class + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.CLASS_NAME +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + style.border-color + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string | boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "transparent" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + borderColor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string | boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "transparent" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @HostBinding('style.border-color')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Readonly + CLASS_NAME + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "border-left-highlight" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + elementClass + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.CLASS_NAME +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + @HostBinding('class')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + color +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + setcolor(value: string | undefined) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + string | undefined + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + borderClass +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + setborderClass(value: string | undefined) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + string | undefined + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Directive, HostBinding, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A directive that applies a colored border to the left side of an element.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * The color can either be supplied directly via the primary input, i.e.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * ```html
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * <div appBorderHighlight="red">Highlight me!</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * or via a class with a name:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * ```html
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * <div appBorderHighlight borderClass="some-class">Highlight me!</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "[appBorderHighlight]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class BorderHighlightDirective {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly CLASS_NAME = "border-left-highlight";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @HostBinding("class")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  elementClass = this.CLASS_NAME;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @HostBinding("style.border-color")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  borderColor: string | boolean = "transparent";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input("appBorderHighlight") set color(value: string | undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.borderColor = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.elementClass = this.CLASS_NAME;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set borderClass(value: string | undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.elementClass = this.CLASS_NAME + " " + value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.borderColor = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/ConfigurableEnumDirective.html b/documentation/directives/ConfigurableEnumDirective.html new file mode 100644 index 0000000000..a200094ca4 --- /dev/null +++ b/documentation/directives/ConfigurableEnumDirective.html @@ -0,0 +1,629 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/configurable-enum/configurable-enum-directive/configurable-enum.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Enumerate over all ConfigurableEnumConfig values for the given enum config id.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Works similar to *ngFor: +<div *appConfigurableEnum="let item of 'interaction-type'"></div> +will create one div for each option defined in the config for "enum:interaction-type".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, enumService: ConfigurableEnumService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              templateRef + TemplateRef<any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              viewContainerRef + ViewContainerRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + appConfigurableEnumOf +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Sets the string id of the enum config id.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + ngTemplateContextGuard + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + ngTemplateContextGuard(directive: ConfigurableEnumDirective, context) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Make sure the template checker knows the type of the context with which the +template of this directive will be rendered +See https://angular.io/guide/structural-directives#typing-the-directives-context

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              directive + ConfigurableEnumDirective + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              context + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + appConfigurableEnumOf +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + setappConfigurableEnumOf(enumConfigId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Sets the string id of the enum config id.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              enumConfigId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Directive, Input, TemplateRef, ViewContainerRef } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ConfigurableEnumService } from "../configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Enumerate over all {@link ConfigurableEnumConfig} values for the given enum config id.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Works similar to `*ngFor`:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * `<div *appConfigurableEnum="let item of 'interaction-type'"></div>`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * will create one div for each option defined in the config for "enum:interaction-type".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "[appConfigurableEnum]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ConfigurableEnumDirective {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Sets the string id of the enum config id.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param enumConfigId
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() set appConfigurableEnumOf(enumConfigId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const options = this.enumService.getEnumValues(enumConfigId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const item of options) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.viewContainerRef.createEmbeddedView(this.templateRef, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        $implicit: item,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * For implementation details see
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * https://www.talkinghightech.com/en/create-ngfor-directive/ and
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * https://angular.io/guide/structural-directives#write-a-structural-directive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private templateRef: TemplateRef<any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private viewContainerRef: ViewContainerRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Make sure the template checker knows the type of the context with which the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * template of this directive will be rendered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * See {@link https://angular.io/guide/structural-directives#typing-the-directives-context}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param directive
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param context
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static ngTemplateContextGuard(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    directive: ConfigurableEnumDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    context: unknown,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): context is { $implicit: ConfigurableEnumValue } {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/CustomFormControlDirective.html b/documentation/directives/CustomFormControlDirective.html new file mode 100644 index 0000000000..e27cadb062 --- /dev/null +++ b/documentation/directives/CustomFormControlDirective.html @@ -0,0 +1,2009 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/common-components/basic-autocomplete/custom-form-control.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ControlValueAccessor + MatFormFieldControl + OnDestroy + DoCheck +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                HostBindings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(elementRef: ElementRef, errorStateMatcher: ErrorStateMatcher, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                elementRef + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                errorStateMatcher + ErrorStateMatcher + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ngControl + NgControl + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parentForm + NgForm + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parentFormGroup + FormGroupDirective + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + aria-describedby +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + disabled +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + placeholder +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + required +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                HostBindings

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + id + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + blur + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +blur() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + focus + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +focus() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onContainerClick + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +onContainerClick(event: MouseEvent) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                event + MouseEvent + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + registerOnChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +registerOnChange(fn: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                fn + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + registerOnTouched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +registerOnTouched(fn: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                fn + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + setDescribedByIds + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +setDescribedByIds(ids: string[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ids + string[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + setDisabledState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +setDisabledState(isDisabled: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                isDisabled + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + writeValue + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +writeValue(val: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + T + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + _disabled + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + _value + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + controlType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "custom-control" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + elementRef + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ElementRef<HTMLElement> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + errorState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + errorStateMatcher + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : ErrorStateMatcher + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + focused + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + id + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : `custom-form-control-${CustomFormControlDirective.nextId++}` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + @HostBinding()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + nextId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : 0 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + ngControl + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : NgControl + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onChange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + onTouched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : () => {...} +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + parentForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : NgForm + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + parentFormGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FormGroupDirective + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + stateChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : new Subject<void>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + touched + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + required +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + getrequired() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setrequired(req: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                req + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + empty +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + getempty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + shouldLabelFloat +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + getshouldLabelFloat() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + disabled +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + getdisabled() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setdisabled(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + getvalue() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + setvalue(value: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + T + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  AbstractControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ControlValueAccessor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatFormFieldControl } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Directive,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  DoCheck,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  HostBinding,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  OnDestroy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Subject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { coerceBooleanProperty } from "@angular/cdk/coercion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Directive()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export abstract class CustomFormControlDirective<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  implements ControlValueAccessor, MatFormFieldControl<T>, OnDestroy, DoCheck
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static nextId = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @HostBinding()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  id = `custom-form-control-${CustomFormControlDirective.nextId++}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  // eslint-disable-next-line @angular-eslint/no-input-rename
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input("aria-describedby") userAriaDescribedBy: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() placeholder: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  get required() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this._required;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  set required(req: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._required = coerceBooleanProperty(req);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private _required = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  stateChanges = new Subject<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  focused = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  touched = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  errorState = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  controlType = "custom-control";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  onChange = (_: any) => {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  onTouched = () => {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  get empty() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return !this.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  get shouldLabelFloat() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.focused || !this.empty;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  get disabled(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this._disabled;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  set disabled(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._disabled = coerceBooleanProperty(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  _disabled = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() get value(): T {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this._value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  set value(value: T) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this._value = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.onChange(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  _value: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public elementRef: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public errorStateMatcher: ErrorStateMatcher,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public ngControl: NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public parentForm: NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public parentFormGroup: FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.ngControl != null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.ngControl.valueAccessor = this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.elementRef.nativeElement.addEventListener("focusin", () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.focus(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.elementRef.nativeElement.addEventListener("focusout", () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.blur(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ngOnDestroy() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.complete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  focus() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.focused = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  blur() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.touched = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.focused = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.onTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  setDescribedByIds(ids: string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.elementRef.nativeElement.setAttribute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      "aria-describedby",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ids.join(" "),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  onContainerClick(event: MouseEvent) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  writeValue(val: T): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.value = val;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  registerOnChange(fn: any): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.onChange = fn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  registerOnTouched(fn: any): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.onTouched = fn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  setDisabledState(isDisabled: boolean): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.disabled = isDisabled;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ngDoCheck() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const control = this.ngControl
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ? (this.ngControl.control as AbstractControl)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      : null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.checkUpdateErrorState(control);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.checkUpdateRequired(control);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Updates the error state based on the form control
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Taken from {@link https://github.com/angular/components/blob/a1d5614f18066c0c2dc2580c7b5099e8f68a8e74/src/material/core/common-behaviors/error-state.ts#L59}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private checkUpdateErrorState(control: AbstractControl | null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const oldState = this.errorState;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const parent = this.parentFormGroup || this.parentForm;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const newState = this.errorStateMatcher.isErrorState(control, parent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (newState !== oldState) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.errorState = newState;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private checkUpdateRequired(control: AbstractControl | null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!control) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.required !==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      coerceBooleanProperty(control.hasValidator(Validators.required))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.required = control.hasValidator(Validators.required);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/DisableEntityOperationDirective.html b/documentation/directives/DisableEntityOperationDirective.html new file mode 100644 index 0000000000..43d034aaa6 --- /dev/null +++ b/documentation/directives/DisableEntityOperationDirective.html @@ -0,0 +1,479 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/permissions/permission-directive/disable-entity-operation.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This directive can be used to disable a element (e.g. button) based on the current users permissions. +Additionally, a little popup will be shown when the user hovers the disabled element.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + OnInit + OnChanges + OnDestroy +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, ability: EntityAbility) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  templateRef + TemplateRef<HTMLButtonElement> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  viewContainerRef + ViewContainerRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + appDisabledEntityOperation +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  These arguments are required to check whether the user has permissions to perform the operation. +The operation property defines to what kind of operation an element belongs, e.g. OperationType.CREATE +The entity property defines for which kind of entity the operation will be performed, e.g. Child

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ComponentRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Directive,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  OnDestroy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ViewContainerRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DisabledWrapperComponent } from "./disabled-wrapper.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityAction, EntitySubject } from "../permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityAbility } from "../ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Unsubscribe } from "@casl/ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This directive can be used to disable a element (e.g. button) based on the current users permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Additionally, a little popup will be shown when the user hovers the disabled element.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "[appDisabledEntityOperation]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DisableEntityOperationDirective
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit, OnChanges, OnDestroy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * These arguments are required to check whether the user has permissions to perform the operation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The operation property defines to what kind of operation an element belongs, e.g. OperationType.CREATE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The entity property defines for which kind of entity the operation will be performed, e.g. Child
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input("appDisabledEntityOperation") arguments: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    operation: EntityAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entity: EntitySubject;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    field?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private wrapperComponent: ComponentRef<DisabledWrapperComponent>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private text: string = $localize`:Missing permission:Your account does not have the required permission for this action.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private readonly unsubscribeAbilityUpdates: Unsubscribe;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private templateRef: TemplateRef<HTMLButtonElement>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private viewContainerRef: ViewContainerRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.unsubscribeAbilityUpdates = this.ability.on("updated", () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.applyPermissions(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnDestroy(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.unsubscribeAbilityUpdates();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.wrapperComponent = this.viewContainerRef.createComponent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      DisabledWrapperComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.wrapperComponent.instance.template = this.templateRef;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.wrapperComponent.instance.text = this.text;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.applyPermissions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.applyPermissions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private applyPermissions() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.wrapperComponent &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.arguments?.operation &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.arguments?.entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // Update the disabled property whenever the input values change
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.wrapperComponent.instance.elementDisabled = this.ability.cannot(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.arguments.operation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.arguments.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.arguments.field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.wrapperComponent.instance.ngAfterViewInit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/DynamicComponentDirective.html b/documentation/directives/DynamicComponentDirective.html new file mode 100644 index 0000000000..5102a3f3fd --- /dev/null +++ b/documentation/directives/DynamicComponentDirective.html @@ -0,0 +1,530 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/config/dynamic-components/dynamic-component.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Directive to mark a template into which a component that is dynamically injected from config should be loaded

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Pass the DynamicComponentConfig into the directive to define the component to be injected.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Configurations that match properties with an @Input() annotations are automatically assigned

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(viewContainerRef: ViewContainerRef, components: ComponentRegistry, changeDetector: ChangeDetectorRef) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    viewContainerRef + ViewContainerRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    components + ComponentRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    changeDetector + ChangeDetectorRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + appDynamicComponent +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : DynamicComponentConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + viewContainerRef + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ViewContainerRef + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Directive,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  SimpleChange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ViewContainerRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponentConfig } from "./dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ComponentRegistry } from "../../../dynamic-components";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { pick } from "lodash-es";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Directive to mark a template into which a component that is dynamically injected from config should be loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Pass the DynamicComponentConfig into the directive to define the component to be injected.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Configurations that match properties with an `@Input()` annotations are automatically assigned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "[appDynamicComponent]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class DynamicComponentDirective implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() appDynamicComponent: DynamicComponentConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    public viewContainerRef: ViewContainerRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private components: ComponentRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private changeDetector: ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.loadDynamicComponent();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private async loadDynamicComponent() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.appDynamicComponent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let component;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      component = await this.components.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.appDynamicComponent.component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      )();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Logging.error({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        message: `Failed to load dynamic component:\n${JSON.stringify(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.appDynamicComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        )}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        error: e,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      // abort if component failed to load
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.viewContainerRef.clear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const componentRef = this.viewContainerRef.createComponent(component);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.appDynamicComponent.config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.setInputProperties(component.prototype, componentRef.instance);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // it seems like the asynchronicity of this function requires this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private setInputProperties(proto, component) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const inputs = Object.keys(proto.constructor["ɵcmp"].inputs).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (input) => this.appDynamicComponent.config?.[input] !== undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const inputValues = pick(this.appDynamicComponent.config, inputs);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const initialValues = pick(component, inputs);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Object.assign(component, inputValues);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      typeof component["ngOnChanges"] === "function" &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Object.keys(inputValues).length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const changes: SimpleChanges = inputs.reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (c, prop) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          Object.assign(c, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            [prop]: new SimpleChange(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              initialValues[prop],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              inputValues[prop],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      component["ngOnChanges"](changes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/EditComponent.html b/documentation/directives/EditComponent.html new file mode 100644 index 0000000000..cb7d55746e --- /dev/null +++ b/documentation/directives/EditComponent.html @@ -0,0 +1,616 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity/default-datatype/edit-component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A simple helper class which sets up all the required information for edit-components. + refers to the type of the value which is processed in the component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + OnInit + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The entity which is edited.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + formControl +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormControl<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The form control for this field which is part of a form group of the table/form component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + formControlName +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The name of the form control.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + formFieldConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The configuration for this form field.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Optional + additional + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Additional config details for the specific component implementation. +Can be defined through entity schema also.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A label for this component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + parent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FormGroup + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The parent form of the formControl this is always needed to correctly setup the mat-form-field

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { FormControl, FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormFieldConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Directive, Input, OnChanges, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A simple helper class which sets up all the required information for edit-components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * <T> refers to the type of the value which is processed in the component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Directive()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export abstract class EditComponent<T> implements OnInit, OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The configuration for this form field.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() formFieldConfig: FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The form control for this field which is part of a form group of the table/form component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() formControl: FormControl<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The entity which is edited.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the form control.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() formControlName: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A label for this component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The parent form of the `formControl` this is always needed to correctly setup the `mat-form-field`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  parent: FormGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Additional config details for the specific component implementation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Can be defined through entity schema also.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  additional?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** indicating that the value is not in its original state, so that components can explain this to the user */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  isPartiallyAnonymized: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!this.formFieldConfig?.forTable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.label = this.formFieldConfig?.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additional = this.formFieldConfig?.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.formControlName = this.formFieldConfig?.id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // This type casts are needed as the normal types throw errors in the templates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.parent = this.formControl.parent as FormGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.isPartiallyAnonymized =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entity?.anonymized &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entity?.getSchema()?.get(this.formFieldConfig?.id)?.anonymize ===
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        "retain-anonymized";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/ExportDataDirective.html b/documentation/directives/ExportDataDirective.html new file mode 100644 index 0000000000..c9d88c0ed6 --- /dev/null +++ b/documentation/directives/ExportDataDirective.html @@ -0,0 +1,632 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/export/export-data-directive/export-data.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        A directive that can be attached to a html element, commonly a button. +Usage:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   [appExportData]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   Export CSV
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + </button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        HostListeners
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(downloadService: DownloadService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        downloadService + DownloadService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + appExportData +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        data to be exported

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + exportConfig +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (Optional) definition of fields to be exported.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If not provided, all properties will be included in the export.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + filename +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "exportedData" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        filename for the download of the exported data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + format +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ExportDataFormat + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "csv" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        What kind of data should be export? Currently implemented are 'json', 'csv'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        HostListeners

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + click + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + click + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + click() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Decorators : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + @HostListener('click')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Directive, HostListener, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DownloadService } from "../download-service/download.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type ExportDataFormat = "csv" | "json";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A directive that can be attached to a html element, commonly a button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Usage:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * ```html
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *  <button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *    mat-stroked-button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *    [appExportData]="data"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *    format="csv"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *  >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *    Export CSV
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *  </button
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "[appExportData]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class ExportDataDirective {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** data to be exported */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input("appExportData") data: any = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** What kind of data should be export? Currently implemented are 'json', 'csv' */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() format: ExportDataFormat = "csv";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** filename for the download of the exported data */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() filename: string = "exportedData";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (Optional) definition of fields to be exported.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If not provided, all properties will be included in the export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() exportConfig: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private downloadService: DownloadService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @HostListener("click")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.downloadService.triggerDownload(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.format,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.filename,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.exportConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/TabStateMemoDirective.html b/documentation/directives/TabStateMemoDirective.html new file mode 100644 index 0000000000..bc034450c7 --- /dev/null +++ b/documentation/directives/TabStateMemoDirective.html @@ -0,0 +1,414 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/utils/tab-state/tab-state-memo.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Memorizes the current state of a TabGroup (i.e. which tab currently is selected) +in the URL and sets the initial value to a value that was previously set.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This enables navigation throughout the app while memorizing the state a tab was in +Usage (only the directive is required, the rest is automatic):

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          <mat-tab-group appTabStateMemo>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +</mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + OnInit +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(router: Router, route: ActivatedRoute, tab: MatTabGroup, viewContext: ViewComponentContext) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          route + ActivatedRoute + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          tab + MatTabGroup + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          viewContext + ViewComponentContext + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { ActivatedRoute, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTabGroup } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Directive, OnInit, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewComponentContext } from "../../core/ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Memorizes the current state of a `TabGroup` (i.e. which tab currently is selected)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * in the URL and sets the initial value to a value that was previously set.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This enables navigation throughout the app while memorizing the state a tab was in
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Usage (only the directive is required, the rest is automatic):
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * <mat-tab-group appTabStateMemo>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *   ...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * </mat-tab-group>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "[appTabStateMemo]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class TabStateMemoDirective implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly tabIndexKey = "tabIndex";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private tab: MatTabGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Optional() private viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // does not apply if opened in popup
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // This logic is purposefully in `ngOnInit` and not in the constructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // so we can override values that are set by custom logic in the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // (i.e. we override any binding to [(selectedIndex)] for the initial index)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const potentialNextTabIndex = parseInt(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.route.snapshot.queryParamMap.get(this.tabIndexKey),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      10,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!Number.isNaN(potentialNextTabIndex)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.tab.selectedIndex = potentialNextTabIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.tab.selectedIndexChange
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .subscribe((next) => this.updateURLQueryParams(next));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  // Update the URL
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async updateURLQueryParams(value: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // does not apply if opened in popup
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.router.navigate(["."], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      relativeTo: this.route,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      queryParams: { [this.tabIndexKey]: value },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      replaceUrl: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      queryParamsHandling: "merge",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/TemplateTooltipDirective.html b/documentation/directives/TemplateTooltipDirective.html new file mode 100644 index 0000000000..9fc8293925 --- /dev/null +++ b/documentation/directives/TemplateTooltipDirective.html @@ -0,0 +1,705 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/template-tooltip/template-tooltip.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A directive that can be used to render a custom tooltip that may contain HTML code. +When a tooltip is only a string, the {@code MatTooltip} should be used instead.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The Tooltip to render is provided as a template. This template is also the main argument +to this directive. Place the directive on the HTML-Element where the tooltip should pop out +when hovered over.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div [appTemplateTooltip]="tooltip">Hover here to show the tooltip</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<ng-template #tooltip>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Custom tooltip <i>with</i> HTML-Elements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</ng-template>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            See contentTemplate

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + OnInit + OnDestroy +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Metadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, element: ElementRef, zone: NgZone) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            overlay + Overlay + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            overlayPositionBuilder + OverlayPositionBuilder + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            element + ElementRef<HTMLElement> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            zone + NgZone + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + appTemplateTooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : TemplateRef<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The template that is shown in the tooltip. +You can get the template ref of an HTML-Element by using the #<template name> syntax. +An <ng-template> Element won't be shown to the user by default. Therefore, it is the most commonly +used element.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div [appTemplateTooltip]="tooltip">Hover here to show the tooltip</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +<ng-template #tooltip>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Custom tooltip <i>with</i> HTML-Elements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +</ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + delayHide +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : 150 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The amount of time in milliseconds that the user's mouse has to leave the tooltip before it will +be hidden

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + delayShow +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : 1000 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The amount of time in milliseconds that the user has to hover over the element before the tooltip +is shown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + tooltipDisabled +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Whether to disable the tooltip, so it won't ever be shown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Directive,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  NgZone,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnDestroy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Overlay,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OverlayPositionBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OverlayRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/cdk/overlay";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ComponentPortal } from "@angular/cdk/portal";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { TemplateTooltipComponent } from "./template-tooltip.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A directive that can be used to render a custom tooltip that may contain HTML code.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * When a tooltip is only a string, the {@code MatTooltip} should be used instead.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * The Tooltip to render is provided as a template. This template is also the main argument
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * to this directive. Place the directive on the HTML-Element where the tooltip should pop out
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * when hovered over.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * <div [appTemplateTooltip]="tooltip">Hover here to show the tooltip</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * <ng-template #tooltip>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + *   Custom tooltip <i>with</i> HTML-Elements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @see contentTemplate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "[appTemplateTooltip]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class TemplateTooltipDirective implements OnInit, OnDestroy {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Whether to disable the tooltip, so it won't ever be shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() tooltipDisabled: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The amount of time in milliseconds that the user has to hover over the element before the tooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * is shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() delayShow: number = 1000;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The amount of time in milliseconds that the user's mouse has to leave the tooltip before it will
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * be hidden
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() delayHide: number = 150;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The template that is shown in the tooltip.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * You can get the template ref of an HTML-Element by using the `#<template name>` syntax.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * An `<ng-template>` Element won't be shown to the user by default. Therefore, it is the most commonly
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * used element.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * <div [appTemplateTooltip]="tooltip">Hover here to show the tooltip</div>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * <ng-template #tooltip>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *   Custom tooltip <i>with</i> HTML-Elements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * </ng-template>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input("appTemplateTooltip") contentTemplate!: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Reference to the overlay (the Tooltip) to control the visibility of the tooltip
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private overlayRef!: OverlayRef;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The timeout used to deal both with the show-delay and the hide-delay
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @see delayHide
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @see delayShow
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private timeoutRef?: ReturnType<typeof setTimeout>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private overlay: Overlay,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private overlayPositionBuilder: OverlayPositionBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private element: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private zone: NgZone,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // Create a position strategy that determines where the overlay is positioned.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // In this case, it should be positioned at the bottom-center of the element.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const positionStrategy = this.overlayPositionBuilder
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .flexibleConnectedTo(this.element)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .withPositions([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          originX: "center",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          originY: "bottom",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          overlayX: "center",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          overlayY: "top",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          offsetY: 5,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.overlayRef = this.overlay.create({ positionStrategy });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.zone.runOutsideAngular(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.element.nativeElement.addEventListener("mouseenter", () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.show(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.element.nativeElement.addEventListener("mouseleave", (ev) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.hide(ev.relatedTarget as HTMLElement),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnDestroy() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.hide();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Show the tooltip unless
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * - it is disabled or
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * - it is already shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private show() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.tooltipDisabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // clear the timeout so that when the user hovers twice the last hover action is used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // Also clears the timeout from `hide`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.timeoutRef) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      clearTimeout(this.timeoutRef);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // show the tooltip after `delayShown` milliseconds when it is not already shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.timeoutRef = setTimeout(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      //attach the component if it has not already attached to the overlay
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!this.overlayRef.hasAttached()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.zone.run(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          const tooltipRef = this.overlayRef.attach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            new ComponentPortal(TemplateTooltipComponent),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          tooltipRef.instance.contentTemplate = this.contentTemplate;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          tooltipRef.instance.hide
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            .subscribe(() => this.hide());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          tooltipRef.instance.show
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            .subscribe(() => this.show());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }, this.delayShow);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Hide the tooltip unconditionally
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * When the tooltip is already hidden, this operation is a noop
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private hide(relatedTarget?: HTMLElement) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // This ensures that `hide` is not called when the popup overlaps the element that this directive is on.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // If the method was called, the popup would flicker; disappearing (because of this method) and then
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // re-appearing because of the `mouseenter` method.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      relatedTarget?.tagName === TemplateTooltipComponent.SELECTOR.toUpperCase()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.timeoutRef) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      clearTimeout(this.timeoutRef);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.timeoutRef = setTimeout(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.overlayRef.hasAttached()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.zone.run(() => this.overlayRef.detach());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }, this.delayHide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/directives/ViewDirective.html b/documentation/directives/ViewDirective.html new file mode 100644 index 0000000000..fff9a1fcd6 --- /dev/null +++ b/documentation/directives/ViewDirective.html @@ -0,0 +1,458 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity/default-datatype/view.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + OnChanges +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inputs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + config +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : C + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + id +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + tooltip +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + value +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + isPartiallyAnonymized + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              indicating that the value is not in its original state, so that components can explain this to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Directive, Input, OnChanges, SimpleChanges } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Directive()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export abstract class ViewDirective<T, C = any> implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() tooltip: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() value: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() config: C;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** indicating that the value is not in its original state, so that components can explain this to the user */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  isPartiallyAnonymized: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Attention:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * When content is loaded async in your child component, you need to manually trigger the change detection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * See: https://angularindepth.com/posts/1054/here-is-what-you-need-to-know-about-dynamic-components-in-angular#ngonchanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnChanges(changes?: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.isPartiallyAnonymized =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entity?.anonymized &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.entity?.getSchema()?.get(this.id)?.anonymize === "retain-anonymized";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/ionicons.eot b/documentation/fonts/ionicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..4b1fd0f48c9fa50401fa6dd1514fac66c0e92b06 GIT binary patch literal 112650 zcmeFadz>6qoi|*k?pc%^Aqh!HLVyqk2pB@Z5CX<< z8v$d42mt}P83si}L_`RPpfcj>!?Nh2vdF57Sr#v=sAMuCB6i;I?^N~7B(VGJ`@a7@ zpJ&pi&b6w}<#&GfQ!$=m!uqc>feE5Of1;pBJb{vZj8e;1I(fl%W7If*?Pv6Cu9Z#4 zws3;*Vc{a-eBm4(UxF%2SS_3@d`P%d*eaYQY)462Scj7B!X;=&t2$tw(<3oD0v|cE{ea zNkK607X)?bIhXB73jwxB5Q1-^UjEQomux$71W#gLFCwphXzNGMd#CT_w*?`-RbU@m zv-#Y!Hu*ol`z6%<0-?Ma1=6qNU3h*N`R2_R?%0|8(h*D@drAIIgYtbZTs*gJ5KGt{yu@-jpx^`=VQb8 zHus#-ex`rUp9Qb8DnDJ4ZNvQn;`SqdI`XWju9E=pkY92WHu{(HZr%G{wURV+i922hl$&qx`7T7oMj&DyxM%kjDPz?>@G! z7v;lv4tB;=--nT|-8+hOn(AmCXS_qeSjKrd%~_SVUq*R1j3S;H#*n8#Wos$zuFJ4n zUaKE>=b)CS_xXXHmI4cIw|*h#-THNJaMMs4>~oA(Fd4V3YF+&W69 zoibr1Vp?~C6$)c+o0;)JYKu7;7X*RQX*WLxm>H!s!k8O|XQanxq-j5mAdI?k+D%h_ z)E)bHtql2Lq(6&5F@;f#o#GKUKaO||;UM}>X)3Rk4Ig=r*A1g=)Genv3bj1N6o#i` zQ9ybe0r17sR9_2JPU)F3(!gpC%znqINB%HxchG%?fbwC4F(k&FHoQLV_L0gcjJaW0 z5Clq(A|Q!1pB~Hjk@p0GYkDWO8Af=R+PGmHaV=0?t$ZEQ6euq^u`qgc%*(0G2m--< zEq3n{evdN33kMO#5XPNYK)x1upQ)Te1I6y#j5%#t8u2KVyZJ}mG%s`TB7g4~%7+oC zoY%QAmA{Hms~bm}%4#vCN8Lc_56ZW@j&o zo~otC-8zb?ZrFtj#5_NOc+?H!h-)G3)(=yi3;ReP1w-R*`!P30{nY)Vbe|i>5s%f< zSd;xO{7^lW*Mi`tho{<3;Uq9W)ANjazCUX1M%+5ekGY{%Htytw2N93Db%ejE9o118 z<%bajgu4)Gfo^bW}F`-sB=9W+8fsZNuLE#>h zQ~O%otw`6xh+9taxEs=lhut*AV+f;y15cEuFz&{b9&z)-ZalM&(r)<_JlZqbkGS}J zRKW9H9B>fzV?6&h?GJw6%zc8oTAz6QsGFy9;#nvjoh}o8>cFt@tOJX*ZnZEqX1Zr4 z+|m6Mh7pMVk0TzVv|E-&{IMBjRQGKsFO0h7FA0JGj(2L_&vJPP;mF^J6Q_9--b6g? zwjXt46ayarPTVo4r3Vp@qwu$gd7YD=>XTbP^&Yh4&m2Wu3sg2UQ2Ce}sGQRK5Fil{ zE*6|W2@!=9f3ct}LXNtS5@dyDdNDGZu=vo!haNff*r5Z5o;>u8L(d%g)}dz)edo}3 z4}Jg8KOXw0Lq9t7lSBV<=%GSM-yVq)dQ>WMWI>n2X0IAh|>iL)j) zO`JDz{=@|n7fyV5VtnE+ht& z^E__k^LWAk>v??igXYmM`9(kT3)T^}M&-$D7uJu>zFV@@EpRKp7KUsgY{$Ran z{oeYW^`F*nt>0L`w*JF<-THUyp!G}ZHS6E3Usyl4erElv^;7F#te35ySULRqGM!E7m^iCTp*?+xob5opr5sjditkg>|{L)B1>YnRThP!@9)UZe3(uV4ZJm zwmxK?XPs+pvd*#2w$8LRT4z`rto7C@);epgwZ=NxT5YYeR$3=nORVFph1LRVzBSL9 zYYkcjtKaIgI;=LU)yi8rtI0}RjaGwIXC;_c$|(n>ilUnW0Q8iyLsPAAh>rSD2V&?Gh$n>IB)*!2C( z#>{n@7qfbHPIgoFmh8`(t>zn>A83BM`L&jK%M~pLbE|U?=O(#z%U^49Vl#(46z;+&JgWxr^tH&V6~v99l7S*U-=AZJGD$;mq*a!+VC`o`2E& zd*;8kpn1U+3&t0`woqUA6F^yKM#H&`1MY}mQs;2De0xc-cXH`*I_Y}|k5_A?(m z^PQ1JBe#wm7_@*6+?9JbT;Ocb)yiv)?%T-E)HHG@MgDXTdqAopatf zSDkbHIs4D~{yA@M3T_(Qv|`hX=Zfd{p1b|L#phjh-Ye%-Kh*r8MIYL;dBf%dn}2qG z|M_dqe``y8OZS%ZwmiD!l`ZdHkiKBk1vg&s)K+6_aqBf(AKQBH!uUn6epvqS;t#*P zExv8Rw(GV%we5|IgBK58eD=jRUi{F--@N$k?Yp->y#4#z-?}7u$@WWL*&*y0+_7oL zbvs_ZRKB$H()E{azbts!;ANXGd+f3|KVpC6ijO?_k@t3{ch1?ld*|nNKL645M=$&6 z*hioL=&yIFyBc<#w(Fu@W4pe8dGzuHm#?|}n#;$p5UzOd%GN8-yYjLt@451gtE{U! zue#!@+pl{2>V~U#UH#+H_R+ngPkn6r$HuRbuQ~0S+pqcNHLqRUd+o@zd#=6b+8)*UVzM=Pq1vl)x;prP*-)rn0*t==()1R_G z)%mHtpZepC!j0G6IDX^rZc=Y*y=m!9yKj2rrk8J;*tcxomVNv7jo%!nPKW%)v|I?d4{nD-at(jYw-g@?}7u|Z}tqv-mTcKC|aD_k8BjJEC{&xZ{pH4&3pJJMBAj zcP_Yd$DIf6eD|*KUFY3(`(5LA{qFAOyO-U){qFsDKYx#WPy0QW-SgaM!=EjFcG+h) zefH_kR`)0OuiU?V|26ynVgKa4=Dof5F1h!Pd!M}by|K+>`^SDU_U?W0`^xvNx$nWx zr9S`S{Y&rPfB)-WX#K+0FN{5qdtm1SFMKin#Wi2t_2B9UuY2%?FSUPZ+m~+t(wh(2 zUq0~g#)tp-m6cz){VT6LVn4Fsk!v3L;a4|)^_H*x!=w7wl3!c%wO>Eh`q;|HMjw0O z@yz3ck3aJG#DN6|ZanbECt9Ca_r#tjUU}k=Pp*IRfhS-1`iiH*PhIrX*i)~3!~90` zH`aXPu5bM8>A|OWJU#aGFP_=_%-&~S|EBrP&EI_STf^VF_1nU?2fn@U+4g5IdiIfL ze>ff-Upl^X{2>TCq%FS_xz+xF7*Qo0P@x@F6)TdHqAyldCPyIyk2sN#N< zZnn$tLP1zVGZ6`An=*8Bf2A}e6}!cJDc8YJQfNXQQd-24!VO|9 z5-sFabiTiw@0RAW;t;Epsihig5bIgkVr+$FRmUw$^)jU?TUVFKD9o!`78|xK#hflP z-;reXVO5rlhFBn!_DHhwaYd0l=}=vp<@5V}8tYz=h=pT`1>H>Z`;IBdC|<8p*X*;6 ziXKe*WL=ki$)H~G1#(BNwI=w5*z_t?ikV0(++R|$#yPCDGxz_Vky26H>$Sb^tee5$ zC4T=ZgUV=4WrQ>vhx{wSDl;F(Ga=9vXlg0ubNO6GQ#F+qGZyWylq=;PRtRee)zjd@PsllO;*+OXrfEPO3wa zS^^O2z7i|v zF@8T%<$N(y%4trzht*Qkr8%{cX)2Z~60P*lW3m4xjd|xyqL}$uCSQqa;jGH~V_L3K zER_iot5;&n)E)YH=Sg*w_-8wMPI!+h4HI-^j zJ>K#K{UUTk^e8;`#6Ya4U1Utk&&Pw< zFdoDnhZc#?$3ftOF;1T{z@m$UhTEGyuhOJV2-*+YRgwEC3`C zi%R{KJWvK8muJznGEf6YCUgOgh(+=-JSUHN0M^J8ip}RL4nipxA{h(MZUm4=u`vi8 z$FfeNTxCea14>jwFJnvW>N~4@ca`Q{dq%d2Ni1Zu;#7J=rR$IBzBXGzg(vK}C*9v> zs!lps?)q+Kf!%7`n%*eIJ({8@VzSN@J*FMR4iF7hwxx6#)qw_C7MUnBF_BXwHIT48 z`+D&=S%3b}8P|FlQ$16u>L=5G?5gyxjOth*NfwXqD)+65s5Hs4n7%%f!F{J|F~)q7 z>@x#sFsrlrfG7El9rgWrz&r}w}o;PTKc%)%as5_l1C5y-`) zC~yd%^XSr+qq3-_rtA`*?^a(kg75bFhPg;>0y3W}%W4`cP36*>x;2^HiVa>?1L{H* zzks^P=d1p+s&+||JzZ$a^7`qVA4uHe0S*T&$>dqU4ncQHyiQ1fy|n^VsUcLNpe%p~ zkdLS~#PT^pokOgfA?{`t1B$H079*PCAWA2JE86xj>^-D_8-Era=KmgRS$M@2SLFD$ z%g`k)-WX{#JZi{jG^9}2BYB6tQjlVlN=i_b8pDlIO$jPeqgM%vDoW9WDx#Wk`%r}c zJEitWJoqIX70?a$))#8Yn0-_W&($OZHY4J48#|&H(#?D$Y zO}%3k+6P!zXGoWYJy7cMTlGy3SpK#?S@sywK%D}rVQL|lHTY_SDaU-8SY{GH z!84R<@M)T9+oq=Z8cqWVwpKGe5NfIK)QfQL<53g32jobVMLiK3 ziub3bpvPF?Q<-0j1wBlX6hj1QlQq*y<~=f#K+8m3wBxp->Pt;M-O9w<`XU&!D5*-F zp{RzI!+wv}l^3WPyumAF{GF<#hFa@n1&jv6(==IB`?@?5(>oh|wyOI(&>u;0Y10^J zlMg(19+S}ob{lB0iPI>pKN0|jYy#gJC>CPiDQSIab=f`D&2rFUBUUi32Z^B!>c3Mx zOf)y~D_bImtzgg!%SpZZE~S{N-)N{Newc6KZx6DEfS)}=1hXEAWizFGDOAuR8o1d? zDPQQ1F#kCp63@A3^Iul6vsTR>5%;mLvag8DehLmbpJ1D5-LOAhUfvR-0<6A6*mIR~ z3=|tuL%-MUvrLXH!zE!Jyma1;Fd}nUrAjj0r`!?fuFzH)$lFtV|P2Fhv&fLt! z2o|TR&F*{1p5YUM#IFXLB7It{4|JrjlJASsIRDIVO5MIUS*^#L< z^m|&?0k+AhAo03s(w-g0dY6cX|jB>C`k`U5ag!k*yUeBgs3sS#6i!)wysUG z=yEWh_gQE9%#A95+~-@l+PaOu<22qY)@h;A+Ni1)t;7L$miY>xzr@E|>e8Kb5tAWYH2v?#<- zf->1<Q;6ZDTlSLpub#x zt~`#$vI1Iuvd3fSxcfdlOcuq}$a?1T#~;-fJSXT3R>hLjf^%U!|JC>1#zMzF8e=-D zKNtxY=QaMEAq=pQeUA@8H$1g59CAlF7yWUD>GbEwLE$&R7jp$6L@Q1*9Y@nxcM{%W zoTmnwCODu5;HHt}yc)p@XTqrDRlmpM&$RnG(@n`#ra75xjwds=KNt-L?075~h{w{t zOebr!pNjyAq|;4Ze`|qQ6>s@{vN>C~+qQRG!I1Cw(SU6SqJOJTCVCs6n<0Z<%{Bp} zwSvc4hMrQVoQ<6&0G$oogs%4SGO&x~QXhHNAj5Ad=57*>-8Z ztV(armlaSz&)}dZsL!9*&2xHds~*$~4Go|TlCH;My3M*}W89EMxoEGnOVYN}=YzC* z22MVCz+>z4a>NtR)PHeW@_V|eIo*zaQQua=RkN4R_kT6l&OA;} zZKZtFJVL*55+=*QTt%ZEkABo-73F-o&6$sAHbd2TrQju7HhT^2zL1k!T3#FuSa80_m( zJ$G)d{w%N{v^luB`YWxgz88ttH~*_{h~XtLIW7r{hTaS6DptvZ4SJ9RR7*b2|l=Q|C^rt*DuHGIQ=<#PX32)ojD`_n;y7x z@n3huodxO-&4Ivm2MQn!`out?63Ay;!m3tkVEG295wy|}gJ`<;f(zENbbUNtUm9M! zcDQHu>>eg;tB!3OuJ84J&Fs71zxDd9{w{0vd8@4&UoZ-OCV`d57$bgWL1J^X5@7an zd1wv`O$rcL6A)Jg0Ku+=YD<)5){=ZFne)W-#sssfubV6;YSjsY?Gv$?G@n|1A(_u5 zfpM{^Y`flA-EH5;Oae20yvp)*jR827#492ys(3a zgiBN^^awEU^(=-B04;Q(zucSD46oe~_Jvh{#5N4gP6Zn^*~9E8#1#G4hQ)$Vt-cAi zB16!fRzywKUV(N_l;sSo1$HYqv-%i>4&{7gRy{B*RCe0JRpGHEOt&gSyOaI0FT2(7_9 zhLz?*P6q6qs&z1`c2_T^_7^iz1k&pDz(~Ns-48AqlZMG5E`%%j3jM6L4jQ*)bL0Fu z&50JsR*j(3TRv&9idnDgjlH_w+gP8fFyk3XnjMd?kHwr*Q?>EMN?@vN2~~X9#Up(&u1{m!^a~E9JvFdHK8&zVm}# zH$gwzja@Sco!|yx3y$9im@4Q3Ir1nGvcSrLNdw#9GSB_ddR64qV zXbk)tSYs4a%JabPS(4T*SB9iK#D7{c6hb`!Wh2--=!nWOH2r5k!**bP$!E2ktPwsC zS(l=z#vCTu^L(Z{iz!T0|1hX}%{i#+(4gPz5?L@4ki_2KG*KMVHC^kF3;v*Hh(Q@k z6J#DOs4BXO&dilrAQP0>;l8w-v@>BQ`$J8kXiuh4SGspjDiBarIT7);Ez={OR$FfH zM$(w#WA}pWqMp2?JjFa>lAz+vaddvv0@)w5kR%Ts`2+a7eONIeP;~Sufw1$SQV{-8 zLG@Baxm0D_h^47sr^y>6X@jhxFA8iNzr>jD!^#IBuh)}3vBG8Syo7a%g`i-FYI!K} zpt*zcAqQn1skW<7JV~1J1}U5#Ds6_rYhIy!ov7|cT9$@*S}~zHV%I^TWLB%E8uC9r zx#VI=`odHS?i&t$U>my%?^AerS=yP&4~QzzNYU^a%_W zS4!vd0(3DH>I6lqL{6D$7|PB%v43v8Le zVx$3BPW)Y_5Y?D2NoJ!}ujwE}TH0WmXedTzcIRf1EPkfKzV-<2 zi67Uz=H9)gR}-U#+1;dBhGD5qJ*E+D(G|aDMf`EoG<|V@1m1Fr-essQEvjLtii)36 zFrraIOayw;!;5qX^+2SCq%eKaaJnau(6ykQ9+=e-lO@}heE05&v?#uR7$P@Ku3 zG4!3liMR!(!CanmorLaaFY$H8jPNGx6g|>XDz}6@J^OwbSdbs+gn3Lc>}FdM)kp%c z34Np%42#TfNT%gwriuLq1%zy9O2`ueMq_IXKNG_NO)}6Ls0KDS2@f#942e?5to(ui z)R~@8%OY*>3TtQc=Nzn87phOsUvieax`mD5eS zq+&BL*$8-4#S44mg?=wKRzMe7Plp|55^lrIu(TAUpNicXQS^kpUU0PNCB*8cvc=gf=qN5MIqbD|E|| z5U`^NW_4(AD+-p6K!JTyQ+%RS*8m3!5CG+yW^>Xvu4_uXCz%mpR8qTuIC?}@{W&y4 zhOQfIuA+wgO?3^rs66jWHk(gCqh9H&lf1B{FtJC{+25hrCM6p5K2<>n{@V#22Hp#h z8KLdZL^yXnj}^0d>LjFIhmvzrdwOn!TI7@vJo@ne(|HSlv7|+ z62p=d7S({Jv`F$Uv7c9;CC)zxf-16GH1ADNTz0E)`cscnVB`_So4ndBa6AD{27YSA zoXr*%!WIb6bd6R?<3bN`Ejr`O9`-)^=3w6pF>y{oi4Xu`0thY=d89yo$h$FXZBU|$ z4WpYOOHmOMDkmj4AxcTfRHcX{du%bFM3jb8FFW-C%WAf)0n1tjQ9;VJt6@(nrF!Iz z9<^OD)Pky?Da&W-NEk{xW&CyZp0L`U8$9{s>f@m7x(R%Y0FM}S6DyB? zL#&xfqqC7P6s4tN3k|8J+II$s>(pSKbe7#0^!b85xjH5z!cSzI#OfH7{Hzs9{-|u9 zZDU|`eaq)L;PLr9sw}G%^9=Tirf(#Qyb&%Rw(XOhD|99JW5d8vWNYYxwqc>LTsRd6 zpM^?;I0&Z<^Z+($r3}6a$F3T1=HH3h+q|c2K1vsWFuKVZE^5vg1KZf9n;XBpXp-Q5a(2Y;7R^Sd{wfvO5~7)LCuBQluL41lIck2 zoXv#GP7GW_G9D~!Y*qLC`Q5M6WtNf!Xg14;z>g~1Y;Q<6he+)b^4fGQ+uj`O9@;oO zym9EGQ8eQ%=?0m%DZ%e1cd|+Ml~EAFLK1&tLoc`u_M03y>1hw80wbzP8y#ze&O20v zRJ2XNLokwZLaMR_mcROUz<*PHb3>|Ajc3y49HS?avLliS>toP1%=%Q$XV_{d`4+JT zZ*P4*Ro4*-C*n=rvrY<{hG9M==8~bHPlwkP*JojWk70ku0bPp#Ss%iTPU}(0(T846 zF<7tZ3gmflxj#=*GWDJiDRi^c5VBW{if5M6mWt8^;wCl~9?3Qj3_t;kozT;R-5^Va zY!+x0cDz(d){TQssUi;ypiGsED3zh2mC?%3ORcF)D#P}cPFPyP9q@SR8k*OM+hw`0 zskgTYT#X?omnHE6J=%Fyr;HnAskHQjk_^jdH`M^^$h;|tt*<`RZ2YHX{io3kO9F85 z+eiM)u4UIkD-Avr%fc!DEQpLC4?udv3lS;|gDlX$N*RM@ms*By*$wkgDE48qh5kH722e02pV8r%-yMsDfsqQnv2Hb3{ z1?SG`VcX-W>aUwR*xU>zzh`~~jlc&hYzrD~4*05nDK1$(Z(dW1MH-4lwxIiX*zE3*j6~XigsF%93~NZMMB_DNnzotW|s88d26M@3nO<(-=CfEemFX z{tfY2K5O7bt{xH7X`3e&$LkfP-qCRhWG7W1#bjX-gY_elg)KH$A}6*PxDlcRI*3ug z)ERZnp0~gOoh2Shm@#;*$HIYV06*QtuE*w0r+1`Ua}8FY`nDZ{*NG8W)=YMCx>TqM z7=Ib_md3h`V4u5QnG7~hhl;RL6NxG?%vCakncQjWFJ{Rj4)kIa2oaWbAV{Qcw5d^;Odk`k|G~a;@H6(x*fABYX6eDVn(UoI?UWAjSPS zf%Gdb@~_3<$WF5&5v%%u6*<)}ik9(TU6^R$pv_S~c46(-h}9?hq3WZ{`5%z_$5d)F z|B(+8a3s-Z@^NhBdb)}*548Fu!k3QjQ8`)%Nt4NmbnKYk*I@71(ba6P>@lbwH(+Kl z$2`7?cX&5ldpN%VmIJ?=7xeTj=%Eohd0fBS*xA_FxgnM6h2n8h#CnYG!R6Id>Yh|; zADZ_pn9bAcsUbWj9Q^O>Ck?t+k{Dfx1BdCt1PueM6E-;%kH9iWlm83Fkh{PR&tuVi z7&14k-dJCi4ReRKa0AKm01J_AW$Z-QybSq7CI%Bt%~6z{h^)tRB4a&DCArGq>;J6B z%iyaN=KgTO@MFYy{2a=;iY+Zf7?^u1hgQuGpIcA~mv%t$qe7G?pD_|E+0{1F`vP=tqJL=+)t zY&y=2&RTZ%aXlSS20_^O445K|!jns$BdaZ4^Wnnc!Q)KNahqhQOPqBPTwlXFqRZeY zruGf(BNia$5JlKgd0HIT>7Wehj_^J?bYT9+>B<)A)#rin2lN3^+zsuNG9XC-usof+ zaABiU?S`?>??*Fg{vV>eTcL(Q#=0(N=oRJ|{TKz`=ZD_yeLYeL7BHLe(?xeUbR5+Q zQSMP>@k||!{_6H2pKhvvR zIC9MB&iQYA%ahYG;RlS-kpkHuq|ReU=Qx(9jvW@s_&UE37*Z_IKV*C+nan1WuPD0hg%rsa2E8K0cFPx%T^r5_=$jXQf!)G+pl?Nx5=SU0 zaZ5jlEO5zeGV?q97&fUkjrgYk99Ao?BgD=n!t6W(kdDWpik>3oaD@~H1<)M(c^khc zE%6>PXu&?^4@dmED0aanU~0H{ZzD5*^gbq#b z(J)I^oo3Ff!M%i3_S9wCp8(?b9e}8tvZZ&cQ^~?isJ+3pnR`n;)WWg8A2A&PEFz%b`Oc9l)QYzu%^%mVV zAH|vzRqS!C&c|XY?&E{PC=gW{QXrO-ixZqWPD$O164`8``VL)LD<=9Kj<<9xIENHx zFVO{I6X@a?+C9bFElFgnSFj}<&pm}Jh#~wV&=ME$<*uH9-;WJkw3I=K=PCDSK~HX3bOoNbVp=9Qq&{`--CV~?=U@slx~pt*N)9y;r& znKZSV;k9(ugE;tdzN{eDpz7g!pIk1d5)%9ku#@`XdJnZojI>~TAl5S z>pma6>4s;G#G&Q3>Z&&cK!-!BdbjDpsgu+B^(#z~iG_#X2~_K%jm-wN9u*KNg!xZ| z%QG27WG_Sja!d{xBFKX5lS3dx_!B*-)u4d_UV;-MxjH{SB+XeZOMM-Zm>cL2*<561 z^)io++kBp@3~Mgme>sx_)>{zy}@=E!<` zT{w`G>T?-6>NlFhb%Y~`xTQHiey*@f*eBd4JV9_k7!fL6@F;}f@_aD>p?FgVbINih zWOFcWapMC?w;Y`kzvDQvP9s+w>4`#VNDXMkxj2k{-vU04ONLMYlNyY3NOUhL#_=jV zr~#Z3Hbpc>uFzD*nRIf9Eft*%Dcz|BuI!$uA(Jn=s17U4v^=u7xOcHAd!Q3m=3@yY zrplOT30gC(Oh^MS1?7z5^J~qSp6*PmWcxxQU<2}W1kP`0CRM* zqSdGCni!PCKsZ^C1&b<7lf=4Ly_V)_ZAc^=ntdQkzFV%8k_}NmoT){%PLwpJMBlQ^ zROSq(*d)V31`S9^vaa4Cj}3?f#FCDW7T*Afv>8w@k?0O?m-VWmyi_;y9o;&2uk)n6qXU5=#la!gLY3S@S|f zGFD*bc2V4pjb(}A$Ot4dQ9kHID6Lgos|=~SI;7}0E0<5@p?tuE_Fag(E)=0Ayo_dg9jyh`K4kz}(<8i5g(4RG0JXCH(pi)BSZvB3}Idp`6P#vHS*7$>Qhm)zjk;V6}Pw zil`_$s+<<(1Lpmz+5$|?{0Gf3%r3P))}|Q~>gd&pUXpGHXsRU(=Qg;v!NILi_ndw9p0nTMw%{*Q!MdA~KYPz!juhQzj^de7@Cf*7RtT;P4hjLtb;JJw zYXosci{Z!(l`9TSCZzSnhp`c(nz>z%>DR(Ix3=F(wOT#B_5G^uQ4QAE1wpe*VoM*w zCNn>*X;`AopTTwh4xU~;X3>sPEV+_}Pu*vQz}*cpH47xE*hLXLbLYY%s7;JwR*YjJ-*nsxL~ z=ojY!$&&37Jm5SRFJb@%P)sh0QM(YY0AYkHNG!y~HpgD4!SfEx6qn5a& z!+l`lkOaQe8rhWbZtM9$J)3A?%mP7^6w&JUK>^(C*Ku;j^5E=D6KK>tS`aD(>;HQPor<$vQiZ^QxlNDHL@qi3~?ZIxprd$Ak!*mxZLcO>Rl{fN+p^W~XR|jv)zIG1(7vQKbyuOl zgu8Y+&vA7GnsD_DUJd*+m^DHwU}?ZFIaUL#8<^};jtu1_R%4H1$#9g_67wodh+u`I zV1S5Usz6Cp=Eg#(iNNz=L5C#p+OTfoPG_S-f}qodwC*^V?Q()=;u|_!mmXg(CG<=T z3@#i!MDo?w;oJZgJko1oR$wPbsU*UzZfYs53+vBRDd36Wv=i}D5X@x>Qhq&51aiV- zhrMv%0V|;7xfu5@;zVl=ic+gvQ2*xMJ4RxB0Pzx4(VFQw(E35OyuIRu&Di*b(b zUF@CRz=1(n00zhc3*-%!(q#&WcZFh`gnh{WoYmxKAhI&>qkHUt6a#3Wl^vCUb3lTt z5Ff6x;xt)MRBku9FS8E1BG~WvM&U)wk)Z1b1NQ1iV}ih9~r~041xV zHT*XY9AgP-;zhWQ6i5W~fw`#Aku>CbL_&$c0}+W(;|wh;EEABe>Lof>$9AY{QdM6N zaqbEpKrj!9Qq+(nuM7t2C+t>P%*2lf@oYAJNRd7b?pDfS@wT`(=}B4qH);tXi0%R+ zVbx!ERkvrgw9M*Vz%EHtQD?T*)%A8RD%E$Tmk%$mik+PcoVmwWl-VuZCJpY|If3eM zwdGhyC2c&Wo74|l3s-0(1uwu{iG5O09#_@J`89|Wb_Wouo1FN7%!Wim+$c#K5v`J> z>e<-IGSMBh-vafl9QF!dQkXNurT9hkZUFrWhpgci&kIH-IDQ;35E?2h=}CBs|e zEF6DueAtZd-8a7eg2X+&54MhBj$lg$JZ{Fl9o%DdiLj9@pB1S3M2D;pnQ<5l!e$%? zmF7t>@B{gJ)qvfIhbqKCjkIDmMh0oRo&STzo={vFOb9R}ZuzY@B+FL7 z^n2BGtS%G`hU#Frh1pYuVCMHr#&(|;@@jLR4_o+H*cIt???SIPq*&+o0BNzulet_H z=V(-~Uoo1!GCUfYt@EZ|_D3YiV+7-wa6>da7>;`3f1`RZmr)j$eRpYrcrX<>?P1#l zixJ(CmQSxs1sg2+Q}gj+Hm7~C-R}=);+oL}dMNuO?>SCOf+^Uv;8RRGM-3dSA3Uot zk2OU!Fs&gR%g_L=bWFDwAG#eL?PzbmyP>P$w_Ocgx9{3DeA#7e>9Ez%-GCo`9URXB z%!~u41;E$Q8496=%iz$RKp|6zMR5i^c(e+>NhH@?a$bNY9?(=^!^)G29EB=l13p3! zmA69|RozA!DYow=+kRO#t2<3uh1aF1#Binuo=caZ#aq0EZCKS;?YMls!<}bkq+0NqhUeSfdrS z0*OQ*)7O`&!>JKIr_=A{Upc7Z#Tv(2!wR+hL(7WAWyPiGcsw2N=B(U(8y7CzxR51L zTwJyS#qsn(j!&OQ@xqNX)wFig?+MXK%=e9tBoBn62K1|T{2eupZ(rF4v4Zy9J1`0D z!TyKdGvpp00}}^rSUwER7N!Pxn9jdKx%`su)x5?sud*i@8VTadf3T8V%UZlTjyKKo zSPEF?!(0Qo(h9=nT@^;y0+xm)FeY?jN0PTGcP)k%4Z8|hgkyB>89AMG3^A`QOfDeO z8kWAd42M!xZ5VD(q!4SCq|eYHRd9Ep&=Tvv9)^)W9#;p!J|cCWWU1PGNs6$=vUHEC z&X<;D< z!=`D7wEzJ*RL*e(CECvC8atz0;HrOY5M&B)Afr0u9OI~a@Q3zJQ@;rC%@)}$;BMfY zASJ;Y=^m;2OC8RjNeN5~k8krq&5qO8%7d^{Jqn}NX0HDo<*Rj_s#HG>h5TmwhheMN zf~8AeOy@3i?778oiB=Ztz81Qg9om>(q#<}Y$TutUx4`<#(aUj#je3(kZ$LqO&6VV%PDN^i>IBwY18RA z1~4rr5xphPj$?MVaxB!d*{{5E6wqG)kf;7Z78+wCz*xW!A;)SmJ^47e1{FU!>R_c{ zkn3Q;ikadF_mtw713fr$3V4%`L)>%Vo>{f-6`)&HF*3cNjNf=*Z?1&Q@yd9XZ}}j<29{AmJxrsTnbbQEElJ;%q1Z9QLu7c(WSs zH(BHTF2$FQE+p2E62!p$gfn<6+{SDZ=jhx@x9V8lZ^fn4yx*lO_!|5(OS4BI$8!n3 z0tG0JtP@8-JQ}~|O8FvmrO?Tu0Q)>gR-7Ku)rFyq1VqfRV{+zB$-nPD#oka-sK?vC38E~$q%D%^T148RzcPryu?IOSe z;}QvZ<%G(W82V0{Ua$-?V4!G=3Vw@RFES3_6;uynjH@HyPpTK~d`rwRLxUy@Ro`Kh!#~dbSgbp3cz64b|gc38jA~Wq3kzhZ2&Y zH-*oULo4W{hY;m3Rz5Q-=*X3<%cC1-5INO#DPge_;4Y%|T!O1O=q~^ss z+?h%yyuQ|cr?!io(l&c=4ek;M1Gs&TaUZrV(DC0dd`fHw z7L?FXfK$Ha#G+d9cnR5G8PaT#vR-q!F|2}z}Y;^1LWF`3VKikf~`h= zn7qV!8_C1~=i0mSxYzOVqZ^&uVmKtj9}i$J z(&+=X${(V_$y|@gnksp&f=SM+V4L}(HqPEcQLpM^I2FM9hQ0iKMoNq2eoTMS3rY00tO2KxQQV4yI$x*6K|_8EM^>NFl|vK}-lON3;7xXbeu8&|4%4A~;Qaxl zobe#9Hujl7JRUgj^XF2;E~?(bc5vd>+RCHqZ{Kq32i4BK2-ZoYWP7S zF&@HcUqJ&8nZ`RtKzZn#=am0gxj&py$o~V|y&EJtQ%kxUCSWe?;s#dxC`FCyuEphJ z^vP>-Ikpi8QdKS47HXOupPdeMBs4W7+kt! z>7){+}vmWjnO5^p@fughknX>EuP!v8FS`Gi)_ zCQcN>CuWdV2!s`j)5A;;yUb&%cPKus;#clqXNG+^j(b2ccI$?OQ%n~a$^m+o1G~!r zyX0Fv?0%yNoRx#;;r#0`SwLmv55g7sgt)W_Ckhq%;6~0>!3S#}XLG0QKL^{=aU6m! zX6?qd!M1>n&tClDUspKE;_3S#Iwdl*`E@@f6KtfdK9N_NQz1hOL|W?G+Uk?x zfby`6Z}?Fr6$&U{O6!^(jw!iBeUaZ(y_rXo{5c$U2LZc_0lAP>_}4Kp9s)1^Ne)iT zqA}Gm7(~emA{dnVT- z5G^1;#*2t2BNPA8QwBmqtQZ8z8ec=+2Qy|E7GnC438ozD=pHa8-k;N%nwRYhvo&oN z5R>Zhw4PQ7;XJfEsUEZ8)HYc+oylMqzOO<)=FT*qwVksykFE`Zq4KnL#oG7Goas-r zhGMO7Za=_h_LmA7huuZ^L_QR!Dm--N?Qc74;J_8(#7^j1<`B=sPqzShkn=-6a`eDw z%o8dKL--z%V-SPVg{NxUlMT}Q@pZOfdQn%*4$g$Du8u|ZhLZmp??J|aCLfP}jb`b% zFFEg17(w0pV5%>$sLmTt|H!$e$nXEjvE%6Dr(u?3&v3~D4()z6V-(mQM=vt|6Qt41=-NCPXeLP?ZN1uN^yT9qZ#Q zYQ+Wb6#(ylegAT9`9L@v2zmp`=VmVO{SGMCM=Lep{x@fdJNYxK&p2xgTIbU55Lwki z_~I`AbXOC1Ip!J-23rZ1JrGX4@sei1h{J|$yZSI3z}d)fk(|V5^-I;v>~R6Lqnn#Ye>~2Id?9S^%pia`Mq{~AQkPe3q|AInfkcT zT-2m22iv$6!K+QEAMja*YbT zsFoZ^d1GnCEcutR6RffKIosM^Y0oGZ4zziVO#5YZCN(KrOT{JrlETo$tJG&Y z%Iz7PvBCO*D2}n~z+b?Z$mLb0lpy4tgO77$pbm#02;0Ox;a;Wd?-THZ`*(jrk?Z{| zolQJQg}9ul1g&`3kQILtx&)GC@l>oSw4ims_4tB>BZ!0GW^oRS=) zHi<9SZV6g1|Cep2Zl<9T{QsV~ol-2w+;ML`f|UlmR;C9-RTV$L-awHV+@jtvNpNHpKfu zY|3T;pIojY!y&{Vs15pKzrv^TlIFlX)6Bz1t|f2aD}X`q8Cf2Hkv0Qiz=XTE;Zt-Y zqN*W92{YEKro-29$!Q_v$vA+3PRc3^^dF#0YGwAmF`2TEY)s0X>36^i57 z3?82|ojE=?(Yxcp@5O`F7lX-UkQD=o?*-%S_A@qq%jt8W5qu~V*9(G)2>kMctTPx- z0JR7Gw!PQ3b1Yz5&{)!ygC{>zJ`7#j0J1f1oir-Ww@RGvnsG0TFhSb~rC26tc4P;= zVMX@0B-2u(9P3D#!RdeOM4$ejZAEx(d9sapIRlkUG#CFloshfQ3^bHvzmY|MsX4Wu$K*;#E zuB-QiJhSn;lhtoQ9Iz=?4lay;3L^p1IE_`WF;EFw8#;pEi$+0vk|S``z8z2rGpQ-qf{qI{OATH9u>L72s{bRk(RNXkTbz zxB0~25h1$XzA__vtA})5oCPn=kF!zHy7=mmmrW>XM?}@}e{;^!1jstdHKh3PIrl)s z@w-w{c7-^2K+@EM!y*ipp>c4L4#AYrSC&>rzjpbP2~!aH&RD{u8s)XZ@h8)tony8p2dVO z&q~#&9-B35`r^wUI+;ZSt*ryC-)*!`^+nV+cd6G=ecRAb8?~uE z=;TgAyViko8r#(vo^lMV@spu7Ep_db1tfQpw8&QjIMng9$PO_aS;Hqk!K1O{OyBh% zrLw75R!YWgZ(M9QyP^xDxnbDOl? zGpthNld6W@E)a*|Y*aOdMJhUz^WC5s@%V<&hx#mQ7V-Iwcv8x`^YNsKj{*eO2I^v| zhD5^W@mqFE*KLj)-eUIyXQgrCvKKP@6mH<~KNCBUt;cz-BNsR;L_#_~C|ZKOC|1gn zF^25|i3(O94a5_HZn-6y2^j`H#ndAA1x+Bbz5IIRr~5OVzq+6^)6WJI!9NG%aae=_rS|72h2YY{u!r(d)p~I z04h)fnInA*4jmHhBaI7mz@TLfWMs~jpxrK%V|2EQx5_&S{;?eLIi^zQwitIR#+}S zxlrRleFoLhhu}sZhT^aVrT9*l0k7aZ4&;K*UDz&)__e`ZtX*uAq`WBRBq=9~bD*~K z;S)McYZ0aJaj?JPqY-$7=2yLv*r6zB38E>oC5mFj?F9UdV=LgY?~B`Ue3}Q}_kv#x zK5#L2%@Dk5=!l4?9X?TT<>5Z!3;4GMI5Y zjM<=LCh)-bx0TEP4`=TIAlG%>ckg|D+M73hcG}MD?9Oc8**c59Sb!i%g5VMaL9j22 zDHau|Q&d}tw9HQxmTgf{pU!_uNzd=YPhMN!+H&3U#D!p<_OZPhkE=h$%GifLJ@ z^9;Mg(m}+><}`I*(TiMJyGzoOPJloS5gGFWaWPqMjP)?q-k3iK8tHcOc{Yep(fTD8 z_p`VJ!MdL@lpjsN0pMS*)y;GAu5R^upJy_<(tFf4KV}#oGwt03T@2$iz`G9`*@R?+ z%KMwqX~S=9kP!Fm-+SKQi>@Gg=vEt(zx#jC#`I?f?>$KV?Oy{G^ zU>a-*5DuyKV$+s-9ixlQSz|cIuwJkW^Gjbl0u1fPJo^^wl`}N$v`LR1w0x4HObA#E zb5|@$y8{RPN(`Meh^16nC1Yxw1*i9ir6jw4*LHi)I%)MfXR-F1P-;0KBiw(1Jj{3B zY8^Q)7`HjY8nl|JSccc_Djn;6wSQXlOH^Swo1FI0&zeuLBfSLi_HR3ny0(#WJ~0J@ zy>Kuv1h(-6ee`l#lt|_wm#AmDuNQ62U0+HB^wC(Wb?eSKN`)TK;H=8-n3hDBzU187 za}P2-w>24u^UPnhVshdwaNg(7o;|0}xorcA{V`47k-5`1`T!`=XqJT!Lr=Gt6!>F`vikBypJo0{r< z;WT5l*{RoR^-gnQe)u%STf%t18zAt+4)?a4FvTT!e2A=-wqBIxy zd*=6g8_#SCf`@D(m$-pZev>^%dL^2v#b>nA69otl_u^enaNr{QBN5_wSL4-SisL4`l=ZfivVwRywzzE;9q3X$Fna(MW%KM>4))InchVi73EZo&tG=r z&Lfd1FksT{3Zz4kDeHI%*u0oWBgT+v_z`C~j@vx(3-P8-CivRr_grzsLYe%wqDhuh zOa-o4VcK=lQ7dIqkAPSy{6WJ}H~CTP^I@I=G8yi?i*V;jjIJr!AEUZplSI7+fP5olhIQp7RWu4tDs&61oQusKQP?BHeEb>8Wb+`mM0$TQwYNlU@k-zm9WG z5XgK|qojW3`s?*`_?PFuqkc@id!QutH#uAmEiI6L+FRNh5IDLtcya-bw=loeM?5p) zW+#$`)bfqZD@uOUFh}mWt2#Lyx5lEcJcYmJj>}Y*xh_$FbSqy!^rNS;me~f5-+bkg z1v|yaQIOhqX+5f6-y%kPidW|VSJ3ApmoA9(3jHSFj?kQ>kJ1sP!`k9AXMx>0cSlb~ zqgp-hdFQ=!n2dBnd?gs{z26MikI;Q((`QAj)x8r>3pU6DIyYh2a)@rq>YLzYF+9R^PI>lDK z?~=99Cj15|BOgLiY1SpGge@&EWrqRe&kJvx+`495(u0GcsRt%B%Nm~~ooxZkh|Di8 z1VH&*9+XmljNFX&P2z+5z*XcaT30>bTJyd?FY8vt)~k5*lo9* zJ@mz2jp^fJD|}^qcVDkqRX@nnl$fy0#QkU1cX#kSYpM!L9>qXA7IDanl{a@=;#>Ofg zt(yeuarjM|g0B(XWNWM}V#((jm&?ex7MeFu8vHbP|GPR;DIH$)_N}m@I+H1vGreas z`jr0bs00TgwHgTEtR@qIa#L~I2DD@bPG&Vu6kTD8?8@g3b|z9WIt_LyKw>k^!SOrd&d1* zwstRnUu2`jA*PuOCOE|2Wf(s-zGv@=@!p^H50T#&`{W{X#5p24^rq46Ns5jxwpIb5 zq#t5s@nUf|OhgJf}+;68%FXp69EHptV}EwW-M%CYa3x=e&;I+bSjE zQ+ddtfE>ea;U|j^6_Y+B!K_45bWNNL*K<@Ula2emw+6n--$z!n>%hNvB0Zxqyi{=dHfEPDLTjUs6+*NjZf!?fpRGmX9fo;t;liSEzoAyB zp7(Ax6z(;9e~Cu||ANuG+qkgOm}xX--qe5+w6QQYe|UcEkZfqE!^WG8s$1M^JpKv8 zc$*RUeA(DrgzEhlq+{dg`VZleA85_OIl9zo`Gd2=^Yg>AgMmKhwpigT>M*I~i?c>nS%PJ~;B#%)~rE zLGo{*YqzFqMVU;$$G=GZrg|)yq28t{`hFyhvly=pm0a!dA@E|U*<`|~jaf#yJ~A^s z0-szyMoG1#3n#|VmzbwI%1o@B@sdyxe0peV5;Q~gmTE=o z-pF<8S8S>dIPfHM^*}hA%x7IatGw{3DAOPjcS7%%eyX5e-_WlY>*ycD3-PtBb`AYCXxsgfv*oRM zs-Dl+^N;9vb*29J8XGQsg*tzoC$+J4zO;-5mQl z4o>mg&;KzvtsfVyDC8ADlW1zsHxdmAhp@w~FWmg%%tVOd>etNt2ti#^Y60`CpuTKb z*I>JMKc%`+D0r`tm#lVqf9VQ`bd}!syI^MfM+$ZCOAo!|B&70&r<6Ws!87xmI>eZ_ zi32pmW~96oUVrj+^$a28>GY0_C{da+8+8edO1x0?tI&*~Hwka{7iI=Ge&nyV`P31; zk+Wl4#Mp`d2~BqG$EmmGXOm8226}9d;w9=0y|-<#s~f$i`c&An_1}$xD8hiWUqpzl z$Hg|!w=E2p;q`W3%IdAf?~ZGG<%@~Bv%b51Ay>T|4>u+ILLTnE&KAbsG=tGrTuHNv zi^3?2AwtSVl@q<$mPpn}xzD(z4s8aph7naRZkHFZStJYUxVDY=b53=t-b2Gmtx>&#pzT zG>IKM)w@tl(#n-6EUk8^pFf$7yvHgA&ku+hpax>@d;Z!h?RMh34kZ$Ie3G4R?4s=A z&3extd(NGS#GzerXLm{31w&-HaMc5)D09i*AhRfPE z0>`{#yXrc|)Y9U#;rs{3m|k3(GMq8M0haX|D_uhH|FjE{L-`m&)<>Bgl>y-NakiOjD|yS3&{au z3WV7>ecPx{>n-Zba(5rJ@_I(chNe7*;Adre7m_F`$&!1tUcVv`T8vaKrgM?W=d|Nr zgj5|>LB(P@JN|P*4+b>Fg=zPPQTDngZ5atHdRq> zeV>CvOPa>eb-mtA`>aW9L@vHb+|R14%J3ep#ybMoY84ojA2{=cx!T+iVt2V z&1$RTV)GDG)1c%L(zM#_Mdzob)xi}CF#O^#Mh$l*GHzsmA1Nf^=27~}h5v2v7Gv>c1>&(@>SdKM;NIwm2?cn)H!h?9d#-?WRl#@t*Z zSA;siCWixNB`X)VU2+HL$+mNv%0khKev|vQ`CDhck~&}oZGj?1btYiwS3qN>gKB+& z@}d$n7jHrvP{Z=#d^Y2&w+lL@_i!Rha;kbfE4sz{<8{-rcB~T6WMHH)v~BU zoJ>c()N9Y5%4WmZ%f$gS>;CVOA(;t%2r{{7uu&o8m2FD7ScIrhE3lp2SOg2_U+&zm zF^n&x9iGc@L2_B@?fSBM_vp)-GayOJWoD& z^61EjlbLS~y=|;q9xJP}$5&=PFxznluQ+sVb>+2eD$`obn?1(X!}OgZKAFXV%UBZ) z%9OEUwuqDIIYEX*UPwH2{8W@*Jb%)abfXFn8y!tFY}rLng91J8BoQ(7I4oG|aY)LD z#~FjWAGmj4uJ>)y6n&Wz4WmF8d1DFqQs8G(31bu_lT$3yqb$5XOuOntEEzL= z7`ZBj?|SiaIr^Z$(h@Kb6PYZ45c zFgJ%GV6DId0MNcn@mY!*sfB=q?SY{1U*9XDLzba}3co6zC=%zi_OE`F*m(ND4<6sc z43aABCFM0{81+GTEW9BrWyGuX*5dH!;Gmf!%&xp)#)Dx`B%(iJnM2Km<_I^)cRC{_ zaw{U&PR?~Q(IU}tl6m6Lcp0&x6<0&KLWBC-4Sd(!nGq#PG+~?dWGn*LTedj@n+z^& zqn=B0!!n1}(c3q$pYy_4s_Xn9BI$Qzh)YS_Nh7sb5UI%~W|0MN!{hbn8P9vOg4c#M z-tpnXiQ2m$@8<+Tb~eN^4RG#F#@USYkuCdA_Y6_ub<&wA4qAY^{iKv|B&xlKU;FrL z5A)z%+wI=6c}v%&a`T(K81;l>F}1$y^fhPBTyuJtjs5M}GncR4eDms&S&I7jKM`~P z4VlZ{zwx3wbQkdlFA2H>jjn%xq5Y~MYzubytKmIrCs}xq_A)N4GyU^Y1A*0h7UY5u zI)lOq;@^t%E-RX0Gf-y(0jdS7>BP@aKj40$n7$tf+s`B@NGo%7sGmqxrg>t0$N*_o z%`GTxyJa`avK}>y3#L9ou0pOFjcY_cWp0-n5k>SJzQ5Ox$1ClMDwo@pc$`&XpWYj; zs5SQN36D{mmAD^g_nu0-UFLHytCij-D%&e(WS2fj%MAL)Dt)6U=t$%hzZ~YkF?2;T z^boh+>L@`l7Q0r%!L5K7Gl_)?~{jlcneub>@%_B7dV;4cAcB z;q|a34WxNK{ZY@HDZa$8!nR0|u22WERg>{^&~STBTp@ZW$UqS9NGLGm$T_W)5Fud? z=ajq`Iha$*QCzP~(Q;C>l<)>B%fiI(So`;55E1L{?B9>1Gb54ZaL4mx@kPl9WD+I0 zyZtY-(^R5iX|zqMx9yyZL<)HU^Vf!~_*-jLNeap3#T9)*8<8sUu|1sFvJQRj5Pr*8 z_Rx)|57{j23AcYoX!>n?_Q2XK<>$Q7mF1t9J-9l{FGNRQJsOSJld(vlHk6n1)+Qz? zEK!@HMk+r@IVbs@wzgDvjMu&&L1+G;OTUB)mQpT19|WJ-iA}gruYYDID1ql>Z2K$a zeA}pmEoSjPEHFG*-{82XUT2u{-KUrmE)X{%|4v3JPhjC2LGTw&G`LWYI+_z^U=wZ) z>1D#MF|ZG2jZre{hr5(#ivWTN=}H32-BmZd@EHnJSX^MtIE3CjP*WFG`X;A|D6xy z8u4Ebf?tm}BCF-fy`Fck{9QA*wG|P^CGd9>&!@%nfhk4oR`9%9&T0XSTfRTW^@DKs zO1qCMJDW_>+P!aMG07<0?R;U6bndZaBH!`-PJMy9aHLf zckyc8_f&AJ&NeD-Y9Uq95tNmoNpzXEWv)Z>bIh=&e%iG7u-8qi&5q$|qxx}mY_WS> zsjC;eSO2~mt2AZ-B32rmKQmBMF1yXP4&u-Lew(5qruF?SQu6sq>kd=HEx4zC+`&ca z4hc8twig0B1l3Y<^~KPYOm9gL?QfE$aFoAiyXH;2-MRw0{CH<~2U+>}_V&I2sBKrV z`BxDBc%??8^XZ6C=SxP&XIa0!o+DGkXm3DMfLrnYrgJ?jzf@Db}5 z^}A<%#`B)GqA}AVfd8~*eU2JfS6Sw5d>pgP>ri=bV=4SlbGH31%X%^z{Z};gD{cEt zFa`0*b-x2`6bl^td6tYn zHVMJJhgs*KtsVdvccEgfdHS5Z@hn%dMe^dq!u?A7NMGx#6Jl}gGr+=VKcP6^r7yO3 zL~#5mmWvfOcTu*5P%RSVO~_pfqSZRBeRGRI5DmNTF`qH=5eIqQS%MLo{X^ zq&z(;>lOqY(${*nP#aPVc1sI#a}Zm|h^Oph7Q<4^O(B5QKP6lqZehP6KzG^Xs<*^l zSP85;)VrDvVWUoUJUed1DZUhOlXQFG14uSD9BnlMG_F%R-ge`S5~O~DlBW32#)g-} zrnI7_mGI+@?NefA0>XAShJAg`L=cHb0dn@wS>JGt1hE>ZfB(1VyvI#=MyBoqcOD5= z?xKz?eGN~r)go8eX~7o>Xq#?lC7rugf{}zW2{mR65AHFz#v;lIA}iFocU083op?r{ z&1H6{`YPwU+ws5G`O?F3zM}VC&$pv*qD_r5U1`?^(LU*-YGjKA6{51bu%T`-qxNl| z4L#Qj&S`dFV4>faw>oCuFl#P|3KSY?%^f{=iP^d%cI6B2W3tFgodJ!*j_`FstWjN{ zgC&t+1X7p_S5@eHk=is1)M9(F+<}ZS%dajrx6+lj{36)z3>-uhd!;KOQz2)ilk15R z9ZdReK@AAO+j)5dcX-D0K2Z#iN$2(Z;m~}H;<$@j{so`+XmmafNW%GH%3%VeKi4Wf zE8pdfZ}gC2@@@TklvvqD@N5L9pYPM7ybi^{$lmcN3a0f*DiEn#@&A(XF~UXlQ74RW z2~8wHogvfEsJL8-zKE(;P_Kr|=r0n9zt|R%y}yU$2n|rP9O*qjEp$dZr0lyOIue3T zBP2TNT#}a)RvyvOfh~?`&{d&S$E@AL3~lYh)ZfOlZfW+*I+OPsV=F6T7v-&_fo5SY z`X9V#>j9ku{N9!I6<+5w_UymvP0Kqs@$7{c=bP$l>I2NvcZ(DY^%*UNhA5qli0QMt zhZ0JjWhno7)FM;FvxE5HKTll#ceg~DM)icJ6L(Nv`?KUL>QAH52@rsj=onZ<894Xr zr8-PF^-?;HNWtxCn0~f0Had3Ao}*3zdX+u0DORkFj+_{2)rNz(DO>3z{qsPCYGtB( z2Zt-iD&bkoUx~2OoQP8PCp|nmUN0s1S4!s~MzvjQFk4F|m)Gt}Sl5||y*0zezsMB+$Z3WIEVZIMu?C<kJW z2vRq`$cGBZo+uR&0KXm@a8!xW+p4-?^!E>tEdv-;}`L_OB zdqMZLmt29X=DFc+Q^Q)tWN`at?P{ZO%i7vZYj>;~nJj^LI6OGr*Kv>D*=VfYvNqi; zR6$Y<0=Jj3@*SSfD$l1TvLrKK0N_%f=kr*^X)8~MZ~)D%e~)3InU(%wyjDwBhGL14 zs){vJ>1IsThU?K>t&^ONMW>=xzR*y1VG#6ZYISeClwAperTH^Moglag*nM?~``K}S zD+8~hPl%}M+r^AWtUn3Ff>~pnF&>+a9*er{Vm}DMB_ZGz(xEve%~UK98UTT; z!}+OdEx+oTZ|xr*p}r5goiSR5064{*+dr6eW{%yRUnQa0^Hzr*P+9Nb(EiEk+F>j- zVpYm1rVD{-CQ?y~AV^^cPF|}{@eMV)eH?)wvz*Qbz(11uIEw0ohaIqS#vPFSQ(O11 zHTsue&!vjo31))6)DosoO;L|hwO=u_O3P7eGtA9g5FJi8sff5d>MPNC7$v(x4a1>f zE)-wMA>Gt`fbtYni_Nk6_zjT~rBHDto5{)zuv&RXeGYf8f>JgyRBCF*D>O;pZ1}CGCH!VJRmAHD0X7-KYMpwdF9hLy=e_lcrgfLH%J?M1dGh9|srSg|IO`(I`*KG(Fm)BJt@&5Hjq=1r{hlKri!+hh zHt$kdlL0eaKongM}G47 z{+UDRXz+^C>spJWt>s(mDk0edLG<_QbIxbvd+qzu*=rt35rI(ZXLH3C#eTDq$Pd{+ zkeE4mduJ?P_}tWUYCN6jOh`_BK0iJr9=QH}M6qlo$}Jpz>jO6p+=`@NP9T&oevP(B z1?WAA19h1_fJ7p$gnbli!}AKqe}v6q*uj(g{;)I#r7)6<8)Ln7pAGC6j<@1qO# z0fV+@15?)mc`8sK(rIQXw!Y9VATyZ1>81pyR_}T2TfcpvIgvC+$BfmH-x|wg#?)t3jS-?f?3)RI+h$$L*`?Q}17M_l(7eAa3gK7e~tpAaP3@c5PR_F`8~1NiE*(?VG;5 zDRl4g7+xJNO_U2cKLy~??1A(c4YsRzjfg9wLe?S4<0@|m>1it z?>8Cc+44vQcRmlAQU~3U=t2fe*uCJk7^k3b+~#}V=Dx8pGrAI8=zeCNf1l|tL{~oubYgFeABCHuBd}Ms(qij9(LcaQ+s4MBO zd61@i<+r3dgm0i|Aj6SD5}42IH`*ah11cyFSQG&qZXtDpIB{fM4bBls0M`%e%TWeo zES1dVpH-=xu#x@>T-ryxh`&mfk-{&2f}s5dmA=pIO1a@o;<*Ej~B!2uziq=6V4_h{q$F7yd|rujAHe;DDr* z1yoWzm)5LWaA4VFwBY-2+oW^sH)fQssM$t^%}YiW_aZh%D1z|k1G+GEtmuH^OvoYM z;#`n@J3%$W@sk#7;C7=Rh$Tv{gl6+sTZM4rBWjR1~TwQA5wQB@*u#N%Z1^Q%t4^ zFBM2@B1&&e&lz^irFKQr3PIYrSk}))(_=vZ0Vyb7Cm=+{)sgS-5tD*dGH;DWlWAr7K|(a7DI-$PMp6>V zGORd-Iiwf^9+w0_d^6_7oy2go6qzubT&#L9Yj}Bpe3(PZgc!i`2E7vLT8{t%u=dzy zdK#V8byGnFKc!{0Dz&C*)X2xw<1EzI(Jw-zgexF+nI&~e?`6C}c_S@M6~C z>(#j*xc#aJ3vo4>uKLdG-jPzZUi64=R7)d!scD#X2J;49X)BgC+Ofi$kKNuMv&aVF z)JHaqf=ETy z?IQD?mvC;_wP$trsndJ*E$yx~+e_Wik=ZenORcXDRE+_37jY7dhZo|U-{sdtrx8t5 z>z$Mfn3z0tRcCspb7XI)QyiWetW-;rwT^T1Cx3m{_^w^!e-uj}nVgxQUAt_iGv3J! zRwgFPrFwl;_U+o$|NU_8FeM+8Y|93o54YW9LXt`oUs;`Qjm@r&$?{J=c=F_fM?)Lq zBC`1$nh}tkluV9FCdVWLl6jF6w8NP(Wql*@6VB4I*>Uc=(|^i>8jOiiCFeiFyx2Zo zt~|EDHHfSaui=G?#{(FxqEBF|g!QT0mwLAsKy3EWkeF?fN!5?vs^DC`)2Zt>QS8pi z+plRm^&agAxmWu-)JFdp4y^Z&;!rqqV5X^QN5~QF0_nF=$R!g;XTpWa`brU}@y~!w0(~$=2lJVC~k+)Vdl*T`HbPr4sS4+&$W=6ra2U&f3x2wA~QuF~aXU%yotH+RiJX_wd8a%`(%`Tb1TF zkaFH>|4&yYCRX@+|B;E62`~%(^8>P3@&5e4`NN0LZ!9lw@K0`8Y<1~pKhB)?3c=|1 zV+zL(}53%0cX4OH#p4pbcMczxV7#?o0kZFQ6f3itk>*Hy_$q=1 zS=*i(&tTe3jMnWsup<|&m6A--FInm~!?;aZUoy#8i^acS+g})jY%!YsGzU}Y0el0dh-midGl=mIv?i2!wD5_tS%sWUgdaMpo@oE}6)sl5rAsvC0!uhx23Oxk{~qcg?&s1!1eDsuY@?1QTNs~Q9Vi5nb8S$rO67e^*cF$z0^b?rAnOrfJ9Xp6; z)78Sno>70WU9)B(C`-gmv)1nYx9q-=0u(ExdQf&Kk{{ilN$;48*7RJYN2=Vb*1x$y z4G_`#kRG`BX7p$VuWry?^nO$YTA|RNjvl^sxR$nqWPAD0`u;0V&7dQoHYNAXP0f!D zrSlfGd;v5K67LuUr@0sPj5#b)5B6719a_BlhNVLpD@yf3$4Qr_4$QXZFB?ophf5JZ z+Zc?bZR_52v0Q%jVJtIU6N16O^Oj0KcQH%!pC-bFUe4?(qB7M^A%epH;9<2Zl?jx4 z%sKdZ#7N^Y>j#{3!ZRe5*rggg$Q_1jbOL=6bry1KCm!|l*@%O)WW6$bAQxlmjr4v8 zf^{sfNHpm}5nstqPG`j?H=StOOTT8n`XH4J{P>f%j7O!~DaR#JcTDHK!t}6Bolftc z$dHM~pvit1Eh_4oy{Aj+9?Q?f-Do_P{t{XSy!52ZSn&x8x4KbkDG(oYsa-ysHCQHE zxTjO|iQdR@c72XSA2_z{NZ;=Y_ueLLB|K8sV%thho2o%4*6CKFcZ>QhQjzga)Ka`} z3zSyT%udKoK_1~mU63KeR}2KG%t7$5?n5CVYNxG*rNwvUD#`q?W46lg+(=hSnc-Zf z-0!Em|2*alg(J7d?D9(mw;J+%c|!l&2}x}tFdlS%~7nBx)bSL zL&Fi{Eh#x-BQaK33Q7&1e~slv9SzMK9&DM-FKbLH{!jkF&9aGApMfjt2v_CJnw#gWtxS*wxF)T*RXNuRit$Kb?qsr8g#Ovz=O^ zIG(P%=VVfo`J?~2Foa>h>)Q2QDBeT4YNBP{nW~gXG)((fo2^9khxwf#|F2TfTEWSD ze0VP6#0S$T>S}Z}o*s-lk-6c~k495|+9|v`UaQ56aq+dAx~-*8^|4f2&W|P9xruPt z`qb$bjr$&3-&p_AzgT~2^Nil`vya`kzH#9%esuFG&SO9S%>kdW{6;uQJ~i-D1D_lC zx1wj#rZPOW%+(G@*09CJoMA~y`mxIg3BVf1w)hZG8#an8E_dbGaF`q)ZX=#sGZ*sV z=tdZz$YT4jDxtS!?3@DjkZjNv6T@L^sW2y4W1sl1Y!fg@xGbn#{6WidQOm}Fk)RMY zhKG|KZn=?U5woHZvFnZvF)E;`c$Ts0K};FVM10`KzGG+YTu>z)t{kfl0sZp#x{Eb8 zwYR>0TWi#@3#luv0y+!@kQ?=#JkDLb5ci%m${h#4t(7Z4rEf%FnsYpu9-}cU z8T`_dbV^8nHVcKip6tS1FHGrMlSX((`CeFdK_?{WQLf$?+doyw2kB!ESjqiUL#1f$ z*aJ7leIL8CoFydgTKQbTb0di92(U47q_AKc*+L>7BPFU-v%ngcilPe;$BRefK*?j7 z5=KVpv3zlAU);R^s(7(nn%Wl__gz&u5EL_|h)8@YBjb0lsJl!XxpojC@=NsI#xovd z^FBHVLc;VMqz18kFGeMBfFD6J=0|}Mq9>t0Uc^p$^}w43-aYW%{>%vk1szDn94#o3 zjj%1kglm?GcgUVrdx_n&1xnl8nX7(Zi!4k+=uJ;Zuc^{b&)G@#UD4 zY$r!7H^F`!XDK2e0PYQMwEakXl+t}ZC@9U!Am8`wk)W0A{TDwH@gt`xyP28K@LpK+ z!Y#3A+L4^tq)9q9R;p1hlRZKLfQp-RI>Uf(C7M)5ayZSHz)zvPT#U#Ck(ND^)6;+o-ofy5b6&$N{XmQp+G=%cu4hE%J-(_$j$yF4&@D~+rEbFP-l)uwij zjaLpC)htn`--so1LqoYVOU${Znmm#%S6bzA?;auIr#59QV%ddQCi*WlKoF<8XdzB+ zWRblC&&$bjjqyr#ypt^#Q^(z*iJ?OJ8c*%7q|2Es$sDB!s9Wl~7h*BWSZ2@QODV=V zi*07vp@**aIS$}gXo|Mp?e{(zZ4#gj^{_5ANHOo3TMPMLZPbQ+lI(LuKj}D~TrL@- zqV>jxWya!**@ILachR@~WcB^K-Bi2~OrBZ&z7{Z36oateuhQ?gW6uMZnu`qw9vod! z4ufC8HnLq9Zad11(Y9SrPGZu%`zlev;c_#fU-KOEA=bY}4~itB*OT4JRD`!i;-;sf z>HJ`kLL92>EbLR8cfS8lqZA{`XVj~?_0EyLeK&BP>&ys#O{^3hs@#zk3f@7R(x|zb zT!qJ+%YI}6%Y4Emjpp(WNj>lj*s0uys`G+vn6KL2SA;<0E8Y(_i?U(j80}1y?fX`P-v#vu>3DPo z+T`y_qk>1$wXq*r4T9C+Rr2i=<4OD+3$Po9GPen5i@K&(qOg<@o6+#6)yw$^=ggPNTeEc zjvl&g36(~6)(RD3^JT~82BN+V02lh3-MJ@1RwUNny|gM8yN>eH-9}?_x&{w-MLL| zr{R3TUjr@o{D9Z=P}Xy{8c7%|+c|ZM-#y~k%!XveT?-3EGT~i|dq0&MvYqBA6E@1# zYp(JlgGChRT5&MqT?KK2en#}ubM(_IS;>dKGkwMSmIT%!mp_bksO7j&Gb2(7#E63R z!fqreE8MTh97K?M#R}Rw@DGx2VYEax z=CFCST3$PjI-M4-B#IaFS@@wX4yE)D=SQ}8ImR^y4|rJTTVqc6uo{9q@Am{Qi@u

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                r&t+fbm-y)Mex|N>O zegsD5GBfG&z$zPu+Yql7gn>bIx#S(Eg`o`|W^Sy_0g{XS!b+~0b#ftvvO410f9)3C zzlMyV_nn2Y?Tb)nmJ$=YL3gYjC?x%{NZOk{q&kKdsRgcjghV*a#-P0M%igwil`Gfo z&o3Rm4m_>5cGGODSR2|s=A|QZYh+TM;G1>Q5VrJ|0re@JTf2MU5IVt9!4({esN;yd z^bEjeVqx5s3|I00%FvZT%xLAwF?6-GWAX}}o}^q{F%xl)z&u2n)?>A_RjQ?|35q2K zM$)(iY_g<5f*iL-)4S{m$4(@U+;H>kqUS6`$d`m$eui(zw|XB+S;4)gahvTNgK~Da zBv2mAd37Ur@UUmR+Tn1%yTpB%8vpef#=TSumbf*&JOgPiFkfOLg>4k)FGNNnKkKDa zy~k5&@6SgpOe{t~Or2q-_@!j6mi(oM)-)NX#@^CdM3&4^Ddi{_%=Zrbu#7_8W8~q6 z!b6mjP?rfEG+LJmcZEAlnu#`IT!!m1|MO)R3Kve%ACy~)fo|G-#^Go>kc?pB;y}v< zNg!zpw6&;B4x`?28T;5bcn8#@MO?yDtL;)W)rC9TbX;?2CKsfeOQY#XG@BY0lqQ*q zM*BT6@*{k=RVG+Uj$I~`FSx;hMB?z$axvc~IUN@+__b8_me0e=i=Qw3xm4T`?&KU! zRj}Qa&!rNWiAWDGS1|o}+LSjnG&(&#gcjKL(U?Z@7IPI<+yv2jGM6ilj}BE36b{7S z*>boN=9=ibSBEI4ZR{i z9mD%c?Frs?$`#>};Q4G@)iiskW0_$9x3=@)itO7^1GhO&*>)PU^RJwr9%k8bk2}u36W8wJ(L46ko2G2%nj=Ln z%yE{`HaAW?PKAO8nOrVY*NdE>+to|$w)nE0@KEuaiC**dfeY#*uyGP=M7rT^74w)r zOV2@9(Yd$uIqh5Aan7QfZ{r@na7@2=S@o#vgp*rgS8dyw`_$YA|tMGUBCgdg8&D zdQkk7EqSieZs9!Z@?^L3vuqsKMAI-47nb_K)IFyrPMw*@~)Sdo%rEd#j(S z+*$ekJ1Tc4z@4r=(cG1vJ<`TZ9HgtA?mzbO`c@M7w1l#a^f#O_gW}Q$H`C^}k6E+N?_C zGTi*n=|QOjX%D9VrXC(EzS`}!6Y0C%dIj1}7+AxWdlsxtzuA6yZ0z*rCYLC7^T0Sd z=nX7Ius6^Pu*-9}C*7s|$b6w{p@8qR{8H=lttEN8bM)$5y>eu9^hl+iyZX-h&VO6a{XF_rZD3Vo2Qr$OThALfp!6!! zvp7P;6Qx5|AnY`(ysDVQv-nGj~GzeHorggBS~UJ(dcA^ogN;G_2UKj> zp>v{2^)ZFw8<+YeLm(%{wKVESImfQOmXFh$|`ry(ZJGwgaiFbeKLu%~yPYl&IzB;*Y-{kR`dcF7c>rZm+FZAaO*e)5LJ3Tq5JHlCM zhH>_Gquqd56Q0vAXUfq=G*A>D``7Qh_LghwYG1zhx9XN?ruUykGgggEw4F%we)*j< zGoO-Vel0U{>Xdpwp6F<`(@#Cb899;2z*WAxD(A_h+M6ss&xu&umJeKy)feXQc&nEFI>`coK4ElY zMy6B;m&YlBtb+CVpmhkfO`2x0j5MtBXTBiCId7I#gA+~W5{D*UA@ zk!$+D8>nOCpL4#h%xHbfnp)`+-a=g%hS5Nd-ueAc>r;N^lAqCSy?t$6Og}D28_)d$ zpUj_G_xE4so6VP;U!QCHy5PYRKaVyiMbFn~MweEHUh>61dzsU7oBDj)?b~gpbhmDw z@3$+Fp|GKMjI#ii4kl4BEHY)Y_r`O!SSAfcB=z7nZtB zN)yU~?3N>!y8=AvF8?u>u8n5t6D+}{?nSQEy-uy0t9$m2jyS`OeL)g}J1>Z&W{VKo zEKkqQm_{U;f<@Ak8Wn!B45_6Vj}-`0QW~S3%KV*DYccQ`>2lovjPAVadykBcykiut z(WOF+QLW7_>|L2FCz4Q8UPlf=K0jJXr^piU3xm=|&tDw)TXjxns}T66p~VV*!8^h> zCLOjR!%*I20{XrBWp^H)Ke8}1Q>(|*2|id+tA9Ip`0(66H|OV@|C}GH6@Ksc1iq>l z^+p+g$m1u}1~y)a#}obrmeH)(x&=+z4ZOSnS@(NT)sww{PQ^AhVyR~i92i{XwK{lU zRc+*w-%93!vuA^gY}k6C!${4Pi`1ogLDmb(eW06K(Eqn&e1SEoVwr31Q>lGwp+VwQ zs)`q$YL`bl8=VLFD|UM4(F{(j&gs)*W2=fnTk;oN4#ckEgZdTbxIq5jCaIwZX1JXrhnq5~USjbI2mn;6v|pi= zJ4y%#q_W`wq+5gy+QQr524STZmM&s?hmTa2Fug-BPX8m3NY3x)2%aeQPMPpyJ-0H#)Jn zef*()so^43X}?K6>6dD?FL7n@M~ieIgvCrwFxbTkg0 zKY9o~#mvz$mZ@~gvOGQHjyz^DuJu~p)N9V!&i;ixr{J#TruC~9#`hoG~qa)?UFO`QcUoQV@ zdF1kL`T2q6%ZJOOG>y!Y7Y8mP6GW#Q$j~?>E{cClbaR}O3pvp`+=X9@r&Ec~#M9~c z=uL-ioW5~dy*?f9{iJMFH^kG^)4h*<_N|}2a4zvxt-B(vi8 z`|>KhwwFEA&a=Gu9O1LqxWaSjfup)Yj+mv4kQAb?e~Xx)2=vCnJl6UW7l!oCAO+dG zMD&OdscMxjlvNz7FcRu6&um^#-{3}L!KOd7^WVKj`njSu#Gg8I0 z_oY~%g1;oC+LAV=4@zC=HSi!mwj~cI;o%RjWFOXM$m0Sw4>P|1C((hNi>Vq;J}A!; z#}*>GTsw^N;MmjClYAjB&SP1VUTts^3?X94GI& zaVQiCi^gPgypWH%ptrhlij5M*hv+D3#=x5@AuWV#kYmUehy-@g_5sl;D!{9CD$z(4 zn#Fc?<8VVa>`xojOjmvx&OWmDTcv#9EY2nU$Y4Xts1aLRUM1id1y00e$O4f5Y!D^; zJ7NNqkK#BoV^pVXg}XpWJQSonIL|>n|{>S9i6_N z!>p)HWWoqifQHNiQP0t<7IM~$4pF-**=!|~Jl5?VTRF7cYAv^uwaIpUUnX)il1Rmd z_w@eLv6Yo$-L>U5NgHZkMvngxHgu1@f`i-3k55n6&zx!{Dv`?~!QT4lj$L{Vx`>#y23Drhn$ppSH zYrH0bZ!vkzL&63svQAp$8H*%AIatM zc(-q9zRx4aC~;@1w6s)8-I<_cxbLGf&xFdI93MZ~d(O>`lybRJJqSp$4)uG9?_T0N zDKt~sWaqu{lxAFhc9Z%(n-U4uyvz^wo;!P11t<#xx~?J8h4xF*enSIw#^*F1tfORE zgF|M9)hZHAK*paYRS`ASKua7#pJ{hx_pB1?v4TC<#8Ik4N;DFKl98tMSTxFvh8ycp zo*UZqE!?nVi*f||*2TccRdOn2`pL1|yrAG%OR#Z9FH>gjupf61Fi2dqko|5vanLo? zj2Ct7C1tw#fXvSiE$ljQ(}5{fnHWsE@p8+{PP7K^xRJU!P;1h=Z;fY~PM&0rH4k*s ztkq4ZwCftcYds^GHe5H2UsHgW>^^9iuAhZ8Qr#KcyJz~qf$7T@om{P&Pt+rS-&!sc z9~w@f%jr2)czj={Jpo90rAdON#+ay+L&lOM(Mny)Am4i8iB>*%;)%yvkEt_8G5E)7 zq+X9y|1l^U^>6=U{U3RWoaY>M#vPWLo-x|4IE}s)6wjV525Pey^gg?~s!j*R{(R2! zq|Xn@e9n^yXDlfv(r(h$%wO&c6PTdmyU>l|)yNeJEe!+tx~zTu`_HVX&9F+3JEA6r zBb0jXeTCA_xJ)L}gXhnktB3bmM|N*;uMItmhXDviMX1uY$>S9(NV~ZJ201ybHtp*I zmno_=DKP&yCcGZ<_L{tPe^G#p#rv(i(nN@|#MZOn0diEa8e}gIvGSK^gX*IpcwQDe zvPb$p_kE5w5Ff{YTG*xLJS;TaQ$dlBGeL3ejOtL-OGul&G5Hu98`I;6 zGd#t)#H+K_ni9d#H>8A_ZBtx9y{F_|t@k*VwTpVKo~`trx_FVx3CH8_FdpL);lie1 za3B{%rII2g#G2*{H}0NTY409kl6`Lw{NcerBqa6W@oH;%W-td2S`hrffj@9j?&%N6 zqD^EGzHahhkUSbLBSrUM6>7Cn;Kh}@Bv}uFW`+65?KBhDmSLc~cTml@+ZDtZ(YdN7jQU_s6}rd5L}5bQ*|(dc*OR%f}`q zEHycH`3l!*>5JXqoKo?pE7F^Ox8Inr8R!=PTeiZ0objqb@IjxLG1l zkTByBirYRxLEQ-48jiiDD|Y=y{f>iWIE>Z|ULEXHEJncRt6@G1fx`X#27n3*vQ!pGJ4k*~Zz%tQw7tjp4;b3akgk)yC{> zb7L)_hreQ5znyv$*;WJvI?YM>(0G`>$ua| zeBu3qI!nhtuRH!K9sg{nb6UTi+Fp3{QI;3lAPjhPh%;o%8IY=C7N0CDP z@eitp1V0?jFBUh2SX+>r`x6ZnL`;B`2>Br=ejgQ15v$u9;p?H(izF;%C zJgFw5SqDNK!1FJ{L4VH#81;*rrxNyV>HqUSBwU` z*KAQz@WzDi$(0d&_{>QM7*S$>XR zX#)^t`j=G`DGw{3BXhSV*zM&4xNR;#H2C(6!=26IVrJmBrS>{6Zdu*00EL?1AtD6s z?Xe)0HOO7J3rTO-cXPOwA_jo$REGK7Fr5IdJiBT{l+hSoBe)5W({sT&5aA@gYN}^c zns^%s1WFnM$xvv^!Y^*xgGD>zJB2r+uE$LXvtnd_8Y#~$lQjb939zEW_$N#np|(KG zC(o2$OGIJ;iNdITfer5(N;iBJRNRRt{Tj5&sE3p(2E%IL$dVGpGcdUoi`W5NYX%q` z*9YSdVcU+A6n6n^ZA4;$MA)fFJqLc=RWb8ai66xS0KOVW8=Rg65^WqaYQ*z)Ws!s| zTUv)wcu;^1Wl{PwV9Uv0acno`4zknWl3-iOCz`g`u!43TrjE-Z4G$>0H(i*@liPs@ zEw-8%vNCZ$Vo)MF1K<{9Y#L1oyam*Bm^UZOo@;nq2)V+IG(hs&gip)JZyC9nsGDbm zx$&3*u?dClVBhy}?$Mj9Bu(Q{pvy8n8X=kx1R9c9LO{PBw|Z6Q}z;tIf<5tPmQ@YS0~$leRUN^)82*k z)s1@RT!(DW=a9&%^VEgjbE~WC@8X}FHrE(3o<>Tj5ND`QiXR19E7aeG0sItxp( z$Y2(1h5pa&%J}8KSkUcU%?wxDOY(I++Vv3CJM~x89-9Q^av_#pHA=NyzNDy$=cmep z^;iT%d>j?j308}hY%UHO)XpVcD~M*yAVtO1FEC`Feu;hnRGn`Y9M4ZgelQiU74nGy zXm}GRKoHE=vL(>)4@w$bG>8Xf3AXHObH_faci9bJ} zKc=1H*NeSxlrlsT{-=Kbx|*neU0wC2b27^S>F532n{pSoGy_zG8?O)Nn=tP-oX59j z?n|^#%@O=V8ET33J|^$#p5Djw-}ZP z*NH|d{_aI{q0kWJ6lHD_@tp&q0DBD29KdCBpnuSP!^Pt8;QHZ=T4ZQm6&w6GX-fa_ z&Fr8(bmfFv66Unx5snxfR<}>!3$)&q$0ccx<+E{b;j!Ld>0SNyJx}|ZXee3>ki2W6 zFkO5&%^a68y2MX6@%IusWTXLi?5&=w*H>F5Qgzo$t<`#cy+XbVCwYFL-g-l;)LO4( zJL`PD0ng0YdYy5G?#=i*$2d#s$f4xMa&JrA7J48|?Rq`eZbE4U`S5Ai{nAal041vr zdfu*^-rfF%K?=rxC3549j`rJvZ+>Cb8X3WXT$Mf!%AX0%y0ul1{T_#?{; z*Z)Z>@zvd_M6?F~Lhjf<__>_F?k3W^RXUOSbh4&abAInPmva7J`q&5kYZm>*CJuwG zE%7j0Yr|WQT^>y8zO^sZp4m{*$&%P+rBdpdXa1|+bnb~KWK~V1N|U{>>^NUi?2o?g zw{@z83~qG%;@8Vp!t>mJzV@kOHMP05E+^_e!^W$HUQ5o`k00715Bt}*pt}&tfR4TE zg!H$r{#^CKt*SU7@t9L%t$MzA*&TPh_l{>*KgagyDG5~ub%!l?TzXzXV(f^M%Ju1x z&O`tDeD%{@Sr{$-cl|38Svtd5Jwba7z=wuG_0ZSgPkyNW%C8Oe{>MXTn7YqjJ07ko4TQQr%JhU zIY$gAk?ws)tsXtvJ5Md0?RE-r0VO2K7_k36HK}8}u-!8CA_&w$qhXek=?{iE(tv`l@$Ah&NJ5)=W_n|-XJvYf;@0aTo zf^xyRmc5GWC6ZHQfdvV_us(FVk9hPG!AhNf_lBFPtO)hBzs`ZKS5ftPzs(ej1&AwRaY&JNm8`oN@`P}d9IM|^$s88LmkYU0gru5Gd=3r~I)W4LUtWDLLoo2Z;KdQ%C zo%q`Zwf`8q)GL;mU0eply~6NlINTm?FYg)eeP{m2{^`u+lglT5?gO>gOx6AiDB1Bn zN9Jb^+oMyL{U+O{YjSVT|C9PH^)TrF0l{H~|Cx3B|FsK2G~@7pI78#FrZ32kV(0u) zw2-OKH;3y}<#aSzu%nbnj#hFfYUw%-dlJVYG1zA7f$7K6Ie#p-D;QSCXBH-=FRM3V zL95vAUgKwM$o%V|wUI3qgjaxIC6o5!Hr^`iFa#|KvX?TWj@ zl@vW)!$njHiSaq%4d5cC-!IBmrdPQ+$Zu@AIM@FFeEwbUy1BdX&{$nvf%`3L)J;e) zlLVJa=`6V*0*=I0$D|E49NCR|XpiGTst_BgsYpqkd*|ohS#G~^Y46SdChHJ%#*OY6 zDOBb}Dw8Gs+Js;oyB6M=+#r~Jn;IK|Zzs{FflbNWvGpvGb1(NSDNcu&P%nO%pFMo{ z-G^5%eVDJf`|e|xo)e(k%bXL|ap`_KKC#vRUh)IhV6!<`TZN7>>WkHX=}-M(bG{j! zS)FdquHhy6Ke>;EHV&kPm;B7VFLNKS(f1+aZL4iw?k-+(s!Oj>=6~jp^UR+Lc|0XO zJ43pzj22O`WVA4q^FjpfOu-%t)Ja;U7^Y=Y}MrLT``v%kl+-Ap)VWMR4e&6%}@v3TTvG4>{Ka#eM{c%8e~ zcI(!@cI{hN^-^8cRn=R%D@k|A3Y~;30zwf2gn%)E3uZvt$08zNh`@jgwu}oJXN)`g z6#74JX2g-1$+$2MGip9QMaOacGvlZ@&#C;szjJSOI)J`^FLycj-gD1A%Wq!_Q_hS% zk( z%5bvVO%4wymzI(TUN~?7dzOCNa0-P(^Stl?FC@%o)knHji&ks{29o-mw#1{ffzwp% zA6rx1UzC?&*LC@tx^95*lmDPf-VbIwsb1UK8rRmc_IXg1eVyJk?ANyg%UxpY!V&;> zm*k6K(fNxfXmDJo83I9Sw_*k1pA2S1rtb_XxlAPckh%)N!67(x-8}}7~ z8zB?`FQu}ToTwzzNkrqA@EZP(-|$ZObQek#G4}^9nL@nxq}`)zlQ%k<-Z!64Lo}K` z5cQ6xCwC99QTOuy-@49w4JYfbE{0=Bu;Hq`E?}>_>fbktic);u9`M#(|GQK}7AF>i z%$n0G=Gsueb<*5uLkNOiDXB7vj?Lw9C<)cxqfg#{;+kvO_+)k@lhE0X$+I@+L!Y_t zzH6`btxJV7nXo=$@G-P;d7F=0%Ir~S5kJN*!@tR-8CH1+b zm5bgmH&k@{5w%laJbJXwxue~Dd+VBGwsi1&*yAlOnXNjJ&&dqtpeK9)T6Fdtrhal-{fEN79f&a$kd{vuaAw!@HaZOp5=Ol z|DKzl|Eu}=Hx&w3B9=A&Vqd}L(gKLdK7F|Y`qHHJR(YyblPSFCIb`+-cs4$H#~n}J z!MuCExaS{n>IpoD(>tEL?~8lBi1h}!`cK&p*@Lz;^x@#hi5VlOtWksjBfqybBKD99 z0UK%4V61^l2m^%01ZNNKj{sN-r6h;~_CZ-4bh&Qq>h3C{t6irj=c6&Vaba_NYHO?+ zb5DIylG>7#gHxJr52hvum@zz9&u2YQp}|1_*9;lYzu~B^R~4^xoyX;l#W zGKsB!sTcC&`TLiL*`5pcFpJWfDa4|MLNwNUX=5UvCmR-mdp5vP(ixCNNtWhe8Mc`Yq^(j+sProV8=wn>d zqy>Uva2doO!{URo1wv)kZdMWO7iif$Jq>MxW@X60{^s4eQwRWvIQg}1+Stqk<{w{r z#()Y5l5Upf2gAEx($dVP_0DJ$Po%rFH*t%N-3?nciQ=xoB2>-6@QYN)p`S1Qe32ak zX3{+k9mhXs6*|!yCS7Lrfkrc_&_u71lwZxD6G4s&qs1bUB)wUK_jL_Dt z#dkakh3li4;^Jb+_;PV8`h{d6XE1-3q2U`e<3^Ic07fJPydWZIH$a;b)U~qOfC@p( z=LQgysaC*xquYq@WuKKb{Zj~~0{f^>3l4~Ig)b?(@+CU>fBl=&Z|_>iMD!GhqB+zFX~0V-#zk zn#E(VD_OV4RhA0jULp2{aG_i%RlaPMKZ4CeX;Z;adrAjyb90CDD5zv|;glDn98 zD64R!k4^frEORY<{K9to!uDQxR2pt;Nqi0k?F(m6;5Pc}se}5+PNcskthR+4r4>we zu3)k2At88Ilx56U{r%a`8sV;D-Uy!6;( zci;UD-k(HQnJ|=OW@~KtNj=%7q%2@G(W$Ui$^=yeb%nP<+m8^tMEfnm%?jpMOO!9Y zw_=1R!}q&3x$ejQncDHCrPGwOm~s-nxU#YYdG#_F_im>HfdHDw=Uf+S1fB$37t2YI zw;p-x6^~!RmOpmMr3VjQdP)C#mhe3quoomTScKFO{&T7^f_V`0VFF;5{&D+n|863A z{q@Uz$rBj(-gA&<-8505a<(ei+OvmM_CP>o%4KaFx39v{0s+saA1@2$NRtSwJPt@1 zflq>-FPQrVj#=zn8K4gJ{|egc0S_`vdQm@|Mu^)8E7%hU-G&C62jc+dDDn85Kp)oH zLL_+tJ7)skp;Berv3RI9t?2haL>u-E&Y4O$l$PwVoG>BAa%@x`(l4H$ zC{KF>mFae@_ukmF-FNZ)Y{|YJ;-_h6ishoRHkyly1e+{h9KvlT&V)e)RDG?N&-RBN zJ{FH3qs{v+o|(CLW=B1rujkpm-ShLi@&ECeT{APgt_E9}tDECAg74mi83=e%P`x?K z)|Ka9c>ej76D)t?1m26e2{@C+m=k?xg9cR%qF2$q1X(G*1s0kqD=TJMdZDoyKJc3x z3rPI>B99r#jOI?QUPEy9y0)`9bMeIi9&-{^Q@>mD*rdwf_*z)wLn9=Y;0~Tiwcu4FPD0yOf%yS0Y-z4===&g9HQituB2Hda6CMG7v`jqGa`_qB zm0#pr3J_Yw52Ni_TeZ5kQrT0jp6nms)iUV2Gwd$(YruBEcAM=X+bPg1+`OKw6rsT+ zvqO@N_;Uzog`Vb&Fs@L9U!Wqy;vo@<&XOX~B#BVCScx9R2_6}N^B4&Y`2#2-H4b#J zR6CL_(}{H*_v6JQ0&*m^cx)_GPnGzAFd(iO!+kL87y}-G(x-u(ZH+pz5V_QKZ{IPI z4Qml?=J4o_lv8>^D$XG50L<}yg{)ymnj^2r>kN6_+a}uOteZjt;vaE$-BQSFTr$_G zm%ZUkARSFX?E?{H$N{HTXhZ8sgz&#vksA)JoSj(6`h^5i1Vo!7k(6p5Mp&2k4X1oz z2!GsyEW$uBkTx? zn!X@pM(iHhhn!N{l=tzN=JSg`ER8G_8mhyS3g)7f-BNb6tj9v0Xd*7v7KFsxs$~zX zqpWw^NQMK2nYW?RdRggomVix{5y+IokQV`~kMp%gt%EffM4^;ug}?~F2`tNVh^)nO zFuRTynCoErO#1WRNWS~>P=wZNDDpTgM!H99Yw8-b!6%Wvl)4Y`7l5nVI0UWJ4*_O| z{8I^zpCf(Pp6XC49AHDULx|9y8mgXu`h(daTv-W@q^fQuRjsBJcNPBHFFU`YI$N#I z(zg@tP6LK^0hs|-K-+L~5MM{c;52;R5K9qiLb#?ePTlk#<}^-q#o2q8lO1+4kTqYX zqMw1t`SF*Xf9d3Nq+cf}5sq9;;V~yLKVSVkN0huG#O^)!JlcX0uwbeRc@jm}&ryur zK9@yulm-wO*@Jn&M;0L^36~UNAe&+cC=IK-UCOCplWe+ZNDfVTyq}qjNJAxW&7Y{% z*4;lc;IFO=hTL8_?J~dT5>LRQsOF26?7+ruzFhQed{e9B&y0@W;VZWS`L z9GKv^tcLy~4?&*al(=sOQimY>scsMQj$UUG)@QJ0O4r_62b$t|;tXK*GIZo*ZM*^f z44ZFmg~F*_KIl!Na%rU1AZ9uF`kMuC)8VR|z7bB#qJ3E>-Of%$6fXiCr;#GNnD+Wc zLQy(;kz2)1@a=c`mZkH4dnXsNOCCRLtc$U{|C|22dGN3%DoBH5=jRu43)zevRIa@jCT-ZPFy!vYA{Qd>!2R4k3ZWuY!skB-ZzBvjh z?kK*U_s0tATY+XFZJV%lfH@Ew0t^pX%$(~67}_)h>+8vChf`~a`va*m;#$DW3YehZ zE6d$(s67zk{h(>FDf6o*__+}a;p#*pRO6)^5P7SUPi**DzXLu7pv*RzAO4em;U|WD zoo;tFm)OwzjoA&>I4)rvN!v^jj7;x6w40Dq@LUsDzX8~+(aQ7jD`tJ%q#PvA>Ij+x zFgG%g;ti!uEZ<0u_Xzu)5i zp7ExFyXP|j^TeD9|IuGLps(m7%)blzt^EY%#rke{9p;KP2iWoRRt}9o?`{04{x=YQ zJc_w(aB6cbm@}>0Fs(Ti!l6B6Te;>mV=GSCRT&&p6&sR1oMFkW&ORcuApN2NgD578 zqM_L4^K+byIps((Mk19*l^FBHw})h)ahF?bS&+H+TLf#e!_gAPS$2;L$w_p{t;7WPfT8+o z^IONO)!e8M3EGPeds)cfd;9dF#e{iYo|e)5U~*e&~6D$mN2k8cgUc(`JSVsXHV& z&-(XyVfO1R`r>JyuH-!)-i|YfJF!fXxB?~)(QU<2vosE;8H8O*A+MNu!0KeVj>Q@d zQ7{fnDzur7TkL^&1j?cIV8_L#Bu6M9WuX8S+@XLFMI!Hz7c_5J@Hw53X2CqsTZ#Nx zJaVlsTPu+L+*h3;*h%llh=0f#kaXugpC&{6Pf6lCaKGSpeljI{@Cb&I;7eb2OPGwJ z8>~_mtDI=x6Uf>lq6mEU%z6JV7BNfc_)WVWjh9YUJFj_7 zr+TUsf0XB#AoybAc0jOzX&@;I`V@%Jq!D2TemXfmG9BDdn=BM2Ya4>oBjfSf(0p@X zY{SsdhOvR>{LuM1D$RZ%oATA3kO37+016`h!z6vSP%x}yRS2Zp$X!Rqef@-b?tu|k z*`5p>vG&_|W`@lp1Fk^QUhe(KIOvRLhX2VY%J@IM!kASPlY*6 z140#RTO{A*2FUnQZhRKqN%iLX^?qo>1_nFuL;$VqY&*OynNP0IBr1_W!W%0TW6f<_ zoAIG2mf*Q@0n|Wkxi;K&v0FYcd;0Y3f$j=^mN0Yz=HMAl3ks0&+u9kG*i_51qEGn4 zZh$BC<%EA4LiD>MrhiC87)mQnnT%wSmj%JdR?e_F)pRyN&cF1K=<*|cDl)fBlzrAW zn(zzSH$>uFg;g1>Ls`v0TXw#2)UUR(N_T6O=yNibig`cZUFxFQJa_t8#3+9|{|}I8}cVDWM`j=Uh_4mgT8kA&TQONs+nV8>tYS1Z5eL0 z%1H;(O%VagV{Snr!D%$oL}6*Ez@dB*u-gY_7L&zdvOJg^7)TD5lQ(!qlF1Q|H{(Ou zKNSl6lu7Zy@&svi67gN}MBRfE5Ht0m`ubbR1P11NB9S%2Txp7qa7V!4}+ z!kZgJUo=XjA8lEg?@n=2kl$rpyP{7Vg4nA^$a0k3MGuFw2l$z}{W3o`x3~p=C-`>t zI2^{BC)h@V2-rh%!yHy7Y!3O-Y=F=uuQ*zsaQI>{CG9gf?DN~!r+O=?_1pO3JdADc zPImYyZpN4Pc)buOG6!8ln1vW?VhI_&C*5?JUWb9R`k1V_xWiDcN!Vjnm}5zabz;?G zuoEm+V=%+<8fvgz$t_o=2V87yjJXD;E2H}+haC<{ueJA6eG;$Kge|57(q`#JR$Do)(CMvE z6l0dYnLFe_!qPiq`Q_kSS1|WgV2;u`+#zG80;vHm1AhVHV+CN{AO@kukUdQd>L~MM zGHQ2YWn)+EAN=~3eL&01;2f-L?G=8@zv1G(TWDO*{sOT51g9NIYXFtydh!9rhw{f57U(Ls5i=k;{)1xSrIIqDHnu zY3Y_c9?6v$*gBAKB{jEEa=74a;;xN7_INzx(!cF-gzR4S+OfU!wM}`4=tqh-Rv2;* z*DHhwDub=PK3Ii{k?}xaVrK7Hqj&FCWhj%aDw#nJuWgu*l;a1B5t+#NYKJfkM!q3H zWGF4LY#|Q|Jo{|m%*m4{fBg+w$lr*%AWK;~x@V6G^9|H-6uby1zn8Byx;wChTME{{Q6q&I9HVrNTB)nJ=+s}?Liyivmi6<;EC#mcqa$A z2L1qyJoeDd)6Nt%9!v*=>0lsk7;+F6kZ6$NG2(#&+Y_QI$pQb3h>PR6uJ=Q?%i;OR zM|7tX+Joz;>_$JN(N;ebOyb^$2*~S&0=$GMy@Z+oSSc@dyCpW^w)`fi`qriEkUc_V zbabt(-h>C8y{9x`aCi_g3!H2N9hL>Lcd|Fsqi+Muv(}mj8!|6pR)q3y2t+Ib-+)K} z)ko=ipaA{h4_p8Kr}fQ^#^$%H`TDySdcBYy(Jnc}%7=RI*<8n!kEr?6hi-D{k<8<$ zo8YsVtImrVf;9>tg@uac3J8S&Izu5UH&;F@e}OFY_TjL!}cF)CYvS%y~$9YhW`T$Oew?Z3<|E zJy-9)!5u0Eyc}AzZ$z%=ctfg+6jb$&#)%nQA@e||W z%FUHo0b%xqL!G51cr-8e-`N5G)WO@i%yktTkct_)s{VhcTD`tfc?k24kJTCE{#yo( zR|S-SPP7m%A&?HH1Bd@j_yhG-pfJR1!+;VWU~#DQDa~++%}h;AWg}N)21X_qOPj}1 zv9#Nj7<@gE^Ys0eWRX{%L4;wVaD1egNF=_V;cMg!=K-7~a|cCC3xKbXHYkB}?W?!GGBJpkjF%QCc?%9~UMdef zOqD%6kek}4;dT3_>Kitg^XClsnPsj6q~Y!V6R(Lc<~$~141w)5|1B?4W}DzY>2Pvy zGMs*d|D?kw!fCcxsN%O0O77T^3|06^f-J{rOlZFTlD!wcH!x)J^RDFdA3CtD96!2P z&U%k-*?a7g1rOVJ(HlGqmmJ%><)}Ajjmrw!*|%u}JS<^GmYSsVrf+8}FBwnr%@_Y6 z|JhH+AO4qr{DSz|NBeV}*0%v4m;=B!;Q&%b5O^mMELI=nTMdMx{+1#5d=gsZ1=Vw!NWt0C1mJA&v6lT{RlN^a)$39uyB-QL*%91^93Zy1h=2v!m=&Y?g;K~{E6zBZSw z=kSE~=@ZNck3D!`3S0gsI}4@Qo~Gh1Km+eEY8M339;uwaNS?RgGi!8SEqFNeACDO|lDFJC<-?Q@r< z2d6M~4d-85`(OPvR_~4&IbWb|Qa#`QPc1hoa+ooLj7S5zXO+)Cds94*}MI z04s+%N+1uk0w!YsEHR7~gZ$<6TG-~JNuNeCPrLS_W*>qQmtHp5TOOPq-VEM=ZI;!^ z{Ecph2FKAG^OLH)nZIxJ#!4_)xp8!h)8p>FpTrjUUV(ovwSoI9nO}>jqN}g7zB2g# z;4?2bU$Xjf2hUY#e$ptPGtgI|KAJNGc}ld9R9Hnc(04TEYKYa2&yHUZ@Q1yd#%GTg zFKA7#8{bksweITVF^A(=^6GWN;agM5TTp`q*OsxiDZVAwZ9>Ecz=M%!`l-4`8>=j= zwpr8d{TE&LN9D)dA&;AV^>vl`v2@|vZePUpggxeSIuMo3aA*^QONj}HF4p39AHhtr zm9cmx(^W0!rO8StGY1VRsHx|O>bdjI&o5X1A^8vcs(0SWsUXNS;7P{zEbl`p)eB1? zYuyk$GC3Jj!aGfzHLNx8Cis^3VKlf9!kn3)yr!%~Rvj<9j~U%X6yYnM!3aMYsxw_2fD&SMI0J6Ij_RHZmWDAE5ZS|bm()-@R=WqJ-4|?50 zhaTL?((jMn^C2FC7GJf3bx(drC17sT%WQ$Zm3U%eFHL$8;mcJXH$;U^ETtgGg2V() zFL-k}Kvwh?Nkzc(&_7BjbP-%5PZ_mr@29y&)O(F#42u=7E>0Qb(#PsA2EP?ZKC?_e z{)eFPT{3z<%+~7p)81&>ShPF-bWZmgU-kRH7E0Hd+w)(^Nb=7oCOYXf{?cg!VZbnl z@Wb0L0#cB@U=makRPBD6_!JnBMD;3Z-H7+3))7%cgr53`Tr>XFAN9X+H0)B7L3c9Z zsRa^`4I(tCKN`dZw%+m`spcFS`HtAbrtb)wz*SF4l=LWA`cO1m3l0vxDUoQ?lOMsg zM}?78W^|&Q8;A8tA{{0-5(}nxFa}({G=>O^epnS1Ylp*OY_QFy4!RBz{09@Zbd#UvfsAV@_m3 z=j${Bl7!YPj0R!)#>S%gJaP!ab=}=aN+?(WNG5Lv2QlKRs8;+Q-f3%swDJSzpdfiG2#3-KNZ`Rxo`Q$6=vv4%Q z91pD0ART$R#M{Fl@m{SO4J=lX5VqA|U6Ptnz$gkv{>u%_v46w!bZSK-kM}P{eGfq% z&N_%Fh1;zl=2qK@rgdSx+uGx_x-s2}uMR_d)Wk$4Yz3{>vAu#zczSqH`a!3D;jz6} zt>AR;F_wP%M7{F^X>jhUy~j-0d4}@`I{CSnma0gDgt#buEfvh+7t3WXrMtV9$<#7z z`LgxnCq_rq=;ryone}hw*(%L3#X4O=pK!}wAQ;DBS8rgHV5s4{JBUyLVD#%{|*TyI0ty|?*D>~|Q z7O2g9ad5g36e6p))gZ(`O(aTy>LG;C9quK^kc0laT?e~G`p!v7Itk;R40N8#zimQUAG-deX?^QLO2zxO?A z2VYBE#vAAU`rwW+1JEa!(A0yNAUu9!JtQMs^?!?EHMQf}9jU4)RZ?57wA-)TlB)K; z`M?9L+B)3Ij!M#Kw$;pS=12eUfvartYFiz^lri9#NwhhHXfOm}8}+`3u|Hv2eUT%K z=!hgU6D9J*D|9>CXDA)-3Q93Xjzyg#($%vasc38?4$y1yJn&xjKgnL?tLaF-1?1D?sfKnM0`;D1x zbsWXFKx#PLXw9vkH;Q??qmaz&p*)Ftz??j%@o`l6d!UN4#qqY-MC>ErU9_j zg!EAn21cePnDS@aBOZq{lJt0Q>DKg~;#jq!%V@=G^&D z%)5JOf1J6amB_R+}02c zBY5uSGdj$Np36Z^Nm!Ay!y(p9f5q)H+<)YDfBrUPQT0=ehve$_E zbR?(4w*a0H&!7P|VPL`TaKsIxyx&*-dy7xI{9f00rqW-b{Vgun=ia{hnmvW3&$(RB zK9gR??iLr)5v+MzAI~lGZyOq;+I$#0sZkq>)UKQVQI+hc*AK8P(GYuNu*s9elqp2pB4q8eYV)WA!zP` zIroGv8)XsEUd2{QG`3DP#I)4Titw^dRotH)81fh?z5KWi>z3GuJmp^)zTQ9It-E)k zhX{`1<@5~>d_kIXj~G`TVk4LBlLUCRAM?R94X9@Tc!c)+++}Kz?x^W|HY6%9V*=?)~t4eV5+>Zg4suWHy zsHTT^EH~a$-}S+I`pO^t;7atT{LO&tmrW zb@t#(iCbF5ULV=J4hldYkCtxQRIoA%*6sZWufJa-)prJMS+=x-Ha`TTz^i>W0F*)B zz>9Q4w3=ejet+_p#FO+s=Z)?ihiO5Pmf|mmS^Y?EbHsPn#&NlAp!Y*=cyQ<5y`!UO zJHbwl$3)qdaWKsSC7t>Jx6ZY(+i{LyJgc@*t+b)EX}FX9L{JAh@K*v4(bvL$<#*@ z{kT6Y0TQqLBjny(oD5wQdTcxgy**RSU7C}OxSoy2v*oLCrT>S@X>H+sD=baXLYkcX zhnF_bIj)A^vVCu7@vj!g<|Z%mzJAlb379(#u5a>Z;Kc)-2JkI}Z|%ma3OU?=I1oBj z*$C&~*UoIY_S!9*$H(8h304L>cFc?vCpKSu;#w*w?>MppuRm|@g6HhdKIGc5%tP4p zbJnDVnAmLdN!GD_hkA>6ebzZi<+NTqfaQI7jdeg*X^xRc68&@Vj(KJ7JNf)S=kuF$ zxotV>X>$z`&81=Hau}W=`_>>PXoduGdn(MfXHVrUHmtn+*4f>=XHT0u3r5izf@A_B z4Jgcj0owod(e=OW;GZ4;Xy>=<@o#-EKH^W#wi~cKSGm;%C0u~o7T}PmYIyiO!ga~VX-feJjZ6kn z21iQMj-?!J-LGJ}ZB2UiD!jOnmF)d=2GK2v$F8iQ<5~>+m+13thn#%D!~cVZhV6 zyG;t6-qx)_)-Vua%ecPn@SR+xe4|^KIJ|hf6pG!xxM{5A3ek+TV4n~C^%zE%OSOrd zh64>0TEsqEQEA5^_Aclmt!g5oXxtm$nJQ=jp*VwtsK#u8AqL)fYi3XIf@4Ky-?e>ma-fCG5R%^~23r%I z5=lAw@RH`K4BTSHA_8PVnEU>^>-WzpA8Ep#z^68}JkNUA8tA{)qHZ}iFu?q4@W5Jo zy0!C0CSO~OSWqqb$rDp8?Yf_S&J2F>%*S@^+OumH8(BK};B`y19x=m~FxQAu=GwJp ziHKm%rJ>itS&KSmz9X5}spaPM?%h+%n`4W-Tmf^FP?6eIL=~YYwxfOpbqS`Jrm{p%t|C?0*BN{0aJq;z!`UrjI)bfB=X=hn2`39+sNp zXbG$&xydF_4W>V64_Mie1F;7(Eufx$1CNXIpVAnO}OEyh5rcvx;_sCI-DyThrQ#Cn(u3u*+EyVUxt)cS-V0Rc2vT*Zi^ zK##(6!>=~m-D!BQXF*6@R#r?E zCB5q0T;%tGQ=t2B+rP3-hb@5*fP{^j#Ml4(*|Kdt^)+BAOtu;9wo81fx0|HELQ@H5 z0o>CbI!xBY9#{sjHwY46#U4-KJJ|asry`R^Dl*#%Rce(`XI(huLCK`He{OESHaQuY z@}$D+tc$aelz|dloSE7Gu#u@`aG1ZK6RvFBPzkNSAcrS1gBd)L&qq?8OeH&M-=Di+ zeWktZKoD+SD zr9lBz@U04cfkMnU76ggsFn8bsd}G4L#-xoD`TxzIJT^29qtsARPNn1|4)SB^vHaQs zX?n=0)lR`?S==a%F<;{QP)Cv>>nm^VKP$DjP)xIP<0X=83!|0so{y^7gUr&*zC`pqDYT-8O_JL6eCz`D?SG4;;x@&2x3{ z=k%5hbl?(Z3h~G2A>xjSO(B||j=P;@_~WIqLV8O_kHWA8%XkfLCRuxwJT6G4Zc*)= zSZId@M3f-gO%Yd~s4bN#&D`SpW-4bXYmn_O=4wr=-$|A4yieEpOYbI|lPrWn|qvLx*R*^7isI6E$5 z&5&QZOz;Bbgc^TUIhiabd;e8T7MBif-+pL2>ww z{ZI;)rQh&-6>R@;+t{|N9zKXI zZs%ibur#+@O2A$VQmQr~-f2pw!7;!nkC6;*6{y!-HcW+8t~I0qOfhcBRV6EvMty=J z0bLQwQKYb3=%|XsoZBU7yW`8hr~Idof<{1KMYbqT2NVTJ^!|zx^SeN6bpUI1nnQjL zi@4i7sn5Mcx}OujEN{3xI-p-LM)?BGLv~enW37~orRtlJY_<1M%DCFySTFDr>I1?t zY4lr{%eDa!*O+*6Ye|ACt?_IC8BvZqbeKdRMONG;MB!f?NwCelH3qvpM zDr6JWyB22>xwq_sOYF?f-O~wf4}$kBVePwM)e+!wDrS-P_bTDOd6NwyN%0jLPR%m$rBll6q^vG@MRBL4M8g40O~M8&bI~Z z%=Z>gSe$f3m;g`}GFA-dZ2`Me*)?DkHRbLw>|Rmj%j$*EFH{i#>6Ehyivpkp6k;xe zdLMpSwY{f0uU4s9rzOA0kPfOZjc6kQE(wxIZb1v~TpT*UL$%4S%Qu?k%YB*5Rr9sZ z%S8|;cf$V{;)UW+e&e<6;k6P51gc%?;EiUr<8DMz4)lJ*cN^%~%`PQAWAC9^_JPc;!;>U7U3aNAbeLC=;amE~ zb2uQ1RYBGPO@b0+>%ox#Y~3gZ86U=30hW_o=Z?s3n76R`&6!Ol%cD~h3ytA)W@u>l z&{!rtJkV-yOZWq^z>y>GJ#u7@AF|`la^ZApIO7}|a%P58rxSUf(t8r|!u)>Seb>Hy z`(Ct;&AAS^vTWus0+$Xhh?s@7Y6}W+VN!^=iaS6=sYG*yK~CjX*^16mZohN9G&fh7 zn=6ew{i%UeIkz-dNGCwv4d)YzwsY>7DNS2mTG$_n4zANiXw8gh>jt9{e*eN!u8aTtUVu)=b zjXL_C=!gcsu|r-01z322F2pCmbK$PW>n{0d`mRgvYcv{1=;$@~jlb-E^a$?fPq3-G z8uwjtSNfxuypDC~@EtfjvUdIs!bWf%DrgXFLl*)gQ4{NJMEApQvoRx+6euCf6n_id znhVLGRngmEgV_GfL2rd!YhQ?+wFMXSjfILgcmYG`A5YAKSoX+QKIRr->5UxVY~PML zEDbhzFy5X#Mp2=<74)7Y)ca~l}+g+)i#&=*;i z>u^9e6D!Ll#T5E^gyL%OD9ugdy>EyGaX;H4y} zYQ3=iE#YzRWs`Gb5cqYNYyX0$xqfiR%JvBpHk5EUY)a% zUt=5p1@M8zRr~n!Y~x9VzQ#V@Y@;dLA&qp~Tf(&Kn~rd;G=trn$I<(y!{c$V5r^kT z2YUZ`U@zgy|D;X-I}PBHqXYrG4OEibbN%&unC)n9`6zCX_)SZg+fGmpX`;vq07*@f z1VaK>0wYSWN^Q2?;-J7xd|sHA7?+glUU zhxLxwh<-Auq-j98%bw((1?50svRI!i?;I?@Ub6dL!<*S6cPltvoP~OO{==+eEFLW~ z-$L1f?<=5xiC;yx1mld%H3_zzIr9vBj___oSgO?)yIu4LwdXWwsZ;0^^t=tIEC;zH zLJWn?Fb2ge>#XxH``6LtpEe!bwCNyozqfYNO*PtVqw`I8j-5RVnyicOf+UxyKcYjZ z9yT;S-q^CWF+P4P8)&_+g`fAeZl`wQzGaMs3K|aZ*+d4#aYWX@SXdC5W-2EHIKPPt zv(}_TZUBDiX^QtA{a7v$7$iT!Kq9y0(3Wp~^4R2Pus96&&f#Kkbn>6LQ;#<@>CK00 z*&6=BdGBPVv1QBq-nwVv@xXZv&X1~dath}&+%%usa&FFhfeUACThZ%$zFQ(KARCZG06YYDtO)!V zIAm<05d^Idi4XoE>oR3PNFd%M!>wGFBJ{C!iIRb2rh;&ZAOxbluay!~3^93dhCCSt z+mv%SWdzO5*4|dj$#70~^<5yD**skq zDd)=NoQ$XP^$w{MI3?Tu*teWlp#|y907K* zuTlj3-ZivkxAoqygW}bPd(XSwtmtN`p#D?3f(`7xC)|P?e|$Vw;kb$sU8R^{%p3xR zjbBUG4LNR;;5V>O*7873h<@Z1gA6a?jcd+O1aY9liBL$aHy=D~(NueVh5;)8mlQ>= zU|(E-jjGJ5k%fBmFka5i{u(s)3Vf?*7WT7FgN_C5q)y$2X;5bVQY_RVQx zbS_C40#GpkLYUfcVEh(wIjgr&cre@m&6^ z1rzB^D~)CXY7vjP%(@sIGe*o-9&Z?WF z689z&n-Yl`1iEq?45p5VQFYcPu{_LL`3bX8MjO?+sNbRMcbwqc&**=l_x}X_!@B0wW zwPW7$9OfH9b|_42UB5+Z-uf!dIlrCl(=-};k4YZHh-ac`N78Qrku3xbiWAxQz%5W~g?&+!sO~Cs9K}CFCwr4W?eR8Htv>R3|`|=oUl|f1g_dtVCci zs)7mwNCHJwI0Z4`L`V^8J9{&t-+QEEdo_FvLxHH_5+y}K<{J$-0%>UBB7rYN#8KqF z6h*`uf!0i6s7TNpb|-oTIorkF-46BGUI{6t5aA3RhqSfG`h-fHxL2lN7%udfLs3=L zAxb_EUWSj6sqZzx2S0oyxxyC+A40coz6N=jJP4C2<15kQObP^WKU#qNn}QfYqHf?X zRD}L9ki(Xm$t$Oxrcp!VH(zTHXy5}RjDgG~XF|fu@j~=(0R8Nyh9EMVjs&|pZz0}C zNw2)rdeY2TJc1kcIZ0SSn$QHoxHc^mNN{L1s0u%$_>e#^R9K{Z<)9xh8&_{s!gK}2 z{0`dVYM2Bsdxw%RHe5KMZXb$;Q2N?r zqqvxifkPTs2O|9?kz-7DAE4XVW%NYC(BW3?a>Kdslek@QIc_GC@SCwt@x&*gQgXWl z+|tKMM5~5i#ZU6a0XF6hAci3T9@!uftZ!wwnt^~i8C9x51*KykUJq0!;XYJN)nO|r zX_HJIoYW+y4A+uFh?6o2o6eHa`w=WU2L-V#DlCh9f|1_$6`Tm=1k#MLgi(UZo#XSf zKR{m4WzsJbYB4Qt@ivf>K+%{lcs)13<(LOZhwuzIH7J)-jNKg0q{BB*#y5xJGMtij zLpYrdANE2F81W8vja#4oUPm}SFhnD71-$fYT7WXYo_o;CEl z9T7}HzjLV=2@7)2w{ZJo&LN^9h?s(Ipce5XUIJbhO&wrR>#=2@uKRjjA5u)GwS-T< zS@$JybVxg@`Sg_)+|lvr<+2VFa@@h)5$Py_KR!0r`tcBL#=q921bJ8Z`!D8vE6^+T zP%~ou(i;wYe`!Qs%eN6DAteG|lbF*gjv(bVnJeHn>1%-mh-e32r)BU}WWAk(OsT=O z#M^AUDTCR$(Xi~Fi8TgRCsEQ2;|h(sLSAcXpQoVpkm6%c zQW$eK_G1ZP#+i)=t;RpXPf-a?e~%2bykK#O2qKo3_UvYEA##egWzEo5@L$t6=)d>v&uQA{C=cs)ejefZ-EGKE3Oj$5$3KA{V@<|Pl4JCx z3na%t8!$IPNK&Ih4V667`6^aI6teoRY%QCuecA2xx_c`+5}w2U8Oa6ZqQ1vnl+|lt zHG`SOw{MEY9^wYxpY-adbbr8o%FXAkT&>E_2qT$7OTf0+JPygsS{~Q~dUv&jbpmW4 z@cr;)%JJlxXcy6x6ej@o$lx!=O*s(~iS2g>JbK_i1G*>Ro-pLz&m>6|m4DOqe?vYy zu?!-^kv0Z7R%Hv4Ibm=sq9~4vZu!iIUrffHA+51qR zp$W7z!7-NtHA*zkIT6=iYLsF+W-x~$&WZAE6gexY`_@rk{K6ezIDMZdtkr?Br$ihZ zV2bpEe)mV*fq;8G#iz0zv3-~Mpj)u{L3I)7kN1IU0|P>)p3e!woeXq~JRyocApW6a z*x1er(p|Dy#D@Qf5$i*iZPqtXoRSz;?GPZ9s)wk^&5V+B5;=yhBZ^WQ${@`_R@9U+ z^D#tuTYdggq!>irA|OB+yn(1~Kn{I&&7n9(BFodMD9O%+b&_;U(~ilGIb_THjrp*qvYo5d^uCVUG!c;(Mr28KqKfC~ zS*r61vldO=5az(1eZXvS?4;yIG@*N1W29`NddULuXnLz8YJT&Yb-NB7gR1m z@RlBgJ>qk)6=t7LS6hWgVviJB$n#Vga2mrGPVW6mtY-JwH(_jKX%miEOc~D>C+>5* z@0%#5#vREaW&MucmoC0|6c-l+L0Z7xY>O?8wsb-D!ODUm;1Vq@3X_bfg%chRBLvxn z86N}J@CU*NB3y30%E9ewi&=WEpsIGKL-8Rqs>AO=tc)1j8uR%*-T*SZGC7+Yo!qO? zC-lB>?hDv_lQ)Qq$P0GoNGhG!G0DGa^?T6#HGN6h<<9jb zra1o$1)l&ut*_5IuU`XMt1o%iNiya$bzSY{JsYz+^M2lUpwy}FM($J*M3T=iV!EY7df~;aWCre)I5JLPqH9VC5ax|9?w~CoDRXZgFG5uZHCL4(7ogjl{ zb#_=lDp7>BFh)k_1o_e7&QKv5$qV*kvz$VvFjkKW^mW0XY1?14pIJ)-q~DzIL%;BFg>(>e`h?O83)rPG%qAM z;n{zOJma|S*Wk!}EQ4Mou|tmLAW`DP0Ao~%wEewj;%DC8$CVrb{6K+Bqur~kD84^KLjAy!YTBw@`_y(Ms$9NwXE&RSS z2y0-2h1U^?#{d#|2Fjyp%tx~X7ger0(Lqj!8thS3jj3Qi!wNB%F&QbBkrCM|1LPv{ zF_Mo$Ip9E2Pet;Auvfq_sV+p}#2)+~&NT!K2XhM<0OD-oHsl)S4JK$81h+0YFKmSTsv=DY^523|142Un5DB6(r%Ine zTsfSsk-SfWOaL=jRHDFbq7tClE+{clpQ%yu;ECdsn2G}Q3m$=;E6VvJf?GlbN&uZn zY4l`)Dn}W@k3wodFO{)E@B+bU~Tzy0qFX;;*Y$N}Qkn z9eaY^0sKNd!Y12Aw%6DW*xrQogz2S#8OJ}zWn@)J1PzMS5Lg3DK0-XOv}um34Xh7x z&4XPy?jrcYu>oKT1kN1TfF=Rtf$0qt*JN7^-6pJYOlU-aiC2phjQ7W&e90B+jjhOG z#PWqhg*+?1b=Nd=QK^d^B1S{{7)UsS!GsWY2E1R(R>!yIa){`fO}i9#GhZm=n{LH@$5h2G=W?>W@^1KF;qP|4 zGh0+$_JDuD9*buyQ^$23dW-4};ke|G?TMR_2@;u}zCKmS#$)yYf57fii&>`~0ur*R z`W?Fi@Yo56oPd=oMRVSOSaVlWudYIou#X@GfhWO|q$-x=v_%v?2|z%}#2~7YQA-!p7u7~ZoP{_?t9xu6js-B!#vq-As2)hyk2zsZFTk@tvTB0} zMIV?>+aPCy=n48Iyv3u9?R+!j!`hp7-aT~q!NWu233{m=pMg&c_)ET$KY*_RQ7IwZ ztRgfx5qbSZYEr%E`reo8^IH!e-a220U<^!~GvEpuF2RwA#iF7B{dB^?;J6!bg%Ik| zfzZqN!G}N(NwK8erv1FBWhON!CUUMs@er_lFnpGLL$pdbrsHfsO9Kcv9XlM#J7Ru_ z6J8`{_x7iK`p?Z^oIX9kb~v@on%2?WpmJirY0|ef>1%>RxEZqMn~q`gB4p;rZo-D<7}5Wr{4uU1 zE8s|4H0!gP7Yh-FOzC;Fu*6Rhw(;&E9kijeOB?+esna_~WM5cLW!qEa~VDjOy`Qh)( z7XV@o%!(X}j+(Zw^&1wilf^;<65^poF<#6W8^oZ)Q5H0~_STMXt9Az5MtZhXm@bwk zdw*`X`-a@^(Lt9oV7=q*cn9|qIxjZ~I-kcy!MNfZbJ+obf}#MWtrK!6ATpG_nR1r& z&Qi{jH%czoJ6$g6gI~q`UMFpl)(P@z{*pfzE|grj0hSaoZ`|SBdhcL_9=PaQw)L4?tnc$HVCmGVS1G2yi9|qBuoj zjsP7u0U1Hk;E)dr&n!z~!L zPE*(t)qI@v8^v6fywIrv{D$gm=S3G4Yl6@SO!yHaelU;{G<_Vd1j*1~Sdsh_frcQ| ziWgm!9T$YLQ2!=TagXbokP4VLg#ft5Gdlbg1ku31`wbe>e_F@wglxb7OD#DNRSBLDEMGc3n8M;&28TEo-_v=m| zWDYa|dnrC+0V@x-A4Q;BRUz1mNlH8r&>n!WXEfwGZkPcfNZd`Zw{^r|;@on8l=0~tuIw!M>14ehCRX<4h*A&tfpmN4K zz-r)3T^&)wieejDbU-#ln-2#Xh#XND$6?}0;Z4e@YcpiJk*1L9;Zko{VEd7uz$=8NLc&I&D3u4iijIrIB>S)+LR&I| z>GU&5cLkOfg*;{tLU))E%?DF%hU5uzOsI)MTo{xby`NUaiXc?Pst6VElo-TC3mz$jHK?^2l1J zgmno%qQ4|*h4M8OW~X#rmBX>^ZHMk?Z;yp#l@}!PnQ+jKB-Zv|I8#LN-z8I#*hE=& zIOOs~ERv#Azc;F?QLi7T)P}P!0hiuQR@GisyjYw^W+?BGmo z{U}?P1zC=~n;S+JI{6*Jz~)_@g^>+x9FlK7*SfYPd{cEK>p)r`{Xb6EeveV)#4s#X)r@ml?vnlM;sdVy^xB?gejK@5muDmgNo zOr?^;Bj&Y0;QVXMk*dOAG5JT3_Dw+KmlQ?6C?=E1)ZP>?4NL{jmGUvV44DD*po?MU zXIT1L^7V32R!e88#5BX@GF--S`aY6z+CbAUaa-cP)@&VOPhCXwmak~cmaMh5A=ad! zh3dodK^*VL0q^g5IcL-QC8k{ z9B|`UKOoBoc;NxX$as{i+#2(_wMj{w)bxao1NA14=O$I6)AP%3G>jX0`5Ju}#f*P7 zts!Ou+JdE7BEJtTNupf^v=Foq&H~c{KBSJ^#o(ccHeIIe#aw0l{w3&(k!3W^fBA;= z#%FDu_QW<#2WfC-+PCSRb2lP3+W&!`NM;XVR#OJEBKdHJvn3IrC+r7lL6K%jdW~2- zO(I5$ZL$|ev+6-JayD{X5imhV!Z?b`(ag|)sPd0gms|bcs!M9hH!Im-thlsIQe(wG zi+G%gBM6GD8hKqmsO$N`cA{n=bE`{LUAw#)065T2=+jQPV0y8g!^ z80hgtVqBiB;B+Bd!?2q)rR|>q+nl7Uga0;~0R15v(V~_B558LaD7xO=+(*EdXb-Mw z$b1cnO_nLw)pG2xzEGK!&wFJpyMXCMFNVGE+bNb=0WgVZGU^%v|M=yn@cL-5^*#;q zK24k4f6?o=PU|pq5}bnX@Yc(rkbu#}{2LZKSNml;@yn&sb{IVpZh6u6bM}BO4Jy1v z-(li>PULY13H}b)R{$#h5GHP~RU!dob##Y1ZswE)#6LXF6mgqVLUxT8G6+~HMgk=_ z#ETA4zh@PJ<4}xw2k!v(VK5-{0{Wu*m7HRR^nXYyJ?d(0^95-MzI40q)>XxLQ4-1V7mOCx{HHRF3K&u8c zgYaJ*USQI*lHEPjl;r~Kn1YgWoeSm%vJe+lFA9*dGF29}G!EmU=yLdU$3^=k^|HjI zsQFZ>HlvB(wd;l>Qxe4(%)rvBv;&qL$V**;Obi7PS*&*yDS*R4WHK@w7ai2Z(SaLO zs2#P73KH2?0zq23Tgoj)8K>cp0Bep0@Wxthc$#?w^`@U&Bai1)Yu{&i+ZOA)-GKB3 z>)+k`AVC2mu|d}_=6?_BdTrI{5nTIG-4Fm+K8QH7I$5XmzK_CeBC(uE+`zYJ8^#B= zpP2nvZ=il4cZJjka0~5ftU2D?AxYB{e4Ex7*xTM|t-nVVHs$PpgYW+n?rUk_E2nIm zZE%nWH3cn86-o&3Lep%LQZJzZL;wZYYK+w>s}G?{3~Sb0a>O)IZa>&#LLLKKZqT}< zeZw7e4$6TFSil>Qq_|h|`mrlsEE0(Y9CoAV z%SR$3xoDy)@Xext8%I1t|99m#}2r|YZ z7aHITrxQG^mSPChNIg@+w}N6qKb5#(EJ#aPMN%M|=yNdjoTWLB5ke<$6H)l9^CEPn zRRkIu6>z;O>_72~N7?_^*p+}uQJn3quX=ip9cE|QoxNCK_5g&yGE>!aETHc0?5-e+ z28`iByXt+v`s%ByBd{vzRaeb!@Mm}kOhoSnSjx>wCOX!=tOtv!qYoV| znV5_6MD${V*ZDO>PQ_xXMR$6uv+-m$36njAKtGAiR}0YZ;l;hi_!F(sp#@V%&<7+s zIXw~2uJ$^0i%vJnIXazhp4o+7d~^- zuCS^7k~(-zO5)Yzd^{3#@4!6=8E}sbT|ULJqT9n1Z|Ds}kGO|9OkzzkKUqzsQu$`w zl`rk}_36~yjGseqTDGUFSnSH8<3^J4Tsp2gQ!NW)ILnLp61C=W*{4=zLZ^NipU^E37 z(Sa%mM`RdLj5Z~fymexWrX-%wyl1?%=k6OHJhM$=pYWe)E1rm+v(F-)6+yWddV1g3 z_&%jpEcK+I;)ULkBjzdZS8-)@W$AO0e(M#je$#_~Qhz`vu_Vpn@!sZTX-vjCJ$-m{&sbq~Z#v!E z+}ha*>cYdq?`&|{CTG#(0YL$r*v>5_;5)_tgjxsh(p%tDeGA;F%p2N$ZhSqIADk1Z zvun77eI~6aDRW)@Yf+b^8@=Ze?TK>}iRV237?>`t4epP+rZIhikFW4eJHFbb+Z(X> zApS)C0FU!I&j?q0nnE}P5ILe9LM0s1iR=O$y=H26eWUkeOKw*p@s#H;M^GnTN2@2z zlc|jN6lO|JqIXu^)>wa`?>*U+I|oOe_O?ql)sS=O&4;UO{a)XDIuV}eM|KE!=^8hO z0AdP26(C_33K9l=&eP!r%cLiJhaTEzf3` zmNZsr4i@P)J#%iX^Ip}_)I4i;{o=dQ(^PPOI{$2X+QBcpwZ8s@2ImZM?HFRh)b6$ zjwN|4zo?~YhIIFuVjeMJYGHN$oLMvdQ+=$y7>lhmpfc3T{Cf8}t`B{N3%{!!%Sp}d z>S*f@?fo^VmwjO`iW}wZ+Ci>fq9PWtA5Lmkwk-^Z%uh|4GwCL{KKL*9w{IZ7t!tof zRiE2E_>lYCr}_rg4}|~oU5ok#4ul886QXC9Ri9P6UFk&i2YWdud1%-;zg6fKLfPr* zU$V{fAM?D&e6LWf9F|3pRCdmmB};v8ZQMJcy#rq2cu#WeOWQL}pYSd)zU{T@cGn{V z8zdBDR~y6R4^Rmfld5wvU@%Y9>qc^nv)Y`y?nB1C- zAH8MQajSNU*OyAhYO(2F4gKoIlMO?)Q^t<~6NL4Fag1GPH=iCpL)5tNDFO^E@Y3i- zERz5i0*Wf;vNc#g9W^I(7r0nVP;=OYTt?3^sLP$`qS@TBu#`Xt(Q0m~sMG$xXvd1U z@a2YPtjrg~vIjAphln_9wiyF$yE~iJGS8P>EZ32r0neigib6=lbS%E*@-{ub8a!j1kB2{WYmh7mv3%uKv+MttUjAX8~~PY01bt8<50g4j9AbR z8XfM*VAh>5LNR!8r_eXOFTJ!+=zK}lA+4|-a80;IgM+}tKm=g?n-7ac~6I``331-h_4jX1b77gVqq<^Gep?hHq1 zc22AJVrO-qe9_4#A6cH?9uDPXn$Ab#;+g9p47ep%D%`f)-CbBnu!ZNn5|$IUHSQ^d z#Rl6c)Qv7eH{Fc+S=;mJ;dH(|)7H?O#<6_(MK1HAFETmz#pB_8Yfrdyy@s|~(V3Vo z-3t?#HN(qbW~1=(*=-pdyeOP~&D9HMgID2mS&p{BD4vBgh@B8P5jw=sj+(*O&Nc@# z!-rNjs0%19OVMqK4`78CU4^Hq#(RCg8-s7W?3f=bm16#6CUaJ)bXF!a>BlZynMKUW z1u3l$i}_=2-|P1M-thF5bG3I{ub)i$UG8``R;$H2hlV<1w`B2sF|9otb9=Y~=k$c< zEC#W-woYB>V~^%!>%%I_BZyFS9`7)3t{R86897IR%!MJR-ElT-!e}Vh%5%Y`E>ICR zFic)?-NKeOidlhCHYeO`koT(sn%1h_ky8f6->)sc8B;54VF2J=`rpFVEd^>pF} z!*;8>C!UJw^ZUG{6P~>gYwah!zJ2lR^^3d~Z_#GhzMGokGr{GnU^&l$cMLZf8- z^0e=HV`B(!OkaM2k9ey~>+3J=QGU}pr5__+VvbVCn9}R-0le9jm$yfd9 z=5<<21p(3FeYqkQ@?3OZ|Hac+|0%~Wn;GCmyt*In+qIGBhqGOWmNK3Q9@Cr`?Zb*A z-Iftv>Dtk*n=g#Wg&!OR-pv;5`)NPcjv-~SgZE&dS9=Vf5kmIKWrz2aO!Y!`wGk&wR*+&Bu3o+KCvJ%k;zP8)09Ebg^MwY`a@lQd*Hua zhOyG?>bBIK4UbxAgMwU8I#Dm3%7puPHF)1(5@Z?;i>Xf*>qfYn49N)LM5wo}EQE&j zJht3XC?WzvQrLIuJLS`UIGs#R{oj-H7yC)~M;#k&@!=mXqΞr(#{P@A|12cYl|U zrC^*Pa4Y?c`xDE%An4c);W7Y+|2v`ehju?R1p~aT7-k(^6}xvT8Kk_l3z19_#Iq3& z#$`VkPA$uKd>h_zDjc~6E7`3W5gHP?W(4TKs(@&+`v!99w>S!eA&pg>9$vE-lOY}x zlv?(UV}!)E6>8r&7KhlnT)pm08QZ6(C%>MRy=zraTA5IL(Og=7Mm*8rwp){lFPym& zgA*xPf zc{uynHT=S%&X^9vbyXqf&2vEUus*|~ATTjI?$~>HER*npi7O}84dkh zHMgt?I+fw>$j+-43mD=MS?$}F^kbEpY}=A{^lKjv7xMv6AMoO9J%8zv$UYcA+5@h|Vjvf1~>J#Sp!`N`buSvmJd%}qR%)D=%3qrHm! zdRFe{+^ku-n{tQ`!B3{{?x>Z9{XBfHU|Ia2V;%9H(Y~Ne9N@l2pdI5Z?vyqpH6UJfO`@5HGGCQa^FKbG499Uq0DpN$MLmwHAH#1 z5igT<+c5U!jJiF@@nJ}FKDGw_)gp9xA@&E+-@XZ~=k8|`dzlu6UhfU1Sn?kX=Fh96?)7kl<$xWNLZ^0QW0I>tfPlVguIIwfawuzlPu(t+jY{gUA zjua>Ham&_ow{ODEXn5+La65@JwuHIqLw=k;H2;z$qoYN5?HARR@jI3Cy3w6G_KfbF z+`1)i`U?3a`6+1Z7K26QMJ~TDo5OKnPuA^5_T5e7kpuTkTu$7-Jf>3EGP!%(&K>ze zq1cCcRB+^F?iY31{k-sLXQ{vRM?Q{Ystzk=y9jT16%nWn=U7suu#hDj2C(EBFiT7$ zBJrD0BXg=nwPLO8cGaO~s7_2|<>nK~t1i{8dQ`8P0~2GOI!wXI2*>e4wFu7R#j2o+ z7+Ytt@^(ofDoR!1OI`wx@-lQ$xrvDf)SwztH8re8)Tla2Emtel(P|}z2OO(bspBw% z!|`g3TC2v?32I!Oh#-iQ)XD0VYQ5T^PEn_-jcSuRO--oHYKuA@{f=j-ZR$*Q7FKvW zTkTLg)h>08npC^h9(AtTtIkvBt9|NK>H>A4dbPR;^W5)8d-`H^2_kzhRhOY%bA@`n zx>8-G-k`2l2hO<OS=mb-#K*J*YmaKBhjd9#Wq`^u(vY z4xfRi;B)HphdMsx7Bylch&dQ_tj(S2kM9F zN9xDwC+er_XYg$NTs@(Fp?;};rGBk`qn=d1RlieDsi)QN)gRO!)t}U#)nC+K)idf@ z^_+TM{Z0K{{X_jz{Y(9iI*26%-RpPGTEv;d3F-z0B;jYP#}YHsBqI%yl}4E^P0}nm zX^~cGlXmGqh)Ac*lvy%c^3o;U(t}u&IWkw~$zd{I7RW1Pp)5ia%3>)&@wC|GAc*Oa#?vlIZ z9=TUOC?Ap!%YE_@xnCZT2j!#kG5NSWB%hE^%BSSh@)`N8d`>REcW&g(ASt$TE@ zo}=gLc^EK0U%QB+g?f?h(~EUM7q!t=2fC!ox}vKH9$KQ8>Sg+HeFO$)4(LHWq-%Ou zkLXc-lwPh^=%e*YNZqk|l|D|d*2n8LdaWMQC+Kl~qF$#@(kJUz>h*eqK1H9ZH|kCL zG(Dj=>n-|py;Yx~x9KzWS$exZTkp_2^)7vmp47Yb9(}IftIyNt>wWrF`T~8Sezm?x zzeexZuhkdpOZ4mXrTQ{`xxPZbUSFxN(r?gL>jV0Y`WpQveXYJuU$1Y_H|jU*x9FSn z&H5JoR{b{pc73b9O}|6GQ{S%d(C^ak*6-2p)$h}H>i5I%eV4vl-=pu9+}5}q=5~bJ(P&#F zev$a-(hKudBz}?jMdBBUUnG8!_(kFuiC-jsk@!X87l~gaz9GILz9GILz9GILz9BxA zXA1Lah;N8*h;N8*h;N8*h;N8*iEoK-iEoK-iEoK-iEoK-iEoK-iEoK-iEoK-iEoJ? z5I-P(KzuAv7~Wq%{DAlY@dM%q#1Duc5I-P(K>UFC0r3Okmxx~?eu?;);xoj@_@8J? z{1Wj?#4i!QMEnx*OT;e`zeM~J@k_)n6TeLSGV#mAFB88^{4(*i)SO#CwO%fv4e zzfAlx@yo=o5Whlv45bY37j3d=OZ*D);ew5h6Td?I3h^t%uModN{0i|a#IF#)O8hGE ztHiGoze@Zn@vFqI62D6PD)FntuM)pX{3`LQ#IF*+pZNX6?Bo=C{V{YrMY3>ubDznCB1k{9)eLFz;uW z=MPVvPrPB`jqv&r=6i(cj4+)MrZd9pM|k}RuOH?0qr7gE*NrmYqr85U`55K%9A$c= ze4e9Bca+a{G)f;$o3MVELX!IL;Wz+4@3Ph)D1)3z{=Ip{ZTgzb;D3M40Xd$ zHw<;dP&W*9!%#O2b;D3M40Xd$Hw<;dP&W*9!%#O2b;D3M(8m_#kGf%~8-}`Js2hg5 zVW=C1x?!jrhPq*>8-}`Js27GhVWVT=S+|`InT`)D`QXdTU!PJOLoiH`x)_C7F;?{WI z!^EYYU}380{;4ZwnE2EeGt6>NoiW3aJ{jtb874k;#|#sHnE1oQrw*AB;!}?d^~g|< z%n0$ROJ;=l)F(4S{1NKF2=S>~W`y|EFEc`X>X;cNKK0Cu^8Tr7W|a8UH$#0h)Hg$2 zGt@OhT{F}*LtQh}HOqFIrM_9}o29-#=t3?Xzgg;{WqZt0A1(FKvOQ+0la}o&A6G0piK6MnaCHx$fYb>Z+x#TI#B$u3GAP<>ZzrkTI#8#o?7aurJh>qsimG;>ZzrkTI#8#o?7ZD=8TT;si&5DYN@A|dTObs zmU?QbrZoP=%2H1)_0&>NE%ns0ePyYumhCG`eYI>~S?a81 z`^r*pE%g@Dl|=Z|T?AS3Gv6om*Rp+Osl%4-D@#4LY+qUGvSs_qQlBx-ElQXAY^l$d z`fRDswnBXBv!y;;>a(RjTk5l=K3nRur9NBgv!y;;>a(RjTk5l=K3nRur9NBgv!y;; z>a(RjTk5l=K3nRur9NBgv!y;;>a(RjTk5l=K3nRur9NBgv!y;;>a(RjTk5l=K3nRu zr9NBgvZXFt>anFBTk5f;9$V_Mr5;=Av87&F>XfA(S?ZCc9$D&WHO& zSn7nO9$4ytCEr`}yd}R|^13CT+fkNJ^0_5n2jt~|JRFdR1M+Y{{td{#0eLqd-v;E_ zfc~$5JR6Wt1M+A<{tU>Q0eLZC`yybwA|U?-{_6LO@;%$WNHKKCCwZ zc_$#>1mu~3yb{np56CA0`5_=L1muN)d=SvS4p^T9*5`orIAHw^SZ@Q?$AI-PVEqeN z?*i7Zfb}Y1eF|8Q0@jm&^&?jqE2L`nF0@`^2?Yn^O`+#;_K>IDI4ZB{m7hZ5Z=2742w-+uzluljU N_m}q|`XJmc_+R198#n*} literal 0 HcmV?d00001 diff --git a/documentation/fonts/ionicons.svg b/documentation/fonts/ionicons.svg new file mode 100644 index 0000000000..ba35c41f6f --- /dev/null +++ b/documentation/fonts/ionicons.svg @@ -0,0 +1,2090 @@ + + + + + +Created by FontForge 20160407 at Thu Jun 14 08:50:34 2018 + By Adam Bradley +Copyright (c) 2018, Adam Bradley + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/ionicons.ttf b/documentation/fonts/ionicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67bd84202ad5b2e307d3b6fac1731c2a5d963e0b GIT binary patch literal 112472 zcmeFadz>6qoi|*k?pc%^Aqh!HLVyqk2pB@Z5CX<< z8v$d42mt}P83si}L_`RPpfcj>!?Nh2vdF57Sr#v=sAMuCB6i;I?^N~7B(VGJ`@a7@ zpC{9&&b6w}<#&GfQxTXT2tHv{kc5?s7q40Vv2Sj>M_^x{gVNMVC-?LZzcR8z5ZHR; zN6xwMtZjGf9h(#c^L{~4m!5Okjops5!BS-Kg_Vpt2`iHiD^t^Za zZhl)3;#&pwu{E2|J!_Ny^SfU{-7gTzn^7SBO5TO%hmmjIeBq9rxi1|Nk$*}MjNfhj z@HuDQw^(e(^YKn)=Y?nO+$LG~1{2ZoNQbL)hGNM*ErmIe!+scr^a~bV;_&joXj>>BzI9!oGvNE;!Zv9`>Ch&kEh5 zaO6*TvcjK4x48err>R7Ih7Ah=UPN~?-fCFr<|Q)Q&GrcjikGqTP;$H*|5-=~*Wq44 zk$5|Pv8R*5%JYufB#a&sCV#-jkBkf5=-Yf$<9$>A(#SpIzWE_kjky7B*akN}PVtey zvC$cMN*_G(C*GddBVW5;aNCW!@f&WOM#VUuR$Wx%_w^EES?8dda(Iao8{#|M(&^X2s zsIC@MdejY+<^k^*sikMsJ%smC{Wz_STRu9YzLutV7-0-y9N{4PM`e^Bb^5~dR7YjC za0k+x5k?S>t?NbEFrI^*F;zE=bnV_zq|;PK^El%j0>(1V%W2N4y!|rDyI~aZ%rJ&L z1u9!hX?IpWf_fy@>FgznaN@>8(LBvk_-Kp{2i!y4vpW3`X z2ydW_-{aO%I_;DRD-qMW6Rc1ebKA^}4^msq$+#d0luo<(F~H0yr4h#5FgznYJ|j*0 zX#`=^jni(L@}ut9$7^NC4wNT2cdkfuO+!HI>@ zqhnr9ZAK6X?rX7opYVH>5necmForPh!~*iQ!23+)6dEXY=Vr`l%hHHPsoc#!>ZW;_ zgBSUG$51|uK;^v7jj8-qgj(G=(o|N9DLv{2N`Fwk-7P~Om)L9Tp;H85yYcz7)M+SX}5lu>Ri}I`Y0G0ciWG-G3ux8 zAEo=;FphYvmd2Xwcj1TXsk{~hH$6Pnb_yp6y(k->uIKxs)^5bDqx_f~YGvb2UU(4k zs9Q()o7zzwl~H~eK|r_*p;k^Ym5m|{BWy(&al<&`F@#YBO4stW^f1)}CsY0)!l>IO zP33NSct*LK=HnWrdcuiryRjMVC_RoqagBCUx>kO_TR-BK4I`#7>gEYoj~^3ibz^S% zR37-4(jOG=K{>Ur)!mA8EsVJ36pynQD( zPr;)-qy31B&qoD3-^Bq3Q9s7>Z`1zZ_s!fVsH^pf$B(*sDkq+W;?e0c;inD^3(q?H ziPo(arp8S7%!E6-pTaN#(f@J8W0ZEw(uhAcqm1gl?c{|~xBMkR5Ww+H&HGs{46|s>!;p>w)~l+h--n$W(F!B za|4xAdLIHL0>Z_D^G`xVA;n)TD2tGzE~Ermp_yKcj3z8T^zfla4n210z@aA(edEwG zhrV^_*+bts^xZ?>KlG1>{^`(<4*lfNza0AMp?^K}^F#l3=$D875bokI;4jq}0CX@+n!ZTq`_$LArp^3;ud?GoKnrNKJPP9yPOstq#Ik9?T&BVHi z(y@b3=)@$g%RCk{^@e*5q{hu=MXWKx<`Cq0wqq%~UpuIk{`{ipi@cubI4Va`)t($xlt*H2LYt+a^CVdFSLkllM;EH~IO= zFHC-M@=KGCPd+jE^~q-@zcu;nmALaA-)KT;J{0GeAzaKM? ze?Iir3HH8ujPZGFm}tU0<|n$Q=5f6{kLO?>H@owA@x*fz?;h3nGNatshx0S^sSP(E5S(qV-SK3)Vkc&s+b?`o8r&>mRJ|TF+VEvBs@ut#4c3vc73O zV?Av>WqsXx!a86*YJJsu#QKW0&$`LlYwfl^Ze3?xYh7bqZCznqZtb)_VqIokYVEKt zv9?A7G`m7GC&1$vsR?cd&(pIC@VAWYkD`Ca0uobdw%Wqkh&+=Lx zOSd#jwG>PCRegW=z32O@?;YP?d~f>>`zCyUaQ3@{1pe>!|IZ9C6?oEp0IQLmnGdX0 z&Mf;sFU|E;LOcK4DBLJK%F=8JdriDud|p~9$K}i9s&bz4hMHCvsXNvE>dWfeTBmlI z_K^0X_Ld&j2lVUpNzVe$Ri4+4eq*a~z&PkldKY-VZ5GYz%!hrwzV()Y9k3F6?Jd9I zU+sV1zQ!I8*n!gm&jpjgv5*j28hRxh53dg&2v0`ZBez6_=%(n4v1n{%Y;Wx8cys)r z_-_*piHj0XCHE%3S@&e!JE@JS=jzq^-ulbx@2G#bA=j|JVMpUotO4K z)@xc1w6(XbY-cU8}oxbiLVK>>llYrN{0m_gvpI-fQ-* z>AkV{w|#H)_xIo4|7u}V;g-UI!n?)pl3v9}YGQUN$%}`6xZ}jfmaSa&{pIb; zH!L4tv1Y|pD;_>6deWkkcAoU`N_piwt5&bNe$@-B-dJs}-mv9? z+rRdKbsN@QbIShp1M91&UUlk$Q{OmEKW)KjkDQ)7eeVWq!-5SvHyk`;@fp{j@$g1_ zm>&hI~e&G~O_iEruNa^99lx4g3D-3!teY`Wma3!d6)Y%OlRX6s{H4_+9* z=+zI)A71?7m$${YE!cM5wx_neadGhC!Hdtn_{NJLy7-$HzrB6;_J_BBfBRdPBrn;1 z$tydA9fLbI?YM5o%a_WRc3!&v((RW8FB`mU(`Aoc_U1?Ik6iJQ2S4)O&h*YXJ9qE= z+|K7en*QizA07MX^B?{7E_GMKuG4m1v}(X1#zV)J8Z@l&4 zTc5l2t=sh5(zl&`+m72FyesQOLXYS4gcka0Jz@6{j6~61dyKcX0{I1{K-F)}5ySLxH|L*7Sk?(20=dydA z`)v5L#m_GL?558?{n_gN_yK$^6U@CgX2rbcaA>C`x$D*_G>R7bUKbP@4 zch%k`E80>;)@-(qm!HR9WNWgrR8wSosY9BF8DqmjTo5YG7_ymsj)svd)dq6Nw$Gxw zMpVNdNxzgHvGL#$L$yb2dxV6^BNJ=`yHO|zYiK4S;cQceZtky?hNNP*m@nlz7)lCF zs6$GNSW>t_j76e_yo%2Em-F4yTvi-nl`^$dV+~?G3tNn>u&nC1WvO1KG-d1RG8u(= zRm)<-mZg}}W#&7QtUj#DlF<+ggwh^KRz9vMk|!OiYqNZQzfWV`3lgz#EU}=QX@1`^ z1sTQbRqC33wo%c8NuR9ivM(9bE51PPsI}GvzYv>Vg-S6KiG}-1D%LoMwRYzI-!oDw zYJ0u5*PV4U7`(*qUu94kt*MNVX5)~5C0J$V3+D?$pefMQQq1S_xs0Z2DlKL#+FvPG z$~~+Q)>K*&`YRQwtWqxYM?&hOQ{8rW=;upU!k!MnqyvjK=Tg^_WSIQ}4yBrZZiZ5q0X>NOgQHm+q4# zN$yMMlATVfLy}qoAw~8Y!EmxJ7|{(y$z_?(P8xPRnPmTMEzQ-DzXATgfPJQ6p0*2@ zqbwTJx>>#wE9WtOKT_p;uTyIcfX1ep z)>7yzQ*jq>`&sqY<4-{M#+(>)3%mxTFbcg1L3$(7{ZZ^h6`K+`p;#^uJ|kGK#Vp-A zFwi23n%|!ct+CupT(5plVn`ENQus z5!{FRW0A1h!^#?f-p^d=IaZv<%D^3sjC$y2)JNP|YKca|8n9O-1VB-9C8bhE zgWL;`=ZB*e##W2$>Oj1w{nXxeiCq==!bQM-SIajnM|7aIll3$4c*gogv7fQyMPylv z9KH~hxmmI0Osqb?f{C-24+2V<)XeZKIn4H=0i{0TJo>ifOqzWIzqen6j))$G$DSC7 z^|XtON%{GB5F5sW*yGS5@%cCid@#o8QwCUck#M|lqOe2w6tHQj5NRqEVwDDg2i;K+n7z!9-XK8EMyF%Q5Rc|x)IT*W~sgyylcV(rG2Pc@ zOQ`UKJ@=&h+f3C-2g_aG%`C86ZCleDrMO2^6h%zdnWD$EgV+J0p~|+DE~7foAj={X zWhN$ailhb-mSr z&t!1l=~|32pCtRt02+DgqETD4%z!E>s%YtIOM_|YvZw{rfZgD?qyFhV@Cm^ZnuS@| z15pAm0xkl%m=pyL0dyW++HzDDwbYbd;`80=Yew+hUf(bmsZBuUQ)O9AW2LEFT2r?s zlUuRD%W6PfsNxq;7x{eEe^%8lNwTL4ZCPGFo$~{UdpyA5fF+qc3)ms(PKnnE39z?T zfGRbFN)(g@@Bs1=)rMF;N2qg%bu+}>%wj;1wb)`rQyfI;BydIB9)`V#6ma9u!o&RU zv6h8bTyaH?U%L!l(&CMgM#H0qj7CEWg*}pY*eeAoMyaF(RjD!D7}b=ZA~kxIps1o0 zO{gNO8MhBb_}?kDN8-W1kwONlhUjs+WTg4S(-AjDsS#k_A+Huk)D#e48v7eYYlRK0?PB(=c$wuy6`+17SKs zd$g13Pg99k0G6O!x5!zrSOXR_#(4>+QHk>pge+*c^NI@LQT{OEJlG8-RjE%!6pu$u z=pK+GRTlL`Xei#FmVzE*flpix} zZ|jR-%%Y?!b%vrES`Pa?T3246X7C2Dl<{|}k{W8QlNB%;3{TT!QSIyUNKEf+^x3NJ z??8Vf#idPSpiMsT+<8n!6WDE_!6r_lwEjo{7_td`YoJ(&fv2SPrPXEkR5!~(i;Y;p zxE>^iGN}Jf^)S)g#IJ0L9JYc%D=a7V>bsO;s(z!Pn)qS9iN8I_9s+*$2ocPBB$myT z@}*Egi)i3xE2Vs)Kf?Uyd`LX!p3Q$*#m-tadqmvFzRJELGW#hw#07(ejv3-}XU3)pg6KmHV|Jd3k*embva}YF`ASX-ca30IK0*T;q1#kT~9b<#58Jvn$)d}_eBNiB=`%N~0CJyiCeI9d=KRLz`^_A%z^g@3Ud>v9p1H}n$et|9k|LihFxUZmh3~<}39DP# zS)?4+x`O_4`ML5q8p{f3`NpBL{`w0AI`%gb=Mb z$#fh|W8F!3i*cSBXqw=F8i1QdlJjZ=E1U_Vl2`p6k3ZAy>r6K#Q<>&uvN@j2*#2NN z7_j59U?3h#`!b!Z(S9xhB$7@yb^WacVpY85_sQmL-EQ07Z3RQV-$w(s9f1%a1*-P$IHMjmP>u;Ae zT7gJDzhv8``LZg#IbT*l0X>6*o}fN|UN_I_t*v@cFEliOHb}Z2i|ID&mW^>k7UiP7 z(k@BcPM;6b>KQosUX-l`arzJ`E#4?$f$0qy%xq1w8b-mC( zwHGn(-3p+JBer(3G9zkq)yol2KvVz4Y02;Drsi}z`bB+P30KWt zKHvY#z~kg19KIPdOZ43lU0=S={9FRqS*{pN<|g7k*YMVBH}gwB!qs3gQBSf^>!wR6vy#62BlmU_v2A01`;c z*_z~s0jEE;+*sHh!KU z)|(2CQbSxG9i?`3xxA^l=@N6ZiQkU79oXi;yGQl!eU#vX`}V)-$$$NFypGeKqvzy* z_|};-^1tbUI~V_TN8DMU{?HrstzkCOmSCLA^v z+yaJ0TmvucAR^%sl?puq417I{VFN%5UFa|OCN;xrH-vp*)gQ49L$g!CMosoGI|?yH z|FvPUAXKYwg0099bf*e@NV*>M}z_s^a^g;!C zOAtL$R6yo*dB|p$H;F;L1i=J#Q&n6uoq^U*Kf)H;7!@|p>6(6hwjv%L-XQmYUY zl;KbccUP8u3pWQ-kGB@_*t%5CDZDamHW)?4Z>p!+_5vBy!>5{l%X6H^o7CJ!}un6w0WjYq`gM&32OJ7mSXR`Dxd-_{F# zQEMHhb%)nn?}btX(y6$BU*|FL62rGs_CBdv^Oca5%dOa`_aB%m7OU9&Oa)=AzO1?rr zYpsLEE!o^Se@=6v1+rBm==7FP8mwa0>w06auJ<<9rz*^NMv`X7&g#+QaZY28nb&Dt!8HpQ1FdY#nb#RYo0arA*y5!rATkLD(W(3b-PX5e6k7j}jpZtQ?p$unjKr+#k(XU}(W~ zX2GNtv_4FwqYH?}z`ubtMnR=K5A2>LY29*VNXkR}rzJxn)B{j9g1v)|s2oGnfA%wM z2j-W2R?Ep6;RBI%DVl1`VUj)1XR5Q9!bJ5CgR0k@gSrk4`n@iZ1v3Fj{7pgYilv|w z2>Cpc)Y{P?Cyo!#NrkK?(^PWc^q%*LEX`5@HJUx^L`m@l0zN$MBs0{gMs!UR#UWkO zwGO%94{C-Ol(95H=Fx(xqO0i4T$u$jL5UsiOUp?+6K1kM)D(*LWD0eqd*`GA0acX~ z5pUZvJ>qG#-n(B3$yg`yS$Qt^hz{c@QjQKvSd;s!#J=qg0T*l5z zSf^MB3WlhbhY}B(J18G=Q09?py9&jVq$zKZ!s(&XW*EHY724N{>TaZEX^5v46PhD- z9TZAtwR)-{|KpQOE|#P(Or`LCqT9W|(JR55wh6+Bz z`KNHYF%n;3%M2DH4Zw2Z?=pp`#&k(C8?Aax2O-kZ2Gc}CF)}MpnKiI}{`~a=vrd^E zRstT~7xo&K%+mAGckDmG1`KTjMgqw>itCu>G>&301o6lb;I4n-dkiP1Fc6Z_NJ&66 zsmx~p;t=M6@Ki333hazRA8CFI{g<^3daPxpaY9s-(%o!REO@i7b}5orXqGVKl4_Xx z7j&=nh1ng$KCwv_t)~3IFJsX!7zXpGMOhN1<{k+GQirPFOdtT-@%JO|u!U?7)?iRL z+3gYa2d^Vt9ie9Y!SW$u{f8uUlGADn>-MM7kEfqv}l0 z<#ACBk;$qTDsd)$T=SZH_nKZ!j2dQllV%x)r8f1LMzlp&{F)W<$4%4p#r+X@%PD%7 zp|-TBhM_7den!EFMh!6$=t&PR(jn9Xks6Z1^hLwzo?|>&TgayJ!!5_F&pD*`o&{jrrdD2V*z@dz-VD6#PBq^MW9DqbBbN>Kr zXc&zt&ibJ^lS5x>!UP1q@Vq@`4D33+<<{V=c~KhO#D zm}1z?wj`>N1Yi^TNG%u^nct91%gam?`wa>R+0c}bCj^Yf));;!h69>ppfykpY;F=B zV1OACrH)zo1p%ltJ)xN44I`mS(C2t9lg*DtT3SN!dF!&>;!mZbf(0>yX&|zQ-O&wW zT~HLmUcV}*n{-LVW?-@r@TiIx_QnhSUTmy@F0!5uJIo~9hMQq&DM&vRyECHb346WZ zXwgfE)lF#`OxR2s)e0?%%W^?WN=9tU;ZR@-;+zO=WT+v?%I6@vm-?5=VQHwn6RrZo zUAlaNjGtaQ@kEy|cx6$a*V8tOv3Z?c^V?-b>=8X;Nm7)S6Sth`zWa07YwcVvcNc+x zo9wqBWZbGvt5qRjM-j~G(BM`SEFXaa`=qA$M5(R;4iq2&$~VpCq;Fi;lz2}vBf_Yp zb^&qph^+c^Xod`3H`rW74f&hu8gx;4-j{4PpMXZa(pM*WVM}3RkEFA|L$ggvH0XV* zf)4z*6FdyO7a%i2+nH zf&7qnW7gWBL=_uGH$#@9A|_N$N^nAyl9H)P5lQygVnB%~4X0jq>I0V5Y*_=AwG5(y zlxtVRo>WTp$QwOsyJDyXRX*_sWwLLd@^2yc5Q>jj_mUMCSIB;|m z_!t2mG3X{%9{q+`GnGbXBVi~?OT`u%Qcbn*3=r3;!8++IyD#YT1$}aLOh$yC$To@9 zF(~<2E0p|E**@FG!07sx&vU@z^LbQRRw?Eg>=jMlNECS^Ts~~uCp%Z@O7M>j14ogq zp$poEg~D>-RN*XO<_2*PP8sL{Y}85_d=rwTL2-yl=>4=*TAnRRz|jC;sF^Bo&2cm* z0PN{fSDO;X^5n^-ClfA!BQv#_DpeHVlN{`zN<~s*DD%U5VZUX^gO>i*D?mv$umH19 zk>#^(dph4`pG_rxzyEiBe3$z@5VBb{?L6D~V3a1F_Lu&}XJ-Sg*nzfPA~N*18mEF%Ixs%*2pA>AAzwM)or z)3t1SbF6!4fZtXP4&$UsZKSXNt<(wo=D1$NG7b0LEA9v zQ#qeutDWRq#2UQ4_4!m?MTQ=MPbfH*vt^R-^`b57N z?dnvdfUd)YART!Zyx2JVB;Y+n8mAU84a5n;Eu|6aC8nV>@R1^Z5K|6bzmLF(?E!ZO zb+l65XM_#7*;otCozug%$5Yi`H+8VN8BBi9{0JI>4_4R~G};{SRsT|4vU=XUrWA`b z6pL&@_wlgX3qmVkW4-HJNS38RhcCy@($qA$=W$;->@Y2(Mw+m#YCdRDjzwleP!8qZQJdGI|rYN<(bf&Jjj(L@7UXHd)rc;eo0xY_P#ZutW(}= z>s+QWbXr>$%mn=#;8cxBBs+ePb`ktD@whi;}XbDsz8d#!XgIiMY6=ofde{AJd`kF@LG?B1JM9}x`|zn&6`f|NVVn~tU&c`I|Q#2 zBe1NQ?BsN*P!llzGUhFfbsNDxcfB$hY@QAkVWlP#RbZH_WC%04)6`$gl1Ciq#V8OW zEbBm!NZn{z_gm0dTPAk>aBnXtM0H|p4AD>u|LD|LO+V;|Rx-=AdUHvi4%v_F(Nm^q z;@Wc#3HX2%_u~Z8ueiv+7K0-@&5A^<>H}8fRKF-%#(#BTqJ@JtNB!7^wOb=rpXi6G zk1pqbKXQgxI=V;YXdNU?CMVLdV|rhMy<$3+qA zF}eqrS5v8bQmK7t-m_pfPp_wj@R)G$zq6k-=w3-;bRiBLrVA4^46shv;!1MwTPfn+ct{jilC5l|$a>j=OlY-j zk7-aVO!M$*@?&Ws?4L#7$O)9F01*qaQxd9&`pjZr?x`GFH9vfAK_y(;0mY9BQJ#Fp zNUUU6+f0{dfexsCZ+-CiO|m&MwB)=L1er@@kEr!7Nj1R(WB?rnKVeFVA{?f~O~+ed z>FPld9)=N7grKqMI5RqH+1bbSbU+ydVc#=giYy9GE_sfuwsg&h3yTMjGd;&`lA$hf z)2#y-Cv&8Yc*i1KcQ8U`8bx}2d`m}B%~6nvi_dbjuWNFi9j zY{E|$-Qm!2R3}VP3V_$z)rofoC22shl%rq08~#b6czG9dsug!0Twb7twLW01HJ{5V zU-H=>FiihUuX5qYF{3-@zws?kPRoQJFh)lTWP^}8j~$)kSe`m|SR~{Bi9Lw(>N#jH z7h)zkE$7lVHWQ?D@*ja_r35jba3q*w$nyQFi#xP(LJQk> zu~|N*$*Zt{bf>H%voc{wu|WTj@tI^Yn@ql<=(ZP9BwHBtiV)i^Ur2UsI3u8MUibxe z3+I8p6+ucIp`^qu{UEZyC9}!Q@9<;Tq}nv%p8{}Lt+31Z>7ca?yObOt>%^#S|J^1P zT!O(#4aF>NLw>N?JU>9t4tSu!4FsUe@%lxtX2Kgv^Y&qz?DK^N*m}ZgnuoP`M7#P^ z+|&lINiYyPG`&Z|ELnA$Ij;uy5>nYymuY_jh~IYrqHfBT-mOk03p1hi2G?fpE%i_f z$NGNYD9D}0gBp1#*K`>Qxoo?}eOQ;s;~SjtyxNHfW$I}qIQuKbq5`M?lB>YDZ>lpz zRGLbugp1c(bk}?oYfe0`a4+^6|RAoqkSWYfZaOyZEbuUU}vx(|EbY-oW z=yy2Y(yibeQk=a+7lciqi(_c_6mPdAk*!|AmT)}x6s{nK@Q*-CT)>yRdIFLoh;H{y z&qmp$aRpEV(y%}{pcx_5MY0&S896)>OZ}x40|P4tzL{uFB$|&8(N?v9hwpuIxtvN!@HfCt>WAw+)PCjIY>`|U z!G?hH(bfSL&eEd_aL%s~{mXSoss<0pGRX#7Oe4i@1$huiEJ^`|vl(g7Av2+7E@NL( z;+l2lyy9tfwlA*xeDJ0lo;4DOmfNbU-VgvC4yo$hrU$1^PUqLJFhwR79)2fKt&27` z8`OGKK%@}nKM^j^WDt?P5COyX6UK!?cYA~UP6v8^R5RpObJc%&nD4s^=4Dtqb5+8}t5zoaPwvmwGmX@f&&j)&4C zk-@nF_|d3gJub#0DqamI8?-_V^#R0g=02*Qh8%@JgS1EBD+pE`KEWjc*-$bPklIqM zQC;&#nvyj~*4yjCfuvNQ%g9l`(HyQL96`h_&H3?jgcQ0an4Aq1D_ zivbA5n>v_NmMbBfgK3K!A4t08=#=;!$B}g!x#CDq6iP#CKr7D0VeI=B@Nrx+gaVk< zV4Opudr2{lSK&bo;FPc_qA_xXrZUc?lS6E&=wwLgPAza{_e2eueAz{HSYf8+k;TQm zi$&Q3ov<<=OCT{-#zafdnqg%^8h9xvXB3}bYtHm^XIdrO7ZL#*kf$SXenT^<`W+Lt z$NZCdfQKpCX6qHLK3&(upd<#u$$BhURAHJV*1hVrG*4?oBH7UF16lIja;21Pi2C77 zEvj{*q%kG>mSv_gXE4Pk85S~VKthsr^$vM#KqMfRbbPe<20*0EfO?5UcW}F`R~026 zfC8?(XabN@igf@MD7IxKrNkL5a9;DHu#PfQ)g-^H=@L6Z3>qfneZ}ViuX;*Y(lv8Ub}0>taZn| zpW*nKTFm4I26Bx>qoGrszdU~|=i%^`%fZ7H;BnB#c@L-zz^)O;0ljISd-21ZHM5Xd zO6V1)i_p!Q7b23e0yDRZ;&yB-OB6>&Ad!jkK_^0Kt>Ri`NY&LLMaNmWd@2v+117ZZ zLfmzs2rYvwZrFf}PrSs5P&!p}mZ{8=7c3hb(>KD&bvUw_|d(p;swoL?{D*MFGquR9X);`a~bT&{`bH;_se zKZmcL9)|#{&HGnGMbS~^v?w1i?^o3pU~1++XpUiasr9io&6rR}uTJ!mbUQ#(Em=6X z!MzO*ZiO0;U2|$?v)8q+!!N(*?6dcr{T{akf0+u_-HiO%d-igq=st54&y0dcz*nglcTS9OnS zu*NP3nq3lG`Vcmm`C(1FN{{Pn`mENJ)!UcqQ*~>iuZ|peqGeKZay#@}fc<^sQ`?e{ z;N*{1s+1@YD8NOCjgIxMT-iG|7D|T3w)JjrY_#ph#_heWn=keSgT9M5yFNQ410|rX zZv$81KwSg)2cT>W##J?9PXYbLqRkG$h8u^Yb1J*>v3YiphZ%EDWv36#o44@v<^sUMy5-=f$AH)kmh$9emt<% zLlMM%e8@H&t3geS^Ppf)qLtr@;@QBheQ;vn!1LEtAQbm9x;`k1eZa@4eu_iU)nh1J zMHgB_mu_O?;ILx0lGn2NN&)c0Hm_g5VtwJx6;8xP#>U3Z_&dLlA3+sz3_vv@e#8uflD@^WaOebz zcrZ9oh$!)HSOuejl2NF><{?*ckB5z_rW#4s*>Rj#6|Ej0+_#!>?2ErY%h<3iWkekN z4J)2NQ`iH0l3W(W1#=6@L7PdTsAEZFFmk~O&cNHQCZpo~GP>Zwdu0~!cn5mxq(G_Q zdB@|$8@;4b<8U~P{WuK%9Daml;>2M$fxiJA#cPUW1LSRcHR-AvK3m_Gt$sh7z2T{b z_J)S`C9SEu3I!(IwbOZyt0T~at7q_P;Ge;)5mEt51AfV|8erYPWS4SeC?~NRdlXBC zqpX&gS7AZ~D;xy_MEp_(N}@717D7z~o(~H;B!Sn4brW|w8yyk^oi3zx$H8ou6Fd{& z(Am25_;M+sXJTM*;picfuf7iF2C(3fUK6tdJ2^@v5oUE$OKDwLf2K+SPYkD>h@XOB zE=!Q|>tQ006COM4g#!;*2{i$`sNr*^vl|tov31$zV(G-*P8o)F-H+E9a2D5n3=ToQ zXdo13V&0$7G@QoNRfR=8;KjX$fj3KbA9@Dfq%NQnqXY4nbIY<~sj&X7H*k0)ihl+*ORc@>~-D{f}to+0(Uo@bt+0&%hQA)MCCXe zjc@REH8d2vXGiMUwM(kHJ*%Z|Ef?J-(vM zZs9g*aM#WWREMiA$3iM;<1yW&e$ZODLK`V~0p?2VlZx`Vsy@!IL7cEVfKc7!#0O+H zBpTvIN!o~Ll_XWq#!h}lWoIDzh9ZtbbU1^l&mcNe1Xt?7)E$5U9Z(>&VCKL<4-Wq4&_=DraW_<6y@%0xZ?&*E7bqsR^TQcBrGw$u+9-~Wyjb!<(K-DKY zWQE9#!(b3L<2a}^PlAyTvYjPz*%V7xhR3J|>_$9PAqHxs6|*riNYm~74;p(yab++e zz>v7*x89H}TLIJWRnxJ$P%s#(gW(otPZffh-!B>4eOkz?&3!&>;bUP}q|?0%z21;w zo!V^M}>cLz_Sy=Yn zr3K=_RN%CSZ4)d;bVph~y)G4Ou;fq8$BWsV_Q7_)Kb(ncMic0v?329bI4udLVAFz6 zG3gvNaIAjttin9j6w$!6hHxxH1GLgH-Clg?c6hX-z5VWnu7=-sHFVv+YuE5)m$9Y8 zRzr6Ke)M&4JPR;04xAPMUq@#sgcdG?Lw5p&Od%G<8SvoID)=UmTyx2J0h)L~Q-KXD zPbzX0s*DZz2ticd4qa4r8)>B2zL#wKW!bFmG-VZDm!cBGnI3p9U4|BK@fNmWRbRE^ z@|eICUNH_}wo+D*SFL?C1;?;4yX`aVYz%n1^8pxGa5H|0sFv1qFG%SHJp%XijyiK`lF|=sdRlp(~qjS&5 z>8xXjd2L~G0g=|Q^u1*`l&WgOaC;(!ShFO3h7PHMy90%mSpW4fjQsJqItca=srw{L z)#gi5ge{h(dsKD4j3g`GRI|g_>?Ode20AlkvD2WQaft~H5|%iyJz72zV=HsTT&@_4 z6{Cq@_4Z&Q5o8I=f9|7?Lgq(B&g-|n!Ap%`BATp^EWES>p450c?XPj{FAILRouKqf zaAy8=Fw2*SaOIUQYj9vA0X6sn%-1mH3+yd+4HkoRI~Q%b=#*Pd zVPjuB?etBXPRB8TX*r4LEqQhvv$K_Bp`Oit<&~p={sMqJ^$)Vp7#jh`0)7ZNR+H(; z$H6tI_{mWRD+PmG2Lo2j6i2wH6u%tk!I4wIn|vJNo&zVJe6o)XkP8%Csp9qpy(onu z4?4NUNcARR2y^fx7@ld~4-&n@xDi7~HlJ{|Qe*GP@t$*h1(gE{KM70Ch%t;(E8-Pr zLkZxpkG;g3)p)0zI1dUv3`^w2JR=E!CT=rW}7%i=T^E^$MSwFE}iE6E?vRb z;GbEVJqkIVOYjvaKyhT9I0E9)_%&C`7ojVKP8J2&=Q*Ozkg5_?0blm`QBN`x;+27}2!(kpulP<4CZ zD=pzi39*2}kBQ1Qui6#Hp`$L4RbY1ec^{wnILZ}Zyzy{BNb2U}=J+>PV zS`WKh8Ru#j0TvjSNXRQERIbF(chdBNWrzU-MO#$xTjY9?armyN00u;w*@y;?=iwphU|{k_U<)(ZC-D=v8;)(c?)i$H4yA*YumQfQ~f!UPqJ|4 z^eQPRspfFV1KyKef&1b81A@NE2v-k^T4$)OyW8s>jFtVN)`8WtomljAhCXhn9{)-x z{WB@U6OucWkOaLce2yGiK_@+gD2FK*Vz^<0cp>PJNN9sA4gG=BfzFSEr4}MvKCKhn z>j;RtS|IzFa!Y@!&znf58kRKF6}>*6HaE_O=W?7=m-OCSv3_BqCV*tS5&f4}fG;m7=c>u|6j z#sS3>ccUZlk40NhLPG&gMc-YW0%TGyUS`QjfwOd|#W2ZOKxi0uaC-#z`2qlE^DqyP zYd0$BK@kYH8u?-J66b9s69b%U@5YBF+?YK($OUC%k;ZQJcvV8CS(ew zskO1aw=Riyp}S_LNsTpc8^YH%W^d_fLjRxhCH-F6%vw)c4b3ai6OVG-3a=GAdmWy? z>dag;JkU6Ma1aUxwQK%h!ly98*`Q0Kpi3m(<=t;F9Brp1%R0z13Slmsw%Z40q}f{H z5vs3nP9Z1D)z?TZ^)r!vU#1@$n_@4v1QXQ@WCnNJ>VEmKD82{|s7@52#RAS^@PGIv zR_;Ff_8_!9z_*-85EF&WJ2oe~EP`7In-eMVOfQABu;o@0VH*#Y_q z-Vr)Xhwg#*2as~cgS^_n%L%$lvjV=Rni^ z^yLx9FAj46<`LJZ(p2b27co1usS0ciPH9AMP!_LsbeR! zonZJ-?K`RA2Z_XZ2&a7o4LoET?-&8)p>v*7{$u6-a7H2j4{Y~tkmyV;>1vpOxv+~H zSnZ<}HLklBmygjWugT@uMjS|0wPahUX?A>eI@FQS)R1fk@@b&0!SW!mS2|yPG98Ph zV=r?5zyW^c?u4e3KAck*oa&K^agQfnlsu;{SiIOH`~9+K@!D7>7RyMy@c_Rrn~|oq zAwCHIvk2xBT0NUMQ3#)yL0TaYRxC~rGd=7wkE!0F__T^&xr3b<_Tf100may@8xl@2 zU0^5&=vfZzE(7e6Z}qVIjUsSX4xWeeuft>km61OPSL74o(juHFROo{nIadWAtbLr# zowENNY)i*+2)dZH8`}ok0yaK>6+j|r$Krim;UtTv?}zA=$js)~{gh0wk+%9oUTIE+ z3@s38sc&nmPlf}^!!o|%N10S8pnNHJ+aM&FL>@Ei6LRR5l z$HaIDy!a&u33S4tCl=joMS|Nn<(C(yq%!X6jWZiTogI)N(3i+5j(|p!;&elA-HVB5w z)7lkl-!pTjKhYYBwZggm0H4`kDr6jX7vU56P@Jmp(3!Wt?W}w3`!TCs%=j;Nbkqj*@EdsT`@a26Rx^C7S$U{{%gDk z83&qtJo+`7rQ^QjyiZ{Sb?<|zzQCe7Z#?}Y=awSB|0lyDsuDAG@u@{c7nTx?1Y&Rxtu^% z9#Fh??5K6DkGH557ra*hy#Mw6%emzP;cy`64JeaC0O=AIQ7O$ngJsY8@BE0!*Bp+Bf~{<60eSW zH7jkKY>#OZ&9cqv!|Wr1~7oV$gsWgdZBxsoqX39Ku~XxK<)-i}|&nyS$WMchZ{6cM3mB^oQK zJkKv`r3{}WE&39CsMfKyyLPR8LTO6Gb@9@Mm?jPliCU~7RgdJ{xk%Pu*x2Ov+UFa<6;H6OkIrBXQ@f3E?!IpV$rTlW7IYl@FsCre&6+6xx=St z+J{7?F_+3UD)gdSavCf%Cfk~n=<8WYkQ?Vqg*)9<~1_ym(`inq--q} zm-tHxLldu3pXn&KXK=;_>j$DZ#;yZ@0be4QSD8|RkarF~&XIvS9DX2d6ZeFBm9D=} zz!UD@{Ru^`_p@|1@gNoAa;6fr;$cHp{7L8%NS4J@v8K?1)&bY!3lfeX4uYG-IV_^T zQ`}w)_eV$l^m#Ei6`o@I+!SdxoiaC7#M+~*a3egNMR5X-#c&vQoQK&`9E1~7C{Kwv z5C=bFew|scmu}i5zFfN{XubSjww=0}hDPxJd$yL{2B`|#5)S_y>fLd5ut55s{t1s| z3DRZS?6&HqS* z41@s_?%sw^(T#|zh7={tSc5Me!l__{Xg4^@Y?cZ8}o7oDw$|5{&PAZceTfJ zA3PZKeY$=%#rJtU7h-D)3dgNupfTjBOa7Q(o}3+unWB!&CQgS|909x#ye8=zGDIvv z9pTKZVfuiO@oimK?+JUL6_oi`71xAYl1;YVl!PrIld;0#Z3tH8Yx+aCSV6WEM=@_< z1N3c0{*A?C0$=gYCX&Hr!`x{jH2i>GeK%?)6Xi6t3*EEQ34Cw&+ z9g-$u?lEN?pCr@Getz{YD0*O+e;7V(9v1~RptAP6yR{Kk3K_hqYwL9O4Qy(D))Xti z+k&fb^K{U@(8O-@iNPa6biI9LM)Xz>>AE-zUYs9iqoQ^3)gv#PP|}Wws^kCWoTCYl zb(CvJ@!@msfr#UGrK0Q#aqxhosRxHe7%W5M;36H65v>Suo2Z!0o?cc=h5`fda$sh6 zcUpyinFa3GLae4ypvx-;X65p5VqY|nwyZk((p#NnrI&T5&2+bJz1TT4)cK;N^Q@d3 zSkaoV6N-OXiN5sJ(iDMLLMcn%hvZICJZ_rG6(Vn>jsRU95w_oW z_L^K=lxh03^q#~+tP1R8BnWtJq<3rY|W>j@Diw0U-2U@?|Xr1bdsBP|2 zucP|5p`kWvQ+?3MorZR;1Lriht1&#~7+B*cLu*><+9?Z2?j&iEuLf|a<7tr{VmPvf zPkw?&W67Dm>px0mQ?aa+jN9J0*vzt`&l53&Y{v}mbt4t43s|1bb1elqF*f+XWI8tUeluCj#AaOEMEO419{IMeYllKxBLQ^~z88XF7j%L1(6) z4JLwr4#wlSBrGkNZ?LRXOH#8s(6;tl`sZIA7oYp*KhKRH_bakf9Qh+l!w&9&ms<{) ze;)iZP6zk4Q+NPWpa?QY`W75IB-%$B7wCXN%NoeYoGU@QT`0%sY!`2pcM|+#IplLp zrOs_J?o^C#5s^Ow49yxn%V~`r3-5W##{daXNy1vj#YmDlxt!~05^)z1QSx^M-2s+agS%L}*d|GN zQOrqFP88=rZRf)$bePs6O5x*Rf5S&3@CePXdL^+#QP2`ZQ)EjN#fsYr_#4Moz-8YT zx8wLU55DgOzZiVrV(ywDc-7Dm5l=gOqTtHIeZTD*?3biCRnfH(XTs!0&}=5haIgFgiNX5@KYTYsQO=jCjns+iXBEW^ z+V~I?3xj1a<8~OcLB~wsf$wiCms|aQs7;yd@JR1~$J_&*LJ?@2pWUW2LXPBGaS!9h zxVjnmlz1On4(9`EFcg9%XT3f1d+S!#B{$9Ko!{de%586tC$g}ehP=A%*S+Czgk}2M zd;TBJ-UC3c>%8yXbNjSAclzwKo!Qx)*}k)N7Jab*L68K&B?y9GUlvm=Do~>+sx3uY z=2L}bTT~>Gh9%jSNf%nSB}bBNxWr9yj2DxNTmv_SkxQs2+mRJznBRBq>=Ga;C3(Q? zomY#+Vn0i-~%puZO<&#{7QJ zNVgKtvw??-+Ap!Xm(?W**8Pm3{AdCW0RK`gZk~~)y4mY}j>+h9?@`=Z`6A}$7%eNrYhF5G55ck|ac-}vVtRQmeRvi<+`+rc!v}YzNn)LUsT2+Wx z$G>NVs^RfJz#4i9{vNTN{yMf(;aeWUcXe221`t$jTUa=Bg@zC#s#p(7uG0mcYWk`@ zDu7$pX|+w5&PSKQG}z)G98&GYrY-q8Mi-m2#&C{qy@ynD4&LI&@SpZgYk;Xf;!@44+$7I@bGYzgXl;L}4jSiaqf2=93&qFG0Nh zyUwGoZKRw}Ou=9;91L`UZ9G9Ay_^;yl6lC*>zVG$MO$;%7ZU+(G}da}eBm6WLJMec zT4gVomPD4msO;^zhcP|3H5rHV%wM-+Qt%cy?{lY5pV4J*>wuzvOw)E`?(~g507@j9 zW#PlnlW0E-N&4iF0b5^ZEw^iCF~mcyb$~(@Z>@}Vh9}F#VtI17Ggi5kcv!W$HdkFb zIMwN6qvqD8rh1=0NndSt>a|+E)0~(eK1uSHupM&;q8sFx+5R{8@(RB{de0EQKT!dx z^$I`woh^FosIXR@e! z(ZG+M^jPsuM*Se_9rX}pUg@*`ihJ4lT@R>JQCv-dP$vXN@0qCYjd^^)6-@yPj`qH# zf9CMZmcRV6J>fauZ9hI0+DF(nY(|&__MseOcF2i4hjv892lVeoYQd!KiyXZ5m$_hF z_Q^IKPyclhnhX3r`{mxovzvn8;orN$uZe#?Gs(ZV@uwzx&w`|UYGUHr$w@vZCMI4O zxM<_q$%)Cyi6`|wZgaa|;$cykPY|$@M%(SS_ZbLW8Xre9FTK?pS&Txeu~gda9P{oP zKl9-rS#s3r%nQjI_CF}1_pGott*m*-+HN9dH;H~zzI!zq>i>&%s_NA-H)GjXl&_65F zy9lEqoT~BpOAg(BC=vw*Ot@Wva3~^W9WMc!7xQSu7%~k%;ta-eiE@gmz%?sOyG}Z4rA+b>;46hcXgKO7KWcq0j5AyTfZ)7Z=$Ab2vq(EP z8O9^gyIpfV=|Oz%|2G!~*9c1IGX|gMJwv903v6Nu-GT>H;X*kg-LDI2scQ1tEw|>| zG#qM^RtWdM_H$0)$b3qpq<-$&YxR5h*B8E{eoVc4pd|V?FVDVD_=kG zqbIVK*#?f^eD#tAJH^OhklJ@>IjW!EB1V0RRc9Y}(B~tUCdlX&+D*V6AvsAKr6Ed# zwZ&%63Wsy<1uYqgYW1w=o%PaTFw!xxm7uWqemmSgMDvwhpOIm$?j3tZ*r8-^p%Zzg^ByXTJ*lDo-ceSTd8obEu zTW&>lDpM|Jde3Fb6|yuGWnSz(=S3^!%yp}O>HFvRYZ%CJ*FB~kDC!g^e@8CyeL0sv z1eU&^Dfd<@tAedK?gpG|#rpRsJXQK0m&L-sd();&UM$iS_oWS9+`G8#VSmL@i2yEI z4zOS%5*qq;zs=ozL4K13clibRNfuXZ-&JI__X2U|1NvrF2V(&1FpB~?}``CEz&-dSCa0!2iGpLK|TZztg+>F&DgFaL2q;89r!HOBo$;!4?glI1A_i z`>QGBmW$5xtV5<}U1Hs1?j=ZyKSi7i+n#x+XYJ+CUQ;~)E@;8DdcVc@Jdsg^RgVxv z-1{xd9F<_=`$=rs`%TlDmyO+)S>rsICH47yhnT#uf5eb;OIXJik!bgjTkm?2YW3^Z z^kIcIHhsNGY~k?I79a|upd~^_L}-zg(HLGTIDH+nOB12Ck;e)l+7Pq0qqWc0qVZ0{ zyt{C2(YV)8D`d}mH#-VJUbZZGPlPi zksZ?mZy$I+&x&d(VhfEIOABU8K@-xLLR1X{=8V}KhDI)*t608;JjuW*78z;$jQ-sn z_QDPYzZ?H|mBrH_7I_(6#F#JGLdwTSGBFISZy_3s+T#_&Fs6WN`?$ek>6D#}HnR1U z8xb2E@oHvb9-tucx6rj)Q?;T@rr+aVq<%v^mducEQx$zblEzq!)rL&2_V^HZvD9ob zVbsPfqg)@EnI3^pE*~SMTGE9RV`$8UnUkE90Pt1X@hZ_f;p=tH(sE@cR?c`ys0cna zG&KpDp?XubqGfN!b@Eqist!2tBy;sZIGfC8T|KM3_^n9OARc#I?-zfopkCk5pBKmJ zI^*>91Fyv@~xVH!iJq+}oDXKZX_JYg_di z+G~)u`#opNTJv;0pRea1(Mxr?{`wj_F8+ivf1NkAu~lAL`XoJc>wCGsy{XcFosAmQBCCj=B-M#xs)r~^IdzE}-v&-`38=TTr`q=M-neCq`)V(i1^`b%u`?_j*JLVnlc-435iOqP_(O1ji5CNZ}#VB z1~-1>uebTs8G0k9$F_*E6aN#M?AlL|Z_UppoyH9G*dEDC)SG&5-(pucdQbPMuxIPP z9|ci_0%^a55L@?)ZJuvi7%s#6?Y^AVTMxe%+}o>PO4Ob8-R&E>;+1%~N!b_jaQ9`l z(Ep|xjJEtrnpIo`Mj8DzYFfxPWpJAnNPLxHQ_x1Pv@fwThW5V)#%DX@^M=(htUH&I zIiUSPCWnJyA)Q*f(=r;Ckc{#+wde5JD&h3fBfgN#YXG!V>&O?#6LvE)5fjQ{t4TK0+9ttgAN|m0MnY zGn~NHn_qoP#rSpE|2pd})_6RfiH}+Dv97lGXx;Yf*Z_VI9b6<@*OUQ(ygP_I8cd=| zv9YG>q!S#17WIb#d>=EScer*7-%m_AzhHvuI7j%GNiq`mAo1WIGKgL}755I?E~FNg zc{J+%DG`ESjzn%G1BdwT#|D3&k>dW9}TlE=?Wq{vDZ2Xto%K zWNy}j(QpWEAvi!(fiN1UuN(Dgy+wRk?(TtBUeD<0(4@x@{H#pxLJ}n@S#poo>z4&W zi;>F3bSyIQoOb*Rkg6jps8}p#$A3ZS!GNZ?eC5>sR=3;wtJ+k%VlLUyTy|_PCK~na zQe(0H_E@<#RZ(tzkAp!=s>aZHz1~gztch<#FoPrp;Hi*xcr+aj)kadG0d*0ak!f1= zVN3v6YjT>34_+tDYODQX^AJ>1p~MkVwOZ{(=BK9B{uL51{PHhH4R<9nZe)Pu2zf8u zMkuoI;;FggbNHlaSJ>Hba}e~28_~`f<9lMUa+FWB9Eg%w2QgM+*~79ggU?`h683LD;Kw2Vh3o+wsVrqLeYv|$aCBLtutRq9jMboM2-c#WIvkHo) zOyWlq*=%CfvdBW5Oh>)c>(8FZW<%f0`2i&B{_heYnF(zOGP!85Q6c1&ZA!XW22r6_ zU_Xb^2o}!1QrWLFj4vS_p2=`Sa$D*h`nGy^>D!t!AX+kdpO@~?*W2pMb&}UnyfX;n zNfN*H} z5Ha-xELiFZNXqcX8G}3TyL(Tr_ie%yeVGysqd*gRa|!rT;Ac|_V-zHlQ!LY>EUZ6F zyXsgh88dr-Ot{M!u_}h|dhv2O`XIP|n?RK*;!tkw7-lTvC(_0*(14JA$rBC8OxM#3 z|APJSlWG-h5)7O$H-|1@Ex-c+(6&smS&A5`2LW;013}@xepZGKS%(TLyi_bv1kP#c zU;QY)@$|kQJi3b+Bvsf=$ZO0n>VxoDctcjoh*#^a#o^JxK{JP&U3tUw2g9C7M1RCG zhnfq`5gw3hIwK`wDa&!Q1&MMY)0D1mj0((h6wRG=u89$J%GCX zpp>vDs@(@)|HSJL^5R|F?cTI`Q`aSP^Zj0oe8RDqTHkTpx$pziJ5Ef*t;9_>9^}7M`T7j0@{b z|9sRyVD+8@xgdnjpm2itx8f{iLo;j!>U1DLwO}=!_&M?i+$$8*_X1)2xdaJmWv&k8 z6UoXnkFSq0Kx$QU3rgK?>CLjPd(Gm4sn3wRkh@0W8j)|A+vPz-5Phfb@Al*IO1q-U z<#r_=XH(dxcZVBljU&6lbJS)f?#DU2tI}?l`QFWDrT2--_QokWq)*ag25n=Nwow#x zB;yso9LB)Wb!BAgn_$1ofdvSm@PCZiwpBB{wy;cn<7Io)MmlkJdCZJh&2~g*Nqp&c zf9wk7PieC+@l#)np}GhywPkPIx)#0krB{!LV2XhHl2U?`CpS-?yr{4>*|W)HDY8YK zIb;LR-zZwcRb+K|BWy_nY2Hu2*E45|EiufnEh9)*r~}!n$@n>GxIHJP5Zx7|BZze* z95Cd}IW3gnA>jyRO5BT_Op$UH_bXGh6pEA*K0swznD`xQ?_LxleBGVBdl~7>NMt!Y z@B&eMQ6d7FL<#P0|Lg2DnP^xWZ4>HkJ7*%1LSDf9wIM71wpvw!LUMUAMIX~jq)L2j z7X@3^fzKYmZW+rSxc=k;o0VPR{_hA)zirR%Tbm{QoHx3%{FAf$S7-T!=;&)lqY-;D z7Ae$*@=|VXVv@uXwJCC>@`I#vlHX}-P4$BQ+P5R<$RA|smr=oz%H;L{gk6VBD^ zpS}>3zgBIbjAi;nt8=ChQsmdtlZWC8AFL)JE@2__rAZEBZr`az6uI#>C4R0S?NTD0V+7 zTB3~v2&0Dqi7?WQgQ=w7-NQHE6e(H<70CoHK}8GziX3GlQnA6uv$e`h{qewZ5wM&$ z_t(XPIeft>Kqb>$K>8bt43B~D2lW}!;vhL0&I8*Uh+)G{BP|QBmU0cRx zEITPFk0)Gi3i0fA#tESpakF@J778q}eOz!%1z3)%S9-;Iy&ebON)`>z2_A1%*;bpe z-pBDK7k2Eu{k~iy{+mJYoAE|uwOqN|^X`_vtLC=$GQ@EU{N2F&Y4LtwN)f#kJg**S z^#F`nzTe07i*R;Jy^kw9n@m#My>Fv2NiW>#e14ZS?y+Pd-|_uUeTFbAde2U3^n%~0 zi-fTqa7G(I`s|PNd2z*{Hy6}{P8cd?S!2C#*JmoVEH*qT{PRv!$9z%p*i2o1CW}Rn z`{5ZZFi_{!Ltvm}-kTOIF&J5~v`7TF(-vfZUK=c1E>9<%O5%2rX08Po!J3P$1A<&R zfPHsi`PY_?D0Q^EcqPkS70jx$jY^wbNR@O1VP$9%S*C57>(KlhF|4VdF)hCAb<=8d zV0hZ7eq0?{>>gF>%Ej)Lf1t)Hjah(*l}6{!4aAg7Zn3TX*t5UiCaH*NeLt(De7@Ye z&D3xUo~iG5a2a)ngd23*3V|MiXeqJ!qUcJbw*-jxcgb4V%ipt|^CsSIT?So#ytA{z zSoy^E{{8?^+sAUJiB*x@J`y)@5m!>-A|54EDw1vzqP3|_ zt?RCO)+0ROBi1kLrDuKG^PaJyG1J0<|BPjQmK<1DSmrH!9kI-75P5H5E&Nh*w*8Q0 zJr#}q8>;%%wtYWLLA-L^t_FDL58=)4>)i5Ad7miW;qR(9*`D!H-p777@>8_O-;6}> zz!UH;0F%8RwC%g2kzYeX{fuj`aE>nXg%<{fw0uZ^@3&QHqN3|E{b>6Ea=xU?{Sbby zcU?=ez_DLs&G-`&7tDK@b@topK7euOD%P5(%Vfd3Ttyejiwz6&EA=C7tuIc9#1D3SP~f{oeCofHCVZ=Mf*LNcVxT>Cofn-!=9%r;1QT2$682sorK^=zRwBpK|M6y)Y0wvZlA+Q%%4rKp=i0IPpWxIEm# zUPFNHvddL(jk~ZCSaqm(H66l6o$Ppa+=`QYDdHw+_QD5{Y-~7MYXoRqCw08-#v3I_ z{RAaV@}G?jFNaQPMNKQ=#~a&4qGkfZb~c86U1lPP#G?Q?`(@TQTqA+62I}AcZJBqu z3D3yXec;X`!O9)vk)^F+3AS3q3Og|bIYDHF zT=$NO`nD6#=+azfce1Zi-kpyBy~;}uOL;}_yOwuB+eDfgWxCR)3%q^OMAgU^3o1lq zbzwu@Vn*%jJ{x+j7o5}Vz`#PkEpIi3TPvz4*Yv8#3+b`sF5?2=uvVr_Kf*hs539K=o8 zOC#x*0}-l~iS8a8t{ka^rI^1K;h;GYCGAgocyzp8O7O3g&OwZ7yVhW~mP{_M-I1`a zF&Xx9MK+Vk+VI@S7&!_f(MeNo4;yUy`0hch2Xdu!7Lgr8-8QKai6GMgZIzJzt&O9p ze0F}(S{%-{8>xn{_6akeF!-f>^;jh;S`X6yiZ4VmuZZK)?lnHqeR0kh~N++4R;Tu1*mYw3t8=#X@r#gaqt`GQ@Y05dcN@ zLk|1Fhq>(P`B;T}blu1tfqT_hPY3Yz{z8BKmwee(=dH!GGBbmv!9l`DjJH9Z26OhS zga9q^i${*!;4dd- zIgCGN8Gj5IFBvzv=Qh};wrMZK6rqBj1Lk{v=ChxjQ7dDcn`7k%&t8B1`SsrO8yhNk zUKM-Ktw=xLmVaw6%D(oJD{$3358Q2PSgWWEZeOikZ8UCLTbpU^j8!9(B@hn>2dDco z?%~@TjkTNBrkjN-NQyz=_R?3r!~0p~{nTVE$;=l3xD;slycRLq%G<#mKy~Ziqg!ZZ zrGFf+)zX!rSYo8AV$D>#8B?|4dNfz-B&TE1si>7NG?ZN!1pS#>-5oDwSAt+^{?t$> z2yOs&UmfCkE_l9`f!EL`WT@)v#q>wCKXJr@S)-rPADfQui#qLM-wDAjF~BXPLv>2} zD|ZYmgH-Z!(rcIH!on`e2Siq25$N~p%Z&+m&5~?;Gv{)nP#2gV%o8M z#oLc&Di#P0fI!y4{8Y7;UvjQ!|`L5)7b#{M^c|hQl0R$ zeKy9peG-3a>-M!q`x5NAWRW|@Owb>-gy~aL)FV{wRm`kXbL83#V>1^-hSOClLtGy5 z74JNZl3k&O;nXk|ic4~gZfZV2cnYe;=2(6Fx=4vssF;$?WaYZ?`dBGj@UdmvCOIe~ z!4v4-^}~(}ZVI+_H^FFVCBD=eY^2G%tycNhG2*eG@u7Y)IWJcNGchXfUaYPEq#eLx=9;N(ni7dX2NU?Xb9Sp(ndS)5AoQ@v=*z! z<*nmd`?_F1MAGh0k<9F;!mr=siy#BG${=3e#(}qzj-$DKPMNInTYFUnO!qO9kNz^u zs42crzF@_&h^-^Tmht8n&+*BbvCA}fvNyDSZ26%w$U_6mI`*6fEAt{0gu-0fpFx-O zaK<~E9Iu=_IYW;=d9pHfHt4U7v-i(d#wY2{lQ&LHy+^*s*_N@qKkf(zrp}_ZHUEmW zQQo+S-*Y%*F(#7R20jXm0WJ+h#BRV2K!tU8FX)31SkR~3$J;CI_R7DSw;#zy-9*Z} zD^dRh4{Vx$>?e=zojH(>2Cpi;p|v>LTE4li5)v&CME{^Z=X_eOYu}U3UiDxK4}?-b zpDVUV_M44Fe#riT#LWI%J7f96XQ!T5KqU(@4dsb~WAAej8*y z1VXMRlVeBwHo8zAFsOTWFm){urve2cjb@f)>kI7yV+Qj#%@pU<>Rpe0>v#7xCz9sq zn6WzYJ7by5n3`R>>;B(=e0sE&GpqOAamO{r6lg+hru@@=IkffGG=J*qi?bUXjQIkI z5!%D@4JQhL%kz9;6Q^BvTWwHVE&PZySXMb%c8b7u>dYxV1P1SR+?8eX@l?K6Uml!( zXf-pqf2I21SnIgW;I;dxmHos}$;QYXx38#Ay?@Q!H5S8zxT&u%j+PTZ;+8h-+Kzl< zG~GCqTD;TSGks}O@(d6?`I+d%Xo^=bygFQ(yv(wO+$QxtFp%Jx-pJbs8JF=nWI*=k z`b^7R0RC>Fn}h4R@cOIXaP;UKu44K6*UR_%@EhJRtlqeG>ArXDJ+!uVXz%5}v+vTi zKVQoa9y~ah7u~CGHyP#K@=67FJ`b8wJKY)4g$x+Cd%?d0`# zNv6f%v=o-E!NUsg2qcEz zp8$`k-ku!n{eSkc*N`_Q;`F|17{{ZrxPk2k4K0z1hy4q0@tJ`~V51+)CY)ohF{5-w%{C%zULvx17SS=nAqaau zpbJy`iuNf=VjS`JY%d~jP5pym_Wkgf|-H+$vwMYbB z@ifs4(WqUpde0~Gh7cdQnZ!_vSd|%E?08c#4iu9?TU8Xgoy_RSFt%SoL?L?;IrLmx zJn@c^L@q8k#bgTiQh~50y!6KOoMFdYa#tnC(lcd0ovdJD8R`9%gDB95*)>9cmMucL z<4m(bvN9M%GPb(1vMU!S5u}}qW&K<Lb8Sl2$rE{&?&`MC%7O6@Dm4c$_Fz$3emV-7_Kf?hYNN*T3DHhnQ?#6 zPl&_{g)9LcUd%dptvd4qw_fo;A+9FVRo|K2JyNRHiyq#MYH4IQISsSUVBWwgZN<_? zJ63qhkz4zHma#!N^%)yRK_sfIcnamFv?D1T6he2RRu`7mvFAzv1@hbiIcnbEbXi{+e_Wik=ZeXOD(StRE+_32YwQi zhZp^v-{sdtrV&Y0%blbPn3z0pMQ3`Zb7*&`QyiWetW-;rwT^S+^OJa?mulo z4aUT%lJg&7UThyNR~}p79%QT!@8QLa#{(#>B2S>Ig!!r47hAU%Ky3EWkf?1EN!9n? zs^Cn$)2Zu)2zF;=@f%uCy-OQH?$)*rwb4I^6YKr6I2Fzum}zR-5OPSHK>BqQa>>Mz znXn||glKnVEZReKS2#;Bg@|WS8j2iY{E!B-{PbIgie9ofSnSP>Wa`brU}@yqgZsN9 z$=2lJVD08h)ZNcM?Co`Gt!KPoHI?y`8NYsLW_NC1u0;-(;e%74fkpn@uAdC?u{vHv z8wx{1f(-8HCd;9H9m~3=Iv*w(1X>6Js0NVTCP}4wXA@wrPIQA(ijNv-;son<4KG_! zo1{ShHNjk|{fSiX>{CzuyHq@pN+sf7xpTBtDL!=@oVBC3XuTnnV}##znEMLnwF~cr z*251oH_J>%YgL-xK+<`q{Xbiom{{TO{f8!2CcrHCFAT_T#qx!Lvj-2J-B@1U;GaCQ z=<3qWeu6peRf5s&`xMYYL`P-HVh0l(&4gXDO=A(uhNi`5lan~Wo}_}GKqGQ;H7s}X zb_CGL6t8V1G84-S43p&jUfNsoTv5W>XqSXS@cFoDjHR=7-YylA`SDchiSSdOZd*Cq zC{|`OBh8Wa@D(@>vbH@noryXadpL_+Azb-K;akD8 zzSa7+hAA4O3|o3rv=qd;{(pQ0ns!p8J>5#XVyiF_hB0_Wr*gOEYr*|CFoHeD@D>>Bk4+cj$zg0e*1G;8hNf6ML}DL}D8s0V3>BKgt1ne+v7 z(VCu%bWfFM)$%tFr~x8c9?~5b+l=nb;MEP9i$0F1KrIyd)6v5>57*LmkZdm>Sl@g3 zi5X-B#HQq)xvBZFp>*CNmoI>(LHr$q;52t5o-v0->cQU1i35vQUbl20V@1hc=s4-p z)V|r){3V0w=x{0GXB&f&v~As;E|$x$J&0zeb3)J=c;Axg=MH9x{@Y}*p_Max%21hV zrx=35|KMS@DU}J7XUsX+c|=L$HR~6gbHWmmO7v0<9^?tbEgFF?M4g7*+KET~d^X}> zELpG2?#soPdLzBxgJ2!aD-un*P{ddAlhawz$xSDk_R_E0t3F6(13&)MP2*9?cFK8) z)NRvwuP{Aqlc&@BXCh>xF=(PtW)0Ty7VhfQe7rYuo?V|K&cWtCArOa?HQ*LVVEax?9BZOkmp%*k#vQ7*_e9uhF??^yNRq}i?| zd^Oe$syULCl6NA#V`w;Hyfr0fY$V1COF^mO^RKbos3W17!-Fle`6Z1>#s0}ZxLG#Q z>N9Xf9RfXduV%X#AZ$!GUY>Y+jrZMe&rAq1G3ma((3MV)cR|Jpp~#diZ3ksSwM99U zhHq<8ni10w$SLD3V}YQlq;cu4fh$vVr*KN_DwB{MIOQG*ztmb;z3JFBZ&Kx2Hl6HV z?p9C4tC_*UOuBqY@$zmmldbL}Lv|jbP(N1kVzAF$Jr5gFj-2Ag@{uc-levgR{a<JRffLH^&QqP2pP`S|c$#EB245!BV_Xgoa_cOrAcqaTf?{IpYeZM;^C7vo}UH+5Z0 zo9bh!wu~Q3)N_-;Ve4CmTQu%@Y<*+>NB?sD>CIDm$Im}@&-%u>zx>h7rzyvN;hO_K zefiCBl6-RDrw2Ye@NY%Vq)w%K>M>Uv9N9t_7j=d;N$JNSA0z-~PDCB#WpOjfh=$Y=}_-O~teHO%GzqXeQzVKlU9vYv+P0 z;c(?xbqMH}zuR4`xvAat^;=q_j$KGyb_LL3D1h9k@8mJ=VuiT-xKZvn*ln#`0V;hX z0@Ix1!Soo7St-vlqKPVuR!Qz88tfiT_uize{3Idgu^@l9vW#5T1H*o`lT%ju%8bi( z_FFt(q9Ck9HUaoGA5Ym8@Zz%MLKPNgb!o4j}SprR!*Vl8+cMx9Dt z+2s8#4~}D`;&f}MoGZnr9p4>IGl<1g8{mJOm5gm=i$>0~(urs`NGh=-APeCa~2pspvo@X(7>`qrcomMGVSX%}=rg6`$&&9S{x zm3)vsa-WslJ2g~_=8oKVecboaJIh&I;;xm?6+Ab>FdYFlMvN31Y$IDp#AAd+m1-7P z<5E#%0sMIJXdEbcEK@?sC_R=hPVI@C_g)b%mP=E60^^=53j2a$rWBD8pUlYE9W3%L zQ%9~HMDYCLy|=N92id%j48kB`dJdxozI-o6CUAfsK{Dn?fe|7nAwQl+PkHUY{R8hF zcyE8^1cHJLBz=w=6wgLj7h%9P>-an5NUOcXVd{b^LC~i!XrV|?qyna)-Z&ECQyrJX z)IPmQ456W{G^9rQ5ZeOXNc^7koq5FckQ(K@6DyPK8KD6cK1HiEl^;pQV&>?T2 zW?LvJL&z`;@VYrubu{N$p;17$qc$_a=F^n&av^z0i&A5>-1Z(WNv6Emu8JQ*Hn{-vgJyvT<+Z^MEvBYj72QF z5X(gWl?n*rWEU;OiH$6Bbl?RkEY}#XRL48naxrz(9hw*_q_6VS-b%Wh$r8*_ih#N$ zuX`aDBaLPD6t^=`lQNpBMeZ77Fz$w7*G&)izb|9Yb~ z>=R_4EBZ;t>Ev?B7#XcMHY_t1U(D_&>$r=&?I)}6-|42}g<$g3>i4yPnIag3?S7SZ zzwLV-xL93mIPl=;jB+Ua3bv8$#BkeQW|X$=d~)KG?%h*~3J#Zt3GJF^m=DqZHF{7+ zB3eDsolHeoYs7DQBAU(*7D>dR%Feg#s{XSvUe;MYV; z(XPr1qC&wtXjK|9SCgyonseEYOrV)hxP;MM+99Y1egQj``%raWunqH7+xvk^WT%z|cnio2(g=a* zz3%_=!S^#AQo^*($`R z(P&ky4B*$RH8vxWYS1}+;Fcvs8aY@SP5A!J1hO<20ih85YMx3__lJEF?PuOw$!xA!BUf=C9{J#L+x`#;Kd{ipE$gGl%u-FaK95j0F2rCFu!-=y~m|EwMrzFtQ`9&{6S!?Iq5^Tef)#`{FdGz`ygedv7-~ z4uo$0da&;MYaX(5o7_&r`GUU&TJD7bujwJI=WI2SFj%*9>L$N?$g!CXiHf@#7K&uT zyBhO;DmP?1%~2+7gsazG;Y9|E2++0SV8puu;s*VWXs2grrGUBin}@ta?cU8js_XNaQ}e6cjguqEmdo2Y8W=*NJ+;j`Jl1l(sovAv** zqi4a^s4e@G07#LKSTfU%J7~0@r=E2&WAhF0V zZseL-Cl^vEt3$5+H*V4W8^{=X-&q*jz6o_|DKW7VbjRAhLed|Lq`lb#s$+POTHvZj z2!zvY49Xk7u#J~^qhqV@se=M&v1oY z)%#G&3hp+ITWseDl(Rb}fO3D%s~f=s2R-Ap4ySYN63=03{MV=H_mU}C{MNMc45Ych zeDRGGwo#nF6d8&9yq8Y(o=By=zZkJlvFHIYb&8qdSCX|_@>d>Q(`1|)drM=Hv1E=+ zDTl#ezIWht<bKMe z^7Duw!P9k3Yc8)_kI3RLDe#))b<&CS-gZ9RkYgKa;1l{*QODVH z?CL$dddHr+f68{QI#lGw9A^n>bK|7rR7iM`$>lP2y-ESyu3l@m#g^@ar;6Q7ap=9eYcg)3(JeQ>(-)=qb-}bNOBB=Z7j*TD6TG$>fKV z$sI=9#AaL>GNTVbhLD7jJLxL*e)WM9ZA(p8t)v>tywRvsj5lV649_*I)5>a}h`dgL zQB*TcF{Z%T@WMF+=chIPNw{A$R5t8HtagE=OJ@+e>MpE}_>g1=zRd#48FXk`bo|M* zk68jkwmUWD3_4^p=f|v4=Jrg48Bl}1V(KlZ=_5T813{DCKLNJk>c zyM36a1{3!rBVPK3Cm)EZ2gFXM!_-uSxuY2J@uY=pZM1gQd711mIB zMgeHemRA+so9PeTTm5w9_R1gJR=I8S+TiY+u;qHG)4@w?LdocaC_3&J=)o$0FjK15oSD@~Mfi&tQ zz^aTLjM2>8dfvbQr8k+L#SkKvDDAQWVW(l`RmCJOZwSTBZ6R+lQmY$1JCz`-gXH1f z6HBC%J5{w+jeVk3HOHv0d((sC3WX$cor!?8o3NT_`x&Y49Xp&v1BZn~nx_)CRx=T= zMdc5s*DF{z*crrsK*fd~8YiMuA5$o{amimY1ae|rk4Alu{6J{$%4YzY+fA94+ejQl z1T47B>A>I|S{waKWAq+Y9f6#kDz5xcS>^6J+*p}A8o0avn6%895uC#~0(EIB? zKJCPby-z$e(M`SYhIbm9vhtHB_FAm-J`uzFePIhnCj7u+;LQ4+fj&N3*p`X3oXg46%gy-~2nR2ud4HU`8e*9fm-*k0d?aBB4PTdsE z^!~F*#;TEtwiAioufA($=93c4ug8p>I-%~9H#(YY(D?z{sS~~LyruTkQ$r6tJMjSD zwFh2yZYITfoSQluo}ljQedmE8PJN4{inwSjBVWjNtZBCycEocVw0FJwk&UggHy3KT;;Jk{q%#BNI^0Nu5#_Fl#@xdH(7mwg4o&~AGjZ@ zKbXVgty=nWf&~IyV02^SrRAgwu9UO6`Cad)0Lf~2KV06wAxaGIXZyL9x`j>o*Drs& z-idpcT5ori71sJw+qEvwQ&Jo1E|DkuBubjlfO%XitOC~tx`99JE7wGD!@oDeXD}VP z<~+W*t0Ke}zb8`RFI|aT)&Jc<9U=al^13pk^)+j9rHgwDabXxn13CM`>p!K7{K`c? zqw9M6-nyuM+>lnD`w2doKeO&1yuy{umzA%}+P*J%@Wjre)k%@_b;-!m>cGn`{PR~R zp2yVXZP#zNnbOU=eYRh(c!t7?zM!84uyinqf*Hs3jJP6_fCz3|Q=z>q!>c&Ov_Y*M z%FlS;a0zH@nq08dZIYT$PUNthx!e`tNq6~A&~$AiOCM(mCUq}zwQhB4-CW(ZdvwGZ zZtMw?5Zrk|BsE)v&}MmhcE&U!(G)C_p5& zZN+^Xek16i3>9cMC{=DDBVZL&_3(UZORl0ET_R#ip=*O(h0sKw-NkppwFDaEz|B%F z{sxAoy-{c7{VPtiAjy49HRu*>RV*4-!5u^%hO;y%Bo$|_Mr1cD{(KaxHcQDN3)#D35m+T zZXb_T5-&R*2YoN^iPm=(eY!w99N|6Dd&xy3!WKg+QdMYtDYy%e>u!lw>hjx(F+2Wq^p%QwOURJWqKQ_ zJjJipkdvk)KROZz?;kmYmSW~;7|UcjWnJDLCWDTT_@(8oeQ^g z>|JxG=k_e@yk^dMtx3M^nE6^~uJqsJYksh#cP5`cYmKeG`s|6lW9k!UkFU1B$o9VR z<-;T8#;=rzFI_JGdU@p1Zuy0QA=#`^?)ub5VI>5qX93GO1?j z!qPIJ|6fwn<3v{cL4Ujo@9h;!y0Da&mJz;tjVnBZ95|{o6g4SX-Rm!9@g>oicEVY78*7mZ^u^g6^ zBu-YmUY#V)FUQGyZX60l+@dkr9WUf#F6gapoMfYT@gX{jnlbREN=OSK8{{0K1tNi6 zw0%HyiVW~-olG>6g=Vo`-8k6L75g(rHPe+}hO>|8{Z=U-IE!;hKQh>mG-~+PmRE5& zMu8J?8?pkVKO01e{*IUc<)avm%oy1z7Dl%>aNkBv7fr#hGRSP-mC8wwzm29?>NgnBTkE|S6Znc)% z$=YPQz9$no97&{N!@GL_>B!2;k?z`Zo1hJ~CnM+o2s^q*Ud74n!(h%5|zj$ zkzjXy^nycr4myvS^b9(EAQl8}$fd6`({veT3b}5MVE8ud2V}9raf|dE)rQ*$GiU1bg_xbLuzLNAb(Fh1pj#Ozaac3G_C0EOgY$> zXoS)bohDQpg(VaCzHITC1ir=OH4h0JsK{0+wTdTgHC1ZyZp;NW+iuUywpyLZ&CN+S zzay6$nIF4hYvKeVu8-wpewRApi?>Bh?~FFVm1yzP4O=0L4U z>%KXjX*zj=Io3STNwZcrq0+8v0I&6oWZH1uG_ zS#)x>YCchq{6lNGjDKi2g)FD%RN?V`gSG@P$}3G0EIGzRoE$QiB#2h>QU>|flTWtt z!IMuu)_P2xGK#@JRU`F!r20=m(Wrm>pX&d_N5*-|sMGJz)bxzecExD)t)O`NbTLqy z#h~|@)m3#eDE8-b-Y0E-Nal0iL^xwfI+1phx@P`zU!1@M9p8m+6stzAP-tlw$k%1- z>)(HBMQw&zdfX8;F&rV)bMGspcE)5fksdsI=1e_&);eSN2G82ivv}x$pjU(hO;i?DSQ2gAst;WCnR4_2X88v$NSxl0oDz;ao}JBml8&KK0? zywT|x^9M2qj`A07988tk!;8sQk_6o4l&W_Euh=PiL5BdI#`Z=n#Yq-a4ec~3)%j`o ze7?%N|8cSLj7rED-5pFOkR*}rC62&VUjVr_>-+z9Ae%d0Lgfw)=1QIIg>5t7?JNkZKS+!~I(rZaZ^N4>MGC7Xn~Dql{UA9e-dk78%=Oldg}Jb&~M8UJ0q51`IBFH zrF9iZyVi|+1=De-v-#rkoH|XzKdT%5Dh>a1r*l$&p59)0^ikF~I-!2Z9c=376)PmR zwkB+R$W|BH^+Exgs2+M*XJfUab1w;*4J(~9hkNIq-q<)-rx!o3`)v@w+1LBsXP%*G z{m!L)v>ZkpsYe-w`u!hN4*`xqMDV)nSkuRziASy=bkmB=c5a?^{q~#n_A`&kD;pn) zM`myC%tG-d#lEOBxxA?+y;(a#9KiE0xp@SGEzHf2jV_LkF8)Wk&)#WSo~&=yKM0-1 zO=};NBcuQQC6Dn{j;!4zzeoG+%jwq)+>bm%6yfN6%_Nznt?e>>VU@>g3;!~ZEV0vc zm&rFO<`|81!W5&y?loJ46s$4flGswK-3pVCOvseXup}fM^j!ngv`pRNNR^mr0Br<{ ziUZwsmOAA8T9%*VSK0tXnf~R-LVh6>s+~g172-VC0YJhTl!IO&M){B=5O^qv6cA)` zH{E4zFXBG*o$>nuVuVti(?#p&A?0P|b42de1iQUl0JqHzhy>rBad@&>Ow4rLw&Y&t z!y~JE6`)WPJVXS?y*(DBvIep1b|L8v`)&@?Qp5m|oystu8>SP$m1kFth%y?(YdALn za(XT}2RxkkS55V-O5<+>fj~-QAQ=j2S@^|Gd$4F{e5ddh#PzrdVOEUjPb1~IWuis^ zJpop9=>ND$Bjgr{`NWy>Yl%oKAW#^wFReq#8zEM>kp@U! zoA9X_`7I+i6Ls_SFgG4EAT}Y<9qjua#ywh-m85Ds5_DOnM{18R zDjA6qr13Md;9!baXd+HBJ(w=JX$_yrW&=Cv8BN^PjF~f1 zl{n9;h^G?YJ8~uj_*t)!YFXL1$;7tR|3nUsV6l+goCBE#fJAhOX3Ab7F(=*O6g}_x$SW`a}Gaa>Fs|tBg?-Y~bb95`k!_ z*u%oFJvhJUxm_UEv~r0{bKGV1)pYH#cdQ=_+yhHP^N~1F1dZu@ell_8gT~6SYONk^ z45?$4eEgoLri=+SS|tQ$sj1?XrNP3jj+-1`8L~6Yj2^~VFt)7nY?pw)A@nzlyp_Hw zLMjR{y|}#~QJsY)S*0@zwnG2sai#zAUo_};u4aat?IpQf_jcVy^+A1!+GP`s(JI>BnOlFh|IgW9>IYX#Aa8KlU#`gytx)GyHwfU5J& zg5&v#$PcFCwL(4-01a~5)2c|UgiAankM(O+L3qa(w+`#KZwjD&a9oH5T@k53ZLSuVP<3Fsv*1IJx z;Dlmo^w+dg{CctXjZy|r!vECEud9jr*VPsGpOIMxNI%On_vg-UNd|}r z*IygXH(}guIFE15+!slqnj`p!GUO8LeN2|>uHMJ=->Fi%_buT*QC_;#`}dDL@@G>d z3y}BzO=RQ`pdXH)*NH?b_U=VwtBhKt4F!S#a~ zwMf^zA~yJO!j%5;o7q8o=<*4*B+O~WL!2=qGte zJxl$XNGMtgkhp8SFkNgo%^bHey2MX6vG?LSq^ALQ?5&=u*H>F5LUq?mt<`#cy+XVT zg}g9OZ@sBiYOPnYoprw7gk|P*y-q(v_NITGp`RtS=TKr}dA21U3po&`cDcYN$D9~z)$_$mZoBQhw>`J|S@uUyh^sQFJM6jb z;&KIvae<#y?oYdP9{lmM)lYF}p||wk_3uc=(i!^dG3sjoJ~R}n2fqe?@`LqPe{HDu zKORKF)NTGe=bWJis#rW9PA*#^SS zw_Fh61p&^26VKt>b&yeIneXZ&h)8(n+XW5@zsLOIaKIn=P%b#vvR84vL~@EKupr?V)`xEO86N#auu|vW-QjLBD?)wkuXCd7 zRaCv+uk#1rpi4{oC+hV#a}{Nrk!v0A7Af1U+&}xa_wD#ka*^u=buR4va(IByPx)E* zSt&Q^Ut7PR9bIInvM+Feg>PN0TyaHp>(jrHAKTjI0CgyBU{Xz}YX$Ekwm#a7sJ>k_ z@s_vLwmz!6wZ^WCejnS-mS5hM(R>m=ALd_|Kk&Q#+nC8i&J>#)u1ve;U~9D0zm=b= zP1Ty6X1O&#s{2|U|Jw$+|LD8qE0&pEOa}P9LicFc-5zc)?;7uYXa3OM>CB~*%g27< z1GU#p)&2`8+3{V6=4TGtqf?jsHv6V)@@y~sv-%zNFzEjQ!C{5}nRWaBwFyBa>gT*kBrJJe=N5n z7*`rNz9?Kdy& zzVTWKN_qS;DVP2-eYS;ho71g4wspu@U%o5@{OPl*}Dl?~-xumEI-E z=@=%|OJC+^4&Hg^!PSdj=Bw_!^T@?z0(5(YGGQH;=BND=TkY>E`SjR-*rt=U8ZCKw5a&&)oeA&+$6_9Ma#m>gJW6;$=l$e1|gs zGl!gI{#1;|Q_`|CgzHLg5fMvz3sXtHAP52hO6A*v^6H9QNxyU*8`3c3;nt1DAJ->l z8|TJWriSfAeJ)yw=JCU?Odj})#5Ma#s~#UN6XG5C49{8!BGSM^{MHO! z?w2Q~Ya1K2>FL_$X6^Q`-F`dY>VGlzCUA09b-s9=yVrK>*1mS_TUYf`UDZ|9Te>Sr zcgPBzge(F=5dwsOF@g(bK-$M5vKbHU02o|6cBL?!D)pdzRn6q~A82LgCOnFFe2t3G-R?k#5zZ72AM; zq&}xD@hENJG!^^D)>QYGmdB(Kd6%TgV|21*S5CCwY98$9#mytr#B7z z_3glN7umY71b`i;LXg?opfM2kmmnhGn^j>YHMd2=zYq~V)~3&b(Ksf&hQH%Cyc0g%g%U-~{gF$i5bxb-_bA)s zjZUWb&8O24jiwJoy`$;L-2-gYz5M^Tu5(_)$@(jc;TRHZxN5Hp*z2zP4~(Ls6rZ;T zymiGNU)YL$WxIULfMG$ zt509~R5CfZ5otaC^AnX5Y%>n1_^B(O=EX|y(cQ1`%`fAU`rOjW1#g%eD!ToM+Nm!dJzD47(QdxIdCf6fI(XjDtly1rD;QN+J+AOR z-3W%N|96O&kevbWNuV8a=0mNjVzFYx)Y0`SDJk_en6yEb3 zGJ6C(8=t)GwkL06-aTL3^N%?71fIj`ZBO3&#XVoddV^g3XY5DpL0cO7aB$?rjFD5; zC_;dd-`g4ydq{T-SGXcNNjquF;e8 z(U{vfzqviNHP(!|r@kmjZAr?(DNVNrQ;2?l&hK%Rma8%c;idVYE z<8nu1TTrXF5?ZP(#0e`u5yj;u`wY z79w_A*1Q7AK0tDr#MZym3;FT=U1r$cd)_{r89*qT zxw*Y_JL_fpgZ96VWf8Sp^_@uj@o~+KzRXtvXIrV7Se#kMM%S}6s7iag+&hEc? zAQU=WcDurw5!n9ZbYcvpaM*`W3*kF!PWEkIpobviD}h8uWJ;0?k}+1ZvD9cRG27CP z9ZQWJjintgVBh;295a-2cx>@r=kQ1pXoj5EB2#^rUb?~Ru-{yI+oi;cSon4k_?B#a z%9PvFZ^|?J7}qpufuI;%2Jy$R_@HcoP?@!xRRsG5S~gElLEE5N88WcHad++{0staT zeyy7}HuHe_$CsWlphAMAo2B`|@a~tiG_z^F)7r!n=`QU}++t&Q!d6Y9xNEQoRdX=> zA{BDz7mL4GWXFJ+bWcOa@h@0~PV|OJmsx$F(M&2d(Q72-S2O5DkYmK!qX<#yYL7l@ zgkE5^t;H21v~_Fo9gjlc`e>%OxEM0NT-=I&Az8?2%%5dw_y*0mk)$tx5eWe=hzQyZ z(53`+t*kbnLJ;%00mNjg6|mmuHsX8PXJt+Q6hf)MKI+qg10r1EONy?1i4MNtP`tw~ zkgn3Fbd6+=5mo-8pk_7Vz9_>C z7(bZrR(sPJ#Tw|QNsJ_<0SH}V0$el@Z2?w9`}r}ITcFox?OWgvA+k_QCs=Uf`yD2XeZFSX=cA*-_;tl7+zw-W`$Q=8#K!jzvuy8Q!|z|cLu;-+7vs0~p69pU7kWDU zeuVKe=c?JaTyAQ~9pIgdK_bu6vs%=Lh>O0f^6|=DoSi=0dzdYQxqiVLBliJFGGY)w zoc{H%`?!(hE~XvIDjex!lfEp=TnisNzui8+y%!#phTB>apF=_W{23IujsAM-pgyt_ z>8}Z^ZQ({~1(TgCnC?7!lpS9(b;OHMz8~dnu?-70wi~m^P7({6ybTgRgz*PIzQMi$puHaOAj6~=^}}g|xQ(!aJ#o-&Xs~%O z4q%QFkIxD8VXZAhk|(fpI^Z2DRkj_AhicR6%x_}saBRjtQbj?uVc+1Ksf0sm$sWrI z6JjjKM%5wx!ug5vv^P+hZpV7>iA~#m7tYU??CT+Zns%mGE-GuIxu{66$@0Y^+-BlT z7*s&j*LwMEf9T<3@%S;?y!XPHnG0uj)bsgzp6%N`KffFQADh`VGqdYTu!Xt0IZh+^ z?p>IHfF}jjo5O5fdH#jxpI>=^WtQ6k@3(b_3 z6|*e8(AW$g_|1(4Bz}F7$Bbk~bEj6XAvk+o+u5AC@WKF(If<&N->rFUQe|*_Ev)hJ zX+Rf@KcJy7Y_t#$8vkL;Xn3Iki?jPZBz6mwJTX1yIgRaam%siW<=#`f<)Nt|`Ni5t zjcCmKVRAe|2+UggD5S(`+Qth7sMfKD@HHKb`PubDT5%gJMeuF(eUPl0ZZHiIC$Fjr zkAOc~CLU?I{0!~NFY+w~2(99W(e{k3THRZz?5S2y^bhcA8T8$0b_e=3U^`&D#rBZx zB1 zjD&{#0ThuM2Rc})9m$sI#JZ0A@!}ByIg(mDHWsRus*03YZk=NsOhP>`=6YX-=O(6mC zkGQ*TDdaUSn(Nfd-f$+6j;5gYfe13>fKw~9q4gv}_}{3=4To0FPAp{oLINoQqRo*= zO0^Fotjl|cQ@${SKW;(t>B%AJXFa+Pp|ynk&ioXVh{#6-Ys)zfC&)tPDnHs4{t zS9iKS13}fE9MweKff#UG=SK>&*{EC6W08?~ZgPDMA#=(x&qzdulF}pj^R9>@kk*#n zAlcnQTvw2+NtIZdV5l|kXf?Ik1Eg?AFVkSa*=n6=ju67054lyBmI$OK=3U-EA|S=u z+4`(M#9k+`z*i_Dphx)3iRQg%uMFe_ouB^2EZ)QgHq#MSLM zV1wcG@Yb{uc7#MtUl1}Qc8}~sPAP55`*=+A`NbcVMivSU)!|76bJ5CfDLY!$V@+1MMz1)C50HsrWgWB!|HCAa%$Kln=TlVLsK5_ zXC@=kP{~{KCu+5I_l*qrtLuUxw--*k%Ac_G$%X8a#}6CpVl40fmOpPEJgkWd(jeLS z`T5*}ws$Ar{fuw<9O>YjJD@Kh*8y$Px6tFdran>5Rt`EB_Rl-7ywW+pf5G|w4WpwQ zMoxDstyYC^jzWq%if`xrv4Z+mpjk-UCTtyG4#b84!$TG`XS)H0HVwi0da~N#)EeUc zK&p(m7BI5{Cg}IdaXj*K_{OSpQZp1>kI*|y~cZ}w>#; z-_yI3@0QF4OPuyOr@b`q)HMx-SNQ6z3%9M4ex$oTm(}01C763rE6i=TOD8?puHki? z`SuaMW!=30wVh_aoz2c`R}X77vsmXXw5Ay=o9zV+2Vedr`0~@dp#Gh=Af&lK;3xem zBQKb1=A6#&x46G&ys6;s`Aon(F=xVm^j8k(EBXlY@4S9%KaP2^zS~`gxnj)$cKn=` zLnF|88-J?*4TK+$Vs0Cp+8hh!OzSpGYfgo5Xb;&|t~t%vic@w~21go*s0nMJvC&G! zB|A^0nNbUk4VD@({+6UrqlBXx!JSpOShn4K79t`Q1o{Q!6u}H0d%-+|={dJl1E2({ z#1p$fF$IpG1yuy%0gQ^EgdtmMff9$wIvN&iHCmXjNUQ+jiGq;k$aD>)6tfhq&sR0pDdHv845HAZzy#yM2EtmRo+tai52Y-OdUTcTS zE+XUf-m|pb!GBh^)6WV&W=s8RY}^R-KC)xS8@F%2VaJZ2zTyCO%RO$lybS3Hs0gxK zE{Twwa<2sPdV?~O%ob@@fFy(AA{ij|Et&tpkMs&iN&%NV#C0n`wh6;R-C4}Hs!5*) z6FSSZnPEce4oS|l{(WAU{W^=jc-p5cd5?#;<22$X`Rc8ox()%&uA9MyJ-Feri$q@fjlK2kXFZi9GNXZ^N zf}te%(wE&5CZp&EtCYnmC))P}vi6850-rr|-ro%akGn4aeaz>J`98$A=Wm{Lf2S{z z`8^qc+;x#R;qCuDQp#j3`jXR+ChtoW7R4n1CL+IQg)4n~OSdksS zVb`Pa(#dM)HLvMZPnP13@*EQcUu@hC2o^96Bt=1=0uh=tBFw-~CC5jmgBxm-g~DWQ zLvVUzJYE}`Zw`!Y7#i9zHqe|OIyXn9*$-q>zS&UpTpHR;|FyboPlYt}FejCrsuz6&_6-e64y&qc#)=K`l%RFZ`>tF~tq&VI&>u~+4 zwLb^mImxzql>($yMrlXTcL>42DJEU8LV^6GQkfl_9~(s0%m8R))4b-}mC9VG9nX%9 zWxdg;R}bl_FsErisA6r4t&L+tDmmU&b zeuPg&=9Y=F&-z9aenI<&NPMfXDuZ<>s~Kp^&NYtu^;TBtZmkl1PR3F(@8`QqT{N5L zPCtVfLeP6k&9Z{~JxJXb)t z@ir7W*1BRJcer8jjKHK{z=7bgyMYp5kzB@s3^Lm7_$MrBt@nR4!SJy?4(8~6-yt}T zEfhz%+W{L#gx%in97rR>Tn@woa%#WO+$@59%VBpz{-lNM>@(4;z6N#B*KXaJjhjj} za|~=v|1=|H+EB0zb}El4CdjYgU%EG-o{lrI8y>%h!nvRF)(2a^K>$-#2+ zI?qTlIpXnVd?@>;LV=$$DLz=9Ak9u9zAK(c9P%V9Nso~>61U~^bbPM-_m9N3!G!LI z1bXV`n?F*ip!s}Ux7%uL9CH_PAd*FrWE3pN_IJMXN%BlEVa{oc*D_h}kaG?xN+Br6 zr$7?`X(k!ev_YsOmZVbKIar&C&8hqCM}|K30k1KDz!#DHr#?1x#J*phi_O#qorwK) zgWHAN9@hK!qyNgLG!FuJKGnI46hWgbn5q235t!l$etysPfv#oLf1+FdY z@B7-b{<%pkchgaLbA#xMMv3&JEi3cgNlps#yR2)M^@&3ed-VuejIhq2}fw$UI0_K@5#hm{GNL%uW{Aauzqj+Q4Jz8FkN`wR~I{I>O} z-b!lyHoiCyW81r(9e#?N@ufXpFT{z=LDvvwA;y|mLPqaNH(jRJVc@JjCTlM4FqCT& z_LvpsSW;r0ShX1J1dG)e%y7Jh8f;f`%a!Q?7aJR6u7T;w=)TEeheOh9?fq1r#49yn ziz$J$S$dIG7_-(Fhy42B8*+-a&n%zD5BK=v=M3Vk-l@KSja7Gqb=e_4zxnDwG!@v< zn*ZEije<6GdMgygn5A#z4mpsp^iErTIr!EU%zYJ@qjVN`$e5`>YJkhYUx4^n0a!PP zL1-~#PZNVW$~>8j+TB>$*j4)nzqx52&@wYP2kTmUh2QdTxVY~o8rL(w1Z;nR(-wHI zB~3AHtx1}~2_T5ftoIQwOBBGG_>+O@UDI#mlkF;~jgb%4fCiFpU{5zaSpEX%HXbX- z^7$Ch4#5J8rWrt%46YLtFebd@G6X4k^5ite!R2&P!%mw2GTfkMY zbF@~wHV$pbg)_s&YcIXiOt^Ktwsh&W#bIbeZoDvlZLN2lt4atY(0u&9?Fqj2ppEcZ zkQsLHMD;?vlLK4>e*i`vd+6qAXNnpRrh~zBFc3EkIS30#G)VCn@j!v?3DK40fd6{L z#c^EI`;pt_@O=2gy3+~m!8KHNy&uwOtDgxbaqmL}!LQMdyloz|*5}R;a zev?yu>(VvI9w9P1x>{Cmz=O`-Q<^Y1JcyVDPPTy#%YxWD(HrW~w*lr^YfXd=nU^pt zLU}g?A{K#fKqP?bqjWt`fd1%5t$+VyeRHF+`R!`He)mGJ7t$lzMTc1VQ19KF>$vh^ zHGk^R4Guk$c^q{Ud^U5{c`-wP?RF&w-w}EJJ+j?k??gu7OX6|QuIy`ZUnX*yU)r@x+do;~sAuHz zz`z}mBe-veCcQH{P%aM~A1NjhiLYn)8ad5*04K@ZK@rme;47pJO5kk!>aDL#4B{o@ zrNv3!f&-hE$^#EmWe*SJruJ!g-M*>%h7IQYISqbhnd<;)c>DjvYvPMJkBJyVU^~r! z%ZrrRCiqV}oZOoXryt=z>F@*LG+QiG@mmQcckD=pD*Pltmg6)gG+%$k-UHto7_#_z zS91Cf9oSZmA6+bGy+^m~J$BK8hi$yz4W5OIj_uuY)SI)$Wd-f*+q3~5mM|krP11SO zx3iU(j3@c#i~o@S?5E=o|I0sqLHz8a{W(tS+kg+u0pOc(04XB~ypsqPs}J(62EtKt zAFt*(S0e%6D_Ip%hIKGJBQtoCijiwjsa;3(FC_RC-Cp!5G~B6L3s zxD0zNf~X?V`{CjET6pf&kZPPAL3D-5DvCoTH}m=gSd!~*?`!}LiBiHh497$SD~T89 zP#~coE4wCNo6FX7ctZR11I!1HJ$PUWTmC0I1EtuWrs6I@1Me_u7X%nv|Ax$f-y3H> zmnRkpN77SYW(a{Qsv6t+hX09p4uaj-?Dmg9z(%qv8V{4^AqhQX=`enxkWySwZgQho z?<@6 zT)iJJUp*%6bC;zDr!aL5=QphVufKtn`&Y?QVWJ=%`>eTtyxFwo7utbUZJ$yvx(+VAf#<5zM>}bbt)JnuY@k$md2tBwi=e1aSrMDF;g}9P!naWM9ih zc724ET#=E=y)FI7VBL^ zb9f;&0)+8HfHfe%%3+QY$OEl_$ru1j3}eM0e>uGtw)tq%r;*IluDz()hoHozmksuo z2d9TOgEwHCWpy%tz1yL|arFB9q$+Rb?;E|o5)4+ZAKl{gxO?v-u?4g%kp4E{g(%uCIetbW|VvlW`3G|J};^i`;j<_tle5-lVZRuK*K9gVpfVzuM5 zN%o%ZomEW%hi8K{=>fN?YDC(2r>R*a0qY82!QM z2EO^Ht2B2&xDo<-m-ax4=H`Ii`QbH%)UW1TUFLHY@Tpk<*Z-Ft_Ptwm{!XJTbACCcTL87XAOo|y>n{-j+Ar=nF$OTRig=--o7Yc*zrejz@k&X#Y51etMJ807K zTgm(ZH-U#k3_YHKi@nd`_7&|aGFWLTINce&zi}WtrB;L^gyumG?bKvAC(0p@Plflk z?00+RtM*5b&B^W!OJT3wANNK6((i(=d@`i?JRw=khFL6>EQ)G5><^1dCR|oU7>OE+ zh>(f7XbM}Fi4~APcld^NIm3-)=Zf3Nty>mcfkG?;tD8_dnghx;*k;bQz3;}` zdP}f{#NP^M*bX(TwOaLdD(Ij(tXb5#WYtM@sma+;n^EJ>&Q`Maaq~H|4@ghemow8M z<$^3Z)6B4yh`09ug->Khypi5f^f>!I;Ucn_i zJv=D=uv0((*xoBvaJu&xOF#WUz4Jq9aPEq|$4uCHn)3%b`MH>usz`%`xF~%s70lrm z%VjR5yR(+b)G}=OlJ(;cjE<<$&GUOR>)*<=Rhnapb-IK;;g-F~@6CgZ6ibD6262?C z2-o!-;&icuy?5Hqj`waif(ZM$dpAu5X%#opcNMuuf)XTb4%!F#bCG(4^va`*BEl7l zDjaag9n!;!VJHFM&4i^+dW_Iz_2C_2c*Nx@vdQ7PujFu68sd)LzYL}(?wc5>y5p)A zdwbO{Z1~0o<{t`-dyL6vwrpCr^{S0b%evi}ja%1k+7cUaIO;yOaf{zxDrr6i;+fFb z#wX;hTjf?OI_h*5sLgzFaJmr`BCEI6AjCjTBuaqlA%xH!?j^^NgZ{f+2fIo7?g>dc z0pp(KWqd521ud|IaRg`2C=wM+Hdj{>2@GL_+(vAS+7{3L{fqne>sxC_;pxMcPt{W1 zTDM#CrfR3Y|9xr)UrSuZ8|VJ|;Epi^&?lJC)PtBHJbq(6BqLn)e~V%@wd2_xsj4Vd zQd=&!+b`des`kEh|NX4mI^4>RO44Yy)y!??NB{4ED{S&=TOGiZG2oa?ZW> zJg^}MW-=>))d6XyL2{Cn0>Y?KIxrl-0+d0?h?_`uSjrX2Q=9~v=5Hf}ds>G=srtn1 zf=keVQW+HcjhStA9L2XlYB=0z&8?p|ig~-Ekj(3$Jc)Y1c-iA)J6ki&6xURfcC zxU|G!N#8aeG_@ZzEe9T)h~{?NAnL|TKOK2&3*@3(GBcOmaoG$z{?nh&n@$BAbJXGnlLDM9$?WHqH5)Wew+Y;7Z=ai z5HsV&mD5lSq>Hh;_w2blRz#fmCDuhifBew;Hrq~E8ZtZHa9RVD52siXY1f3GOg-$U zMS*CaEp|@`n!8}mJ)z4+Swyr~v6T{yty2v#Ew!^EysT3d_h$!&JVr_{Kd!^NCH6s2 z`Im;T_s@6g?w#l%f}?mjeS-sEkmlSY#+8TI$YuK^0bcFLd@xM|>KOnYB6LwutL0)F z=Ur?(nya}tF4l6<`FU6G+4+spe2vY|&!gBZtM$IRabqkuHkOZW+z6XmfERvAjd#~~eW0Gc{D(ihoc^hqcm{n$IF#s$Rjqp;jI6bTu+;0O z)dM|i&W--Fn7w_SJ@``MmR7OXhxe|70?@~!rJFVttc-$ndq2$U@7GB6okm-hEv=x< z55Xw#YM%`NWzaY9BHa+JrWmx}pZFE=B)!jhqkG3;T2Q2=_^V-7Ka$%V@tv`8Ty7ia z{fHYL+`f13=qTDw@YI|e{V_TZnB0_!W2At@xG)2UYeI&uDTNa45Bq#y8%B;|m$LiS zcF}xe5)RjMFL$`E#XJZl<)DmSt4Gn*qqAktkz4lk!sxkf*)$fmF8dHmbE-6lGa3V; zr--J5x`aY9^^rtB?hi|V#4G<8xi=RlLl=Y|8_z*+&s1}l<|HGoXXEi~`AS^r|DkeP zTX^3JOH;IvCMW;lrOk7WtKqk7-`iRI>&3CT$xFPi-?VQ6=1zm_oBSDg@j#~md<)@Q zyRoW54)-4pgicmA!uj{LGh42{ddueV@%L)5_ay+yn}>ztr+TCW|z@;8x!_a#<6Nr%BU8I}a$7L9Jj>GwlA+-h1|B?z=Cu2j&A4$MynStmI4qOnGB)~j+CYyNqZ%pt=F@e*f8s!8;bD66`2fz5f0}g1NHfOjQgPxd|cx{ zL_B!g`~36IyPh9;06)Ed#&ygEizYPrto+$|)rW~N@vW2dHIzRgSpBFaiUV@@;cYM% zx{NE7ed(mbfTwkLn-n^=ty_bvVIahoaedq2+qp{ldbcofc=1*#6uWhC(^$(Dq8Vwy zJ|Fn&F^n#kY7;pP2O21}h<&!A(vCyyUC>2Z)kH+mxHrB#RnP)LaRv!djoAW247~By z%%0$R)y^g3a~FZ|ifE#!h>=z$-Emhv|FR9{kjzxzF6G5v((HJ5Bi6?abFy?t_W zpoPp3lHVr=TN9lUNjduPlIE!l++xKd0%Sp$`~JG?_s=RHX~Lesr#7@a&wAJz=)cyY zZaFtF!2E0Qz*>8{wevvJ6-BZ)Mv+8?yO-=2ZeAki85wDWn z{pJfVoNkuoNh;)3^35{p1@;(g4zs3Aj(=?Vp=$M^6}0ute*>rd8TyFgN8r7tk2?u~ z0Ej_{mB<|)mYU;e39KZ!$tF+@rax#8SlN*Su?I3Opq_pMkBll(Rnl5frzY6<*g^UR zTbfjr)nQ~rJNJ_62{tvEUwWFnLaHaSigunR2E9^S)7pwBDA~`m%UKa&lf*xCN%Blp zW?@y=|K2qEu?x6HItHj-T5W{TU%ud)^57SrdH4SD$-j@07zlIs7r5_18&*r+#Qk7- zR=XS#E`Ud=oTSYl!@|gQk%zg1@Q6PeLp-9W|4#+N&ip`l^bjuPV~Vz)Tphgo95T%2 z`GLc+zuzvKMd#W;kHT}quQuD{X2;-w?mlC4?^x0b#R6#BF5;{r3UQZ&uJkO{nKd^= zP-g_K0ksg7ti+I>k7J?IW7(Us&)+uI`*xNM4{jT~ZEPEpP-K;SnwPAZV*>fGvGm_M%*u58>;39UabhbJ=0ptqOgCLd-Z81c~P`ci;njeZt4aq>U8$|IME`HZ%>R)KF4R zrQ{?I@?+_-{MrI(ddR5NPQqqc+$fDPU*ZQ)N0K4yD{t*TE48;!OtZ7&C6a6lqm}WV zi>n%J57s<_iJM`@Aw#0`J*#K9VveUZ&$wLT9BhXgNI7AuEY3B^wBG+9U<{9-f|)=j zd^EPtv0UtH#I%7G2?x;7j%4rGUD>j=ZR#Xmoc;5HiRWXlZiC> zhS|{jk7TUoxw`jpddmhna0xSo_+#`CamU1_5KT|V-Oe)n@zPi!y``f^Vc3FYyaqRu ztUXE|7bH`+sCG^)w8H`-N|5cQh$~Ojmdcc7ZgG7xmAR2J9qt#F?!EQacQ)5UjI(^S zoXqsTOQlGGc$H~K3CNDQ+XW0a-$42Bh_WPWmK;~TadkwW4<9T(HuC7k;+!T&fClmv}YxT%-3bE;o5ww|l&QKwWsQe#(hCX!;sc3~WwW zlJu!7Jpld>5?<|{t+sVmqD zw*REAA4a@Gp)e*k)ex zB5j#=27r%DW;skX+id!#*j`3KH^_DrX*#m3{EFwi zl>jAkq^>|xs}P0EwTMiJPDqE<4u#obXZ_T9nnbWovj3s$CoaNx5`otGtzM5Va z?-~O)I~Fg;=h6M%miw*~CX_ZClBoODE(08kY&Rt)DY0lQP#HDDAq<<2ndUQy-C>V?rSR1pB_ zl(Pzp0-yyHVlIPvAAVW2y{9^_R;gL1CBMj!4yrGWXd?kG36e-|K@09|96G>5waKo@ zH=5;3eVNP^^R>>)MGz-;!v7cIh2l_tO%%+m% z(aDL0#&9|_G_-qYER!A{XtlQ`{DD~D$dUIPIWor&*>PvNa4I#NaSjbRGsCGe!uR%W8c1gFIvauTnAiPHggz(O9vN3%)(l=1%!wy+Hhr%6ZI3SyemF1FR3jI7naW(iAk}%Vv$4CS471`m0J>ZO&1>GNsXR6>l z0`8a^u*V~=(ADS5hF9J`IUR648;hmilGpv&I23`AH|vPQ9g`N{sCqow)Vf80L9>rn zWqrVwVW@BLQW8|PUfBMY@VNJq$+QwdPi(TKbch0G@#sNPjb(Kav(5StWTDA4whdp+5N8J&1{jo6&x?l zLcKlzA=WV#j~1D4p=`nT70|!LucBLmaYp8v1lvxZeg-~AcsC*})oP2~F8YJoa|*Q7 zN%RSN-Ud{bgIp3JhQekTgJPC-*7=wH>uB>&n+|T;bdb5MB5PnQ zEQm}ql@kJ--^7JkYtkV%0KfD!#e0u_G?xerk{@9pk=t@;%eOyqY;rVM9EN-6a4|SK z`A^)b$D5h-=EJpY4S(UhcQVu1vgN&R-7|4%A|Kp7Jb(G+^TXRh`NX9Ykcjl*pgC8- z-?YhOjKDM?jM!*rPMly%C$2qXyLQ`3wfFNAAFozFervhR#0q~FzP{hL{RR4hXE^ke zZ4A$3Pd;}%k3Bc6#|+0pqKx-CgAUk2i%Bu$tr;Ptv3D9`4Dp-{kHau3!)jbKoZ@Yv zWGIwmRcDB?pzDy+EjhX$yTxg@J8vr zN(m{3m^?T`o(zL+$~l}eg63vxZ>!~GI43)D6(|87Pt5E3E|AP@Fpd-{!XlF;=2?gj zf|Ersx<%CWi#(o`bLDbQ##8xvhtvt3**EI?Rjc&$zq8ZqU7T*r;j8*os0p1Kg-muF zfFn@Kkf|At0K3>%DFS})D%!GJdhgRg@#@39=iP2rbhA`Y{~2Au26o>QZo!Q|KAx*^ zT*Zj4QcN&r4uQhPuchmT9JfjE8`vjnc_1f5Kk|w}h8OY1HD@S-IMCrlC?wXK4<5E? zs=YqLfE9pCiXvCAFD}4FRc6)5LcMtyFK1_d0~&h;zEv~}`&p+!$AWfJr*1)VIQ4$R zdt43Z>dGy&I+r@h;yv>+CJR2h(#}qG_@9nqpg>$|D&ziJ0t-Eo; z?qm@J`*4_jbD9{POA>|vR1AO+rZyZHzeQZm>Max=3^xEdv8A!W;D9I@gN5PY{GcwC zqQU6ih57xjf!0KIy3)yuUw7TU-G_e_4Tj?Jq37Bg0^WRUs4|{T{EygZX?Dj&n>O#2 znO$><>Y@F64_|uTL^{(-qnUtO#3L@VE=I?U5wn%Y8-`wt))9~-w4GQX<}q|74Q>ue z$g@f1xQb)=-4|O8iRLC|sYEjs$3^SBzYkgGTV+}DOn7}QP4kpt?s&xOomBYYpo%n_ zn%4VCBEiau#3hNuJ&DAoL}CVkuG|KLsUu=kov}$Q53^Q&!fce$Ms+Ugx9R$A5Af}0 z^uN^me}euYUH{NpdTYDwQHFKqS11Y_XL~R(SrUR%1Xu+$7a4`nY0f&Q6U;XABEQn4 z6HcD-$5iM*I4uO*t2#|C9$oiSe^9>+76ehN=-=Z~deU;{%+s^hW8jZcjBoAW5Gf}i7>9>H$ z7J>#v4P|Ij;L0W;)uW)PDnnvP+@j+K4ZcVSAp$o9L2}_475DEwCc3B=34!w^SwQ40 z!H!xq89AQp4DrZB0g@6$MLc=~Nu1mo!g451%FKkA9mqRmM>Q__lT30L_NzCe7#S*2 zi6|fymFQOSMu&vV&q#GdwKx!NBLagNsvR%)g^Kv5M=K}}8VG=VU#O$!AQ99j*k!p|r^B+v^L7Aapj z=m*Tk)f<&CT|qIwgZ8)@CV|k2%usbq9q4XHE&|1ULDH{_^UY}DyjUz7T*uPCl-l*- zN~(HezFr$`?XYk1DTZfii#naVCF_~W4vs17k$_8-cF&IAmkS2PvBAoA^t$5iCaamW zP@X~*asSxpy4~V}R1QyUkwo1;R48PF)9NJ~!)b3|NZa1tp(KnA=MSjchhpJWWjexX z&mVvYAX>N$ylM#q`XWV2$AI7?;MYJl6#*>~3Rh=7?a%x=r(oDu+%5sP^l=i=sv%hMle}?&jd=rzVF-XnHb?~PTN$oqAfQf0m1lj*a}M8B$EdxHHj(1wd4@uq)fu5vt;ys42#Y|K`e_3%Oam(r1t{_Cqg-a zG-E7bl%R6w`25Tdkr#BC^vi@=Op9B*4WuMcH0BFl&kb-n<^j?nJOfS*%B2)zH-5&^3oIRG*>D=>yMGOG zY04W}@+gXD4gGFM1XIxOTq;Jwf*kZM-2Rwzh-e5Rrl1?BMf`}DfY(J+2N=|PY}u#l zzFyad6w_%f;nQ!_eF+>L(vE6AePsoAbbNZbtiyyHcW`$^I!fS=kBzl{JVcxEuQe$_ z-WC4-i#gv4^h!O{j2OT2hQr=p8IjlWZNx}OiNMz+=Cq03b;-BS|9-;+QHXp z8GIF4Z|5LWYH%&_HrsB>V0LyiEc<6-je*rklr+P*LZhxw8I`ELhjGur$!=4AhGL;v89lw^&Q2L9M_pWa)h3RoB2&E?aJv>G1f)jhzsm#*2qvgD9q z)C{A~Q_y-y@v$c>&V%*KOO;~(LtsD!4!M+RD6u((775z9+^b|beCIZ4~H zW@sz;uW7xLnoDC7nydF>8U?3mbFP_4MAIVl-}}zzH0^VghjlwYkMR8NHsmLToxjTC zpFoeXCSxYaG5XR4l4GC^n42IZsZpVZN*?Ka6)PbMS$#*gmd)0_?Dl%yy%ik^&tdeaBC!OY^@H^pKPaRcv9c=eOIKj1#;=JQsrR^?}ekxZc_U|Vb+hh%0g z59|TGyV}A!0X7i$et0tFc=AlNi)c!U699W;@E7BzoCt};_PYZfJ@B6a-4k$67;^9D zlB9~tzv=qFA)lRC29e=N8-pCHvIWVUFt`;_6i3B3%A=8>ECLjUzGG(yY?`nuZYd2| zLvjIAwi~tVeW=gS1lpP4m`i~gC7S1)i0dykN--TXm_rfgMEMqqoR!pl>!>e&=?*ZQ zzSk4h>cH4jB909(MfyR%`@`-)z`dU0Q`wH#zQ=sfE!g~^x`_10`#`mU0U=Y*=LF$) z2D(L_5Jevl|IjgPY-a@N4%sYX!+*kv^&!hP>l-LeNeruY2#{*tw!^j$YxZi}QQKQ> zx8goaBCUdx12|U|#9SKz^$EWaq*3ize<~y_@4VWNdkg6}e^@ye^sBsK9JI5g@i?U;}O&7v4NC zA!X+Lf)hf5`FV&4oD1_Xosw4OB^@X8IH4(mOCZ^-a~)uu&+F3yBu|K>09@YJyI3*} zl5vnVmKmT6DwiO5OAo>x@j2KEv(Klit->R*M+zdXZ;rAd`MvQHZ`TQPl z02yAHoXw3+?p5d$dS5vE1#G@a9EzkHh7(gn@%uy3U?32TMtmUT1-o-3l}_xKeP3m z_pP>LNAEp1+yE&JEqJpp;eqqY>{emOWkTi~*M2$%@A-4TYlk&1Huk@O-vX4kyKSnt zxd4LHlBg-%2-n+nTIDK*Hp7tMw+e7UR@ZzfH3VH=zw!n}6&KiJ&RQGu=5Y)Xf8Y z15V9jypM|({?HkOHL$_L>j=bS00}$;<aW-)qat-r` z5ZDq`$UcBuL_CpV6c1BIgl_?_!ylN<2<3EEtv8B3yit)uKpg!ys-hPHB1jtgZvfX<{eda^*3qYU9kAvK_v%2*+Ifo8oF1#&=^?Fu5RQxajzJ;81Rejy%VlkEcAYitK>Z^C-Q^isf#o)zD^Ynr*J)Wr^x^aOu{0cTi91cOc_LY^KBXW%sk0#x>G z1(WPzGXeONRegx`GdLX#B%HxuLI^tp-mhh=<6Cn%M0CxjU5dMzFBI}kx8lBSs$!RO zIoV!$7yPgAcdOl*Evhbiz&~J*#j};EczG5df& zV0Wp-tkVtw3E5Qrp4|p`>;yzkz)F>(Id4F$xyz|nSD{GQN05TRlVC|w6-#p3A_^Y_ zbdiW?9K-b9RIza_M;K#(O8BqF8*dFt5+ z{aoZqyIko%<6Cb~1F?gUwAew`pop3llw=TXLGdQwH|)$Zv7(?R3zLUcTMJYcB*LsX~2ru?rz$5LL;jr3>ndYNH~~LY$@5J+=52WkI zoG_;s;8`D8wLyfU4@{?Rkh4Mb1pN};;?c%-z8Ugi?ae#y96J2q;i2&az0{7+z^4WL zC11%Oz}JANln`!K5gMF`y!HY$sa|kx@5}Z1t%nb9ov%YM2Bys!a0LyQ;7G(`QBi(f5{7iKU{pB`X4oZ4nh>u7FJIk8`HZg>&g@EdhspwAlj z`CHOKs9YvD4B3=5k^BLR6C>uQ9+Wv(Hr~jSf{ElYBnir8I?x~KkLdbGTtz?Y_z(nB zk^<%0AQT5Ax{mYH^);IJYtJP}YcSBLS^0!ufc3exbm-{kcJJQpwuxtc2Y&glz%P42 zeUH*CB5!^%mnB4vX%t?=6SsN%AQC#!MYKpcee^oJJ(izdpB=eyY|!bPy>eZ)4(w6R zjbWRQ`xVzu zzL^7kvz}~~%&c_idWZz6D_}o84x;=kl5|Saz9VUx^c_w5n&1#_gsl07W7xb1nfb9B zu%S6d^gk$nj4R2CxYX)patj!TS#k;ta~M<36bV3w$aRUTwO=c*V3#0lqhaiGN~(Xe zUzMEujC$|)7)nXkt^K*76Hne|7`GV!pw5Gd1ZE1CEm<+TNVZf0)|j)M$K^`b+TOy) zf32?#d?-mIgeigMp%?zI$Kg8N6QFPVzuvpHKA0V10ri$>I{|sjtN#7W1llU)b%wA-8*U(4`Dm?|3`j!M%je$xVXJ=W$UmuK31Wc0iz@C_riJ zgd7Tp3}tVooF%<8l(XcGlFRi@mrMGzO9AqchN1s7z;1z{}Ize!ZwzgHRHS5bVVyB_0T94?x&7ui#uKTLEX&yAUjn z?(90$FbHhH;qG-{c4QDVar@bp3UB~Ohpi4buDg4G^Bu$Zj_xD#BiJmRmD$AsqdU;5 zA0+&13h4?^Ib$7QHE^b`j;LWpu?;OcARD61hXV~nj;M>{F!3aEh6=a_w+YIIc(^c7 zCU``cIH@>m6ERKlI}b$cYTxPff>cptz(BxAQ%Lo2u{SKR{m4(?6+%-XVWUu#$^%|S z$3Mk{ElE?^RCXq$ObkJ$v2;CUE31ADa2tfs3|~s zNR}x}7`OFMp_C7i^aXTBc6}n3KoFr=#BfH0Jj)4gd(h=$=|nj0)eUHdu+r@AXf*jb zpA(!!AGVWxBgUznKXy2*N%5?*%5@%&vsPp7?G!=#bt$ho>tWWf`B$$8kS9 z#mXdQA~F}Fh{;H3jZ2Tv7|e1sgg_hFY4H_@ISYYPU$Da26!z&F^I9Nq?ltB}RbjB0{1Zs~CLr=lilSc>lgVUiZ;F=&rUGY6 z`50Y-%z$~&#jx@-EPXBcdbud8rL$CGn&EO8F5@_TAIUgvpy`*mEpcCKwhpnUE}(hK zS2Siz)>_*TYtqm{^I3*hz${xC-?<yzo8ZldJ>}vEk^s#*6n9~PyYIU+>HsKVr#@ylttN@eXpt;X3)ATE3 z`3hb0YVIo(PsUIVxN)o>kmUos@PJ}uJjxYrjrrW#q$EyidP2v6dV|MvgDTPKx#iaz z#`U~>jlPRw#=n}@5VHYo!O|>|-v^c?(XIko2wDhdfoTCBQb+D$@K8jXF4Oixt}=e# z67aaU#)!< zUGGlrBj8K42iG)YzJ|mm%arSCId)iIsLaaeyt0;E!1SUQ!`}Dp6w9mtm_#%gbq#@k z{PI(HeKgp5p9XoKrcLg@;PqRlbr?DcPQiD0>!nag!02NB4U3&C{W6{S=sMQSN;MKe#y>Dea$Ti6#VXG1LTOBa-RK811LmH%h(_U1B z0Mwo)A40f_!`VLV6K<;wGoH(-?&&3qw0Q1x*Sh~!_HJ;F8!#FilWL- zofiI@LykY7RRfwq_%9AGFzH#z?jCB&ashTsK}osB1@i-0h>NNh1xQ($DvMeghjCGK zIefa~g8hC99@9uqopn#Fspz9a%zXx@_wrcbUuKlQP2mmY}Kpa_}tW$bFKw&nK zSWYCa<6E>1;{)4I%zmslP(P5nLh1v!g?2U89B=NBr0EI1O=}G7ZSR!U-=hkfa^}Cm z_x~C9wKVXRQ?|`EILL#Vf|jKUB?Ne(X*NlzmrwvAfC6ka#_E*ShfpPkHES+8Vwxzo zAM7z9kAW>WXkF62;SM?nZ1 z%jbLiaZ%ae3dcrbS9#+YBRs=*`!o@m2OYo&=AIoDs)=Y0n^^WW>PRdY6V#DtZOKLV6BdQP!@xUG=#2i8HlU<;L4uB7Z{!Tz{Qm)u+ zw_te=EigU=8Do(P4e*822_9BUF$8L)o+;s5K{279N?b4&q@}DPDG*KcIhcCR(wxT# zp%b`?DE!rV5jxW<0u7A{xLy_ZpZLY2Y!+Eb@4h?bQQ{H|6QSJzl%kkqf+%Naa!95Q z9XdD}nXEivz37n=&%$y_mRU$lNQ;JQH|!wU9WeA0fmf-ukMi=h(^YY<6ZZHeoiqNeCvJnW~;+lK{IryGueKK(bi^CXlcRArO+V zIUo`-f*hhm}_6(M@){r>DE#>h7xd z{pzc)s&sOCBAz|T>(Z?{-7M$pbRjpR8@>4G9O{b4yAbl=HOA35F$072+o!=!L(n`r z)%}>t$20BddseZ9=#4<0z_3kCnLK>8h%!{kWLIZq-n>jZLNVd!Pc(M5yN{h+NzZG- zspyT*XPU6*dYQubiw1QGYzWw-voUmc79Iq&4-YaxKrOoETq$%i?Mjwu#f)&_n`p&a zRz0rB;TgKZruIwf;58|U*OK$_NYK3l_Z(!vJu-Cpl*USK4^zCMHw-=E9_BEKwaC0= zEtN_Ya=0sBIvN|(sW}-xkKVLwPj{)*okhouB;)yXTy>>d=f`lC7x5)(&Ev?kn`d{* zU+NsgP6rP~sJKu#*Ivb_u1`4@IC!u7+w}t1uPV}O4A(IN(cm{$FdX1FjyU6SJfXQyd#iTu9UnZWU1A^ipKdRmf}XR_Af6RL zx%)i5cWivGQp*;5QdIF`@5s?}mG`T-GCDI4ec2)ZH#`CU4_BMPq|^{nfWg9W#UHI9 z*KrgUXV=U{VeWaNH`_S<^68D)-WI>@$~M2{K|iVAuaj7kX5n~mZb=%Gu})7PmFpQR zp46L8_vYHVxRQP(u5FY@sfzUjbM zJ9I}A79Yf)s2|{QKIg;2)t;sh4go}tXopY@hjb#lKu52c+S%CbJ<*!qkw`r0`AZSh ziPzEQNp3Qg@t(v?$w~Cis@s|y_xauvE&20t0IC29yHJoY=yR?PH(-88ux%}9B4W%I41?=hIxvDT*PXVQ%*W`onkII( zp0+fbU0l{!r8!uj+x3h&v95bnXG?D8;f)LLN>5Y4{prFp>1hW)|CYwa)lJSB;@(Z< zuO7rssOll7yEZmPG*7v_4(Wi`1asw(utt_l{pX2(_XSndY zJFuM8;oY6>vqF1+CF*5g*o)#uIlFd{tCy&VCG3ZjnpJEo10oAkljcmi39b+R%l+*e zC~WB-=v&d}b`L(}{`RT9fwcqS|3deIzJUYb!SICWnPt^y)J|7AQT@SQ&Pg5`HqLJq zx`j}7diob_@%+a;?=jyima0c&5hRtJy=l>6-&+;;4ruRympIvze8=LBjMFE)3yg1j zwYuH)$iM~(1=-ccF!@8(#v!qppq5A3LM}rB%`oK8GZnT@v3ZEfrT=*0L z1{Qd6^dgo?fC~Xd6?54dte=jW6S@mrEGDQq>_V=f=NQ!GPIS?1?pRn#po3^Nw^r4e z|6jCYRb2RTQw}Th#jxx_Ocx*`&YI0(pzW-#oLb`fl8@y(3x~n;=z^jU5-}Z%Z+UqH z$#-Lk@q3szcD)v7sQ-f3^4&S^Q{@REanw*ZA}R4hn6*Fvxo!0@(rM&ux=dc z7lIKB8bYJPJsHfp6GkWoFYFZhhWEu6_X%AnsRpDKwgavS*QjvoJvSiS%dxHFT9h9A zi(@HsRG`q-Kp=i=n;&A+lZadL71MD2yoek;==$xC|1nM06i}0euXi?`rnyNti8qTaIhm&O(YSc#1_%Rg$(0JXo#pN>EF{>%^Ii?h ziQ5|Y6vASI?G);I7onTZVSd(*LV7q|=*YA;<Vw!eSa1P-+0+EKUOZs{K-t_+;aKcOlH!L z?OUEj%*jP5t&fQLV{YG@<@>$i>C5M6@3vk)new~c@ocPKk97?Vb;WMU;`>rsdp73w za0Slk3C~#wVsUMqhS0|z&B@k>Rg^~%q3S%|VcuLd4r?=VjslqvLr!PK*{}(tpYe0>??)e~Or(XOuj@H=EOYf`DsR1Uv) z`iXdKc_S7qX>0WKDbc}HYDIXK+JEV~u>qKHwHkU^2gcT|#-+WPN4mPUB*W`FQXL6j z>xJ=lgkd6@a9c;1Xfkz1H2+Cx)8Ia@K@=`pa!>-?olK1~jo9iKycKYo(^G?aESygt zH|=^laf4yIRoxR$#q@=JUeXEA9*DK}lV0E6c=q}QUaPlYBW&Ldx%dol`3hLhGvm#w zA&Jl^8NVX!d*0X>!W+|9to9Laby;KMWj)GoS){Z zFW83_N4l*bywbI!T{mACkqbXK3cQ;w*!R@6;Jn7va?5zT?~Qj#J^tHCV}R#fZ?5$mbBC1FHg}$?hA-rQhl(42CpTae8>= z9!!RKd{A!PJB|?&Tb8N4<5(PG^HTMib7X9Dlo_liO}i zCO&`8a*W5jU`!ry^y#?ek0H18vc(WKma3JPfl2U!;0{>qmXZRvD`CiAYn!fGwB6MB z{G*Qw#wxMIl2-A@y*3@MXD;Y5^9#$%b})JKjD;f@MrmsE`vz9WkMq49G3#PxV_tbA zIP&0U&)ue-Z5VNzdk$_znnQh+Z7&!oANlQm(zP;!m1F3-JNsIUymf=w-SvNiqwq>R z#rdc@k>%m+W7qHthdN_A4A)hKoabhP;$eM;LqT9-cHXh)s8}Z91rt|ItQja|SME9Z z!~{BX6PU+cAL}Rl#GaMoi@Zc8W{w@1m>3yc?;n%Ro|N5l$GykKJ5nK8Pb7S2Q^oMx zfKl?Uzh)Y2j6CWA=Csvpc~-IFavP?Rz=YITlp)_85_Kr8P0zJAr>{;o&zT;de!}$8 z`1JVT%!5zO>_xQd00LGq>F$rQ)KRKPiH=*UEJlA_RfZu3e!9Jbfz5w@P?rZoAZ{)s*bYk3(!9!W#zK`Rp z8tRDha3fwO8@6EV%h?UPkmDne<~(c-{HrDC@_g(MqQ89uSkK+hB=$BoYy}JMZD^=( z-?4Xc%jUCp6^@vgS1`p=ZGK^J+WkELDQBs__(wj5W2ylwX1fS)coh+-4d+-=rLd4C90suD znlMXDGa~U@P$ToIRkdNQ><-nb4pUv2$jZ$pQc&G$mg-TxYBo%ax#|c7CnFrk^VI@4 zj~A+n5Q>)duIt4)xr>fJ`%hg)7PMxmKQ0vtOb*7q78`UOt7Wy5}R$J6L z>RhbwcAna%wyPcLd^M?ds$FWg+M_N|7plGL73w0jPrXuIjCt<&qdk3zx)hPUm#NFq zuDMdZR$ZlDr(UnFRtMA@z=&^D*Q)CDVRgTHKs~5FqCToVrXErs zNA$!e!498>r{J^dbBKHVg8HKRlKQfGSbar(Reeo8qP~uv`ERO6)wk5Q)pyi))%Vn6 z>ig;k>WAt_>c{FQ>ZkB*{7n5^{X+dx{Yw2>{YE{Zeye_`o>Wh%->W~UKdL{eKdZl} zzpAIzGwNCOocf#kyZVRvr}~%rA9WB*2)ftroVAEEhZEEd3`oMy)`%r$rb$McBrDA_ zU0Nh3d1;k4X_pS^M2JY2%#fLKxD=#YW=RiXO=im+nJY)gJULQcCi7(hqEHq}QA%P2 z>zztjDpEy2OFx2E79&#OD8Vw)G9ZI8gn*V|8Ie&rR+h>#IZl?#@p6K!kQ3!3IayZ9 zDjAd2GA^gc8aWj+ySy9$5bNZ0IYZXV202qEWTR}7vt+ZJEnDOqITz6p=gBtNE<5CW znUtNfOLog1xd2g_d*u~!k?fOK%Ej_3*)Ok_OXN~{ja(*|%N25^yjHG~*CBS|YB?Zp zkZa_Pa;;n^*UJrZqr3?o$eZM5xdovYZDXvzeNDhlk$}OUj86|lt0OzJYZ~I65R-mnDAkm&gdqc)y*0~Vu<9(qf?*_PQwn}sSnd#dWN2<57!0V zt!L>T-K%HoIeIPzjL*|9qG-Nep!@VfUDPFQwAFzw>x!=G8iI!w>BV}9K1v^r!I=Yk zP!H+49@ZmzR3EFC>Sg*ky&O_^f?lCd)FK4->9$E*Xir^4f;m? zCjDl8lfGHsqTiz5s^6w>)wk)l>v!ne^&R@1`d#|n`aSx+`cC~m_`UDack6rfz4`X@Q)hnbyuQxs>%6|s>xX&%FwY<6 zeGT(|hI#(*)cM34Cf*3IA7Q>nn9c~(8DTmjynck&kMR0YUO&p~MtR*R^F7MzN12aN zKF?96H_GQZ%5+EhTt}ny(X!IL;Wz+4@2EB)D5g$9o-*w!%#O2 zb;D3M40Xd$Hw<;dP&W*9!%#O2b;D3M40Xd$Hw<;dP&W*9!%#O2bpw5DQU0hKhPq*> z8-}`Js2hg5VW=C1x?!jrhPq*>8-{ves1t_zV5kd*dSIvrhI(MA2ZlOe$p41CZ^-xP zzlriso;T!oLw+~pbwfTku2L%ugdxuXu4I?G+1xYPwxCoc8DP#;X4xYP+#CvKhh zT_IoL6iteAfVup!NeKEr<_tY6P9O;vx-k4$HQ+LcT@rQ{&OnmB)86iIP z$WV_A^~j76pSom5h);boBg7w}4vY|=x@AU)PyI3@#HWs#QQ}k2%qZ`lx@Ja+Pkl4g zH$#0h)HOq0Gt@OhT{F}*LtV3Mr&;QorM_9}n=M9omO5vP(f!(Dbf1=bXN%E&+G3=q zmilLl(Q~%N=sqp=(6W7Isf#Y;((#+6E?Tz7EcMY+A1&KsmO5$K9<$U-%l4S1Zd&T5 zWqZt0KP~msQa=&I5#duu5nIB~QMtxK8~hx-S4%y$)Kkm$n5C{->Z+x#TI#B$u3G9U zCTfq;rLJ1)simG;>ZzrkTI#8#o?7aurJh>qsimG;>ZzrkTI#8#o?_1E2%matsi&5D zYN@A|dTObsmU?Qbr(x;AEwy!Mp)KX6^_0&>NE!$U?x@y_JveZ}0 z_LZg1TDGq&_102vFa(RjTk5l=K3nRur9NBgv!y;;>a(RjTk5l=K3nRu zr9NBgv!y;;>a(RjTk5l=K3nRur9NBgv!y;;>a(RjTk5l=K3nRur9NBgv!y;;>a(Rj zTk5l=K3nRur7m0QvZWqd>anFBTk5f;9$V_Mr5;=Am8DKu>XD@$S?ZCc9$D&(rLI`& ziKUKM>W8IHSn7eL4p{QNCC^*(yCtt%^0^&l`6QoP@^wI74#>j+c{m^s2jt&?{2P#W z1M+P^o(<^#3dpko`7|Jp2IS9xycv)e1GX;$wkrbiUqIdq$aevGE+D@JY%c`lwSfGD ziR;696OeZT@=ZXV3CJq}?el7*uD>F#|5_oqlWn Tk%-c1X!zdJ9z-96+av!M=V=Jy literal 0 HcmV?d00001 diff --git a/documentation/fonts/ionicons.woff b/documentation/fonts/ionicons.woff new file mode 100644 index 0000000000000000000000000000000000000000..ec1c1f879567793545e1a00ae1dabde12a7fd96f GIT binary patch literal 65912 zcmZsBV{j(T_jYXCwr$(CoosB|$;P&A+qSW>Hpv~^+2o(+SMSHSr>>dms}H(sy86s? z9}h(d2_Rq~ARu61PaydJp6yyc_y2E^kWiEVk<*AdqADZHk5a`?UFHWy zLTg5@rgp}TKtNzCKtLe#KtK>O88HQqrtYppKtPZsKQdtd12V9frLl|Sk3F@YI@Evo z{sscIwDqz80)i(30s<%k0SBqQGABM;nH!t^_+a{xVg3OJVsZF_)erf@{qR7=!T;0Ydkqi_AwV7eeu0CN ztAP_jHXCSx1qwg{|8Efgy#tVLU?Cvn|0+Nr|6_hQAR!=z|A_x=7~7iW3=B*S3;>2R z#s&uV5lZ`6q*z**n3$LwSXc*wfPyEH5>B#)7H$&{rnSdFzY&=L%mikRU@)vC)XGLi zU_eSJa0ma{iq+_~M`K3HJAxJ}lF)^y;tM7u8f7n$G3J5UB|d?tqEdiLqNgHB2_}H1 za7aLafx%1^0*L~FrcT#OYvh0S<88;}`t^6`&fCB5&BFIF=vw)`mo)2%hBXn?@1zAm zvl-~-j2oeU?StfrFDRD`v&+3{&_q)6ouW&WYj}8;j-s1JxOAQUt?+=QzaPktU(qD{ zH(?|D%yz?+O)Tlgo-!}O;hcN8U{k-`JT~Om_Mqm#_DCD&2R7tgwdD;`4(yo10#{W& z)m^KD3?040hzs$(+KA%i6-BnmDc*BVRO3D=S1@9d9@m8?c6rI3Dz2>w!r1On%;<4A z;|P$O1AF+Qhf=w}>~>U0BR`|A|M>e=B6qzACMvUsd8yZP?~I<44kztKxe>`1)mk$& z=|RlsaI6dAQ}VjQzs&&T+1vyE4X@&7y*2&gRorWdQQ*$~@CyvtKpd7H(r?#Ux5J@& z_}%-FESu^aep+v@Z+(l9%>s6cP=DUoM0kaJdUk~qo_d#qgRD7LO^2-OmHpX;J@x*2 zkmjf%&)IjsQ71$Ven~;szELMTRKlv52LFNwh|a}KfB$&Tw9Y>#QP~3mXZ;ynUp5jO zFOmaiI5uoU?UBb~DIGqjM|gP~D;@VWYvZ^+>O3RDoi}h1e~k9+qnc+`Dkl@~DKi8p zL-=RNHg}Rl19wH|-kf}0LB23f2=oCPW)G=n%)tVFW$wMRllu!MiJ3Ew=_GZwo`0>s z+qTn-xmicshiA3(EqQSXcqjgO!j^l7NOu});=U-Pu7~e23injX&TeJ$fFCcf^gN^H zoO5=ry?SCk8h9mNUBE@UK}_W`ue&@zBS2)ptGAmzC*{tE4L??{z?q}nOpbgbl)v;} z<%TZ0gp5kEQks7)i8efmeTz;6FuvX@hx|&p2GP>^bL0upP6#7GJitG zpMQ^hl-@*rf!O*1-~Bhgua@AjHIao>FePsr_JD?=5qQ7o{*h|S@lr_60& z48qfGo0^swR8)*8{wZULi6KSmN0!*8oS4sY*Q+k;P@L#D->^bvBluarkfBC~u0 z?hRe{efL36>oIevqMM3kbysG;G@N+m_uo?6+(_t_tuQ^RFs$TQGR-ECx5}jyLj-ybSjB`Oen8JZ{c< zdl!E9#P9w6*SkV^>r8lsZg6(w8?5<8mVdtN+qM3B^c7lv*Oq|W6{b5}p@fVP{xWp9 zfYugzax3}=^*IdmKGjG)UPj7FvLy{cb^ zO{x^9CYxPM)Ggb7-7!`vQ{r4;r`}oJs;7!gdevKw^|8dlx-D-VueYKztNhJdz1}8h zcSYA*_XeO(ze3VmkNA`*u!gBqc3h>}i?dPzzgc2esfMPV;$Ab$RreZVy3CG;Xn5?o zw#k1-Ic|VGZgP|EPIot`i8pTGo|EKW(|7rrQvVc}KJXI|jBDPrf+gmSMrou#^)|ge^)`S#SYo2FqX#xjFOP=3Qd7MV0 zA;+AqG;LmMsJv$o#K2Ubo+&;(b6R%h0NmmMZ~h)mk@a`xOhNdW+5^?HXK1CIF^jsK z8ORa#G!~6l1`L4-8=}e_m4q`RX-9T9)?DuPppv~YR4JSZ5jk7|q2HM(GpEV~{9_s9 z&Y28KJeH5+8_E5h6TnJrUhmn76(=YwhxXCE)=c?o(WzH z0S18uK?xxN;T91FQ3Y`VDHv%083|bjc?bmur2rKORR(np4GT>Rtp)87od!J#0|>(m zV+IogQwcK$vkQw1s|pK%O@M8W-GLK>(}UZF`-*3PH-ry?&xG%epMn2QKtZ5I;7TY! zXhMWTvrnr)yF>>>*F<+nuR`xif62hc5Xi8`h{VXj z7|l4q1jnSt6!#MY|FW>Kq_O;AHDgU;ZDD<9V_=73H(-xpU*TZju;s|$SmUJQG~n#x z0^w5QD&sogX5tR#p5r0lap$?`P2%n16X3Jpi{rcGm*5ZNUlD*4P!Pxx*c7xDJP{%h zG7*XtdKR`9&Jo@fArtWx84%eOg%WKO-4%TogA=0=3m2;qdlsh>*AX9*fRa#?@Rz8N zIF#g))RFX+3YRL9+Lu<4j*;G#ahEBPC6X19b(L+BQ<58#r;*o_A5c(J@K>lTDd z^i-@-0#kZbR#A>to>Km+0;i&6q!I8HyQ?nS$AjIfyxvxwD0Y zg}=p`#g`?SrI=-;m7Z0L)#fjjUuwT@t+A{btSzh?tkY+-EKY=do^ zZ1?T3?Eg4`IY>CHIAS@9IEFfQIR14)apG|@af)-Qa_VtSj@c8s3^5pXj_bl?9@FMbZ_bTw3 z@H+8^@Fwuq@wWFa@E-HQ@DcG*^9lAD@CEYy^rP~#@N@Ue@%!tK;7{l8>!0TT96%7@ z9k3Kg6BrZN5#$^+5DXTq6Py;@6TBP36k-$-8IlvS6!IEs5Lyu07rGGo6-E)37xpI{ zD4Zc&Av`*KBmyKtAR;ZIBVsoaE>b4aJF+5jBJwkeBT6YMFKQwhC>k%CCwe0K@;BIT zrr#pJJ%4xoK8%5h;fgVf>54^)rHhS;y^aHl3ym9yJCBEmr;3+}509^lUx~j@kV~*m zNJtn+#7c}zOiQduTuS^*VoTCVN=sTwx=e;iW=Xb6UPysTAxV)*F-fsciA$+T8A`cL zg-Rt#HA!_%ZAb%3<4e;>3rgjlA8CMU z#A#G(JZYk8QfdlpnrbF#=4q~LzHbp}iEFuTrE1k^jci?Oy>8QLD{Gr-SLi_Nu4omVlXPR;ZFPOxUEWz<=4bV=xTgC--;DQ7s;gV8R$8le8ojnbgE=Xl zc3Tt^2iBHRzYrcO98`0-x&STAMO1PMzCIYdzfj2Y-I?4)6m&ez zCG2>Zq>6>S5tww?_MlXZn3wXr#TTcMPQvV$wr?rh$35orr9X}sq!<~tFoi`?+}-#_ zNloQvQO9%DDcK|HJD^hAEuL7}AeDydYm7$HNnJ`>i9J`MUbpGNX?5=>*>lUecvT(G zxW=Ou(B>O6^p&%mV;<+Gn0nm6b&fm!!1+@dKL>0h*17-t7uR9tvP;F3?$ca~aL8&t1P!Kh;0%rIHG^6t#xS--;^=?{Ik z>+;oZ{o)8#E8VG5C-RB*@cq!7jmQJk7I7kZ)xDOFa%UnnDZNRV2PK49tvOXI3@xZ@ zTSQlFMTs@?*<4TuBOxp~Aiornw*vZ%?><=D2*h3%8+TDHtw+ISp!BKMnwFJqqZ6vK zQz{F6{M|=nE4%2{X(pVTx{~KC78!e{x6UsW3$FG^H@_s#G|m{LU`5O^R=bVM5uRj( zYE&Ikx7f*}=L`L9>08Gn5{C+^RfO9c(Zl+Q5Uv=CfP1Lu*1LlaHLsU-;xpVM?XPEx{(O@kpCQ!k1C9%E^;p^nk_RL;iG?o5diTlFjwl^u6Ag5 zN090cpY^HY*%qsleMW0p+elHNmTstkhBx}wnqCBF! z@Xv!^dm#Fa`g8Gf2*lz*8Ad9B9zlp;nskV%pYMTi+Q=UGhx+961m2eYn-(IEj3M^K zd|Cue2pTuQ>V1FuK;C$Sxw8c=){pFmG3Z{0Kc!$6Dd~eZ2-P?c2Z$ay`S5{%?#Co3 zn(r6!mco|yF4-;724%NpSE_VlyTcA-j=r9V_OQUlU`uc^MKKY@+T&|U5P60Z?IXZ> z4a#`}nF`9Sih3&IZvuA+=QjWGuEk}JR$x_cJJ=}}`U^}5v`}J9KBab1XXGiIy>~z; z+MT=08gX)C>)?0ROhYcFv?N?B{CR#o;}H#uiVy@lyS}SqE0;kR?US1+$mrlPhA*is zDXpVwraiWSjA~PMGzc}oQ;b0EzTc)>fJQ2ZJhx&tv>j8Mn->wVH^2Au=bDZK#cYRk z(cANyn|b{?C=`Z3f@a9ItldF2+R#Du<=zQ5uU{Gpr5&nM2Adg^NaWaH*A+7Xw?$Kp zA*Wla<&=4WhN6(5g$vqGzOj_i0(KXej7iC$;7kl1C=BFQr&wFp9oo%@%)i%UU>Q4@ z{}k?P3_B7BnoLlljt1TesVN?|lQX*uXWBZf*A_B((3G3D`oTM90p+xYf-e(ar%xUj zWrK6;ILP>YahYFuQxp&Tv$#eWivd@w?bqW14F@tnHX>2c4xn)->j^hQ%{5O*43KGdv)sKK6R_^J^h@MZV z>YmVIPGQTDVW7w}fRjN`SsImEL-346B(-_TdPL~X87Z7EqG{D#a8tFSy^c()q}H== zbZw1d+YD?wU+^v_tMel}`;L&rm#e7FNU8E5jW(-Rb>katL6g^{Q+3;7h2}N%uFuWT zDo|Sn^$>%oG^Uxv!ud2FEGaDAM<5Y`*_5d>qK-b}Dl5_oqZJ0*iby!8sD9H1r(Lrm ztmg;zymH=$&sk<>&M5wdIl=koSzh3XgPCD#G$y;7 zm0dHh9&!!U8%hc1G8^AVGO+4b4tgR=@N8*g_ZcNPn`9xU;SmDz zKUN$wu``1o6Fc)U%m>;w0lBOb8_>XJs-dvR{3_AgPaq$twXenoDT^sETM%=&$}Px? zjoUELdEzQ~TybEAH-6}VTC_jk%Cr1ntA6&MF^#OOU&@4*j2X-qK?Dt0D?w}Vrm0EU zdU9{7EI|`$-f{2UkSZK$4uBW@sHOaxCkJ%Na^Me_FA^5*jZeHmbs_%4;0angkkW-I z2_~x@(7JFJvGOb!;vUh#7tT_lGmQURBg@ceJ66|NYZDLaEqpn0hU&mik5^xC;%If&+GeY z%(ZaVjX>B3`z7G}dK(r`u-p6LYyK<*;WAa}sL+nSdN@cnTCsm-sKnIbYaiw<7)R5h zynYw%ijQ!HL=r-Re&M`9t9`E;$(?K zp6RCh(3$QD2Ts&o8x(!MDAtTtDg1?Nzq!t2@enMCp;=~V6nA9zsP0PZYonG0a=j!e zn*#-IP7>EEYp(1~w5))iLS2V9I7@N3sewHg|FKcC*Buf8nC;r^7F~5i->E-0U%u>} zWK*7P>xbc)uhssBMIZKa*BiBOe3(*jHdV4ROpvPBI<`lSHQ4HEQlqqLj-Q%9WI#BcC9UQ1PnLz zHDWuS5XYPmt39>QZ_qn>QJ0C8rON;=6-&I%k^w}H7L}-OD)8@Ju*c}umM@|SnNvj5 zjH_(=VdaFu>B=#PgQacaJ^uRI`}_uK+7J#$_zWp`?}T{|STgp$tu2LoN~nc%w1@n( zN`uOe(#qiK>+f!__IlIww}%y3%3gB<hP~wB9c1n^s$l)*LNUKE^sdoBYQY|x^`wU3z7@1Gb`9=14eb|0&S4e(}McjUDUP@ z+xntDySPX7xmw}t`|q1Xz6aOsT0 zgFnaIa{;*kFiWyjm057#vFtCa{3JE-+6$0ELo%gqXmeojLLG;)E=T*Je7HN7_**dl z=IPaXmg@XOFFK zVGl8nSs`!VR%kHD! z15v}ye8x$&rNl}mGF$$`%`rBy=U;=ocu0@bF`0Qz#SF*oHgjv)5>~kM8%??`M(WA= zZ_fa@dWYn1MEd*c)=@?~@L#!CLJ%^tpx0LJJKm+|tfl%wPaubh=wMZ62if*KG0|_X zJbMQGzMgLO%VpeTx#zjuty%e;0#*z?yiN}edpQ}6h&zrG*GIuV!e!<~Y4YR=@Ho0= zsXz^y)$M_T>1Gu^Q7&2)INr>_Ttd`U7Wp%4ElT*aMBOjws9{=X|JvgeOtIvmN4@js z)@-!*JD4i)C>>JA8OXHsA6X#CV-07Ztr5ge5K zMuK~^m4g^I($-SZrPTpYm7$TT4c`^*SRxaUAzMnZK)?*t7>G`wwbKfc3wwTXgH+-T z6aq*tj);e1p<44|<~&W;0h%u?neo)3+vucMG0bWLYG788zkYk7zkWE?r1Q&mz7KR0G(*jNm(_|z^XetUv z2S-`0vgziEI;df$@@?&*TFeDxJtjfg3rd^Zk{inQD_y8`QHnkum-$I)#6c% z3|Zj4__pmz8iW#SVDX3;tP_<77>Kz5;q(FLI`Qp#AFt2yGLGpuxUwe z+zPj1_)Bj13wU6*&Qg&p`MUJ*K>f-&9z0X&_IX`FEtIzo6*t~4vpLM&meWmG%_0rt z?K=8CGFr71?F;RK)zH9tY>e+L1P&p#C>JkBm)(O_8BEtI)x=pc~YccJv4%9&Lkp>uq7&lRZAj|LuX9Jo4R&ihB%u;*nHJaHxW9CKaBiK zh{MdcpST&UG-}@;ET7|wabDGmuVughLRzFb}U9lVExBQG)!zStdq zDfY4k-RU!`W}MTTTIEkH2RNE9v) zSGaczNn#mBk24kA9s<2BkO=HEZGQmL-WD9n1l2svT~i8wC1BS)Vd4sSpw4E&#SK6Z z_D>&V&`}85WMfqpeGZW+D-pfSL1JXXI@1<<5~}%I&mz1N`&ynli)7yDZ>oN9|Du}3 z5Z7E(5q1@TrF-U)6)Ntl`Me34TK&#N{PpXduoMr)sE z)V6W^^y4jTo>5}?8*`Z6tc2>yp~l&b{G5L*D{sUAFU*!TzI???82oO9g8U&fe6U~@ z>(%Oy_0yKgVTPc_zU~$^BFC3W)8B6D%8>Ieftzen{nJ;v?p&gD~Eil~fk>9$^aK z=XX2vq<{HCwCLJTgCq&TY_P(@`!XTyiCZkeK)fB(fu*W9)un~~3D zXfUg|!UJg%9-(Z?vrlZZ*SCXRIE{^~5oq6eAW6 zNuWQ9%unnxWW4_F&)6-XJBWS_bow|y8<3Q3tL&tr`U7Q5oYSaOB?%ura(Kw0zWxP) zsS;+Zr_X`{Go9k`5wr2E=#{NJU~=P;EW;#d2YYI84?&P}qJu&9b7^S0>vkGhtWO11 zQ_!Od^4Fn;G1-*)Bke~3Oh4S;pE=zAmYhjg4>K%!8UeY#>8m6HwcIuH#-23iicE3y-=(vdG~C#ak`3?QS&<{5d6 z9+*&>TcH!FifD8o!=g`98!}=ds_Mo`hR;vbMS*~$(;T(3pSnX18s9e#mrDL5&7(K1 zc?$=Q#E^lucB_=y@b>2vAo~y|w@OuY4^`rsg-U243BheY6`#4D93wbSPMthc57n?# z^F|I6wY%BDJqn(`(PL_fA`fj-n77R?VaXfDu}9UeyXNoY{Ceg+*h&^*jOPt{;mYqv ze^t;bC;mHvAYHlO5FT5%eZXM^4#MjWPkC{kP4rlT4LT^U2IRXN zlqp8-n4T4UpN@RtNn@pIWqR?i3E5;Z_P9kmu$1`7KMTwqWjsPg@2y)mHAJ_~0mh;d z3R;F?0b&7*IucFjUR2JJtBc#Va-jl~#{!cc98{L+KMG?E2^(-s@tU|(Ar%heco7_1 zWLF8#BGo}P;RY(9OQ1&tFsQ8rG5@H*r!*`U&8R%u_ThwPZrDMFVvPy}SB_Y57$<@* zjdIUYz_4&qETH98lgKGZsYTc!yPahi^zMRbcWt&z+j_0GK7`bXTBT2HI`NhP>^Rve zZfj=ettkf8B4X*3Z{j9o^>4OKZN6uvy@3h0OUQv4FVF1^4t};Jv>{cF*(y2Ej&Dd}`{T1_U z6PpC}k);!`skn0e0m>Urs!p8gB2@}lgJ|`g-f+xHn86=LePVscoX)^><>d6@-SY|j z0r{TJ^g9?5k&~C!r8x?@z#5yJHDMJ5m>sxv6;qpN#2uAW27dE?=*Ss05s5CA+hiOF z*FAE&(3a4v(%kag7RzeI00ONf)7yP#nR<_$)(h-Y@4O@_vc6QQm|zgRzm2cyi2Hu? zz<@hK1)eLSy=U)y5R4-t0zEmxf;qdnAmO3bcJ7473IJc-Fn(}fHn^_}WJy1jT`~ho zTX;p?g1oWrE2(%{VTA~_K_xxVRv3lm0S|sVx8{^TB~Q7p6XYBqX~S;IqJJoayc48^ zTjBuBQ%&F)OL|rB03xE~;I`oii=D08dG`FAot6=XD0^a(uz*ByD-bR{>$4MqjBFKZ zk89vVK{`tfl&trpa79ed`aXyN+lsVuNWO(!;J7z9l*rtwI~VW|4$z-MNc*=;yGxIa z^TMSvCz+(|nq+=)*0;{$3?ciZPrSlt=JcX7u`(rJI^80j;aN_flW?rncBy%VU&U-b z`ppTa!iG|5t^UsIBnUs1_x3ivJ*?MrVgP2n)=F!=GcD)*)G!i$+J7QBLiH^HX5=!j z!E(46FmgzeN*xp0$&Ce{!bXd3R2{mc7gzPJs$3<9iAfy0h*6>fA_wApX6?hLIhVQ! zdiDFcDQ|94;T!@`#_Ii5g!J6q`(yyOW;-y^|@yCGntAO?KB;SeLe+L_c1?ffU&eZDgT6C-FNSM!h+y`2b%_4>!=Z+n7|4{7P z-B#UUwivA0%f?W2SnM`Q^QuU4k-aQr~&#SfDzIbr6*j6TD`x^TR#@oYD@8C z&~@lr{GLUkK!=~w5xmd?X3Q`kVJSY+-$4?06X6%*| zQMEM9)A~eJFUzL&zG52_42~9&l5{V5Y0pV=FhtEKPZf;bI?GNr z)8yR;l0e+WY=@jhEK@x=j=|}V!~1bM9w^CUJu!Ly9^G<2Y7M@6_6Lw9BP{Lsnfm7C zK;yqU{zZ+yysYlzbROriyhc7ZX1uWk)po!LKj4yw6&#BStMQjE*>cOSq- zUdr&MHu>DNs%nxkwLRry64`FW*9tDs|C3aG22lVcKnCN^qkdHDU59dYAga*iqZ`Yg zxOdgHpqo974z;WQAvk{Gmx8CZlE-bi-o3FL6$?_-Mnx?S1w z&;aCh%wxwup_w|>5^Rci&$&KXciOK$f%ljzehZz`1#q0QaJ4WF9Q^}sUPQ1l_7Yb0 zWxzIDzZ=r2W5E;JFd5kG7)4y1Ienx}1nxLyg@U4e58zJU;+^;J$bT}IkOd}oJ`hYi zIdVr{iSlWABNzEL4HO8Rb6BHUV-9|A$CplZ2K+<^YDvc|SXcqYN$p-kU;^lUfh<#y z94(Dd`>p61djU}OypI^CR+OD1qEv<;JR@k*8-355tZ@zZy#!G4lQ*^Dsn2V@DCHg~ zaBx23Bsp1dbiiv^o8qwOSV<0lpLay2Le_<@9J)O z;1OfhZ>&8^S~&x<5%39CKT0sbu5h0^*6B^SE#F7Kv3LFqt2fl_c9>GA>W4W^zAnkZ zZz4XK>BP~NMSV>uR8-7{wcO=f`S=9!jkNWEcL6z}=58AZ@pkhw-@d;9KDS!CNAf+_ zJZp;Z-l@`NTp`u-i=V5ouG7e8SEvH_rEJ~cA|8}|M?U+bc9VGu zE&12V(CE9Epu|ccqn7RTfmqlxrSna~E!=Xg^;mNG^NqrfjczHta_z;UuG9K$N0WYGZ`((> z3Abxs(NJEuZEeOA&ei18;frx+FNMO!I*!XJTXs-z#q4Yj1{5vQgX`QfMwU zW+CH`LKnN4m1-=#mY$Jgg@yUZa>A{>v)hi(WQhAWToc2r2{)u9d)IQM9-N!>S~HSF zV8#`KgDxUK9lpbxp<%6SfDx8DY5z7qOD&axeQx8B!k8I&qb4ap-Ixmw3Tn=UehSe^IpU+VV4 zkXKS2M+JMy%h7&UYip^baj6>g(=B!S`aEe00~v&8y+h#KIcAsiWfn{yG{|29Nz@Uy zVyklCW5{qEGgylIMM%t8R$zC~$ku@{1Nh0wJP?gS^jToSBZK`A9_U3w4I?;1+pBM) zv}O;)G8ko0b@U3xE#M4k7!s6K=u7hH)n_YeR~ucGJTW+YVyFe4P65)WrUHNDueqTu zu~A15XJW6hM%c?{G?%$@O>Tcth$0iKrvQiU+;UAJ*3+Y0A2kN~=O_|I#Y$01P1tq*T z*G`ZMj9wkjhG$rv)-60?iAAY%ZtD==Ln~S0nVZVMer7EOuOkxoJ=31O_WvxX(-neMkL(v@(4u%lN3^J$ExX% zk%V729E@;|5?Pe_hCT}%4HkXOA+Y<#lQ0oVz%r!nA=GV^XKVtjj5O2?Bt2P+OoSnV zl@ir9a&Bz$~oiBl+puJcf zmYms`Y~a^~t{OLD%)6sgmFgA0!Bq_Ug4wR41p*y@=f2*+o%kBfItHdqF?}!7Y}-|R zK5PY7-8Ld$H+0i45u_-d?;1@D zJdNMgT!(Bp4QT3_QfnuwM2@}d<|5(XyBuM+d%#U$6*LXugTnF&b8i=NFXX(UmdH2M zq>s%=oSH5>tX0t{R{xRs_Cb9g z=49=k=IW-NLdjmDm1xY{7BvBNVxCr*+&uH5v0y?@kySMCSioI*<)xbQ1_6M>MKF&Pp9No0VjVL{ND z5Sw2k(9%$OSK!`ZcMAILU433d8WBN6dsX99F{&qecNm|JU3I?shE(D#F9P7KqFKSN zys#iL-!7u>QP^t@+Kl2)FWgJ1) zc6=W~x54$Hno?0RXiRN0fP%UU^SFsEzXo>p?6kzar0JsNA{EvvCT` zM?^*&|D<=-zj$!eAYT|3pIS@p`GR*@n_sNqYhF2M(0~sw*#2Zghhj^kmz9f>^vG3A zOq2NQO<&a7zg+#!wv=Eb#9v(IG1}9N)OEl_?8B)_n(>#c_!}RU@(0ru{S|4Qety(e zG~9#DqN8rnCph5Vk z7n8{VdE}v3R!FG_^zPOVi;>9bgETn$nj17K{Z{CeRnmF+kW{?V^+Kj}*AC=g0jgv? z0oUedF6bgOKCjEkOtU`)$hG7`NRuD9)AuF9ZEtr;`q0Bu0SYyt@n4#v71EeFXl53# zk!TClQ1e1L7S~;$V>;8sUh*t(9f1P9h6gF4Grk)<>79m;mIP% ze-mda+IHb++``IpX12Q18>3$^fCQojMknRXraA4mJz3lsvRyya{sI_SG^x3dNJA2h zTyg(qF^@R}e4vMFP*a<#m-f|kk{e#+7Pf@kJ=4!#HibyBL|ULAA1!y)AsBW?DAL$p z2qCk*GKf>pYUL0T+jm#;7h~Uwi(bt8)DCIs#D2>0FjHQ0jHvXeR2@1yZ25H5R^7IJ zij}^kr%urdsASNgQFz3k?rz(XoXvXJF09^QuXznA1bEdGM)#qrVzlxEUb@$A<&$8t z)&(7IbZa&%6BkL&kUAoSRRz(O35(eboq1I8c#R~;g zf`mZe8#)RvZp{zrln}yJku{HnAYFt;FtMgMhO?a2%A>VQg3g?}L~>XfwIp9mv3OsA z5g$vcS|%)wx^vn-3W#*Nke$s9g}|8YcECnM(;%l2a1zUlmZIc97D1qiQB^#)%Pv+* z+D|W4+x{u@dhqH2-t9i@x?e2+{h^lnN}6a8ocq_ibs%@-bB7Pp=`jDV7^*lW#*<~L zGtRz-z3X7wjmCaEc_W$fWrTj`gLr*p53RN`(hR7_7`T&fv%7u%I}hnXHd>FS;Ez2H zwm{daCo?JrUMX@Jlx3`_#+rNrZZqG(^!b8aj5+oPTbVYxsGZA?uP7;pm?&K>myX>9dLrwwMUAYla@oxH}4f8*ruL;#N7L!{fQT9XI zh2&1}CgHW|q5diczUl-)vfD)y|C`;fAbTv7Pek|~z}9jf;+`kbyGRpkPa5rZGZ}T);1!o$S8NENV2J=4=(O$E6+qRqZN`^pp1DQ%i5h`5Y|l%>3Prxp}mg`s4tR%wFhC6>yq_ss-o3 zf^&VVA$L__2N}TzpQjVH`{f%SlT|rE$M>jWPV-%!@4h?MMLiZiACSCU6oTUJQk&Nq zOUx1IxDgq1Af`~dL%xdMR44|pCP_dUh)T)$%$S{bUGt&iWt?IeSTJi_0J z4mi>>cI$FjHCScDE+i+P!wq;Lt9EXM7OL+`u?R%yg|14S(p=`qlD}x^`vcp&R-EvhaE9HiDYy{ZECm_Pk_#A5?i?@y~K@$lhdTT+YYY z5npvR3+v^F`rV#hmoXLPB#y4J+2XGw?&dW)#-_(dyxV1VFtZ10xbq7r)kT>f{la|% zIJ{<>^G`TN(u=AJuQgU{v*i?9_HKBwa@-5GTJ?kD{)2*;{JU$==kBqne>v*`+W^L5K``r)%aJs7ZnM+L+! z7~3+NViV9d#V2*KwD}3&4X56{cf2g&-L{=4{4t@F518UQmJ709hg(-9TpRT-gH8Q$>*LN!!&s?cw zlH91&(gbwSR7RhPdGBl&(in4S1e3DZlibMDLddD{8%gFxQ+-TgMTy8Xkx z{l*c{!FtHV@7SG}L^>7jSRW^ww zC~5O9lOsr0texCC<`7NpyR97YK^Ip<4W`$)%|pRgDt7xP=j4}=!y^dSJiq%{X}XRT zb6>iHZEqG9jlZWB-}`(&Gbo5i%em8i2fT z6b7+p=gLbhP81Bq>A2de?+_-;DRp-|xCo+00E!2!=Rr%ephkZZRF29GD&!C1ijUQt zv6-P_`uFP3@H>K_O&Ru9;Q?8m;)yd(N@vQQ!<4td+APkBl}RwXTr?O0!Jxd}g#`Z2aePSV}bfs*R} zO}tg1X&JuovbiX>+jmw($vm+AwMUnGNIys~1h?SC6*!U|cgMR5p=1PO(MkVw*RZ$! z{Od^C(%RSgxhV{K7!czwnLbevO1ewLC$Ruww`#YMpA zTN;5jQoRa3>I%8VEuPK&nh48EgilT(OFjvaOd&v7lt}{+ps3{-qbE(CMR&)P&3N$SxRgR*Ok5fVNz^*EV1{x{O zd&lx>%{XGex2=a_45?xB8N=$0YF0LL0lA66)}~<}#%mBT)8Z_e<;kiy@UgaA z{?a~hVgEA{gZl@aJ(mGeplmzJP#V)BdUPC*!eA&PO-;0lsi=1(SeRm%sTo9a)i`5H zZq$D+jNlRej(*HQ_&Nrg zK7}f|a~I$I%cIcy_DYa^%7wvfY2$HjdiEclrpi{|3RV`54WKvCn6s$&iMY2hLb=r0 zmh^oZg4E-sSHRy-DU3ewQTAzajJRAKX1BJpzk1M9-_W$#OcmOVgzd1VkOgE}zJtKS z2=#&>H~oJ%b@mzK>~#z{%%?2c=q>56YqQIbeL~pgO&^X}FB%1q4?zt~I1IWDnZV@qmr$ky_%nIkq zjs1=~vX*iR9#EsA(O)8Md zW-nz&PgceZC9ODJh#Ton=bG;ujC$YPnP6cI&qI9=h$Cl--rcPJd8TDslCjb05^tex zyV)#V6brWQMu<3OqC-veQV#tHKlJ1EQM?ofwa!9)`+Q5}6u_(*!rxn2fMrYWm2OM1 z7x72!T5G4v=cl-MspPpcf1%L#x0N5?f^3=gtJXZ?j|S3yO0R;mfbF`{xm;q@cq%EX zRO&mBptr}X-&1l@{r7P%#vEI8X%mka5>crSHpGp^$k`f!vo1 ziS24jl3zJ(+F4T9QEBaOLX!Wa{|379(ELe~?s~jOTNQm2;Y^?G5EbEFk6eE9`vq!K zA7XO{{Y=xuLyn?AMgPxOC=;v*h6mjX)HY-Ms(oGTOTd_zrj1|OOlpHh)y%>b6I3;$#z426bAxVpvM4g%u}RTX zWf=gKHa-(h-ap*Zzcro=$Em44CR+B(vO9FEo=o#wbp7K$jQU`WCr(Q(X*0)6)yPC5 z*0a@9>nlFgPJF%D3Su!W;keTM;fa>{_cJxwEAE^L9dDSfW~O%Lb-DgQQG#;R2$nc~ zeS(vsmEHPEsKLlNG_~OF95K?xzmFbiiRb@eV?7qcYMA{%ThaL7eLYkQVYMFaaL5tH z6=U4jQ2?a=5J^UtoceOhlf^W>Jxq9$Ja#)3v5C?2$&+Ei{ao7Rs)GBWOfi!w-pJW3 zT%$9Se2^^3c=NREr84%<8)(&9W+x1G{H=`y}A zK=tR-Bj*O^?KSSl&|OEU8~RS__uWOq6uDnem?R6X^jU(*J#Kcb+^i z9WHu?E5CENgWnx>a6ahvsq>$s*G!9d_C7Y?7jZiz`K(&9=?b(5Y}M}za8z-dLZs)u z`lO;GY@=1j>3zTiUHI5)i#v(;?lly<=$Pn!)8R79F?%22%W;S1d_5@*@^4I<1YX+~ zUiBAB2cX@rkgk!AOE+ z{_L7d@MnK+-a$ft?%><#FnYaMyAaX8p!!mOO_^K#>%Zm>fEjMfbkOU2N0JsgX(cmm z?_oEC9_ASDM`wS8-U)4#0-EM4$i<35CTv(@=?tK~?$C^Hz13I0qCBzMR4EVnR|U}? zfsOEMOhZ|7ajR+8P3zifUAGwW@W&`!#1xl788A)I2P|3DQ;a2L*+-~g6_b?c211GP zOt4V$7~#`y5a7SE4U{n#_gU~Z^AdO)Bk;BipYjzi({1j}hT&Dd3?;~?b?)Sr(EO68 z(Ezj+jED9E%tY4gZfpZxGY^Vs)-p?lLl|Fx&YEbO;4NwIlWDK_884glP|MAH(o0V| zA9LW?&$kOr*&@8j%cQ(a+C$S`Is>fTOE}I0j#ERfX{V3~r5N)+jaGrrED8zLw^Gfa zXs?oJUo+u_A*k(qF;w=YoT(*7x6#Uuc52_D82t(!$)w3T& zi+pcIvBzRIQyCelWU}7ARpGReTz#+F`>|(#UHuox&CapSSJrHjbc1FP@R{p)i^q5- zvn=Lg-Y&w#_LhcZ`T;5d2tyVz3-|jUeaXro9JF_KkuGnpEXq#9m7l=TIcF=i<`jlWiG?T3_ZkX zpDe`2FuXFn8_Ko5EmBorP+im2Q32t8QJ&Km5EUB)xwrm(M-Av~=tH z^ZDGZw;nli>#OtpbmWLMnDdMJ)P^>WsBqA)RgjUO!+=uAC9BJYW&!o}7oNm##2pMn z*1W=Ad1A%B!VFk+v2$^Jd~y8GN9`-D6q|^<`Ut;2v9dD3^Yq>qU0pfOvp#!tl7;Z# z23iv)l9g;JzBduq4>y3JQ1!aS(>G!@lc(pR44;3dyD&BaO#U1zTDQM(k}v z-s^fU9C2+&RdbG=(5y_R@R(=#nkjAAXWrq~?x9(!Xa#Lt1dcGGfyzSYl2+6>f9{zn z&02vnrme<))b8cChD&7hM_6@ zh&zl%$~t^@qmr&bDfkw{?FyfaL3g^`i1LV=&bYI*nk^@F-K%7)bip%$g*_m`7r(Yq zp8ncR)8z(Q&UioY(rE}Xwvw$EY&%!YD)y8qGKyo*559Imddm-fuqA!L*Z4fe+3%nt zdJtr#5B;_vZI$*)R{?svLwYYzaVzpj;EN7fBm75>CYluF_*ZC#}SLY4&%j?21f435w6^k$c&6LUg`FM4O~oAvE$+=bkv+`uJ{m2SqXpd9sJp%Sla^Z=^gAnTFecCd;Phq#>sdkikqlKC}j3W`dcW znCNuI6A8xsclz_6XVCp17g|82V(m8fLyL5vZoC*b?8IA~_np?F4b;SMDs<5N+_w3V zgCp7Fo9DO9MT>GLC)1eyB)P! zUt3-tOJ@wjwJgUp8kObctruN1yq?<-yi}|+?3UvNTmh?e2T^W8?y|_cibJ&SxxR^m z`ND04;%gDZ$1o+(`dNssK(tMeW+ySSb<2nFLOWiD2x#?LYVUCnMtjuzW%6c>-%R9X zLW&q4B{F^$_AS2hlZP)HJaNqSdf)s{RsBy@THnS~zfv1VMlT@gU);1P)aYfuut8CI z;%{V1E|8e8oqilWB=%b#m6oL4;+FxqS8cr<4MA3kT#UM9VTKPB)-AwDvQfRt9d7wL z6H@DRs~y0+GM^wEMfFxi=D*ibZNanU6b$R895&it--QTyNR_XqH_t-T&JdvJ47H5} z3@IKg83|~2*XVuT08HvYIY&^!KobyQy?@9i;MS*QrT0zdp<7w2@Ry2B7@|q#NB3jd zR_>y^4saj01xz!v;u=Xfu0@{F`$GI$z?XLPHvZZjA0!XM4X@2I>ZjQKii}_eav!zMvYqSS;I04MHW!!H1dZRRgn$vUYiL9$=_M``zHTZ zGx&@9&UufYK7A%Ki{b$uPf0V8{oS{5>;NUuCF#TxEMA7h$K)vPqS^WFsZF!3$RBF^ z{8F`=zBV^LU!EFCr$?sB^W(W|Dfi*rzL0P4oSu(;qZYPLPxt=lD2&z0e6dg{&Q~TI z<)c)M>3C3<;x8-9dA?u0aTLBknMMx&PDI?*rz49kkk%*d^p*kVL;G zJzu&0QzvN*@!x8qv%(jPp>4P`AI4%V6~%jD8_!lS97AgZsZA9{&HFzri=j z`6nI}Ro$`mqbfwyqq^H!s?%=wOk|IatjDc#ZG@O9O}z0c~lIu4G~s@{7> zup|bV)J?v>^kBu>h&3fM@4ppQtwf#Rt&8OKy_@?RSU%lIOXGfhYdD0GdPi z``lmmj(zUl$>`rb@%aa5rr_UQ@Q0>)pF{Wd-ak2ccxnocBa@S7rF9pdo0^=OntWKK z_5JyyeL^Gz%oYGv0@sypeJkcafy1Q;+|Is89c$^dG~do{W{1=pCeA$QB(e;hPL|(! zX5t3*5Zjz>&zGp)8dGmEO>4vYYg3w(I`LlBu_Dq82N*D3t2&?zPD5mfh@MnclW6Lr zcHibvbeww~C+FLny)zyh=w5ZVDwEyncH94HebW z9>`G*j}mNatZZtkVtv@Gh{Xh7zwm~OE^3aXT#_a#K?ZUZk^`~JJe|5kBZx9U^sKBa zi8s;5qjd&U?49=%Iw6Avh;s;Ii$h;q9 zd+!?wlJmNPu2J+qQPoEQ?OcuV%k&cpIhas2UA6y9(RD=wrSr2Gj;B@3*7u(!C|E+_ zFpluzwh%l0PaW=0Yu+W?q3#7LJbYFX6Pc48I!+^czxE{IXer zZ-Q6nzM0XUYn`xw0ZS`^!X3wJ+{OP5D$x{wG7-9+D=HUdZ5@-b8=jq?nlb6Pe)AC` zlj|-(KFB&NG*mSx?s&%$pOX5Bldjy{rU~61+l^)N>}b7H^!pYDv}aXdd#PGkGxmjj z3kr}%cVJ`T1S=2iA*BpaG9aqeCsg$b)r%G*9pbhUP}qBa8C~xJ^5seI<7};{9{Mcb z7>WlUGS#DS>y-L%KSi5_E0Mak)`rt7Uq=-3)uxdXv2Y|7uEbrw=qE(KQJ5(d@-u~e zVb7y`3WdUSK40ixy^N>lry*6`TXz-dgx^K)K(7W)C3an^w(9Lp+b{dvd%;Euue#WA zNem9Ye4GzVzTsWpsM#!_Q2gkcucU%h(Cp7)p{qE?U!}@Tdu1y@_uiz?hHW?aHO@?Q7bH*XPx!r7j7%lRiX`L8ll3_+YtVhc9Xd-bofRx$8`N|2{Z%4?MuIOADNnS zMp4eJ+e3z1d!%UognKbY)8k@_o(t5$?+5Zx&~7#RlcwlF+qSMczgO9ndu`k0{$#hI z)Ar4_z4yxVyOLdH*}cEJE%G7b<#|&2DtZL?J;z-O(E=%67z~u3tn@cH6Th4xwlI!= zIYInJrOSDK9RwV^6{xqCwan?jK{``ZO<{H-eP=phE8;?Pp&Lwu4nwYN(l_niU5<@{ z8%?Gt%)B$@dY+rQlV8c!jlFN#j$^;_m646G2Qv0I;x!jtvBML0xpt$K6-lw;0BAF%h#L4eAR#c%n*x4B0!4pboCw>9WE9uSn?Qg~SZtU3bFy5S2 z3i!jEuxl9qZIttswYm1*z3us$otY~)8s)i+Bi^~rcIruYOAkO@LA4b7!S**r;@*UO zW2Cb zZQGic0QjNXii6~dQOuA#m#}bQoZ^w<*zC+0mQi4MGD#?kUmhJ-WSyy$68N&m)SP}? zW=tX3PHxs1Nva7eiQhFkJypzP@>l0`P9IAi1UjGZ|Hf$~O&Y$k;fzl8&hQy`$Jua3 zPO*4Q9BX{K2y}Rb^jvNU^P>fD;+z@)n6h`+c~p`bk+% z`l`sPR+emPjG5+yX)cKaB4Y-%7snvOTND|WnL5F#c0wIs^fv=S|9Zb&`|I)he(-&3 z%_GGiCx((x$=_czA2ex?{^;k}l{Y(K$D zv!))X`E(lH*1NmEyE^VY5^se)SNyadpd2WW@`equBOSND&$rBXxQxnso?X2+mhI+^ z8+H4(GAPL2^XwIsXh`9+@qdc%p?ro&>caMnd ze|JpG%}+EiEn#}Rok%q?agwP7MNQ9bAE$h`b60TX*gp8ZFg!wVP$zg#J7HZ8#Zoaj zYPjt^nA8JI<^^k)HrVWH{1?HtqV--R93}~H#Q{sL9^v!%d)j?8?VOdwwziU?-1k*A zyUfg`9hP<7+u){RJjHK8K=1pa%C5Jp9ZM!#&JOJh8}02RaW@CCdILZZU(fN&u79F; z^u3O=7f#R#P(jJ67j&8-dYi@p49^?G8ZoVdm zKhD#CoxYGxm|oHxr}xoIC>%n!{T6x%^tP%%vr@MM`Pxo~9>`vU-(P|~_u11@*%A-Xn5>|j<5ou%z&=qNk z0)yl=#s(y?1=xsW7>8@)hk4#>gD&83*Y*R;nCmMp7z@npz5jozx~FF)c=x@T>I$b$ zovJ!@!XLk%yoZ;_VMcj@$k!Mi_(0(^tiY0Uq6F(UBd+lrc?To#y;GXBpBE=t!m)=G z>92W)d`*_G<5|MKm}k?B%7lJdaNqOP|H}kkV>H%@9gf|CZ8!Y>LgZD`4TV2+Fe-<} zEkT9qT0(D}h&QVC&APCMEi(P!*nYFq68o`qE7ZIWD1rxz#mg*&#jstK`XVO~6zmJC zngCLPsH)3rpFw!A1TToNamk)qw_E#%{6vst+q~i?>Pr&L(LYO<#`9H|Fj|)-WYfx9 zR{nIc*up|NSn)G(EwEQm-Y2mbo>#R*eD1)msX}fNhzMaR&vH_$MpAq|lb^^EvA8G@ ziG_OxrzhegyFdu|A;>k3qPL-k@9 z${~vVJ_uls#3I=$-fcKrC zmV(1*-z`7Flf`hc6k@6yLHVJ>!PfJY{ZfYc5>SU{)TJ>?@z7I_0F z3HGB5OnHx50zvSq)b6`(Uvzsv%56LqEJHhkfO$~-sbEpFDhAsv)pa+#%Qs?l#`;bUY-RQeU7}MeaL%R!fL$gb%fAVWA$2rUI zJTwn8i0v;h1V$^Sm||H*DsVQV<%+f0ay6A=T_4CusSN#r;m364y&PMpv??QrAV!$R zNP0sN<*UYL8gV5_c%mSVBUFx>2+P1%w*Bv>9iB}uO$&*CmZ-khV*sl9W! zK8qG)XQUx4)FQ@6A=_rhQKb#oz);*HmiuwcuqTp*wYwj^dksFk$cx?UH?QxCiY&ZR zQdLP*RkFV8#FeK`U3p>`5B#^pPhGll-E}Mbrg=#)KB|hpEvkz2+mf;augM2aHa6_J zLx$XL`C(Zw6_O20fY)LAhlRu}uJ<%&5d?HLEXmTI)nJVW6k*dMXDl>SvsN7acMM0m z6CtMWlpN!Cbf@nZiu4IaWoja_Se)`S6kBjOUO|}#^P~_VY_tCqRC?{TM*6P9_##N` zz1}bu3{A@hS(3>FSxtjOM4w&=56CKi^E{VlqySN-e)yaevf=1kojNOXl|ZKP z0WUt@;bUw**T!n64b={7sf+!H{pVgi62Y5YREl-t#O8?;I|^IHl+6<%Z4u%t*+AXQ z$F7Xs9D8}}HONa1kn?A$e~MTg0PIufz&;p1jkYy2=nB{ox;t{tL>_}-K<$JOxiv=J zhN335X?)LSUxJeDAm+ZnEiC~0f? z63(GSEQ}rqU!e6v%ldmkvCb70fnvhMVB{p&%FyZ|wn$2DwH^M*M(=F++qA4Xy7YOJ zE{utn!w9g}M_?&aKcPx_FbvF-$c+`IlBl~!*px!wsi;XEm0AdbPi#RL!HTs$n8;_R zijP>F2n3dJPqdF3%<@nc7~32;l7M`&@(If@tm2f#@jy8-!s)>QkYQy(R)oqRW2CbJ zo@WDio>V0Lg$Lf@vQ9nO$zdbg`@sRjc!`lE2@L&m3U-YHy&q)hmO!_T^p8bqlON#N zOmMmhLriokt>K6h2rnWgn(c1OhjnddGz!Zq7IO!sWU*M(1VK_PK@zM-YB@M2n`-Za zmbK~cS~_``Thji>vi?Xb$t#)c?UHmm{;r(qr_S`>?^^giHTXU;TFp?)B|6U10T>9x zsE^YRAuM2}juJj$no!%lpVh-&xLbH~9vgSv)V+pbG>TJo+Ix0GjSk(Th!n=a;cOOF zF#VCb;*8r?UA3;i=!vlY&B>wxHztR1t5J$Wt#GN~2x4aGu;p zW5S_#HCmIQXtF~+z=eQXuSb^bO~hJesM-aaIVE7aoygQI)W@{D&;!5HK0wH!?(9KW z&u424GhNCCgqhAdG7u|;aiC=aj$P+D<^aP@e3Ip0!>_Yk04K_mOzwl^z-;#rAqQu> z2ft40+0rz_)Uu_<-!ed^Tyi7N?cpTujXXC!&2n#q-8~$CId?OwU5tfd1E)JWB!$=x ziGYkQdU}_4Mo9>J`I`nYZnU6wnJjZ!V|N3_%0~z3eKYSt6q^rloFS!4rL<(+K1ht( z?G|}}%Jk81Uy^t|%XXs(umAzmidy*uW0`K5`$mL#I4<teD9q+f4d@o1t`>yiTqs1Mx#$ctU&3*)S#_W8EF^- zlFAQY3d3-@@8A^f4aXRf)PEQDnD4Nnz`O}&ojp9ci{aRFS#DJt;zd>{-evuHG`h%f zEi!H;loN)L)1k=@X>#u}wDeBk4Pqs&b9f3?@7DEqA3b_>7`FrC^}(GUg|TK5qpG8U zAAS#@ycjxkF?2utf)Q`uj70Xe5CFuVK$@>G3_HmQgb^2iPm+Fbk?vxot`(MDGjo!ZGuOCk+?FMl#o*g^ zgx`pCmy1z;yPZe{>mPb6G>zV0LTh>JL%>VVaTk?=mmnoi z!dS9xs)G7qcy(A3xt`;CU*$Mj60n6(62`NK@AO9aPJhtngr?DIqdX&)gV}E6{~0>v zx}ofxqB`~gm)l|(6BIpz#7K@3F;Yz!g}Q;kRHE|(Da;ZH+BF1#Oo)EFHlTX?RvQ=$ zwoe6#ZnxIP9^dlB#K3zoLWQ8Qe*Gn;6%kk>d9^0;62}#3%oB|fHj1Xe@fxRDiYALD zG<(DYFiRT((nw9=qRxPZkn%LXk|w`5Hb zjeeQM4Uy3aA&80l|5oO$qAoG&*! z9rBaHCQ3%OF;DGcw52$x5%04>=X$hrnvTUbeyB6oYa3L#2gCIx)9yr;B&^Ef&7KJ2rXbZ$XbM#Qi(u&sFI^a zO`1py0p7N7RhJ}qpbsT27?ZZ>dM#uh6;*|~+Bj!W#Ga-mDT?qOK~W@)oUNsw#%o~( zSM*>Mv--<})WGd&S%t~SfEFb+6h)JO(9sly(vuaKi*5+<&qn&#ku-(^ivLZ*g*0O) z(!Nj_N%9g$p8k7X|NFrp+57LX0~8=dIihDiiEu_kqwIaKhX9>S2z1og;g=Ie9--QS zK1OtR$P>12Gt@sP4%xHzDf#3!Enl`Y7E`%FIRs|ZxU!HcXAfk+RufVhcbe2!8Oc0qk6r65*>br@R^J*3z zLKNj0BVpv!9`)Yq{Tla~?6d2ZGrY&?}tr4ocNuhAu5kmTDC08Rhh0|%}(W?|qH zwb@yGn_1(thO&Ws!>bo6L0Vh!Js9DAV514MUx&*vil}V#F~dWg2_`1txCzf3_^cSP zd`l&*ZtJsSV`Jy1KK%C_-Hi-2MN%o$e+rh`?hxpib=t~7J z+^tZvRtgjzv9&9u()FvWQ?=b{P99H}o6WVifX|-^CDSwG( zi5kP0M1*NkC?_3(GYEWrC7$I}g%?GMTk|Gzd2dBzUlV1QRgAwOGS!SD@HWhmQD#Qd zAn$H(g_ocutQ77d329GZX?!xj1{@lTIL1lGw^&xUl{ka=#{v|d&rQG;q&mpQ62fMj zgvGJCN%Ij=4zn%uz+EgC2L8FL(7w?29HYn`hMAxrs2H6wsY7O~xkRX35haW5zBi^9 zdTB>7jRSPVYe8m&hJmbp9}e2ZIA2W*h$kzTtkjF6SIcQxK*(m+%w9cOtfv#cp<)~_ zU6N$$QQ*Cc`_VK?P6Csv!zjk-U#g`_PC`}43j8$~P5q<+FUU0TkVvv)<}FQAC6|qubx?xy_McpTCbRhf|Sau#h z*FD>L43_2QS#~#r08i|Y9x9Gj(jDr1UJ2(#*dlUiG=sM3a0c7)(d>y6Q_!PNoXAdW zS<&7or2fs^=s0xe@#`ig-h|sxI3B{c5vc@z@6g=bhX;bGY^F_xi7iB$@Wf`f4~yIN zy`UYbIqAuY=cDiFBf(q{%>9%-c_5*Px-H$R7eB-z==Qe_^U%`NUPrNROTVl(Tdj3& zC=wmL1uW(3#TnrvcwKOZleqF;n|cU-%1zdCav~wi@8;jEPwly>QTO~$Pdr0L9lbGz zKJ}hAT8M1Y@I4gj&oxdl{MKXF#%@5Af*cGiXj4uC92L6M->eIBgfF6PKcbIf0D2U4 zz{20MSP51zAl$%;#Wm)JI>ShXL_J{H zz?Pt8voFu*y)WE<{}=8jcZrE3t}MA%B_t_v7498QNLO-f?FLrLFXr=SSkfMK(}eIY zv;)ptY611_W*E|0PDAJMtPGq>tB5GfLdE>s{aEaqu97%?P8S5dWAO62#2Xz04(4>e z$g=6M2$D!d^9*93;F#b+-LNH?WvbnZ-xA?xk{KXf3uJ4HY*rq5gv7iba-ZW~&7I;q zZLT4nd@*VDUOYLu_VbxmbHz04hq8VB5Yht-^}LS3)YbCcO3(@eK>2Pf@L|kI&}K>) zvU2Og&wh2eGG?;XIlxu#IhI6OmS2qMs@lKsR1q<1oS`fs!4*Q7h z<%^xvZR7!QeNaQfN~S`wTDj{#$WU)5h%~bDy@`qn63yLiCzQr&{ z6;)# zAO=3lBxtAvlLSD*dgzfwLsMaB1RR1oh(CpRAG1jIKuItT85~?iHO|!KaGH2L`lV7& zCb8pV7&Ischp)&7g8aLod0JkUSypz8I8hYd=X%eW9)rL~Vq7oSMM;_x2vJqZ;`pR# z1td#=x1&KA1cf)UK%y{=EvTNzqb6QpOrVQ>A!*ti5V(_3k={QDKnj#pKA$H-hbu6Q2Ggu%W>c0N=gGnBysOzT+_`GPa22O+Sz=r;97eEs zpt9n694egW1%YKfuBw<0;S5Vh3Tc9oiwW6AO%}sxvLa(J27%*sOVU_X(geM%q~$S2 zaMj$N1S5HI57{BYrVNpjQc_x$#0MAw=3$<7CV^%ZMcc}XXn<17<|{0dHwGBRINvM} zko3@q9cM`z(z_F2Xfs%V0HwCfexG|pTZTN-LXhckf_6bLfFIw>X~de^E z2_fY%hLq-1hY3{wRR?a`_9c3MI5t$>M4lwvp-|w_pb)APDYMXSk@peOnLBpV;;#AS zs}C;hE=}wz1!(BACcWYh&%=Bt>B7~!=2vzfKQX`9-kq-m?QV5sx_-E?$I3A=@`6|i zeRa3>oWJ01NYe}gC6Og&Y<%w(jmfFTzJ*33S)NE`bLsJXL%8mdKiW0AYuD(vRcGJ$ zRC9XulBvdM!%bz!#xv<+aRtxq+7%m)v&y1BrVYI4GO36`1tuhnH1X8RWUW5ETF3p5 zpFVo@^#0foMi__DjclA8NtaHHbY6r4f^cTExgY8u71|xPA-v$E@dQWC;>1YI=KEk? z3=UbUmsw>_)Q$Hr@z!0?%OJ zK9m(b@#;cSGLxxfZ)PN3toW()$g#CO-4U}kKAXzla0$8noA*mgLcaD5$y%}Fh8Z`C z`=%D$Ww&M})biTI?$|I6HqyAc&|hRHRzW=U4iC}!6MP7eLa}0KGs+QiGX|CFZRv@) zalC7#ZCFUGlFcW&T}Db|$)>IMzJhj9WRGt5wjO`{Kiisa+q(ADE!A2!`S{HWm#E%2 zM8_b$Yx#Mf1X>T=80Kc2>7ccev)i!ge=|2WHV41A?i-sMBO8u!Ax0fhVSORCwYIjk z(dlf!-?r`gCiyLx({4i>-AJc^JO}V96x*{F!X7|UXCUnim5QP6C{!Amq+1S+++7Se z7=~4(wuZDtwZmYSei$V0&m5^OiO7Tnz+HZbVPN?n%ha6&@9}Bh^hRy_(QqkF2AsqUCj)1JILU zyPyd9q&sjbqO1y{H$=fXLKX#U)uZAcDkJcGHey$433Q=`iWIZ6`7T3J5}K~avh)c< zl4V8H6N>cuvLI`Qlaft0&1Xke__S;4u5D_vPzJ7CpIGziqi!~z)pea+9ZTzRW30)D zIYCPENzqnQqt)Zg(X*N!chb5RPiXL$h@(6$u4}KT?VgI~pq)4@OghLc3%sQzoSZ*4 zUo}!eo|_hggs!n{KIr|A#NvprvFPf-GQ8|nm*URQT(la|#ZXuHu9W`nV<1p^s1M{w z>$BFSF)zX%UO<6}A5BO1-%!pwyk!QRz3WStAD@yDZJIY1XC|8Ug5z=+k4}j!WfJoIO&Py>00xWl%tf>vXLmIWQXT&caoXROV(~c z`VQ>`VUF0Ok$zr)(Lx4-)@>szJFp`egzxb*Y9=)+N2o;j|O!mHy3B9Yqxc`F;l7soCB)(&Sdoh-;#vsm>RH z%3$!HaM~D03{jB;QRH9|s?!Mu_9c;7dXj-mEet#Y^74vkcKkEQ@oo$H~0B7^QrWy&qI zXYX^frdJl&TILNKPBtAcyYWm(;%{dq(Y7TZ4>>U&ykTRiH8q3Dz=^^IZs|TWIQ>(u z=#H~NUN=a+Yvo**2fjb;>?)LH=G8Xl*wE{K+e()V_$zfvMWE2wa;nBwzC>+OV^kqS z{s7(+aSE4W`(jtd?xbiJv1)|53U55vgYO-+XYB3~@0`fn((QI?^xeB_xHcH`2^BB7k(5opfBGOdpP#t*e7D2j(r~KOpKop z0Y8SZ*#nFjN0IN*AC94?43-|D#Q>^LJTZa-K zuOOT^j@Uq!cRS%2Hz6^cdzIi4&N&zt;X3|Rl7U_joSx7{RrNHR=k$11PmZK~-Q-{} zHsQfJ(`CovSwS)7L_q|`C^KdH>6|S}g6?^VJYUGz^_g_laO_IKxASZcSv(Hre%YT$ zDw+29gq(Xi3jWr2HpYf z@L9p;X&iB2<1?yY2IdGS>To{J5L=TtK_!e-4IT)p5n!TkaWPD7XBTm_1$#*CRwSu>!cWcvQ%Hv%D<6axa&^oo*Mo7xYN3s?Y zTQulgEsTCcDX;>eIOQYG`Xd{tH+K0r#SiyI$l*m%n$;16vBx1yFV!9%ZBge+@xU&Lc?`URT7pqHaJ$*W)pi% zmKTBEHq6{xcZ;^>TjQrzURaZ1eC@aU&`u-LJ;yGJCMT2=O&U=S7=F@xJ}omaZG(7n zsFUv9kyX$RcOch9`}@Q;EsazGHCspW7*(Uk6~{{@GZ>6RXf2Y>lW#rAq*WD~axv$w zH}*yRU2KbDjn`2FG4N{`cwP$4a4_qGtH5V=6Ym=X&U{SF)H9bh%C0RKCU3j%$TiWd zp_${Qrw~BnDe0Y+WIQi0!aEG(9k9vM*cjV!nJ)uQz7x#OZ2Q>YU`H(sqrkf1hUr_A zV|Z4vEDok>e9&n^oi0!fBk?{SGuOFumWL$_%>}<6&2lr z21Xd7Tk(tDs|xe|jPGsRVo;;WR&x-@u^%Ql9J&P8>ox}zKm=!+z#a0^|Bo-WY*z*^ z#;EiE|6hwR^tFIq`Z=`aDzuRljh(PRwjRcWdw%O7Hf%K}nG!-`pYr_7^H?DD(G*Df z7a9|Z>FWNG5mw1(%1J9oo7RREhQmH%owZiO5?8AWgQ8-(_Z!#FZZhz7b`p2QSAbnG` zNg7!2bt2G^NGdWw4$&`brxH09UpI$R29f7-c^17La#myi-W%I?o}SECb;G#9Fczv= z%p=R$_~^BxS1joI4aVh%P8~XQiX`=g{f+&TqwyRX!{l=qn<@wUik!3CH}2ivu=4ao zm0o1%)hs;+^#1`YTmKy_9CL$4sX6o|5S850$b(SlN3 zkX8+2-C8${RS9V4Kx4SF=NqfmdFw(rC-5*Eatwc!Wa_3a zT_qCEb_={vsltQ}#MMi$kmOVn2-$cGV4o0$}Y##R}W~dh9G|Q2XLOrVfm4VUNbX z{ID#etM8t+WwrNUnC>Y~*-|)$o3+-hS+0+HyGh;~Q(&&ILu*@sM06qT(2((@>$}6n zwrC7wcrkQiKwsqT1Gkb8+z>*U>_Y^Gq=+aCy`Q)0gNGoe+WOdT$&yx=ebcDRjx@cO zG#E+FTL{5mXcUcsNTZj$w*QoKS1oz%wIg#fTy*VpEtxOuu1k(Qv&sm}VYsq5x*dNh zMm|h^Yj>laMYrvXeYXx6@|-EMMDj#{x5BrXrDERD-n`O>o}!%wo<9_NPLuX!Q?js6 zM)ybl;k?78^ENleIE=-Z%=LT`SrgS<0baC%b$304ZA*RQ` ziu3p65&2V+WA`4l9qI2zIAF1$b*tnQ%oM+G=JV$7-@8h|IAf8`AC4t6u}fhVyal+K z_e9bC#35R;Fa7PaZj_da3@+&j7ODw@f8)vi{Era~n~4Fs)Ak8kwO(9++@W7$0KIw% zDeW?KTcDP_6yK*Jh><(5*C7ukH9ax05~LNo8*tE3MYb^IT27^1bz~)Bm(fa-l{qGO zlgg-!A=WY+FR-#4k9)poE$jMPyOZ<+hLc$qIG?hexc;-mR2iZ=pSCp&O2N3$n^~e~ zKW*y*f>d*o>$8UDu(%?H>f~qvhJe5T(xS==C|}F5L{W;S>t;r)g{*@PMj}b{dJH~8 zisNM&IDCI0J>6KHn5>Q@h={&IPPR~;Xdfmm#e(Z)podJw1-gd?VwP9n5g6dqSk~5X zH9W2$jzs9I8-ANb5=mLuP@zRVYDjG5#?`B*p$U@Z@dnSg8>90En_3j1mtT8q{^%an zOl7zuCl*FncC7aY-GBgbwG?N}Sk%t4>5Ubu2!5*|zt+CY|V zoDhVpAQa=S8!ysbD4^S=dqIG*Y$41lM0CyfW9P{GVq+9j%tL8wWG57%5cMZMlwb8l zt>~{nr#y_YG*3QN$Z`$|m|dp%F4Nq_1gs*m*#fJaRv6J_HW*VR~U6~u`NAtjiw!{)ej{A4`M5+89 zP*0!ML_rX>(~n*2$g+96kt8Ig-(kvR~Q-FKh8`~KISIPuyOWN+zksd%Jx3tTr#qT;P z9u84+87BY4NnspFKIMG380NhQKik}ipN$BtVa+|=Xf&c~`*OX0Vso>vR~rS|@M_qT zf!_eS0QhpZRu#myH`4TT91z@#oFCeO;xEVa%|BahcYK^Y4y)b|A6!^?aN&Hh0snNh z)vkTE*2dMz>Or@d-B+#d%NE^(CyT>>{W{u$XV2pdPRD59?c?rr>0x5q*Pp7a#CG4= zJ?LwHLz@8@smXN`Z|l3mK$(lG?wGqtu9j0jRLimTFmUE50ft1rngs%D0mG37-@uC9 zwM)=Tj6l$@+}3Z(#bv4XT|BX#{x#6#>{N2@-5KKEy1z6xbI1}Gz72cdf~52G zh^o@=|3dE{Bm1=D$Cn(#-<=WRXo4E7Q<4YXu$0!b8)ED}8WT8Z)fUVGm4~O=l z&^_EB`jFk0i#A#`U4-9yef_KJ>#(k`ub;-%IPA2cBL$mZtr4Sdz0GVpg)Do;@f9CGtKc6YqT~o>5AQMLbLS%{N?i{Z&P>==J`E zT(87?|BYgdmf}jF>%A|(VQT8be&1HjCCABK_(iL3$;U7vB01js`K$7eKVCTf&9T$4 z&7Xcw-niYRdF`z*1G%gB^V0>`dliO?_{DL}D`7`Gx3LxV!}o3U%ibihF!H=z5(yq{ zKBt_%Vt5xz=|UjEF+h80GLp+*Qh z%CUVB%h~+J&*KMT^gM8R^gz#GK|9{7-Ss!|@8Y^#B&C4XCgH+be|%8um@iE>$gQC- zzZbf)hruyt`~KBr59-05IwCtM`5_sWlp`NGA5X`xl(UZfCOHc~Co5k$@IOC5PGNc7 z+U$U{&LNi_*?`M5_we<2|&YoGuTPr6I~FQkUeb!kK)XU725~jtJ$_ zqGjs3AX&0KolLQ8XL5RqWn{(XSVqDa6^5B{Y@XFr-*5yrp$2yR2ZXGu3Vf}MW_*OU zzV(HD)sfd%foc?!EXU;XGp&WWnT&4ota(IYInS$R9b3~>!%u~_5wU-PF&w>BTJAP} zcV9ZvqLa=5?hGfOuN5yjxz^m*Doo{znxn%84#>*C%&e`={G`%sR(|3Y^8VMphUTku zmnKG7D38H-Y`}On6yazZd0n4^c8eic_nUxJH+w&^)r}3+{^s&>Y6X^+)G`d_uKBF# zT4&B!=OLlLpdIvuXUTc;;Luo)R_?K`-J<{fG2VxLjAH3l7KsgSS8C;mjj^R#c4dEK zqj4I3$wqGrD1#HEapFY1zCvObV)(Pp!=FWulD%^csZJUg9-()xE;WFOA8JRJ#_ou{ zg(8AMPwI62F05vwZL3|W;j5x93AeQXTD5?0PUX&Y3xuAB6@k{Qu#Ka!3b5*7eyAx0g zVSHTB^sMG_!2SzG-ia6E4qp^d^`dH7!y!OQIYw4fEg(W5gPjO7Fd{*m9a82*X5qIM zf#*}Qn&c2Tl~9UG0I9r ztM~P2yb8;D-jaq(xwwphA0gVWX5brOgdD0@5=46&=p9(lB^(%l}`vU;a5;zsX_ zszt1Skfb5MqKVjQ?BUq2_s7F=G7v^GIQ&xaw;yTv`&xci1XeYiZX!K4>OI^ba-Z#s zf2b*-*SFT`%ri|tvf67n*&w&ER-zUANhTNX;++!- z!?577JWH6JF%3CY!Z2zqA)OVK;S|Ej@EEv5M3S%+gX3gYFdT(PZ(*76cvpO2POt>Q zg0I9AQ&_fMxM3(~lt}irHL(8~i!~9YH`cd6-sX`hqcaU7FR&C8hlYAbw_NU`EM!+U zk;ul)1KsX{xxJlQtrM8}@u0XEm-oxMt(NC||MkG!+=1?DCkQ${OH)$*wIkN)VuIB`9t#lSQ)5;c^It%8pJjnAX`2K zne%Bly{I7ymADJHVe?E2k6;-m=(XWBXInsusI|1cVr^I}cDe@NhHa7QAefr2)f(fQ zo8zLl%XLSZ^=s?R5!Y*5R&aggEs`v7`bj(8Zl~>&Iy4ONE#u?x#O~42(WAX*M0X_Z zy6K{2W%_ja=EbrTzhYAs3D%`2DB|+do8x2So0yYgz@F|sbLI@O#_^q%0d~6y^;e)M zlan<1+4Y0i_F8%Qg-htJ4M0}JzHnb7Gpc?;7fEC zuk1ka6M}>vhDWl)sPKYYjbvSAnBh_8xkP?kM_dnFz0~9GOrjxU@=nepR(}st&x9Fp zmCRX*OG8`vOA}V^!O(afcN=(S2)8+`{nkKG&}v7KOYp5p;}lff6IK#7r>tcC6lwIH zrJ&7H9XIuQy>D;!MC5bu94mi<$ZVS^3hF&U(FfOikQa{5)1zV{+k4{t`2qj`XV4!t z)Npkov+4kwJEA@Wr~$lY_t;#pdjuxghb-%__WYHY5Z^VLt97PQZjKPk`itei5XDgc z_%wXu_tW?_ZUyR@n#*9&Jp(>$00ew3^x&IC$D9t1cc=vSMb9UjO{URcntS7W55X@y zShLeXdDg6%v*jRTlVZb?l8vNfHA+EH8XV+p$i#7w$H|3QPXBS?Tk!3F6J)IItUh~x_b5vL8~^OXa+g5g}dcw*#OK4%(DE-paw7Yr*`I8r^abiy|Bxr3Fc zzKhhJHxotx4k-X9!f1y|-07oBn)F&pUracTq-o?8hvqJ=kE2>@yngB2 zz)t{iB0`^k5}U?!0qYN6vuUI=}c*wRMmRD(ZEq)-Ab;Mrl(8iPXQMgj^Ckw=diRd08Vfk zdn&mIFL*eboc{~v-^AJp4iwpSA-<0e}*2CEEaoT z{l+(jeNMAfP86v|`~5$GGmuB43WUC<4}U|GuaGsJlcyUuOp8Wv4?X_I!+3IZM3bj) zXiUqT7Tduyi4>(~7@=n8!vkT^x4HTC>TI<-`sME=Uwu2Css8&# zuko!_Jh`n8MmqgS?3F;zU<9&eo^=xjADRk=#47F}{&J`9;85#yX$%qSg&vu|=J^Pn zAzXLhil7z-AsNFd8N*UiPz)ejJamZhL)b`Qx6#csa-eB9+MRX>ZwGfl15p}&S`=Dd zEAk@oYgjfBg#zh@a2al74cd=0%TWum5XLz&^%f($ZO@=nC1yvipAzP1n7hOTc_t+4 z1)$zL6is4EfH#{a25Lj<{2UxssXKuGoflE(}HT2 zpb``v4edll)_{Q`JPrQFGDP8Y8)_p#I5x>KNm($Rl#>=6YCe-lSiC7Q72Ysds5@Ea zZNljyx*D@_o|WUQ%h*|sN98)pq3#{%Oioo3Qpv7y361r(`ybN5aul007BAUi1$c>y z&9_T7YD5^x|!=Nn;jOqt~FZ2>J&l|dz@l|JqN#|WJ zO)fDE!_K6Ns?2km1|+Cptt7JvS5wI)ylaY_rNmjwwj||A=rWS1D{tcz*u;z()7X~~R`q)(=R%IzRN+l%z_EbFBquP4zB61-p1r>5+5@vl_yAY$B zNg?_DWbcRRcsw2dUv&L_GFJRPx#E>)ah6e4T%UcVdwz&GxaL@&pV*>tK|+f5d8kl| z5&Z6WIvwx*Dz3?`yCzIvW`dXaKLf5=PO?}X1_<#LTBE=UjA0ur`x(i%k1>Vku$Edd9))fy(+u06} zZ@AT4Ia@5Q)Y6G8Sx?tiipBM8?-f|cg;=rnidwq1o=r5?Vf%_&B724gf7<2;OsY8y z;o6}~gn?!G@YoFy(rA&86QcOVYj?3QTD@J8c3t}`!SAKWru3A2%{2o1l(a14UXcFi zPF;SE$}h1+h<1oM>d~(hMC?%O*k9ZFw|3jQk|$lmJ@BuF>l*8#?(8OxZvTdvCo8Ve z`;)e7{Da}{@N?lY(k_kM8Ss=E-X<@AkH2H}$^17rh%%l=-YlKAzxmC7rb%ZXdkhcB zn4KQ)JvCIGNzq&{_Ex6)267B93Cp>2EC1mGd9v9*#)5j^gv5jSowgY~j)&3nwL-8=7(;6dgarQt{g|Lk5v>P<>rfRKJ;NdDL!AQ zD*er^+;6~>h1$~p96b?^rBm>JhtZm2nfSm^-TS>_?`QWGU-Z2~??3J>?2vc5@V%(IOG-k;F=*=?uYOvcqPhHLL5 zWM%*U-d2pp%IVjU&9VcVt7~1=gF#IhIdrQV%^{RY-A>E;a9rsTUBAMO3Txo>GQ ze(8AU@MqqZf9XX2pO{_s(fNJNsWrYjamk-R+GL*c{QpM&l-wVijiRFnAxwNwK6_wPet}(ungi&pVk*Qw*Pp*Y2=2+txUtHZDVnK*M(OrX*_Hm<1@) z*9HhoXkLjfdNhX104ytfds5NG_9DqA*2P z;u(|Sq_mSzSOJYA84(CwS&`7Y(PLRjvus}-$rCwE&c5NZZ^#7qv=^@X?SugHzC&1n zv4LdP?RY|fs|BD_tpu-%ZYr1Kc+IjbgExViHe)-!W$O9AWyMFcljnTQkFDKu%i7A$ zk9pfIw;b46X6<>)^do?_;r92O8*r&gC6!;9s_j+`aQxziZZn_S(#p)j{P6K zM=KD~Htyov-2Oc8@lyI8WT?#NEAcr+?JOk1U`IPI0^{)nw(NK-1fS?f#tOmWu!Z1W zfL2~zq$?@I%LhOs3u5g$=G(=w>C(CS+(enzi!(}A@d{J%atRj;%~QpuIQ0vmKkY<}$yt5nTrh-TcS7~_Qut+O$BzT@=y;Mw?J z@@&^JL>p;!f*(z-w(6Q(-L017Y-Mg_PwN1YN0?4E=&nwUE=kN-shX|ulPe)z7y4jG zFi#|?%|U2HL=6vN?8Eif#wPO{8~Mq}{N`r<%y;p?dlLfHT3V|!x< zV3xZ!wh_An?Jxx#nWGgvObtirXf+U4hARpuNu`!_)#}g8BEso^uQhQUtd0OHPGCymuG%X|m5w?J8cqRxFw| zvv?8%8tyuhBh&iX|I@N|oT3E%3u}Iw*n-x0aYAlt&A+p1f>8U8oUohPKL!m=uu0k< z*t=oh5P<8%w$UZDRRkhGP`h+*&lA%5z~|onu3K*-v%AVurK~|-mcI~F-}~vez3sN! zoW+7)D*48gHAMe8)FKZpn{a}xwCN1lLE|}?k?s|Qy`%a3S6=w#e13GV;0Qnd#Mt9x zKkQ)gmtXi5nk@7__4wE)hVY6)dTJ75Zp5i%o5HIlB428tYX*4D7ja4b?beldFHh9; zxFkEq`l(Y*${ih{>(>qKlg(Q$omh(NhJ+X^r_P?*qIJ4APS4WicA665LWJ_go%W6t zJ+B*CHR3jiEPchOhy161A9>cUR;#m@lp3k&m!_xFuuSjXLn^)M|5{#K`;)b`d#cr& z8|elt=`X?Rx@tAH1D7|X^_~-3m52L0l`zeOx%YDqJn*>(h<)tIW8XG0<*5fS&F7Ix)`H96WGDVq|@ zI2@j{c)0%VQ-(1v*xVharl-=E6|QJsVQT62n!bA%%gu3I8Lrm_p}H$Ot>^M7r)+AR z%rX{~5R2`Mon+%I)Tg#O<-Rp9gF+9O@hY&a+XvbfaCgt9D zGI>t%g2|mYS!iV$p0l>Hg(r6#6eYyTZ)_B; z{S+|&%;s0EB-K-pBHfuh@~l)OF{yW6n)_IB1GjxX_d)U?Je@`@Ld6Q2-Xmbu57vLM zPVR-7$uL_6?Eip_;epXIhwDJ1^bDHzqm*APg}89#NCDO&jSqal^1eqJm)Eu|@AAuQ zZ~j2dvp!I&t*?957iyR9=(q9MXowpb>TBJ|o2uIa+LQ)3Wcps1%M4VK==D*y+EJuA zpL~XwjNf56Ued^?7)9b3=JSFfd>(f`s|fa_2Ba(ZJBEZZ$E3(VX^GbpBJ!U%r0YqO z6F8oblPr5PFQUNmDxN5sc%U-&eUi) z{=i!cZ+&f{_w2p->z^&&TOhM6*DVxYQ|PyU#7GxVUsn|aG|YrnTp}xH z&tCV?cgad`>)A&ieel7r(fSkz@6PVD;Yamk7eiYB2@Vh5LTQ=UZHaNe(v1f#A7{38 z5?isX-X_LJ?`>KBF8}S?KJD$W{c7XP=H@vJT8uFXpV`{lTv;J!fpOnhSt&;G%iue1 zP#JiHVTn!a)h~JVO&`9Aoc-vv*WGfcKmzTdZ&2_1IM zC+vw}?23CcUSnQd_(_`FnO=~m#vviql2_G*G2bh4a=OCIvFQq#7AK6OYjgE^J25uj zP4|8^Juf>)*Omf#kLQogs|8X?@zQi9#nSc_`r^ogIn$>~{?5g%{k`wIHJvbJ^veji^rys&Wig}@e8n&Eevf^rYT9*^zLu0U(u`p);h^PR1C zk&$=3YtVO#k-RL1F`y|fN9ad2723)7X*g26q_uy4WB>lvB}Y#meTHI2603cc)NHJ* zG@8;??S-R96BKiDXZ)?O1&_ir4Egx9+H`?w$ag7*JOU{~i*Dr!LTkO#M6p{UFw;ib zJP+%CKl^9@v)=pi5q@I#1piFqqgEXWw(#DfQL z$rOVbq6;8tJK`(`TkgA`hxy^gQ%oB*w26F#a0NH^D7fbg${$QJBOrW2w>68=j|`U6 z#Krp#&Xs*BDJ|SNeXyW%-{WcvaYXCaoNC#UC0?{mTlH-Hin(sRtRo~Kh93Cel)VX@ z99MZS+Nbuet*g7Mx_X=5_nxJv*BOm8(;CglTJ4c!jb-Ddy$i_*VPi0g4MV)dY(_T5 zF-u@rLoi810))$DnQ(6cNt}Bfwh$6PKOT!i2+s*iLLOkl9(<8~b?@2wUPMxYc zr;L0)jSKmW>lV88lHX37sYuexbAq9TWQ8FdYt$1u$KEIK4OuE>W|lKSCeAQ= zq%|2%irxvYEWB$X8L)ZAr!ibWPmJpf~3l@Zn3%i*kI zD95syfY|@3Je!vYo2VJ#kdg=(Dj~kaRCX~FugDQQ95i@NXIbsqR((%7Q{7&TGbCaM z{ko$0#w^jBn37ms7WnqQrOEt!CZchAG&~v0&hD%!Ual1NO@?_5ZiWly)Ud#y)|TAE zc{L`c3nHV597(zQKJ0fmn%bQ);(AFSQ~;1ytn-B$buzArsuVYqGfS%9jGJ7vlc~=K zL*!))F+YolfIjAro@u=W?pIMgTXDQMk#iBm+=jtKQPV;eA~R8SJ7h@NPEG7f8MYi^ zC4HGmPkMcPfYFGw&Hw(W6bQ24D^4!w8=~w>TG>eD2$z{E>Cuoc5|44UWhVaGYROj` z;`w+SKGoxIh&Wz0y4^LnoAnExjS)M*3(23l#+>Dm$-#Vom3A=%gkPb^Q= z+fwIKpZu%DTW<`7alD4Y@9))Wz0oBmUj#;I;7{WmG(ghGI<`3x5Q7>Jx7d`9^*#g(Z!bpj>Q*ji`flhsdd zRz!Lu*Sm4426T~5(e<;4kvr6(pa=yPFch))fR8K`MawP<$UwGOT+(24cZylj6}VqD z&WE=7{C_kX=EjTuS}N`=6#d)vie zdaC(Qpwu>-Q~j@V9BC)UX6Ra0gJ)YA#5YCmn*gbUGyAz-{{__Ut&kM@q^4@Gsn@q?_twwuJ>h@aCx$CjP)=D1x~c zs8#F?O}|M~lF9|W-E7Fq`GR3Ix6TE>63jW7rzBSJ`4V2beSqU^lo>(_t0V= ztphIeDbZNJopZ^Hz(8Cy{DMwX3zK8X)Zi;dbB)Agu>Wh?<_t~G)7w6eXT$=@dk1&u ze!x_4M7>0LZu-yB zCil?vY3H@~a={zAt-*b^x;G57wVG3`k9IRsa_$#-!spsUhc~? z&fRZ$`Ip>zZ_qJ9PCs#a!oLniPRiMLephUE0k6EX*V~aB_5pHs%gDh@|Fv750q4Hc z(6@|yyr5c8jEEZ^B7x>i?7Z$pzEl#mO38NVs zP~xJAZ_jEsP#C9kNIX%1STtR0QxTl2t7|*c>Sq{{;|-CK2+y*HsQY2v^%5_~GL>fa zZ?bC8VhF?746AX3Co-2B=X9?u>sFXGI7TNX5s5{-QHIDNP8S%NX9SifLdsWGb9`F& zhIm-URZVKUGjsn}oGy7eAd!NM*Qd&ys&kqUWwbFv4AhqPHLKO^6ce_*1=*Y8#kdIV z+k)iPSXt#+Swzf5nfO^EGOWT{j3u&4fCCcGK+5mQP+5IFSN5>3`G$w9@jJsrVn ze=*zBEx7IfN88iu&^W#SET#wPzl{Ul|rsv zO#~#3Wn9x{0v%G9IX*`Q=lKJ4YAu|o*P0iDW+F#_Q}$>XtbFEP<6cU7{DlS3w#Atc0TA(M#^;t%{?#QqOC_P5}CCa8QY$@}0E z&j4F#Q|5x`2A9fRhOr2oZ773YdQQK8(;Lz1G>AnB#1@9A_zYd=TJ^Wx?M2uh$&0W*nywS41I7T)?LvY4 zpi-HiUYagPG7-}rkab_JR2D*=SY~=U?4)lzUp8<>i=YK zjbb@q?DPxdPs!_{50^bH8ZSCQ`$#d53LQ~EfZ}#1k3o2#2Q_S<4+~j7gLDPo$u_h3 zj1Lt)gYiW^Dr-b1y4?R1WEh`UgC#-nk`iQiAfq+;?_o$w{r^W|i~u<*6S@CwnUT*d z7bdB0lQfC$?f*(vi9u9(k`P7uiKLM*Y}>L|Q<6jqdC4C|?)Z|dd%yJHp-jwCs<}K* z5585(lcrXylysOP4#(Ma-N5K{Kn+qFb+J=)@fIH(+rE-06cVL!Vr(o?E+y{rO(qhP zK7Tp@Wq+T~(_O;F%B309?8IY-WAXTLU!s!m87U+FP%ejg&;M6!8|csjNTAO@@W6*F zmBIZV04}6Sc@V09LCGkv90%U;hELZ9@v5Mo{VDXbFg~H9D7E0PQ|vSx%`^;cSU}=y zT(P5+Yulp>;xX^3@!xx|-xw3gdN}uozc+r$drVx2Zm*Si(eK)+ zPJ3oOJ3V_nhc-2k%pi;d%+-TA+u7zW^4@G;v@Kk;?-0wqR3z*-AQy?G+?15)#_=jV zo7y~f(+GW752NKMc?2)EGq=z^C;iMw>inMAnz!xD!1sd2fUq6ki+sZ!nvIKMNBh(M z0hvoaxqoM}zmeRz-%%|<+JBgw_&hb^OZohMA3`Zn#`>53C~3hEGWws^@bG4T=sNu& zPaTG`EnGe3nFW&IfEB40tgcn4M$=PMenYf6mF#+DZcHW9(?lJct4v)pJ0Z)QUh5q5 zToT8|c4Y@IN)Mr5-@xnT%j<}{Kt2BGKB*Z9zu@}UxOD>)L5>gg-iW3`t%IqBF#aKE zL$|+yD8?jpA9cuqU;n)8mowC1K8ErpE$t&MidLjlr~=!?LqyoU8*H?t<%L@+1Zx;iQ3X~ zuSWzR>7H?$I16WZ3ve5G5e~yWe25_CoAaJ~(C#?Q6CGy;rxV;&--H`RsWh# z4tf3LhUwL%+U}gp1{q!<`EhNcUcrT+Qf{vXL?E2QP1Bs&zB=9Lzj>c9p3YQ-blF{p zoftm>8i{Nm3|m0YAhcQ8aO7d;v(K96pLyn)U;Y&i7pyk!xDO%{Ac%*>OcAv}^83*Iezz4A-@-_umt_n{Bz zilURmOR?b9X+1R|G4#6C@x*A+|6&28(XX_bTFR)?UgIAf+&OCokRu7b^YF zOH6s9OcPb2c0ES1&y9z{1t@?snAo5@+M=d8vw?bV^o^=asbY3PU3$gk(^Vv@K9dy~L^ZK^D=-NfHecQHe znea{NvB}w$;-2YbG^MHW@^6J-{$}25kT;ZP%GbwYzQdUt;JkGBrXY9tuyky;zDrN@ zrLnO`!l&T8gA(_K$XKZ~c6PE5kH`NaJ;DPh*iYLd2u+=aIdXsX_Gf3x&`7hmGE48^ zmOX2wv8S-Ir^d3|u92X*Yqr%F7YFM*^Z=>@q;W{yKWZD}T9Y{8P@O-wPY}-x{g<*6 zs|h>xH2s&dpRiM8C0~XAl~Cf~!9=J+cj9O{KAp1E$>M|NHH3g7Z|XIA%~_Gd?MQif}L9;nwW{GrYppPg*{yYXq7{K?%vb)UGlK+4+j}SkNCM0o4}`+u_u<&k#vuSy3YUUh&@Tshl-Zy%^F8#UNjgdTV2YjrDVlSXAZ+3H4SX(>V*j=w@ ztq@r|`i*S8zPq7bJm&_}{^9wpk!z6#?2%M?8+2Vm`Ac{Ei@$_X`)7$_ekRYI`D17M z{#I*K&e5gz5uO;rXcgDjeUCrxgDc+Z>vnxZTfDod|4slcH9|;2n=JA==~f3}^*g*( zYNl)Y|SJvu+3dkN_oXy>>$&w^%cjsnBeh+PL>h6kVRqmeJtN673yHRX0r1g3Oe zJ0s1xPig%rJm!r~Bg2QgZL>n>k*3@=XM@@=P##32pf4g$KJf0S3si{I&dxWlFoU*# zcXR%1;fnU$j^^IdxgEDB&dBna#O*sK><5yG`|Y7@W1ZTdMIFgK1tX$T`5;!;aO|!- zq^0@)QP+bJ{ykdAr;*RStgCDqX9(*0^g9OnetkE#`J7i+XL9o@|Sv% zVQ0l9GfR#R?QI@@_>=3^zfJt@HPwe79`Ph2N7t``QjdcvIx-(QoQxykopaV1YRa^U zqG#nP?p)g9N6Lz=OV1-lZ>8sWK=#*HdccgiE|KdaM;x?RToHSito)a|BXcL>luS}w z*^45n+EhE15yu!O+G@*g4RHRb0pvwT$>GUvck=s~q*cj=8BDSz^$c`ORjQbGs!|w> z!jekX7pJ~6wMdh{zeCbY=5`{fs`Nw>`{tNe`Orw=#lCegKeh5KMtTnNc1I-Z$B*yx zo!i_0_VOq1`S^GHz2nE9JVa9Oj=b@G9@pl1gMQ~Qe2Hn-%WT=D=SEc1t!6`{xFKS@ zL$UBNmI5q9d4Cpx)Eo77(Y26M(Ho=_F0r8vE#?AeW7gFtZDi%+++m`Lf;2c`$yo+N7GvbI0jJDL;v~p{Z zJ(O*G_k9lmjoeMaZ-X*y$6M7}t@__i z?$V_aZy!k)#bMPn+$w_-chW;Pd4N&=vqd5wTl^O8x@hFFP5AP+_ttu(>)@5UAm&^A z1W_K^bnTUqueK4`a}bb^kTa`{%6ws>%zd|8zw*rLtsAhrdWNLF@I<})U9P-v>*|?N z9RbG9a4l7R1aVOYTB;i#x^bmcqEfm?Yw2_?P1dj9*?eMZQjF|bT21eK4UJam8O2be zmc9NoOF>2o#e64ileH=nHojqm84~yQ&wI(){=b#6dIuemaFM4}qC6-9wzv0-<}+UeR}-?3vW$ByayYNuCDpC;?i)sp^N zuUGRYYtMcA+e3PV%6MZA(zgl3K~_LE1q~EB&_O7EV?D%oisV08wwgTn?7?J}4YpN5VQ-oGexMvgIr?>?|U~d`gdJ@}3)O#v7KoH2MSmhesfPMec`pyM$3xI&GB9 znF7^JJK(v6;ymH0DQFR69Cy&BfyxexS?Vdi8Q!uH!e#MzC|RGGUsf3jmQ=zjY-9WW zI^<$|b#Gy!(O%fOWE65q=PB5H5xh8DDyKp_)#LglGxBFyM!O4*l-U z6kA*)R5<181|wxw zA5Fez@0pLC*_+;e(<3)+Cue{3qxyUgC8@pnbbbG>n{L{5ur@NEYqUq(mh;7_$u~;E zTwqYrOMO-g7}{@W+9zM<=eZ!px+ZI>^*`323=VwuPTp@s0=f|#@#&LbZb}bp1q$Xx ztAA(V3u@4>etlc&v$(xqRX_3iVKYbbYoAcnXTO|Uht2(}X{aNujmot&N>4cyZx(nS zYI=`4h9K;~3|?5d;8`g|U)VT*!9!Ao=$noneN(h>!LznTdMhiNaU1d83y$R$y>Ta2 zSd|ottVq@J=tvlJw1AB^d2=Y?GpwvOqw_|IHHg8sldQ3CTZ2t;oeXQ}e6phb@z}V} zNb05c>x@pK@AH*@Y6SZK@TjgGN)L4{#6q7_FpP=snGBwwWcOvq@2!4~}PIu}taq zEG?zK!MfXn_m@JnkQOEXJ64v)92f0ZA6V_K{Q1iC!tC|_m+!u2=D^0m^3IkUAD~B0 zQ*@X*@C8E^^6+9abgr^XpEPdRzW2^M_wH#n-?_Wc?i@V0eX=mK=gueY#DdbnQwJ~Z zyULbWJJuk^&Nqhfbt=w1KLfM!*YRy3uTQ$qU^z$S&E4UAJ)(c)-9I|L5C6Kk+&|=U zd$QU6+3XgYOQIIgFxJy(-)cbzO`|~WXoYx=9<5w}gp`gvFn{F8{BzD`Brczq%HN8j z4J$zBKR&$kS6%ocXFuHi)lT@^l!<(RJnZ7@pz%V|#SCe83P^l~aCLpXy#;6{QMWDF zNjh#FcXxMpcj>shySux)ySux)cG7WoPrf8y-1YT+ZQ6uh6Po%_TCglaiC6} z!(QuHhB(o^rYv8Y_fh2ljBS}f4!>q{Qu3K(RXmMEAuK7LBF}^Pc1O#DKS|N*9YtkD zG>o-3rYl6~S0byYPu2HKF<=~DhJXx@+1ZWF`N_uYvFQHOp|2Q9Rv|IY+3h>mq>O`e zlcfj+Rw?qav?5q)0U1_4#9;55!#hkeZwE%uqGWNEfnFZ{^eChqd1~n*)5Rs|p-mWx z-`SeG*W>d*l%7{jze)nq&$swXWGQm%yVl-U=5yr;<);1{QQH9)kDtaJkRy59;aids znptRUK1zHL&;uCx`lNW;6-E0Ks3Oc>)T(7KfZ=85U!MjOIxcMDE0A}`s7ke4%fv#V zhJPeH52@~^(7rr3v4!#D%M1I^t3U;367bVlc^sSRsAz#b`cYBO+)-r_3$pXN-hN7k zTzRdIGKVRjB59g!b2DB`U8Q@K1EUUXh=#VYW*}@cRYkq}?aR?W;2ycO03h5@!;G8k z0eFm_94cJrz{|+Rv*t)j)?pmb0%qF%PU6+J0eE2BMj0UuP8*qTep5tu3Fz3o=RGE3 zG*)QO#>FP?MXxQ!KH=c|+U`ed8ZlWY&+qP!-|W8L<>!2F4~NI&^UIR2=6T+gT5Fqx z|CZ=pp+?AbhMUR4k_`w{2Bb%pu52ZeY@WoKjJV_Nv;l7}wG~PgUPGr7)pdOzb*e{Z zjrP^FdGQd`K!rpALcOT zXiDB>#S`ihG^S=j!3JFCk#p+&^5LD z&r3`1@_k-y$FrLKQTWd1Gz9|h^G4>AocnlT4#S^*;Em602`z#!Pm_n5(XUQ3DL|6U z3-e<`f3XKwv;1Ye=0pg0`YpsAR)_FqZNjhRz})0xbI-%+LcdTvYQRm|#(icMj&QaC z9`EKL_Xp!naPbL_HHOKHQf)h>m=hD0Ik(nu1+=S1G78fLOs(+1oB7$i?{UuMyBdr6 z_m05l+=JhcP@?voqZaeRIA%-z<9|q9K-b|9_2gurSv*qH@?VXJMbAi?o#8}haVuc>*cQ$inz;4p>Ixh&gxYXUg z>(z+L%?-QuVshI5jd_oTJ#vMU(lPQ`Jj}=0R2u(AAMDE+G}E?BxM=$=6$NX!kQYGi z^I{96(ts_~i01XA{u}@UD96vvq_yGn)VK0bj{0qQ+kAhGd!3WS_t3SYs!)KF&wXy0 zeLJ7ybnE!?vrEl2pEoU!mF!)m#dEa1Gpq`73_vAYIZ#m`=B-+eFBZxXTHdA0$HwPN zcdJ+Tj*BU2M17RYeycJ^-9gq2LY^TQf^>hcXUhm$6z+8nM(7 zhK3U3msX@P&FoCgX)^l|N$~KES9b39g6%DUI)i)8rJ`NmkH+#)BRse~(te`X7=_h3 zo)*KorBxi%05~|ht|m1LQvXkhy85y?3Px4exmJaIx7${QEB>hHCHyz2jJP(Vfg{H7#@u^van z<@5`92(SYtDJ#x}llcE8y4b$rJc7A_#T#%=LVI~;yd>YFaEH9x|FJbi6`p^oxUYef z`nOj6VnyI%SbGwp#J}C&>$_HA8v-E6Z+71n66D4+7 zqn}iyd3BHLwAi=f*2!<*D~SbP<&UO54`UPAek1HdaBfW}YkT$Dj0o}zZ#P{2rEf-Y z9U!pk)N-=oqnu-)89O#D()q^>HPCEq$<#@0#kJF4Yo)L}pM)mau_-*QCx9xEeqaP+ zH_G$f$fJt!cjzzvMwiJ)lWof(ON5oO)UVFT4s)65Va8S>(1SG4sR53FM{FWzU1F5K zKwMe%T-j)PF15E} zkcD)V?1}lr4HDd*V!U#6MNZCLZupu@ml{-U$;qk@6B~4oodugq9!$kXJq*&xW^iY= z7OY)35`z}>2}V&@Fc7&&n~;>%EInk8)>$+2V@AWSv*~6-%6gXGC{=sv#xLp6;Ip2vB zn{Jzk_xUwtM$AKi*;0g{JCd+z<40Gn?llLM278t3CntkOF$?6xRmQV&*VIw?v z^Zy;w@Y4|^&<4q{B{$R{&oB&W%mE~Wq}Ikl!^zI9lPOU;KAr$8U%s4tY$Nycwg8Jw zA=m4)QW=(2W`?@-!+A2Yg_*yugd%Bn)ET7k8&FUN8Qk?W!M3V%ACyfn&ohrH9)c}s z5Z;e@FjV-9szegq@XThsuQD0032nRelBrZvN27w47ByR%kt>bXbQS%sk~6^_rL%(& zPmA+Va&cufEk2aw7;k|zE>p@^bg|P$KBNGA)T--wnE~od42(Vy#e@8NQtw zb6EC>ew3er9@|-)DMqE7xsT{)i`-4MCz)V*6H7Aoru7fq0_eu+-Dpg`)%lFt>k55* z61)}hhbAzk$y#4x5=Aix*KuhukWbq1>Q#>(MtX1ycuFdoiXmgZP)J7A^cm5nPs-QF?eSvE@-KN}qT$ zXl)VOpoFQ~5a7MB>IU@txfyyL&#HHc^0i%B18E7iI2jM8f5-WL{OEi!x_BwPUM`FM zh_L-A4?v`a10J@ojTOWAj_~^hl*TmSElIk6h+PoZvH~8x_&dMR)=!fsOD^BP=sxpz zo1&r*W|^>f%lCz})$vWW6s4ZdCX*#1PhI>!AJ7S)z;{GpsG4|XrRZ|J1N|sLNu)i~ z)o>sPsu1V#;bUb{LTc>t&+*~QAIh!U$Ur4*<4Tvi;fDkuf({FTrk175>zbTI ziCz{R%*y)oKA$;Mn0<40qf-vf&%K{5!|{IZyI_+rw~INg0Yj1D*zI9$6iA8Q<#cwT z*;RPWM#zfUXN6~h+dM1D_YAAybG{2YJ^G5Z`W~P4Y0>&T3ob=A#PhF*{e<0p@pNr=fNJ=b2$9!K)QBSI&0ZBWf~0oU?UlcZHyWe?@d-6roa(56^>~P8{$Wm z4iSb{QWXx-ICm5~JleVLmA~~$UF8B?KbpuZ_sPoLx4(V97}DiDUpiaD&!bruMvDc9 zM~1(h@j!jt?EmvGql82{L={1%hjYY_qGR3qWA-a4{xSjsK8y^`8E-fv@hd&bksiCm zJH!;OiHC-!hw>(K!`fO??--3syYoJhXP4k#)BLa?bF$O4J@YioKG%VETxwwQu}2fA z>nACs`rWz`)zq+Rrx(UD^!BUz`5T^y*PH%?=bf4~hZ%#Au;tNWCb=xG8B=VTSwe8} zk#j`AZaWeGE z>yg*)fSqsza5VE^5I)*QwKam|6h%%!4IX@$#>bUp3Y{z~HUmsrWtC2-@fdI;xMWh^ z%CPi{S`-(ZPh^Wrc&D7FA)zHpinEpuplgv`R6NdCb5Uh9PW^Dol~5%QL0uAB#%+!BAxr|Fr7k!=@y%#>nsn`W>fZ$U`oS)&_(#y!@Z(b-DcL+xbbt_n$qM|Zn2G4cfRa~yy<_NT?(Xsw{P1euOCy&z1 zsBbfuDo+2Ku5E8M&x2GIHC{iP$B|g|>5>ItN^~S7?*aEsgdqlr8Nn#dlgk)Ug99q*k?t1qbJ4_M8mYWn}_G$9u5t#P-#p=M2XoVhh=%`T?iY zpX+=yi#FQ3ki?QN!~jj&(Zkj8L;JXK_wmC`Px-lDu*%3TS3%(A4X?Ge z^jf=%J_6*L7xow8^xEq6El+LDth`_HhU*(Y!krpB;+ym$PchZhFe48$VHQgL5*>O4 zg(Hb1-WP+GpWpu(i6I&p>`yyf=@1KbTAydAS`%vAOFYg}Q^KNGA$C9}bc0M^&>TYx zDt2M2IXu;nH6j9p5jP_yCdxSpwNm+dhNi&T;dvHp1gVvBNDVNLo-3MW3LD~Voq($j z(G(xqD7+Pn2o56yr9)9;jqn)94>SDKppez98EfF*$Qv8fnG|+a1V_)JJshP*4U470 z-M`(Ltj0X+-O5yj#t#z&p&2BCixS0@4`LHe+Nai#CDkJ(?nA-S!T=8x6pJDCM)RPl zIWm2Z|8tP38n+(-k?K)M!vZ>1cZ|xJF2M+gwv#~{QAF9SGXNPoIDGSRMMf@os31g# zd(ZDt>wWbL`r`1Hs66q_7_@no1OHYaX#^aO+P?3N22u|}@V-fpoEBG~<%gBSz4z5a z7V-@Ut`AtAgLF>t;T&O)KFUsW7)KFPOdXPZxjPilaE?Y`=Tp+g>MsgtRKw8>`FkZq z;sJy)2gX0W%9jL$j0W8S&SORwhi$AJ$~9KBZ9eP{Zj)lcv&;t%S1sHNJcB)NOLej! z?(U_ik@^U6mKB7gH>%Z21(l@bcc;ejVu5l|~%k(qhRcp;QCTcKF35RC2%$inVEmjZF97Q->#h0Vd zUomrLD(-wOko^c^lsgWLN2sl+!OCq?zh#vWtYT!}|Hhyw2s@m-wUH2(ETL#kXo9B5 z4+pu(xTcXQv1!&f&E1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *u9%63Z?jA0iu?PinPVJoL{dcw`#N)Ce-~t59!!$Nk`u zrILrjWr|t`5qQ;gLfBb-upkwS$+sOs4RhpRM@j|ki*LKO3tIAb&dQfxb~7Gi(^iBH zNx83AruYsKJXsq0uRnR&Hsv8a_Ji^Aqo^2q84d}BmDnUTDjWKL&j#vjoFLY}{v6~G z?)S!ndm1C;S6#W@AW%kdL?9u6$HlgcOH+KOA|z4v3aEi};hVb#caf5ox()El$Bz)X z>TuD5Im5wm5a%dJm-Z42@?Yu&HOw#N{Ae2!`J*fa+=9yAfU#RIM<2Oq9U7bcXajy{ zBJ~B98IsJ5{$+3!b&STV(e=W9CS#d_KhR3E;IYV8eq^mk^XNZ?5@+lttveow27^ik zjxb%K(nkw_9~_I7H0-A(`Vk`YKi_A31jjWop0;x)`8OuTIL-tRaN*3oUub{;1~1C) zj?rZEica~27I7pNWMtxS#NokjvY#BK-hl2pWB4OZc76MH!4cADFWw~=wh#6reg@sz zP6TME`NcccNkp~-`f}&_$tsc4l2+fLsHi#PCe@je8cApR-`4pFB?<<(D`0k+)~EgA zY6f;x%K0ht5t-UdD3HA^^1)T>g<%o+0Qr)PU&3kvNtLF|t+N(>{VTh3as?`-6(f;8 zLIPE29=9_OsDXK6i{8ca?aE-+@vo20UUN$`mMyz?%hcbdX3V+vED7jZ=EZq*ybXvX ziEvj9SJL1?X%=RdH?kcJ=2k*!@UPKjBotORkH%Sm#lQL4U9(GOaDCs#aVVPm`L3V& zbgG6jf+iDG#j@(EP19Vxpz@EICQ-g*0%&a>=w(B5t39IT866nt_eU+q zd?i`rY$*@<7q(E7}eu}fZ+o&Y^N+Gj8en1TK$_Ci&n`^NDfc<{KlH|p}yh7Tc zB1Y*Ks^C`M4f-Sq{mp~GXE^CR=L{dS&cj#ESAWaffdvUWC=E*~1GjD)Lkx3q#VdOQ z3SR4aU=+GhgJOsZe{vhU_Y%^L0&XP`Z73Q%tQB;{7EHHN2sXN5$K^_jTdeI>hr?Ruo#1Pg3lP2r~y|k|_?IWy>RrsRND%dU3`yW&*z6AA0r%IU1G_ zu?K{PP8c3p?RbSMG^`wf*v1z{t_GSsyur3aBtMap;$F7{)Gvkjz1odW}3 z!5jLX9y5Y_T-aBf{3NtFG)q}q}lAH!cf@-GBnNb8e zrL(L)__Jy5nj3fYh0zL~FOi^(;w#5H)tQdFWWKJrh@V*cy1)Yt99R7l9MTlDg13mWn>K2xU5!YO|O0AhX z_j8r&IozK(p;Sm|v0mLGT$*qD=RkdOiZSKLDNy21q@6FB2v)+u(RZ)Wo+-l-2r$x8SJK_-pXn2_6_s(7U774*5xU+@c+o;fvE^)x)utzX>ic8CcO~DvF(TI4G22TQ3vIL;hkZiVFA|*NHf-0#!S&B zG0vW27VMx6zr}BpPh1I7W*a0-l6EeJS=}YfnUr+vOLZ1FmSL=+myo@8bP^ecQ$zJ% z!G&X~1GOxFQezbrQ9H20zV!tw2ZKn5epWOU5gYxTNWCu`5b?(5rMr0({)vvO#@N`- zB8<9hZuFDSgZM^LGz8Rx!2z14K~bK;kQIUYm#jx7Xe}zuDx(E+&yNjCM3SG_30vZY z0UVw?G!EQN_rc7Yatzcc&dW zhF7b$^!F$Er9$y?kxsm;RI)KJb$c?4KR)UwB_>1~`UvA2Hl0&XwPxw^yg3?&brIj) z#s@i?sID4{uLdHm5acXIAY!0g{yNVTb(|jvZmbt3$D*8cL@CQb+D30KVUK6V>J(Uo zu#m@#J+o!4`}8(4U{5CNe0lIoz|?c`N~qAPPTErP1?sP>*pS<4N^iBC{Bg@lM}(> zPJ3P3lN#tw&y47mDl4SYYvwSG6KhJnIdk51@Thj(WSleYefaE&rn_40-&mUzDb{N& zv{)S#8gr0}n_Z=!99}^Wfs}yjawIlOH2e2OE&M(V&q7&?Rti%+iMk_c(QT2a09H~| zr0+2S^}RDVw{F)2H^XZ5HrA5JXFldl`^+}p8Mp)p|a}A!`au_-Lmf59A(w{ zVoC=!0ql73SMygM5v#>>LMU-|`~_|x8mgbab8CK+*L+`lZ7B-CnU5aohv|HecOlsH znX|GhzBN_2pfi$56|`Y@j0`q)2H!0{BK>`zto>;TKT(n84V9!2vrwp<&*^j&abn2u z0rPS!0Oq%jxb%$rMEr1K-i#Fm!l-bGl-D70N`%V2FVsP@{{iUk*|D&*GdH_C2Q(E; z@Ai=>hc6eW;9EdX)fKcV(?aGkaKtd z9yYml+jKO?0V}wBDXL9IL5v2Gye_7y5F2k9Tb#K zf7rx(zpYj)i7Q}EUI;mQ}2 z@NA+Yey)0U$9baU1HV^YL!_hMtTSdL*#J%br>d@CY2gdecogM@QTHx3r3MAIb3?}I zCGDZZh`kd;5?7vq8>EHbRyc#g5Ja*Gzl9;@1)z*Ue{upmMt#`Vw<^bEh0s;#HzZfv zAP+1FTl8io^nV1&JUYhQ$fr0|9ihWn3?=V(ObvIy&Sk_xAHe-6Th1{D(4KGftz2t) zQq7*=h{@sEqZ)F(60AN0&|<1&2R%%ACB|h`Qp9u?s|5e zXYRR5KA3(XBBK#;)WDKaFsC4|hd@ygQUwQ5N+))d$)p%mDsK$8nib_K01Zt$eujoM z23i>CZjauTG9f$W6{ZvA)T4N=+A>l`0L_pfNY%LDbV3|GU*{Mo#~9(A z$tfM&)@7NKc9y`|k*GI8F>;u2;FM`}Tvf{^85au&rD_V;TqC8jW~7KRINju5AUY|$6^`5jtbYo$Ia2qhM+*1S@Eu^`K)xZxDh0TQiL>}&3 zkc3Ukgw;8O6Z;Xa1$Pa_z1giVeN8bNPL~?abvE%I1sbf27!X+L36)bef#k@2TNyaI zlu|^q|5}TwdF+PJGX_KV)vaenY!$KG#*x59fa)Zui~)EMnk7y#EW_<49G5ue=4?n?XojwAAWiHmI35CX^HDHd zHt{s+@ESL)K5!iFNGi(IY0g_?8?81q89S2MB#@CUEt1Jp{z^dKlm<@Ou)2ma$<{`N z;C@O63!zE*rW11^gD?ck+de^FGDFT%?OuGigt9zJQ?^-3`$F=Q&G#^ILXiG+=%87&(!^j=$U+f&r_ z#K84fUTJiS^zP2!w9ZopcTcB8)@-mC`&n#W<%pSHgoR(!Q80MpD&74T5Ec9gH6I8b1UR_0!4j31Dv`CX)LbGc~GiMgJB82U{x z+L!ecAfJFZ@l?xPZbEq?KVE5ebTvhvLOw-}PdJx^D3L>=a2)>mu6VGZ%)lJwl7MK? z#D!6#%ogU)lO?N@;r)dj9ZpMwN&riSwPLbvV&p`eC`(RGo@-pz`G}dAyev(f_yWJ! zVn(|t+hCJmiV`X6#3m*4*Y?DW>Qj8x`w!{qi#1MN8>nxuN{m${YP2Y`%Ccf?^A+~t z!n_`K?VtH9BK9>^J5qe=l0O~B-5La(pvUw>AOtqf^peWf4-wH!@=xJ=iAj?jaTLji zld3$KIkKdYp*L5P$t{406=Z=bfW0FP75aLr^>={yD_ZC`tvvJC*+f_Q*z1fpZoUnB>e?DG#^Wm4zb`K zKiJt_VOV>lm==W&)nrM*WHT-|wS_}&lM!#9K5tP3_x7}1TTJ)GJ0xF>A`u;VYtAJU z;}0?149RY0RO&b(Y`3^VZVUqsD%JBdmijX4L-%^A@=~^8$@yr4vSq;ThhvEI}Zzxyhz4!+5%bpCbpPH4;zZTQK@p#K}{$_M2t>lD~ry8Uvi&d2gS zW)Vk3s;J9fpH&k!6&w1HB%x<-Gi*u?u#pyXdMl5+W`TirV~28neW2Y_nHve;&mUmZ zwlL@C;`W@%u(8Jyq%P)B-kePHb{9xy4M8cMwkLk&{XQ;LuW_+Qyz4+Y ziXH`{fVlni6ULW_nKRgQZNN(SToMXuo4->Kx$@2_*d`45TavyitQ$+oOHz46i?sF$ zgF$+LxX2&dVAx#26p|YF)=S8E$>_I#Sm91)dl~)!!fx#j5xr?;co8V?o0q^&G4fGX z@?tbs^@rtd(E~&9`i11mma%(ta`thizO!VMW9E75o`BRoc-__US8QTe6>RY1FcRm1!+4-TQt3rF%1rOs zTfOn+Q;|B3{jHB)f=4upUX`?0fVol4SvV*jdOR{sDIt!rrYgeOo$5H}?b{124Y+7s zo32qmU>TlE*JPcN0h%h2hjLH~Ssh7(RR{LorkBQn+++&Z9Q#hSUFvdaO_!LWaY5Bn zek(}*mm7)vtf0PN_fGUFT)(D0cqN+?3r*K1$ke7|J0x6gh{1>T=ko!r!3c)yr`4Oc z(yH}a*)|DREe@P4?e#JQ?uB~+BT9Vz_@Vo}3uZ8qs~pUu=F~s6O$!H>q}@d^sYMBk ztRyJL=FiiT!L)@gj4zazFGR(@-GK6~ll4QclMzdyIS!a9P6;!n2jp03@!&AFvJ1@R zaos28tM=S+=L;g3iukrI%(>;)n~q&KmPy6`!qU?luR-he#_;`d8 zqe`aYx@yT#u%axQU{SVg2Ujz<53rIlI)C_!YB*bBRxC!1*<3-(axpCmD;hA_y|>{8 zwItf|+aYStv`b7?SY)wCkL?0Vaubi40X)dwOL>7}gfrMs4Beb+gw$ArznO1}Ib=g~ zXgYK_-PA|tLld+aQ$g4!N1I8sejhwZ7o96@f2w4Ng_gp}@7B9bSp_Qv3Us((Cx8^2 zMkfcpu`1sayt-_obmum0BJEGsQ(OJ=QCS1k3tC6m-Eo<@Z##U!w?1+=rn$3 zzOlaZA(%6$@@G_?eoB9tO`DWMNY%qRXATvX7JC zjVkc$Gr>(K^*sXZZ6XjD%s!ssKE?g4kVNMRJ(cL%@6tN&AUarz^p*04T_gu0i$?O|j0Nc*SCyR5iQqOTTnQ2~xEX{bJT~33p~zW0 zQzdGQ?WwkDjOk3LwwiJB6US^E#^(b!65_9@Qs$elD#>4k%1ZqTt?${LT1pAuK{^jM z3p*io*K{n=M-?~1J8Uxs>g^H@%8OmXcH8(6mML8EelwnRUW$3nXdTY(=wz&nV6%eh zi?mX5;X%yg$>nlo$1|}*mSZ0y*$yd#`4~5UJaT%>)XED-eUtEaS-#}BkPt6sJb3f7 z9zV>nW76d!)U$S%F;f)todhte6}u3f;PIt_&>Op-9arDji<5TerGTrW)Z`4HKl-8+ z^LlTejDO|Bh{-dPmZX0jBH=4>C!{xpk`)jErWKDH3cN<%K$eK78(5liBNz8xHn3dA zLl#U?li2UOnKOWg)H$wk#U#%?!lY(GU(_t(lfIgas8~PfC5bDpP{ETG5olGEDdwyL z6SPcT|EpKjzElao36#srdy+U1`+GkypMUPn4Q8U43A}T_FGi3 zgrevTams?Bl6cV~l=~Kvxgmm(&H9dr2ZdwOP2PZZC#uW{ zeegKcoXel^l7llEse^SkajCQ{G5;5t8WU?rfJ7rEk?;@K4JrBTsVsk8_uWqS4kPM z*P3~iVpnds^y#$d+W7oEGLt+aMedM^M)=Swg0Rx!dtTuC z4p`5iUDUEzE=J{q9jA!0oB&$r!L)4d8g80-931b4cwJDtl$vu;!oEr*OC9=)S~SMh z%42fvij;1@_TKfby+hI)4)au+$G+9HGnUZA{Ngi)h8-V;hbd9)F+{&L27$g#%>6a< z-b>3LCwP2k2k@Na(o@;S;+J~_^34)+o|yY!`luG3ZSyd}TD<729J3LS;6=Ai-fV7W zzy!^Y$*BUZj3lEOOGLkuK`i+sw8}@5i*MUYEu&4!p$7BQR)*Tur#d|CI-FH0T2)U} z0V4{cC8Q8iIh=(hrn;pl!r+AzB~8%IBlJi$F-aAu!N9zPv&!_RHLxnd2pKZ3iV>tZ zs9zDVP$Ppkv(wyeoGq=F+qYH(-!*RLU)TB9-{S2*B2@`W7rlQx1bS-W>&38C-9oGN&0lQ4@8 z0fOeSnL_05o$t3lBa74T(gms>QRO+FS28dp0iAK zr-;z4i61Dp^UWP=F);)%Xp#}r{{TOHA;R;)UA6_nw4W^EN#XnJWJyPWN9r7%{4 zzR3^Sa4pE7u$%d3x=G9j!0%NuFlU;k!0Mcq831Eg3c_l}l4CZTzru@dBn|zh9lc_( zZxyh%541kc`dv935?6}3y<6=5>+&tg(bBYcTTj2!L{#^gx$aD$pfEq+LQv3{-Ufq-g3sr=BuOsJ(`kfy+;;}MN+0p z&4oaoc`$eb?~+bSpT+1vL_L z!BU~FKd%6DuzUqw9X9Hw2$QYx||oK1l{(rlifZyy4w)Wuqud!6SP( zmO`z;vyJ6vGc1=^e%a_4!zT@Vc%DkvG4l6l(bHpcAj;7Z2beD3PHvD33`%CBgPW%% z-5CKao-a7)jX(N7Zr1ju8$Lxn(c0gMdiOcCdw&nY5^&8d6Xrc!@1BV~;BSpOdbp;X z5k@&LiLPBa7((Z{>bkHyUD+nfV>LD2Ucmaz#L?lMhg<*qd>hmk-7$cdX4FUi509!7 zui8y>Q)Pm#^-FzW#AhHLR`lIjDe0MWG6^O$Z!zDtSm5FlA&B68-uwJH52L}c z7yB69a4})nJ?WY2A4F* zMG}sn4hTtNPduZ0H=)HM;Fc9imXORGpI|xu&CDN14xT3ezU|@eX7eNdC2;5%sRoqh z!2!l6+}j7-ZXc^ZaPzFPd;srZ*|kk(yFs~?z{C4i8J^}L5u)#KXLf+D=YYo{n?H8| zFCu9`_nbgu_#l7<7v^ZK(Ch$&FT4iDVkE;@RF7CBsP`LR;*a8x1A?_TXE*WgGP7hj z^Zcz3=@jky)E_cU%eC7vG&G>Hemts;YDpV$?;^>mJ{921gYC6a77Axq>-~Jq&?hUx z^CxWHcNzxUzpdJ7kGjdmM%CU%dJg8u7TTk(EKG&*X2;}bvmrWn9_dhjvIpB768&t} zHEefU8#1l$>O&QB0*dnM5yKmNTh+YIB5+*NdOmfdys)>P`&M84CFDvs!-wp3zM zEAmQUS)1)YfsM_+XSau4K7pn@-dWAvwbLVQ5h}VTcJ6 zJLB~=_Bi+!M_XQ;UGfHKTjK0B@ecG=@6t*17rWIywo&RpNp~gPl)@Ey?y*U%M`P3E+wBT8vX^W0+(6!~*+xLBfc5vmVjpyzEIUL>uU<9313|p!@SDPcNZw2M&Er65?}fakav+xXN?!9R5ZrrSuPGgf z=Dn=fyb6T(UfgMF2jY3J?leCG!QSWio8o~e?@Rp6vq0GQg}$bGAkO z-pVS(h9Zuov2BrDYbN_D`i7FWWk%Zy`-a-4Wk=g8!p3hNOLJfm(uQicr8}^YuQmN? zg?~f+-O?YgAQ8KCo?8(TV1QR7;+lc5io~t-PiG#l*w{5EZWWsQHwC~Xw}^>bwH)A* zTgc*?HnYOTt$qsd(Jg>=O{8BT>rzPvIO!JBxTe;vuyv`e0=%{ha9oq^R_MA^+W~Id zg*>k5S1Wv7>dyc_z5>X{1pE~eFO_(JBVQrKV@lo%i zuCJb5KK{?U*Ws(7tH%EEv)hMUe0hui4o}Z(yT<#L{E&+EIV&JVA?Po8@D zyXN_)Pp`dC-=2PRjRnR+<3WDl+b~{e4^(Hr=L!o1gxrI6e)d9hqdbtENzbJgPzWgm z<^9BienWa7Ig^-+FCY-&2(tUR4b_F@LUJZP7h8by|2EJI#f|hpbS69(TmUJA7=-^5 z59))!L*T}D?|tAta2Ko}QV-Dw--GwYeeZf;H?SYfAMy*~1Mh|B|KC6{I6=GwEIxViOe**|=?7#_b5JS~PN*pFTkefiDK~UM$-GdA?v=lkayhxhvjPO3}F|BteNm(`O#sSj+K^+_}2_o@qMj!VX+;*;?y_~gBE9ykGx z3)Pn&@9vxrlz`t0#U%_<>PdN|cv5ePF2n$#g}{;L$WxSl3Oxm%Jm07N`;k>}1`J-E z8;8MR@Ne`F?HjwncJNvBukY%;^&kaUe7cwBy}v;iu>7Sycjdi`?wf0_WN7tGsgS4=rj8J zTWB-t`#NYd%KNxzGgA9Ls53(QpA0?Eq0hZHei%EaL+?5r`sh1{L+{!i_OQ=GL%j_S z476LYu+M`-d<_n}G+XyD&)q{l`W@qFSN5fgpE!cN#_|6qtv`PJv%CBO>ak&LU|?YK aBWQ|S3!m_Pew8T0RR910L91v4FCWD0k=p10L5$o0RR9100000000000000000000 z0000#Mn+Uk90p(jj7kUu5eN!~f<%PER{=HxBm390#^oTL4jUMcI7- zmD~>YthaLpo*k&&4iSOUzjpz57&Z??)fY+D>+DbIM8XLiN&R+22d4R2v?8&LfV#n>O7y@kxA= zz1zo}_+ie!d`*b-jaPn?-N-l*KFoci!PnG*TVE@yD{M?LB=t<<@Ze8Y*S|C&#Bblz`52x6C;rn-w`@AP||6#)fB^;=?0Ja6Kkr)p z+sJGgB73UXQI2mpGX=^PSoq!whaV6W&;LRJN_0bHM^JPtUjuV(HhGBT{^vJ|vyuW3R{Im;z_rXQYk^WSC7y9`3YNOB<|gpq`UEs)8W0TPA?VTPqL zHQ);FIB~2v3XX-gj#WhkYg=2zI(9Xpt=9Ip;;#NKrZxu{($k75TZ`AV1?E3%?BqC@ zGt+xwRrO#ub|u09V8Muy(37GAa}HJsEt98W7Y+LS4*;lm`oB`OzPo(u-o17ALr}5} z5)6_xK`A%~1lzn=gWcif3e?f-`RLL?2I-M4xZhx9dA#2$1b1^d1ll zWY0%H5Z?B;fy_s;L1ICHRlpTdXdy1HP=!NYbKv{`F2CuwL$(z~Ys!==9F~J|Gs)!g z=k5L3)*Yp5+)uXU&p5h7S%gPehnE;_ng7&TSBW-us;4upFr_BDhfCg`T08b*J6!&k z1pcxjkOU&K4HJP=WSk<|kg-jsn2<6ZNT!u8VVIR5$;dbbGYvBhrjl%{_0;R(yvOTo zwzTseZhN@g+y9wrl{QFW9=Ur)b5^&J@!167O}1g!^?$Yd)df@CO##&)MKnkW>LyoU zgPausNdrLAJP_16>q$`KAZc!oS}UFRsSjOxp^Y!PBs}`ZE{xwB{CGfKS!uFZ?6O=z zn-HY71yV-}m6<#Liw%3X-fpZ~Ah5xRTB!H&b1!_i|2~P%blc=1?64DStIEX)g zUBsCIkErYS+FnYSutByZ%SwKSY%8kt6|><7Y^*O}=(qVhO3!%gKzEemh?-a{Vo2rJ zI}ZSWZ@?#EPCB@JGhMYmbpVEoUR7Ri7s51i8rL49_54Q!k^-|wB!5)w$ZZk)JCAAQGR!vr9$0X``ERh;9Io!3-o7}9L}77w0+B?f(C7>n zo5SUN1%pyWV_sux@8sgmzG@U98!o5~+N# zT5q;{!|`;!Twm|c_s{R&zzEUWJVYLvSa|#8ZsMJ)r$1uPD2@vc@>!E_N~Fd#{I1Pc z{;k@IpPNN(uX_Lb-GNy0Z-m|@jixD8E{j%KkeJP%+omZOqTkAjoqpLsPHk<9@rG`!6%7YBq|wOgfe5n>2}C+cFJVdOog~^J%vg_}%^P-PvAmEi)}*;r|SKD!f0q zm@UBt22Q|XkO6-?u(lwZJ@~WK_#}Gc^c^RAy!E#;t2G(Ne*W~Rx&YDB?|GW~QH=MA zSrm{LB=)ZymQ9(pK5FKQlSyPPpuM8msAcwTKHeG{FD4sFl>)85imqC)tk{(Dzg2&^02lW*?2*HXV_F3Hl1d z&Iclq$}0$sT#7+jtxbSkX9kWd7TMoa->n0dn3e39j(VH6hxVV^h@^_a0F!zxG$_`9 z{itV}lb=vq4*_f;5q{f|Zne!|3c`wxP1^Pd0^k89CkyDkpI}vJ22wQ)Jl+vAuR`P- z9xQTU0t?O@KG?7aea*?I^ReGZfgvXg5qSY1i6>89>Vs=>mQjrHffJ829>!oCi_M-P zhY$_}j7G#fHzE#=;Ji@kZv@b-Elz%{I-Yqo%IbuwY(H3IUI@oNOjf5AFIWn;9j0$` zSsVjV0x%BOCSJP4Qa(JyH(EPfftyMqBv5A{jNK_J#gI%pe6f3gtt$2JGJjdG9A1c_{7)x9?BAOQiSu_h?*t&IR zZ^O#=DyL3WvX%D+d+R2q6I{Os%=^v-!*W~jO2fje_0V>$J7R?0)t-nM5q0LR|V%v`G12ADMb=t-hq-Zv00u-Yn5|&0ocN5|oV}pIJk@~z}^Jc((GHgaK=pkQn?z81>?u}N27}P_( z;cG}obmc%x&FuPdSLPOa!ER@`CW`Abdjvjrg6G9m*a8Xh7l!-4Zqd-ct9(7G9ULMz zVjYPK_klWg6`p2+CYn-UkHOc?ot7<6j(O9-2E%~ehm=zYa2V>_yfgC3%@cD@FwQua z^Vo%R$@#x${0YP|k0}Wn%6sLid@!(U=GN#!Rp_?#?dvy)P)pwn2?p0%Yq-E@ibdHJ zu@W`p6v2R{Vt=or`EQPo_GcztN>irwmXL|U)%_FiFR!0Y(|n+3ZOjSuQnQNt=NeV5 zKK>JZ-DH}$+t#+Jee*_Ho}<6O&hAa-x3hSpY*Rbqv8$PIB`;R{CUI))iN6Ri6Dep( zASz4gw`PEpQlx11@|-GCMOvdMy1ee8zHac~&@&%n_|-i3g;9W4N>YhZUx%~&nbDWN z0j?-^$^@2$U+{u`vO;8CC?!Z~9M$?#XTqVJ6UXkEQBP|me7f`Rbjr%f3+u;wqK8m3 zBW4mWPDN2Ff%y#MpvtEznpzQ<5u>_ZUyD^tSa@OOLF>OpB6UD;_YmfS(p6z2MJ%4d zy=IzWoKM;KtQx8>oG)dtNjXke-ZB&H!WE>bqFCTFx({Y3PLu(PBBL)%O!0NuzQ4}P z&3={W7{LTkiLPtRiJ4Ib^w^W+k{{5YVuR^3DhNln2ouzZA=&RHQD=*7DMw+RS}t2xaX)sF&MdL z+D8aWmW1Dkt-7uU10Q_@H${$wArk~ zQFo-e_MrR!$*(=4HafD76z#moWfuY}f@*c>@1hFP(>D(BxVpEwVZ?C57plg1>?ZISO$mrzW!Tvo7O|t?A(^!A}qytum z^X`-z#|XHFqfG|1)7Wiy_jZ{B9$nVX)v(Dd_7r%_8T#Mr>mau96O9u`Q!1592!fB1 zqDL7eKpOg~+YK`Bm!RvWe$RUiq$TCO+ZM$~ia>Bfc{D{adI-P>!cHq=+~rHH2w6Ps zQUNb!&pKZFX>R~qLIXO#g1a?CbLr!z+j`RNM}|5by=*@b;ls5xjMC`kORaASyD;Ws2KO*T)^!2lxcp2eWPRbWU?8K&L=K zv0h<#>pnIek>TEiY#WC>`dE##j(6#5RqY^!SA^m&M%kl%?Rag!>GuBVu<7?-EKJ$N zaud$0B+ksLY2<`LBnH)pu@H;RO-SfR)`e-HtbEcS1va4xMKNV@86bv<7sKpx%XEzA zBt%HRbudGQT$7LcKuY3-^+ipPCj*p>>bMDbd|l0o%ZTo@;U?fFXY6ZOdNWp7U)a1Q zaf+i!6EnCr5}^o7CP>5lO;Dd@Arn#Z47swM9F+j2+LV_wAMkgCp<1(gw zA*=^7$<3HR9~1cL8|dSB!ZJ4O<*|MrlqY^Z{sXr!+dZ>4aGjy=_D#&PHgIBi?X4pfT6wX znf@XO%Tk=gk<-_^Iv6v5@TPW`WJ`q4wvVq~$ZOQJxmtI@;VO^27 zaC3)W$vsZgMa2dZSV%!`DnoOM74>KY8Jk9k;oCZzRC^+3ugX<}Ze38wgeJ*i8>d38 zO2&Zky_U#Q#10qKAQK3A?5Luj9nK|igQ#gzyeC;&!*@M9aqs(bK*KR)h+beT7-ATfZ(xZd z47r`=npg^%8z$+7NlK$fhi}UTam*RDSUdLm;r|CXq_10Sf<9NjVwzodj0I%(E%X%Q z90Q*;Wbw@UJ26n0{Mf>@wan_>H^r3kr0FY40tXbIC1AGXvo%7ow1ZK~EviML-Hi-d zMDNyHLFd>~vLtHt*t}~})@`#`F`Qz8B;qpmK-I*7Cf=L#C0Fe_Z~rySbqcpS7i@?B z(m*dx6gb>gQdOI;Y*So|V=vl@(7aWKPW$i8I<-^N&}I`;w#g^Am~O%Jr0JmMa0gnQ z01jru_#qQML56E?!DE3J<~BAW#j^sDH#-JVgj`3}*{uqN@;TE3C7YY$#*the`-yTgYs}*D1)x zA`paUFEx@)#vd#JYhrtay1N;aTUbiXUa;f7@^`(re%tE=E!Xrm++rix#4u)WTz$+MEW#7DJw!vLUj6uE@Oh zmjUPY?4eF$+_+?AqH6L{W1a`lf$VZ%8(BS6GI+$ z=Ja6Zkli{4xk!0D!jmee2iT0Z7O(({vyXZaO}~vL!6|X4g>sqHD)E&n=YCbuf$tTY zt3Q!+2Q~Ob9h=lY*Ky#6eW6)>s|+BW)B17azGUOI`du~J-u^;SUG$X1QZ$0Vdt*})iyO#pv)sp+Zoz)H!`IM+ix7KbNN4a+zYB-lBbbm78QjMyE*J+5^EM7yRjS*-V`*CXg)I^nn#$e4xY8X*4~}~G<1qiJ zn$1S~)d4RgE#~KIidon>4s>bIism6Itn*kh{G59G)LK=s!i&kR;aFBY9Xys*fERRI zKMxoM$cB0%2igzJY5u+=k+)RYLDxqYUyUv84lHC8gx2@G4tOHB+C4vDbA`GhG1uU> zRZkZ{+&I>nWWtfGq*1d=&nP$xUVN%?)D!nHA?Kl>n01hDcor*hIRtsyHe#q(xUs;U z-ikANs(;dE}w8$ygl(^h%H7CQA^ZvyWWGEJ<#vR!*TnD9CM|O;k{? zRF!mOtLU#q?G2}suv+S1Dyp(T5z-Gu?IY{46$FFTFmhiFl4=q|_e!3gedT9BBX*h$ z21*pus(2Gos1tg33b*@vTDm%L!*T&=uG|>OHWtN-z3MLH!exh8#{vaf0Ox_~8=4Mx|P95VP z-JMO5J`B7u65+U^8}eX&J7>xe@O8&9%~D$Y&78Jf_>*;B&S+jP{B4sW>yf+6s7d7b z?1bI>-AP_PjC$}-uP9`N+9u{u(A=ADqOcmQ zW0W<&@dqi{;f8({WfHRd8=SjJvY{g9IPlZEPOdTa01)fgzR^xDMVjPCvh-@QSs&?} zC)uE1XJ5CyEq}v>C3=2sx#_p1mZPm`Is@hCQq>_D zMN>$F8~gQQP9uZvZh|OSpRrN+hH{!ungGgSZlqH+zgpO*t<0yF z>)O0@-Ow>eFCIX`Rg6z>+C7(yN98x!8I`tV=V=W82G5xe; zl^Y&t2UC5XVu9!aI18e_Ip$HqSN!xc@UG^N4wiO4+#+%K;?_;{649b%%mWl+NJ54L zcw;2?)+6U<)5Ky2r+4r!&hWU>GizvFTRix2@!u2LOe=0=`FvL5+CkG83D-Q3TRcFC*zg-lh7Dak@$Tq&gHgqbe#G_~J%Ku39rgU0e5 zP3_+hEr-7W-nLAq?15r-bppIJA3bfC2@pDimw=VJ*h?zhg!TwxIVo)2nCj>Ry!2&p zgIm$kUj^Km$G{Qj0ulya!VG&X!FeQGnq~HuXzJD1a;?jHVcng|>4+)9UtDdseTK}y z$kWl*Y|yEbU8mT#+N5@x5@N;(-A@D+&WIO`I7tnc6%muQLS53!#YYkped%8^7P33y z3IqpLsNOoqfVKhZzOQ_1HlcdMRL-M2SHEs_bF&S}Ekh5?)LwlB)rc-y{Td|ScrfQ$ zv@32b!nL!-iTA&SX)+6h$PR^bgc(p8rVeP6Tk;4?kHpKbfDxEXAYfze{&XDUMX(}N zqi4D0ej{mSBqt0*;WNjFJcOH7zKj5se4rLffZg?=Mmk>0YzOTE9X zp34fdfMpQxkVVW7jvirtmPB2X9isudq%tq=a zOQouk-{&_;EHz1!ChrGurtFRIrfgO!-UujEnu5V8b-(6jf#;8P$lB>TP|I}4Tw>KG z((;UXt1Kv1jAacs5r^*T-=i%lOaoy-flP5EC&%)ovV%$A%f3X-(sYm;RIejsLP)Y0 z<5UuwKMqLC%FUig^QObZ3`nD1@8GU;C9<*?>>ys*7Q1WN>&h76{t7zKwaD&^R&@Ts;0SRfooCQvK>~S3VuTe6Uwbs{5S_=qZsLt>7Ab*?y}s{lOPxG z$bl>Qg}PQHabaR4)f=Ow*)2r7CW+Pg&MM!y3B?1UfS?;6dD{(mN%hJHhn^QC&S}Hx z$F)LIqP$SK$+O$e_WrifY(w{hi@itpn(hz!=ZBn-j1i0P4lF30#k*9^c|@%iGSqg3 zt}S9Iw@XbDH9_%3MzVe6iskpWha{!-&{`OcKQk4A^?KfQsWbAtdCYFrU|`Qn@{7&4 zpzy7sVE={4o)EEhQ4z?|&gitlIqY$tOC3)Skyl>I1dw6Y+0_m7yUttWAcG1}kWgh} z^KqkF2UsQMlPoG7C8R@j{iSvhD1SbCnE{@r20Zs3=_?t61v{=&|I?)UI;@m4Uuy?<{{cKuiGjy-99@ldJUCN)7;=B=rbx6^CRCZL5ZT|LlY|fKGhf5- zeW^Z?(>4;%;(r8|bEf+-xj zwYL&953r5edsURuo_Et^uM90lEp!*hfE%7SHpqk7^(+V%-k}msp{0bSw`RlRu-&=G z^9^ol@vW7BOKVun5aR+*XHReIPoV?QK4`34?}9($TTteS-D*D!;akv}&(mf60%MooS=Y)sy&1xHEF1^xy^|2R4cQ*!N zG@pIVF+KH(Kwfy-7;a)q4oxYEn1DF6j@Tzz4;|}sX?H*HPrZS-x|MG?`$UV+hz0yP z9Q$OFNs9m6ELCr6A7-}dL1I*lVRsN!%8v>L8M#K2D%4~+FN(fNo7Mf2C8&5M`u55s zXOS-M1v~xcl|%qlYOm+;<+PCNSa)!Ai}F+UE_Xx3_Z5;xuI6h|-z&tCziiiAE`Wix zknB2&MfOBX-3G?bg%;D{=wQup!mj&}LF#f0R&?b7Va~?{9@R}OkgOf>L{*%nr@sAF|bLuZ(Z*myL+TtBo=b8<6Ej-qvpjAnx)@qp1`PqSf_-WA9?e>TCkO-R&OW_K+C^oP8D>^0q^an>5up#72DkuTK_@&#@)rp&$-O zXqhkNbA?iYUs?)QC>F*}=Ew4P#kkCuU4a1y-;GWv^er__2Osoc;Esnmbq)`Q-YDvR z-|qKv<}hT?DcZXdJ8UYF!N=X}{sClGv9y_PFh7SJs@UUIIa6LVkpvO!2&WP40G~eJ zGws_%#+6dMZWefsfwopf!xJMD1XoMg-+{QH&?E9a)E&e6OGPtZWBN{!+v-s4bgi#8 zlgk%nv5+e_9Url+X1fpS>E0R^?_lsBo(e>WuJ;*HpDAa$T1MdIMcc?H+TrJGyGrOS zwW!WZFFyQ2@U*akkst6qcKpkaaY3Rx1uN7@@@oZXc9oLQc(EXG*xE-^oG@wO!Z=Kw zWWQ*?dMPmTNfktM;@84&7Ni34+L9^UkovRad2LNqG^WO`v2sQh*}dRAvbVisz4+}K z=Vj~#Gkcjcw!DfnZ9?&6z{3J4=+O~dbLJ6!PRM*_e0F`kwnk#@wp)R3g%E^85Jm0I z0OD9|xXgG@{EQFRdKYU}?!GPA7!gd?QSyU=Sd(hwczfy^BOW&@x*8#YnbRVKh9mDc z@!cPEXeE<^+p|3Wu758k1jfb_^yM+H-r!S8*0P{AiM-yZ_*T4rTJ8k@zAa{m?n0cQ zMeH;n97+hjLE`iu(-^QhL2+7(hL~zjFw4&`6kqSU=@iiTDjPj7n+0mE5>7y^!|k}wN-K!iOup`7 zB^}1tgCP-BKaY|itUzi|{xe}Cdx%VUs(?LFp5Sop5z>tWadi;Mv4l;kSjN-9*<}PZ zIe2)Ebhu=vUnSJkwjkqlqS>P%A%QLaaJxI^V{U5$?Yb+UwJ- zVEL2UPni>7Pwo6V1IkaW5V^O?;9c~120IhO#{;7??YQf2PRe^Bm%}O5P|Tr zZc9=#(-f77P1j?lQTwu|R0#RETvy+ux*B!unT}1<3p&^bt2g|$c?Y6`d>0B0qO3eU zVBUB*2n?CHj;V=4?^^Tlh-|qa5I@Y*@T@c?YN=O?Up_gB8L#CL2qiB+Hw6_HeYZmj z-3ZCT2tKnBtB?phGTLw$$7_25$(m(RbvJ=&Jm&2*Bo}d)jw;$_4lj1D@RR&WUgX7V zf^k@{@aHp{l`$o*xJwjOo;Qxx8|TSTG01{?E0VmR@8#pLR(3~2QYjwOP#N+Y67qn` zAbPDC|L-=8sVNZo2HeyG`VXiQV@X~`sbxjAHwg^VwvK0Zy}dv~X4%5X5WLhI4&G+( zI~=SW%~M(=^eg$Aq$+F6rRWJnK8sl-GCtrc7@jvnQ97e6(4}tfF9^zU(N$xSDfweII2&smEA2ld)8~x3DsOt@ia52fDe^u+QqMEOD^~f6KBrRt26WzReTy>-qDHOR9_Af|8ZU& z9u!NnYNY<@XE|TGJvP54@k_es=#5_a8r847{>Bbc&UzQiEgO~@t4k87Y-D4|QevTl z@@K_{4825)P&D&|aMjGbbRDrtwcJhD{{R%&dx+xo#bm97n~KGYT8$i~ds4FH^BuD= zp-HC>)2+96q&dmgs$+;C{miyel_b^;o=ZsMwU=|TY#bi1Zn!w_HWbODF2J*r8Q0!K z3ZNoFu*C}Y2)>31cweG>cMVxxU3Zf*P}z7VOrbZ@+X}hCF;N}7u1TyjdDM^F$+tTO2P3x!@c1CvPYSV_Q z{Up_G?NicDBq-Q9BcJP*?O`Hny}V`BRMY)T9(QvFl1v8+_@@jDk!PJM6y=!%vrI@y zcF^~JKE*fq`F9BCmG=d;h$N|u@QBQ(h&oQuIM?N%rGLbiPaFB+iHnw}HQs+Zx??;u zRL|WoP?+!909HIQyfstl3j?8|+1`8GcGo{R9q{=IX99Ua^1(bze>ePd#2mgL>1Kk$ z6RM~9J*bJ1VEnx61baa7G19H9v>{dvc9EEs!VU?>aUYAVzDcEq{4^cWVZ&?%d8^AF z(SR&F3qe0rAsbuZ-h+8)Q!t%Wg5MWn@l9vht*wXG@9?x~@g6AIIPMfK&^)QgP|f7Q zCiP|usdrAN@{o9#wT#D-o0_O4n;J_E0wlwEpl4GjVC>}WnnTIuf$*-4>kwt;HK7u!z-{SW1yX zys4V6Z4jE5>xk#$TB7MnnD=rtm^(#nQaMl8#o`WmrUHc3BI9gQDkFz?y z+(JAiUSa8$dx>w6PKR4zV?L%{)#^-Zm$>A4FJD8-l@iK7@{3koRF_RV(A&}z$Oip0 zo6hiR-j3bt#o7zaRG$~^bK5H1TbWTO z@jhair}rdZeo})P4)c}xSUxDpCvN}p_~Tr_RSj-kI3oJ~k5QF;I#G*7A-cNTkm%=* zV;kytc-{RRl;4R?nyEl37E}h3A9e@@*1X!$_z0RI&}V zybfJl>k6!0WTi(&szm7&$F-0sHor0!FkjOmoVChjInb)y6uwdP7n^`j6| znu7y@#8(dHwHTHOPS?>-;`6tHS7N_-u!}>b3 zbkKJcaPujLF923nRF?MTYsp7A)=#H#pxv%+$Og`;WrKU~(=elDnvT#-J5j3KB>g9i zS7BZ!67%L0nh=Fixg6fqApD}fi8L@P~5jju}Kad&H?rou_YR=Fqb%s99#Zk!umq<$bm)qa{`)T^vDSAFh@`g+UtQKsn>2cQUP3 zFS>zLYh{0ybno7}R@J;1T55;Y_Bv9in^$TWZ zN2M!&QAk6fhAp9|s^8ZA92m|Qfnt++-;MY8i;I1?n{jk$X!^`3a{M0%ILt46`nb9o zOiO7S0h!|OzLPe_RLBlO6869qm%n(BHn!o=BP9as;9xMkT~_8Xe`*cNSx1(1 zFv5;rPiaH3WbM$^IqMXBbFr75lY^XbBK68QAgQ)(nBj+*>X`IKO0wFJs)hvPG`Vj* z@IL4bRl0AR!!fe;T<|e#Gs&_!*U-n3mXJNQ&e7$!^YJ)em^GcteRq3)8p)>N4EIGt zKJWM!vLQt2IPeCV!rFWB8z{JG|Gd^->8!SDHv(-ZV5>F8{g3R{q9Cw%*sq-GAKQ%! z2>9;?2D}0!v9y1ET)l$W7EG#K$v;@I%(^ii3$^uZqMnT^HT!$xyY2Ps7UQLabE=2Y0J z03X*Hj}9>o{oN_x&#$XJOe25&w2of?mx&qoiH(^j{^_-;loFRW0P--)-5L9|Xa_~Z zCdiLuwhhA38V$DAxERU!LNoSEHF22>U~hvv1JB(T`;ejB4^s!DNb8;$KXvkaN2hUX zL=90F#6FQfry~#ep)NTC4Bms1@PB4?NE~JCh~&sl2rL^F_;G@XP=w@W0t`H|g)gvo zZ%2w};3tb{$GJX-w|@yPpl{FlwSN)AQb}K51i;8t0hjWxyn>i{3j-0UlAn3U{4ukHYdc(-oEL*M3L_o zre-9~&Hqo@SzvH{TXKCmFBnqnx7oW*!La8T^G{o>Aj^QLM%K)BVm~{@j7hP+d;hWlB<0kY`*`k&CI(jSK!Yg(I6)mwFxxr4KCt z=rcv_QuE-Yy>$7zA-_JFN-z{i3iUppy;JKj1Y@n-s!(!XU@lsRRtz@Y=5>&R9FXQD zLP+R4?iSQxxygzA^rYO+3A0^I-kzXulBD!bVv26AehCtQ+on_+{>;A!FxWp7fjjC| zDW*kbxNiWgcmk${;$?6_OGCYb+QKrJ=1TF>BTn| zbN|Y-tB3~mmzLm9UVG(tExD^M8sPxln{HY`Kk3dijMt9dlIGYRk6UPfZ_v=p579S83HTNO7eepz#3aNLY!qD2(hXwy5TkpO{9KLth|L zE1Dw@xr=TvI)%QfI~b}9I!4b+pW?w377SCC1K-e$082n{@naO@8RVo>)Ra&JuPt4R9s~Mk%!33{(cIpvL%gOoa;vL$Rt7v5xwb)a%f#;&EN;PAN zH}m@1s|@tXG8hJ%ehe*~JtQXzF=%lOQ5(T-kIgrEH}!jm2<8r^s62r4@03T!CZDC# zBc(>MU+ni;(n2itO3mIVpB9_lVx!w9G504x3`d@SGXvvqQ83D*zx+ji`l&X9W9=*` z)7b0S(f|5J;|yX~rNR|+I>B4#Y%j1#`!v$1Mo+%35(qs7E*dn7Sp#QKI<4H(v;N1G zC+Rn=)HcU}FC(8Lw_HC&^ZzjPgN@AMHNtDAACuVbLR;%3el6@8f}E-y0_X`(j}r)0 zxCihEV4z(CW6*miT8<*VEzb{4a=FfH14_0Ydv%IA#6-pOS?T5dQ^e`M%xXlJ?U3_# zJyyIMwne7#WI`Vn+{H_G#l}^DCKVW{E@;sg1z*y&C=7+gxVGBlFT~Eeg3eea4Em?aAoA4_UUHh1u=l(O zLc zZPQ|`KTXPWQ;Ek8$a-DVnySTo&FRk-+Ec5N!-wAv)2FDBp6CFWLP*}01DS-~7J*C@ ztt!{3bqlvx9+b>LUZB29r>nfyma{Q=Ks)LGo9_p-4mi>hy^?L2OLCJQIZ(^MYQ?l) z3mo`)ZW~)aDad~ZKr7@$SG`fdFfg3ME1-M!HxaWX_Wlmv#v~SQtlJ>|J}e#*TH^G32Uq(?8IGlgCj=AuUBi_ z{G_Y?C#-J3Q1SBXm4O9stFHEnjx;XB(maZ@yyO+eac@pPjQ8##c|qcaMC`O{v|Qdn zse<`6n7oEi{hgHsHkzxTt1`@(6fLTzmG5d_jbbP}jOm+3;OIdSc#YV|(K>^X#N z*{UpMaQoz3A*|5mROU$RjZo;1cTV1#oPsI!JQ!ihI`M7)+D!gJCilGdj2=q5s7&Tr z{#Zdz#t)F0J61&Qr=kVp!~qJyyaa`ldH6AYCf!@s=EWa#28`peOg%`4sr~|tqantN z8ez9|eD8QW(2rfm_=F#nW>h$1=UDeyGD8vaDittGFCe@Ra_9CVRdGG9wd1IX%7Hv3T3g?v}qOl zVg41^Vb4z`x%^#!&*Bf0anMuGdY`EzFt1L4YLDF3HpRuWH+{=nVjjTIJAw0K{yx`G zkp7ez7lD}7sNhBRkP6HuZ4u{DOE@JEc;qomgh;Ko#-1}$mBbkEN#kHbW$28_0pW#J zX>MU!VGNl*Tq?x@Mz3iWL3d?(s`~5hpuHE1 z{{~d*1)GAIlsP_Y4H29o0(}4$!68}pj^x|G9;(MuS78N7^F@#QG*@PV9u6mS$Z|P& zMJ7gS5vRAr8JJV_*z7^l|N9AgTp&A~_^YozO_1wF&Su3cyG`>n1KP-<+&QWs=js~z zc-AbZg{O_Kiiqa*xv5Cytm2=!sSM2V7S_#68SW!?sOkkBkEdX~f&sH!H20RQ?yA{_ z{(p+Y_LF55Cq0h*X2DMf3^#Eac7_a{w~LjHrx>@&4=;^+v+a?;pR4Ct12m6-rt68 zcG+I3_OM=g$UDmqcw-W#7*q^-W(99h{zsO=n#6Q@giF6gwF-a`D@o;Khn0p7d4(A1 zSUGVYGv^9o7=w7PqN&Wu9gKIkw;@tuRJQ_))?nM5A5I4MQ?oHzWq{6N!Rm^uwwM9C z4Id@tb%c}_>AWi#ukOEKc0;WUav4~iUsYwaqew=hbX1MQOz`6ERYqtZr+B}o()|H@4dbP(N2{oVkh%J515Xga9X|Gy~P%D)x2u68BNZa>oN%k(xu?e|(<;01XZwXAhX!_#YaI4zo+Rmeb*K;#yfY$-!0T zqdDMM#l$79hT;z^oA0J{tc>K>4-tR=EF{$S5!@kj9z*=lIZ1?E^B9wSY;)_VYQrY- zR;AGrw?kayCM`DEz-Pm8%NQHA2mEM@wPgkls|6_22{ca&`=l&J!ufxOye;YT!q~1d ziJv!*M|RomuE8JZ4?+oMjOt4k@8y?N=S!8~csUK*2MmoT-M*X$XovSk-cF}HI$-N~fV zmA`<#yh zEgU8ah2A6#7b0v&yFIWYQMg1UD0@5|WR)ebUxyeDRv78nUTm71Q8c+nCArm}bC5$4 z&npq(NVn&X?1d~`?>KocCSItBS}ztGy#p4D+Hos3mriM)Nx6t|v8`2WsAxuM9}~kW zdES0R&U&F{y2Soy>O$pTJ)Sq=lcS;$E3&-!;-X0~D+^jrQO4G@2a*hcxf6Tj{CZOE zC>kljGN_z8|C!E>_TVY(s#C>t$gS#rmsy{6D}&45A;Bmo*(|P_hDon$3#o<%&$3DE z-mv`g36ygDty5PH~?0kX^r^o3&U;bD=+!jl9xUwu`hH~f31H~}GDJPTxNfk(!mD%L38g+aR>8;?lrpYOU>WsLH)`{Ad5|%-y@dJ6j zptX5m096O~2?+`10Rj*RRE-|J=;jT{-_XkG1*J9To6_xTf@jzU8 zt?bJHH9*S0e{nwl_lmOYv2qVSVzJZlCQolIIfq@Vxg|1p&t=;mZD=op3$-cTWT~e4 z*NOC=Z)I;DYrTZ*^Qr=dIzGd~1i+=KG72=IlX)Ab!yL7;a={&PHppjFy)FCzi|uaH zAv?jf+Pvj+?O-$iG-mbujnR}%tYsTi7wN1A6#pp;qK`fOy|1+Nrzh_Bw>u%aDCv;d zSUkDdsY9~Vp3oC3XCFP^8SL8WK{Osur)m?#hLO%5*)^ZP_IQt>ZP8RlLX04mk{Ic)Bt(`imSqDBe~gqk9jd}nN$;mp zew#TcY`nDRbm%$%Ja0MVEQh^J@)~Do~&*S0YkoAg0=>HltieO92_O@}XTYI3tfjE2U_9WzIjb%O2ic z48JJ1vdy$m|7-PG#g^p1)d)L~GURTIvr*Yo`CsMY|?eUqaR_KOgtPkUcWmwqBzCXJo0aQ~&h$wL1vOmR=vdc?rIu zLwzojs3MWKxkSdzqW9}YlxZ1{ZEd?9UBq14Q-S(0mVe-8c?8AU_^Hk)ld=zN{s&EU z+U3Sxf+s;ttsh(PA-hrQeUtkc)=H%cnS(^Xl;M~j?t1)hiE|SRhfxUw)Mw z=P)Q-waD@^K)8sofXQJpRw(AL9VD0^9LgQ8jg!dr z5Sb(;f~WTJdp-KcUmnMmz*;g{?stf)VhASY@v#EfTWeFbkSi234l6xzt(ecHH>nm4 zmn8EpkKzOR9}t;A-jP(Kz}!H`qJdzYuQffgtabd;*Nb8+X;Rm}24 zcp7*-{Z>$1IACK;x0j;9@Q}XqeJ#h6NEjcv#OlQr94~j;B(X)XWQE?$_LW_*ixt&1 zzq!#P@w~|1?@cw8TPTJrtDBD8=TKUbnBFW-`wh1@f$yi!-;jmsjeKr&YYZo4fgB-^ zi{d$lP2uIwDu>!Qax80{cZ?LLR#>RZWKIE!hNy5q@&DcPjJOwaNm9Gl%!u5DgqT#4 z8vm_L=i9=OO)M|`e`Q$-$*S3`6M+DIE9vj+yYZhDnY^~{C<&Y4CS ziwhY>GgzU5qye2)0QF)uUXe6WLi!Ur=Wgp%zLZXFpPq-gx~t| zqsrXUPkzdDhbSLQH#A;l>1j6oV1VC@$oR^>(r&OeH+0-YPNlk5jqa})*{3r>1$pl!aF z8n3W$=Y+E@hP;K}3@x0rn0{xeU4oaB?$8I^VFPn~IU_q)*mY8F8RvR`G`Tagaq`k= z+cXhRX}fu7L1|yOKFn*SyQ91F0Y>`S={ty@<<=j$7j@;04Zohc9I4OEz3GnIgtobM zyyF^j&`-RpPuGLa$rO?Zj?DTGBHqSt#3CeyXqOFOVcstBrbS^z`1frK^&AP4;EQl8 z|6ooZ2y6fNwf=4I?-Dy>)eQ;hii=1u<#n!!#Z1?lRsrP25CaYzI=;4Kun*FMMF-}f zUiyoq_)ZYHWA7=c!*0T0Qp#Dnw`fQ0jxD1jkDwUyQH&+YFH}z{vM%6nU+tDgi9uxlc}EAFVX=b-R3F3o{!t zs=J>L-I-NZGaVtEIZ*%1{$sO!V}ehq?%Q&q#jS}Z^yxC?N>@y?t>bQD-BlAITU_gI zHmMp32zz~`WM@)Q-F`}^fk~n<133_5vRk89P^>61w82^O@cjHiqfqdE2GzUNw-V%U z5bE790tbSHq|^2w^n)Sh2OeH546~PFsDLvgMB$(?tnooJc}eo{!hGLc{`s_vH@fPe zF>X|#f2VYsVKe`YSTB@S4BtOIR~TUL1gin&RLr(qHwk_Wz@-Q$k!F@kgk#x!hP5P7 zY2LCRyP@Px}e1|=-FCK2;W@?(vK z&Z|1)J>vhN1fBzok z3#k3+2CQGtLy_4+@E`~_cx@EQ44A8OxDk5hAlO=pJaLWka-TLft`OFn z)<|4hw`Nklrp8=Wel(Z3q_S>bKiUO$SD z2#G)aL+G$emjhkhbjd}sRH!rbwo6|!Fb>#gbZx}YGYXF44_xxHW!%tn3a%Y=#b=iN z;30>~^j)GrOo7BL)mOg2f3LsP6k$b%(f+w6V$fHmV0CpX!&PgQ0%f0{MIxgG$g!P{ z!Q((w)T;X>fuWZ!(;ws}dvY#e=w=R78h}#)!|C`Z?4f>HC0oPN@xLR_0xz4V;@e5R z&(hnIp+w6eEIo--_CAZLO`jy~vBX+qL`7F9c@FBVc)-|_MiRv8X>L+HD~uKZ0}5sA zfHxs#R-ZgB9t;e9mRMGhZL@KvA?+1>FnUIHKatbPa3=oc?If zrst5djyL>jY#1OW2uc;kEtz{zor6~Gv&%Y~R}f}ci99cvZDTnV=&Udnw45Fh!m0O= z?qf3e+r(t$?yW&(p}>NXE@-xOo{txm1lzf$V6?!-!dl%tc5WWV5z%jD2RTs{WIuCt z$BAZXJV$Qq%_Ic4VB(SHbE0jmYK&0*jMLxmsv19#{QHDf9;(qJ%7`|;lOZs>a#w{{ zpc+9pt~2t}Wp%UaZ975B@*XPTBb}-Ta&X^MXr^>8A97pWl-rJ3Z6QnYh?VuF0s5`z zOF_{4N!+D8DkxuLDVL`mNvR%^u>^t7YSogdnh~mMxaSdf1>pPZuL@YH!y;wvH??K1 z8;sWeK7c8q7B|}6`DJ7~dHigUK-rLtCeNe{Tk(!}_JV|RXTVwr6ItgH5%kUxFODB&gc=HNYnNrP*6KZQM^Q&Xc*ULQyjkI}JJG@ycfKyGvjr zL4GgJjLNo@e0uuPlUTk=sZO@n9(&96jX`UVe$R^XA!Y}ms>un^Hn5=-mm<-O1ceVG z3TQzvU!sEzf{?`~9t3M>6K-|R$Olh0f(%G5GkoLJU`SW?R@JSP_;1SW)5*l>*4r<| z>9ALatZFypd#7v5xoPVkI@4?=AC;G#T0OXz1JCT}mh7#Y^Cd`3r(D%SU#dN&QtN7{ zB;G;l^0+N%>p`H#kEqysI*`2@jS+)L?C|Wg5PMaK54fSRimPkQYw$JDmc4uowxS2t zzuYjO@-KgwqJhQMC6|0dY(S-=(d2o}v&M8yyQ`Q7S%fyrJvuev!K4S8M;>VM7|RMg z)C8|GXhqm^wZ^$=-*pk{Bbjqa+#^CH7emftsct6hhf}%kGf}A^@k$zfbRb)m9bso- zp7wZpYK2uVUtZ})Zf#&K$ zrq6Bz^Ha4#9I1rZ@#jsmGjMTwWf!=a?lag+4OkR&tebh=r7@|syS5`&gF2jr9$t4w z6k3$GYslQ*sQPC}_{(ugG-yesH|xvU2g|Pv|5hzD>}j{9_z`EWAQ6Mr6*{X~1TIlQ z+!`HuVrCU863U0Qe{i2gzaF?zPlO38lvH(aR>0r;2eG+r z(_shZhzPj`OW@2*Y4$KPe&@QzMy`mu=umg}F+g{(re#Q-3k4=CeljRzze1K80lW^d zqNfygPWnTXbi>het5vWvVh8A z-SGN8gov|LJ=?jtTW=Kk<<~krx1X`C23Z6o z+~EvyREZ5Y`ieFKTU%?seSPW3{a@#V7Z^JN{FcT>ZpFYr1sAVG>(A~kjEoigc%)4M zL6|d5Jq@|33U3fM=0@COs6&1_dp=(AzM`7+*w7^40$V=b{(EcQsxhx!OUq_+S@x>8 zPjksY>{2?F!(sq`KX#B45BN#F1m9;LYy8vJ2yg)hB!f9~@L~PemMqh(odVgw>?F8* z_EZR#Fpce{>$0-}4xXG7x)cXwfXjhEMxbms`2m!p(>n7t0(Jb9$3YkF1*1-B5GXk< zCujLwpV$Y|dNr_y;w~BQewRI@A-R0symA>0P{8#G8gyz=Ha+&*%a{MeYBYHZKT34R z3$VFcQvZq3YAp*+K;hUfd?wa++ zkw+6W$+>I7steTQbE|7=qKb9sziYW!vuP7Y7F2@=>yzGdu}6x6W*TPBl+PTYa;tp_ z`(;ggNZs_`a(-JguP}JcZ+#)k=y@TB-X99_PGnN;+5z$v9~n|u43zdbpNnNStZ z7Bym|Z4YaGU5#_+YhruWSQ&@2$=Gvxas*hqPRA#gW(N54_45{5mv%4M-R)3VwYcfw z+&eS)V!a$$KvZ!VLN)qoN;98|T=ulh+yxSi78-Z_mMC};2Dv0grIsQ+nfZTq4JDtS zMKphRGBnbIEoqwwSTD+AEo=0+g%GBreUOYHnFL3cKOCv3sHwjXvxug#^{WI8SOsPR ztAb1MO1OO-6s8SWk1Qp9ARWAl-!fvczS@JE9)*Z7uxm2(!5G^>-#`Ey*Gwa4$5Ahc1Ani~L z6x%}vf7UbOpvGljS;TKeEttOW^he}9yoN7EEV&lTo*m2+3rck>f)MxF7fiG8!v*)Q z&M!c?cv>+MING163-U1{<&h!ec6+);Y}CF7zTm82k<-ZlA#ZWv1@QH2=E|<-N|(p| z;kJktPbzz;LuKDw0I~G8L5Ra(yCJ+T0rp zLE%QX*lBz(7L5W`yVIEf5~iU>x|E|Tpc+L)9+YPE$aInmr1xw&~;!BaG__8Cvld6*+z6OG8?}_ER{n%oA zj>*lGjy?qcZ$Edi!-)~q>dvwZ;}g@t%gqxfmt8J>XiMKuSJTSOu7jtGvuGO;2thJ< zhQRu_kOY!-2>c8nP~sy0wI|nNTa9dqRr(hM3-=}hJX)FhQa>SSkqJkEKc3E>_C=HX z^L2C@Cbco%ZJIXrjzS)dz3DHkAX>fVyj3bqnBp7eTO2xlt<-lSm5^83jH5KcG)9-$ zUlXLzi;@A7YgdXaARRk+7`^Z{;5M#jm#w>EAjc@^sKz8Yu zw_0`0_bo>X;f{!}dQkbC?KcyIsZo826Z}K3gA*r=CF>G=FJ)cgQJ%0*2-Rh3AZLfI z<+bj#fB@L(U@J=&FYzv)VN09J3;Z}g=}6rn#Jhi@`}0A zf2G0qY92fIt9EtMpep#f5k>IMevx>c7R$8J03X`DYC2s6m%>ObbW?P2C$WX$!s&z{ zU2r83!=I0A+|5|Bgt2ElQnKp2L>F!(*I|mg%>n+en4*i>ewjMS`Bf!pl*`n9#*ztFGE`>3ys2wI4H0OUT~xCglwZTl1DC zL2fudrV7z=Y4qOw5P;34wP%_|E!5_6m#@~JEY>+4D%FyxY zj_m1AHgj;&-*v$efP0pren7zak9+CHjosZFfpb*S=HDja=pY1ZSH{px+yKu?9BM|` zKGIB<8H3I!mvc=#lFVimqJ$QRkY`x}&BP_uu7;2gf*4%%r{==+zx_xX7!Ko6DpwUR zgG48;l2d9h4#T*HxK_y-RnCleCMro|=5sU64-^R{1=B&ZJDX(@of4l*sIg%CE6xb@ zr0U8bGZ@zjhM_2(gwSX-P}MMmj1pxrRwf@sh!JB!lB!{t`C)Fg&)`d0&0(^MF;dAi zk323&_TYFrnKCja_E-aJboQ%8a>B0#&BJ)|;7+oZOY7ObRmyV-c!?^km*CDxcXEvQ zJ{2ijZLDE+X)KzbSq~J4N9d9&bSV)(tyoHQQbb&r50Q2_fPh6#0&QRjg3(k;I!Mv! zDCecyh|U~JG_6D$RD|9WB%^2<1JXlT8bL!%Yk_Euyqppc{P0W|X^#FKV-WXa&f$O4 z(NOK62jRe;LI3?nY$EQ3tsjYbpnh3r2FUD;B;rzq$a;TGPWc@pGJo6}t5pLul1Ob= zXv(?l(?*R$+#SR3b1t1EI+pe}WrB>(Li|?(V=(a26nm9&!_h+cr=~FWEH_B_8_Od8 z6duF{odw>FGjD%<>vr=L|&`~i+LUo zkVx80EsY+`Lmn$nV3KsDHZ3uKtSz~9P{?EU2GC#~HwglFb^3@j(DL`EuxxU1xJGCp z7i!0 zk^zY?=vby4P^>tI(4=|NM$$zDJwY6^%-Pj7|%=teA32{H4PoM(d?zqHB ztEn+F63^PRlGE#|%<3}`gsvGmgy*D&kLebA086tV33?QKH+DTAu1}hdOTl3%LY37} zlg3i4!0yWXl!&u3hsRL}lTz~62zTK^6PfXcP!s|fTpZAO#=V<*$3*GX>D&(hlpzni!8v4GfIoT+B#L49J7QkLfjN=P z(r6LdjF2RASgL44_Y)rfNjINI|6qrR)LpyXkJP#5J2~Do!7f;>aV0hip$v+AAqXQ} zRD_HY9D>Zh)N1f>NQ81YgkVepKpB*5C)7D; zfw51B3e%aTU|;b3^jH*PF{K#@aksfkz)8z;lKP@{`CRvm6$Kj057%$kX3&k0Jv@Z z0g6uVb$I)K)&%1b?xZdkOtSj;CXC4V6=|hbN}~e^JF(*15rTZ6zaXxrOi@bZof*u*$mU-p7F06)w+bnx zw@i!>i!zrmAk5{<=@Mq(O~Y$IItg$B^VnA+onzzOrJN~Ne-12!d~T|();T570E_XRcr}- zGaSJiR1WfdzCnSjrBB`dpE!@*O1=JX4?4=e`ZlJ`EM-nNcN9#iaWgtjltROA{PNig zLt!!g3m0_MgjHq;y#CR;A70C-xy9XNu?W3Zpw2x8-H_aKJh00Zu0kqCl&;#Ba?N&w!an+4z7F{}bTbEM z1g14g=|}fc_a^=vf;p$cUaDS(c~x7}0v7vkmSG8)49GSw>x!t4Efp(nFL|uYZm!Qv zD>P+kmUZ}43k7UsSK}64;D|Zs)F1B$jVrye2oV$jd*WXU-wm~FnrVw4efI|nCh_XZh1A%7 zpfVc(aJhOwN2AT=vDv==9wC?sF=JVNgi%^eD=S{3*8_Kwo|b;Ryr6&x39}d=+q5;rZpM9L5=EV(J)4Gz4W7uS zA$5a44;5M>SWgeVv@ET6SXa{A)WzN6+PhadoYDtg415t38F`=D^~3hUe+7PWZUR^C z$N6h*=0tf3QVM+szj17B^DrB&zMKP<6G|@~;EgiWAL+0A%0|z*P;YQZD zB@sHv1t55Qpr|yVROG|@zi`KkRFCHKm~!qc+~4GSS9XDVJ?I{vF+RO#x++7ZQ*CD6 ze&72dfOmNnq!1bUv<-{{&KU9tHp!V!m_Ex(lQ_m#kn|_94})PCz9k^wyFA~{^LH`6 zyV9APDw}?aN{~DynkBcRZX^T+CV=|g1^b2B7`sJAj>Op_eALU#{!0}GgU~#mRnN|; zW~)M)%v9i75T%pk5>~ywAbB5)rrWe!54Z9iOBNq6UOYexf%m1sv{`RLa8OP_zYfpJ zy=o&fjcGa*jRJV&$daKOwvP!p+=RIYkv?B@_axaejY((N>< z+vt5ggmMg-VyGG0pCyZT6+54fT=?iJ9i%5`y{^3hzKZciX>Kl>$h(itDtCHdN?+}i zJrm1{YSzdlE1US3=1OR~tGWy9u{lb&*r@sVD>vdcnaiBP2t%i@ju#e+3Yli0uIc=R zw&=`_!tA48I~rOc0cFBW0>!r6riKEI3ZMPB)TTHG)@n#a-ph{Rb| z@9NyvgAnDZqVXrnJNR zmY7JieL!-;6EwXSedQyQ<>MqS?p|oF3M13@42I)1-?;hz=NKvF5e)dTg&gF*$&3$A z$;vm2YL-ZeZM1||se3m&M1+hFpJv9#f8K;LSXrcS1djraAc8wq+~}IojrzpF1g67C zte+bg{^s>D;-7`umKA;s$W$>eY8&TNMw1zP`|Jx$!Q4+or*}o5EWvQ<-`T67BAloY znPwXLbvgdX(rq!^Dq8R|?geVGTv11)dYMlBpo%Z`qa()YAQd8C+`jDNFkS`9`XUFb z!iszy0oQxR4i($)IP@7XR{$1)9n7_-1D=f1d5%-BI0ZQ6{A6OX^W zL%CB~w_Wq62wqQp0Q%BHdNOEVsB5{#MuhMhccnGAhhmNtj3{}P{5bv)C)f`ZzEvm` zP zZPtm~q8Gf&F0k{?QfI3!=xrO1nP@MNcj{}NAX2+5;}~TWM=aO^<~EJ2BLa#DuBR=xy(O;Kf!6|N~JeA znsK!b`1K`t?o)@UL{C#nE}4pHplJePP}3euIsPm~aE-5&PdAGuS*8yF>J8L)wMo{)eu7Z{fN+X4 z%$NQzRWol}D8)e}&>fGsIUhKSITpmZrs+l^lE~(45gNX2o1aW%5|IaU+HNE+qi@Y- zWqersTx$}XefIuC^96w%fahRx2*Gwb5~~3)G#E;tMuwh*5#ZP6SYyI*7kd0@nYAWI-wf;Px=QM4XGif61i{Jd0Zy7*aQAQ_~>M5|)@5+@Bp zkO@*qU(aUtJ9(-Gqv2&H5Tt&A5=c95GCkzLPFOf7fopPWV96EVq%S>eNoG5%MLfe9KaItYB1aaVr|7pH8fLCepUKxn&UU z(&+Wt08@hTVM-wpX-~b-#Ajs*(kqIOw5ep{Xy~EYvk!%$<1$s-5q*NO#f#}3f@}?y z&y%VS&jQ*ON{8g3d~w7c=@IE+80|J!Nl2_=tbndey?q|Sb*_lTQnEg*x$5ururs#x zz%|vC(Egq~F00DU2(gB$LJzbpUd)_veenJGo&Hcoyh^GW`!^tH>yT~G*Na=(yq&x) z1*_YL577T)tQoT8<6FjH^ZUpvC;k2VW(&CHqL5rdcZOCaVY5d^$#$)J-lByIA)6_tE-x#~GjgZs>eri^n zp5-l7;JNvaM!Y`iiubBFBjd;siM+`v&t4sQ1hrt|SqMUaT_E@m0W;QM&V>v9ap>Spq)G z`_W;x+K_6lZL~~$RpalBbNXvQOAB{^OF-Or*DQ-jI!G9cDR_dlnxcQlpYHymG+SO`E2_u&8yAZ{&jXU{KCPI z#oE{<#MQZ2U*)UUwmUY0n?Uob%|s4gwedP}Rb zZvCR<&dHMWfPywF;0`GED?D7@m2;sBe8yS8KpW2o8!4*BAY+c<`cvN-zE7|7XE4UR zPq~aaUS$+D#{0~r{89ll6Pvu|NR%*W)i-G|{5Tc1e-hbA97OoFC~lUwgE*K{%9NgO z2zbNXwoANa1*|W=egHIQc*9On;_p-5017yKyLbg1ZUQd%8|~#@n4>-bk0MXr9VWVo zD&oWUV+|1iO_{cw*uN9PvZ6J_zRhYBF(IhB%fPmJ#R4IOxF|#}k$gti2rG*g`{Q)- znR@Z9i11rDJy<`0AjEH1v6B8o$O~n$fJ}1?!4#6M8oVH9)rV4z4Fo#tt;o|c{@xkj z)dQ_arkPZqRn{ue+r4bvy^(p4Y3Jjx&`~#s-F{`#$QBmc16tUvvEkSzyGCjVF27@h z@p&M&h!Fh@9ud)cGKCZwCR%Dx^M5<(&K{3rQ$<3(1gCn}e@@EFZF#&omGUKW!dJf| zlQ>bfAgnmTUI&MsOKeD-&zA}^szF{_#a*R<4D#(Mfx+)FhB7qQgLxb~z;?$bx5tyP z9v#2Ku{38F;c;(rfbCSL;3T=<65mSSbsay=?-oSj*-*87n6ev9I_hixd_R6SBWjP| zrLQbRio30U*_kGFSIysg$S53aicM1q&?d2lkvb-#JzA~4E?U;gaMP7qc`LhKRIJiqxuNXD z5@Tmr2mVT1AG0wFmcUtv|1M@O2JG*|w*I%+(hS73k>u{E^2ykw5rp(XKvx8sJfcBV zVlENzRL>Y8H)Xce#_@6(hY=fLi zkTu5-G5lIGk=W(2;($@dQPgKQD1Hh&Ck~i=1mc*!MTWI$Jmt-4xMKL1?>cfs)PX>G z79^c+2_r!k0$)-`i;#BqEG>L$$NYsjXBHBUlUFAO5j>^7#3qJTyu4yQ09F9_#k@$2 z$TZPmrCNe>ATKo*;QPwvAl#xs#dN(o!b0QJoF#&$=MIOO(*-coF3uCZ!ZtxMfOjQK z#RNx1Z4tFHrGv;id04A$*oN46JRTV8bGV)(|IaaEhcZ=zLwTOLK-~sV+S^r_6Bm)T zJUOLEsZEy~0xbb?Gh3Adn{_9clblHsgp;EM%QiPRT+Sf26i%La zyA2O%gSMGxis`KAL(ru#%PR`-RpdNg$O+2t>?i3_;)Lsv6{^5idq_+iCuNl-N7dhZ zv=kAXf(geEp{)3N}Oq_bid5)xtqgOSqPs%`^1SqoWfl&q z*q%-*1JOw|IgE%tPKV3Rp+lrYYM>DFw1i09b0{*f5L{Vrivk3(w1g zSr$>UdL`S&6{4y^hNcHQow~OH;GXj%HYykNx(EaLEi7?L`#M3#g$JE-QU^4x68%Cf zdj5=0_OHsJm?rS0e_tF;F8(d0UaT&osKyeB(36LT``SEK;h(ED4QT=K^!bO;UK>$= z?++gh%Obi;p&ZM2e3Sn`CbM@U;!^j;pZywC!i->l2Z!ZSrhm747A zwSNl}Mh+MI!DCR@7`k-d?-6G%90W!ARpmUoE?S4-i|J%t)&d@O{$K=($&V#BmRL+F z(K;?&Z_6O`sl}uB9`&S!0Uh{OL%pd%k&ag_O+NiP;q~d*72E2`?SYgdgeK4YObkB? zV_DiWCE8BHC^}FeewU`R^HvW=I2h|`I%tPyusK_MrfF#&&@o5vSpM5XQG%1&Q%Y7ac@e@MLQ6JaBoTKy{l?-yrmOfji?IiTWO`a`$DFNqToU%R! zcu+nh#^8Bv$b=yyxC2NE`TeCc5qyX=EhB zuaKG2d&CBnnLWs#0i~+};=H$70?CPUX5`dnHB3& zH_v!M5aMtQ-9xaP8?!Oe&gcG1erV^7>dXsi(>Y&t{Zj?{vEXMpJCm z(r$OaVD?}jvtua~D5=|~uq5@ctZSX#-;%neR#FL4j%7c|p2$*L5^fqncJvF31W(j6 zqb4DeF8+67^VDkL+|nlOvi<$&(mjpzyJ<0e2v`+vkmx_I#S{TE{cAa#G4qo%_s{Tu4kp`#l1hidMksw%B~iWDlGvI4wl>R;>B z>&A+_q2XSWaqwf!aTxbCWKk_*3?ZZ_Wof+6z1V6zoH60`6ZLx1lxZmvSQ}+|HgoJ@PjXWd zD)@2}!fqM+wWO^8?|B1|BI>F2`|}HU1yhM!_#ITw$(9bd10ZM)6%^LYNUU9YSAtfr zMLTVW9WF3*%t$c7<2wMVhjDKIlF*WfM-2CC^begFHXO!Yq+{IHA+U94oC6KRPYpI+ zUR8G%jIF9<%F_Te=GfQ1ihs5$F-)nvzlQZ~(V|CQgU+rItpC%|wWaM9RO!i9#7t8E zAA0rN=?l=~^;ad7QQ&$n3MJlp)(A^Fn|l>O3i*?gFuZ;Ad!reFl13zVBS`1-lo^c@ zNh58RZJGpar+o4W|NWVH^Ei7=3-c)rg9>7^7f#EzL??Api%HYqjn0W1=f_Uy%oRtX zrT$4xw}-#d0Yj6AB74v^Tf^MLK5pdy{YLX;WVg08uL9)8YDh(OegNu+)5bV9OuPK) z(&iM|R(aqvG`m>|)u&Yl6@Cl#iRG4Zm7vAd-_pVk%Xqr7PrvC5L9UOk>*ley%R6uXpUO zX?~F!q|j&Wjt$K%o8{sD0k{{Z&Ie5{YPYJKS90Qp$olvo*2}UiYIQLBT~J6wT*RgW zCjTM=VSU;!HN44iJ|V2YpOs75XDm2K`c6NKoojr-#8QAa`B&n2<|5P1#3DJXuzM-X z$M;4{D7u9yAss}JwUx{W@MretXRL$Q=guWM)sCgS2U7C3ZK>7K@XLIpu8$Btnry!! zM&5R}L=+S79yNI!X_)r&`$n+~$dbep5Dphc+|2Th0WUrpV#N-Q$k8hN^DHP{QTVJ2yNB%Mg+fCt zsu!8Jmbva&Bw*KUmyAoq%P=0H*GKfT;)Rx`HnA=s#R=4#ElxD#;86XY`Q2jY?B~A1 z*^1l$l09ka*D}F8mS)vpt2i~nn5d798ncE*Dd71(PLi6!O!1)7#gv3}K_~bGWxe;T zVleGM>;d*0X21|0hyauCxn3)m`v)fa#vX{RqUmPx{N)v(&pxz}oexx>_k0@{ViYK@ zjjmk3zH+(QuBvSAHWm0z%<0VQth&7iK^y=NHkBc`ZY*soN080s5<)j6g#-zVGebJ8 z&V+9ku&djs`d4_=Eu*MRDeJhA;u+ypLLxTMSeoar4xq(((U{04G%FHPpq|FreL{Sw zvCe7lgnoT;u)2>mcQcn0&k#1h#N{oUd5|^tB_4O#R)&zOkr&{rxO&VOVN-^fk3Aav>Z_{?J-jw4Xu}os#u_e; zeT^Zj=&(A%{zdZSdHNz;*>{kLzt(Bx=zVeCzrV-C7;MIa?tzUN2D#Ccw#-vm@*&7 zE@mLRn5Fs*6FQE){3&aXXE1Ya%$aong;4qenx@XWbD8RxPyf}J2f^|fMd1dY4*t|2 z^{o{UlU@Gt?umf}OdS}tlt_W(6O%D;2s#VBPuJ&qzwvy7A+XkpDDr6VZ#O*ar1*1!Ds`r%ps*t^o`w(i;y>bX z{;12qv6ea;JQ%=TqFBP^?B|%6ros%|m|wZPk>s^Lv{ZUv zyB;xGVQY4d^>@8Hk*M;>)|~8)jSmo(Ebz0|bxyhBRcpLgoFSaQ>wu)Cr0Z|3BaIt2 zG+HcnyXAV{lP7(aoBj(;f|> z$-~+F-FF#~=bN<>{MNsZX8^xtVZ_1ZyCC6V|KFCecE~H4W7~O{(IUtdoM07*2A(q;i|`sam`Bs_#1q)Tkmh7gUNAYcn@_pwX(R9&PM30L zwWHGrX+8fI-1U9HTB={cF~upiK^q#0>S~9flMaE${{@=R+IKji%Rj*FZ%}hD^SGxp z7jyQo4fj-Ie9lSj#oS9QXoZI@W`sAu<(*LsDEE6PQcz-piPp!v7A0gh?o_P()B=mq z<6|4M5*v@No43~2>gyL6#-z9Ofj4V?0#dskzAUc@SguJ()&0K5H8HuhQde20hzr?$ z3TXSX=Fa)BQ@?J+Hma)Ib+Ef?xlgl*CRZ(;u^p#_M@Ixr$kU{P^((hV<|%&nK5}a< z<%VuRIl#S3$zGx1_;PcI0cN=-2 zg0ntu0(A&&TJ$`=KM{^Kuy=Y%Lw0B2=?A2*Kb3IKKdDtYJWQ!7hyV~c1araEgkYZe zCxC7Mp}b^5a&9bb(pa-e^aq?Kj*FG7zPHzJ=6~d0&9x$SK29uDcd1wP&ey?kzbE08 z*^@3QtiRt8?v z1g0PgBSq1J%{RzD=ny>G_gU0E(VdxP(m=>N(wdVasKHP!shw$&h}XBFZ1DGj(4Jc6O5Hku`7=ySNK@W!WRQHX=6 z!Y;2()5`)b`BK}ykpenB2RNc*^&khQAcU#(efweNJNxu_nr7Pho)z}iTJBQCW^NrB z87GIlVjA^*I$u=tMzcOMrM}y-ny+OT)4RZpJY9wHe_iPZp#lqLa`_UgL zusE`?}7tDfxsNE12-dR`!6I9U-KE70@4{?P>m*t;`q~2E} z3LM}ZMZP3JwBk#uKAjMdQ0N`YQRK2U1JX)bO8SKGn@8bLID}w4Jf+l@SYBu-j?m4R zy3daQN|K8Yyfb8EsFOqX1VilA=oMd8MF6`Ulo#7<2h2A1*ZRr4uf##N)#a2Ay5AP$ ze_Lm}Vl$tde)49Qxkzfa*<=EovKbs+9%u_Dz`hr-KroftfkUYpi)Iz~Ar+ySx~bBQ z4)km|gkz#?N?J1qr@;E(a?iKPa|NN7^^2$}<=3@lrw5_G`< z!{Ms@!z1F#g2O(kYhH_0`&aECSAw;_il5-4=lwjZxF|WPxLC#&&j3wq?P8<@e2FMz z^wH}Rt>0BWmk+3g`=VVJ;fCsa&Sw9VuVYLnf2T>U|EJ| zdo6VYFDqIkp~&wZA?dQ0#e%5z&#w|-#Raxl+uF~0+Z<^<)MPn!sirh%_8an`TdsG) zy**~)D4rw%*kbwMR}=jm@p(@0D0TQHybBMeNZAB^!Q@fQCQ*2SuF>9W2puUJ2~Eq< zc_mvVbNMT+D+|H;G7neE9pIV-STppHHcLM6)?NBJbMhl5MdXXOCl&F5?Y4?AJLDa( z>X%L@7-}N)p2sJr;dM?Y49TxsZ?_MF-ZRGleSFf0_16Sf3j0KIw&N8QXb$MGDcj}L z`}^FUgC01uxo(uHHFKCZN^;%)h|s-c;X-hn5CM?;0c9ue&n>vyD-7LeNe9k_ORB*L z${xa9_a_t>9(jrw;;9Is+2_X}e{>%F4!MyJGU)>zkX0!uQ2g8#mYo+q?DO(MQ_P7I zOc-&V9zR(6>8o#x+uzMa)U#Gd(6Vs#J&9=fX9&TmWwRv^-rRYM9bq8)dmrf+up)-5 zlISr^EV!H^`CV%=RvV4lKV?X&RQ9LOScF$_MRJAOt!3(jGSq^FcD7&h6ctWBYVTDs zhmhN&uU@&wrBRRj)i_E^0UA(=yK=Jcx}Q|iu1HQ1C^dpFq0Eygl`9C@14&_9Y%`Y6 zux*+Acj5^y&IK1ut<~egtiBv=ZOcNyho(+Q{Cmn*;NAtEPT8)h1u_7qhU>(oZwnbg z+3XY}r7{PyWzSXwD;EBpmD2`HEz>ZnR8f^#Ehb29ll`~+({mF2oo$}=H^_KfO}Yu~ zJ-9us>Asly6Upc>o&gT>@m@%OQ{;M4}G(&~Jp!bkw_*U>CTl27%7~B$EzGYZL zC_PGAeqK9#G5E6rC6UgVA{!WHT~|^!hVyDGSsfx-LBtLa zH^D#BAM=;_v(}7$qc%8VY%xVKb28SJFAlb}N{YS-^Plpjp?uUYQKAf*KnLkBQQZUh zNC5%jO1m4^OY|=LS0&_QSq!UC9J$v#cnK{&*ujTJ12GugZMsqAI(& zfM}{4m*K~CCuQ^{9aLu`-k7~nDp5Mf-uT7P@ti2UvPvCSpBO$iaV*??jA(dSwcLk! ze;obS2wTjIxJ|_|y_Zzd`(7afk*VU6K8wXG8*$(pjNk1q!4UjFJ)S+rdxq?Di0rUxu!^h$Xal(^75Woo`90o37Y~G z(}EL{ko)|AC18B~<`24L&~@+}z$Mm1iYZ}kqvK2I<<%G^21TxJEioEABqrvHMg;p= z@iT@vwllyvZ6R*VJ+Jr6)8Sd{EBBZs`qJX7#l;#c^Y#^1;Z=~w<@9jc2ny89)(zQA zyBA71Po5#~lHQlo;y~qy-;TU#mT7rA{6I)= z#J!&A9#c=6q#kRy)eQPqM45KtjX&M8tvI4&yk~rAa9s>3{DTb|F{sI74Z5H>x;Qa)! z_T1U^lN=BELXgjq$!XWp7*UQj%`4p6cp**;^L9Y$=b$!#X9q{ib@Qj`6t_rqvkNne zQ;$#_*{tXGHdJD{x^YiEb5pmb(KVWS^JV-*&6gDb0slrsIXwD$# ztV=qtOs7nLlCIPNd9NRopt;|6cg~a-QqbFq6ny8oME4t)sBg}>$*yl+gqBxLCVl+& zbDwE>5i`ZhD&m+!{ktz7e*4j7eXXcZGv%530-99k^KO3;oHFMeunH=~?xE#PGf;a& zVy4@J@g5Srysn1t^YMmxedrF2-SSlvK0Fv{5`lTYRFx=020{qlEOTT;lJV=H)X>nF zeACfymM`~CoqE;_&gN{Z4*5rGQp0}@?G|kK#V0psO^~~G-I2`v)ceSL(NP=HpiAuO ze^?m(;V&hJ_T_ds?au7n#eez%ci+jLIsQAnvRGBOBDnMYgtGL{JLJ$B>5Zh_j66Z2 zI<~@*YvndKD(CW{sSUgYDn}aq6n=ywXy(wkX3Fm5Te$gKLx}diqigI5GiB?{Ke^$r zhNF?FFp$=-Cql7x4a;`VFeY_)j2ey?PNEe%x$oBn zks%oBlcDzOA8)+;Fu=upjLLK}^aHas^5MA~AFtQM&9`80{<*I4Yid7yYliO9ygO?$ zzTLa*P0?-B_=oSJpMR+O)Q!LUa9P1m-)b22U1)v_)VF!T_{2@?P90gXeD(4=hr@v( z%f$jX0ti?y-vQleHjd3;aC^Py&(+nPJMZt5yUd2z8>*e6iecl*1({Sg@`SV#7yxe;7q!oYIg3n@%aIJfAu&veJ;=MXh z2MQY+9zQfP+B+Dz|L5eJvNFdq=pBBcal~^nE)uK9Fe!$49xXIKb6;WoI}#P*t3}3U z%6##tmx5stQvGXUq)8-xIWl#g8C;|w}*t=HxHE~Chjc37nnO;TrAVIlgFa?C0Ll))g%N94)A%C5Q+ zPG?o1`1jxQ@>sTXhd9^No!*z|W1wE-@hCj74fZ^jXcUr>?`Zn3|(x3#4O z%*U239b2|^))<*-ne(`8;>X1QR{LWhTXY*V_YnQm%CvV0w0D z_E*EYVRq}(_?8uYL#aaqchgH^iADmt`lfd6nOIg)v%?#fO#~a->wi#Pb9$T9LHbfb z!4^8y3C=M1L3ZR9U7js`YbDG+xs6~nf=B9}tjg*x6d8*@4pj0~XFkMu8tXh~+&4lE z)GHKjy>7Qa8><8p|I<*-b|KO9EMBPbU`^46?t)vO!CVYAoA+4<3kJC=yEbyI217#+ zRtNn8Kv@7WJJD|mj!f62>omH7iwusH=m~{|UB2=aw@%!2)vH%~;Y~;auMye(N+cNt z8?Tmq}u{4b_)^B4Yv zq}YE0@7+uaaS|E7i<-w~&f~?I1EfO#V*$c@E21N2{M114eYkW};pX7*-vXzk5iMU` z2qbuQ5AU705#ayy2GTyCDu}EM67qw#o!A2qk|?kWgs>-Q1)-BKRPxRqX+6dh&or`l z*>lvNcOZHN-n%+Pto0OeChg!%nf`I0{yw^jtT-#3L65@hk_(%;O1Lch!S)>IR; zBSJWPh9DvstQt<~)49fnb)d6+w=c~Z0sKrf({OAwDA( zOd!rES$K(qOvz#+b`iM86+MZxV4WKAAZIk*g#T~crH6)|ouR8|y?NOtsKH75p%bQw zk!|U2N!+Bkil1Pvu4th)V)$=!XRNyL9IGZS~zWIBQJl6)Y_Ikz2Kh>E2W-8y>GV!4Hu>thylkIljI-l5!Wrn>$&$&0e zt6LOr_Or~F7&Z|8M&zTjUzqF@cT`kUtgArEC^LsT<;M$S(`>sh_qs~fObEXbp~f!{ z=a^9!=dwSYUf!A#?F~go6O?mywJSCj)lBE5X#tGc7~I018dBm01RwpDNxC{WX#J)) zWRxtb=WfabK7F1Hv4NYOb!<~egaY#svzQP?85L6h_zg$RboWQkvcKq0lXR0~shR&d zo!h7g$p-;-;PX zzI`Gnb-^|`N|drobBvVTkqvxy`z{Urk|R-83VqZx4f(-u{;M0*_yjNO#y4sw*m)RaBx2wH?-piu^nU;Cdh7MdEu8C!VJ>#!v5g z&(56hjhiw~i1RayJ&d~t`m2YNuMN3dNgl55sRZI7;2K?=JiWr}<8C&e zZS9tjb{0fRNJS3r9ktS_mA~34YS7fkPyhn|^+jE($ z|Al;Lez0Kgb(Tg&u5h1mQ4pF4Hjpr==?b&fQQv|bXBW6Inxkc&$&&x$klf7Y;opr@ zp0YeFEPSX8d3d?t^1~42!{++22(QW;F~-*PDoy!uzR~!Ox*P6srO<3SB4oEZdx>U= z`jo~F9T@5(pJ@F8zkg!Plzkc1$F zhMp}tsFHToRQh8w*60s5}OvI4;g&`y{c>`CxXz{Va~LF?$2|i*sL6Yx*^##hNE92fCD6Gj7-DG%3(YrN%DS zNHpL)dy-cpmf99CC1upu4W!LsAc3e!-OLYvJX2I8gaH9j3c=5@>}%W!PZ=^$Fc6~b zIFT@2Q{6VD2#dl*%CS`1H<+WE;v;xxOyf)KcA>j*{~2CHd{b0i?=#i;k(YU~Q=A38 z0~&62@57m1?{{@N_ln-S0eC-Q%>TT^-M~Kl>PfGQ{MR^UZpJ)F>-jnX`u3LzXCqbT zMlwgvsX|T!*xJ7RIC<46d}-;W2}Q4QTX%GbGHip_Z$I5^>!E;)AFkYO<%%%zO0C;v z!l-MYWx#qIU|q{+Q4gt|7<#C4#IR&7y&6rArlP57cX$?yfYOBUiRrWo&El5KmZruk zF-uHtZ~}P;x$U&4pJ?OhD4`&awFk0$#Oi!j6f>Ut@hNSF?jTPNI$d;i2B~XSy22Wi z638Rn^q@I{_0{dx|6INQ15bm0imrciaB@15E=@<%dv-an$fegz_0Wteud}sudjkj^ zYEDuYHYd-noISwpph?S|K;s9fuMLVG~sB#*}fJ1Z)1ua`s=EY2&A4~|ST zXvN!Jf6ZIk0sT!VWvhJt6$IuKjlI{_XTbc)vD04|_Oh=;sJb<^Z~ zjXL<8h7glYIIjJQkQ76huQKP!Ta(Xd2{DO;E-jiq6qi;m^XG(vATR?A4cYCw%E~Ou zJTWnq;$5@Z?#iU8NGeChF9UX$Br$MNLT6lO0K9X?_*6H(QP&;#R=(Te( zbB6OvA08>kBwF3RgkQ;D(yl%_yv!DI8jvou3jxD{wkofoN}>HOf%?#@q@>!U)b4n$ zfST2!s#k>dLG>J|1~4~9e9DAl)TC4qCYVL zt7>8B!ao@}>Zp!e`};$S@80$Lq{ToYfhCm^i^MMO>&(>he9f>EU0FSd*Z|u$FK5vp z&=--SS3g!ylOmqUCXyc=lncb9<>JOb(oK;4Ei1)W92Y=6PvZ5CU8V(Lc-Si}=<0i1 z-&bFsQO{a^)RHbnx0rm7FKO=whg>imh>oMaGHK9t#Em#4Fw7p-S4le@&$?|*fZ=mo z1^1HAxR0+^%Y4B8J234Q&wJ@YTz_0&ilkq10Cr%w>j`OufS+SgH`>AK-*~jfn||$X z=W`)C9u?vrvaQoU#D7t$&+~TOhIE_WY!jE6Va`r=Dppgh)Fw-><3$ZXPjgSBi-&(R z*dknim9L=I8#iuf{{<$^cpNF&u+gWT5^Z>J+V#AeEPcPS5>@6FjlpE!Md0hJ(aD5+e|min&wQK6b1P3S_ML?E)9qPqUow0)eLbbd>8H% z`~6EPv64+taY>t=I+E$gHc0AkoIPuaGh~jW=4#;-&;Hd?Nn_I|ecrFrS5CjQ{hR)} zY3qBw-5Jc&XI#b<39eId$^ZLn0g%k(Ty)(&ur_S%0oUz@v-h>uYk{k;<(fv5F@}_A zN-8atAR&)4GfRa%A;lY9Q$YDbbOskRhQeZbokh+ zs#VpXDCtA__KYnl8B>TE5!S*zbzI z{INkUGI;w+{H1548k{+EkO$L2dMHD?SY#6|v)F*mvaB6Gug2Zso>996SirKQK99o2 z#<}c=I9Ab<;O*fs^e{YH7}y^HXDSmSU#cbA7@2f&ILs=HvZ#iE+Gx_4gs8} z|9}=B^Yo(ZqK|n6 z!{6p*Q_@n)bOdlTQDq3f6Y+6U&V&qyV~sb-NXM|vo6Y9pnAq&>slLgUaXNQZ;DAb} z0=l49NO=f%l_t~4QZjXbHMmeU8zfr`phfa^r6chF-aUJCDW5*2=+-ts$KHu0ZnJyS zS{t9Wc7=ESYV3`7$7kbbm>Yh}ruC>Ye{;VEt76rw99A2&bh$$iUP3I0Q&+~Go}L42 zv^OwM)(kWZ`P*&q!L@;lxB5w_)FXul;gxqZof`&$rF~7AnT%Mm;JMre()Ldv?cqjs zqdKoLa~@{9CLB>^_}LP%*)r{l4cz`UK2zTj2Twe4@bl=m_Y0uutF=kd4T)t|eQv5e zR99w+UxsC+l*W-#22E>^2q)+QXs2!C_@9^evB8l(L%|;-e*jK_R{{BZR^&U64MwjB zA9WoFS$DEQ+X2YRDO14YDM(#gbYell^n${KpKoP_iP3`EEd`qjJOxV%09YTQ3Q?`^ z8v;`Xp4wtnsj=@L)l;Xk)fsp$FUW^4yuoj|&!nurLIJ%1b?*nTY_7$~kzW#|Cvhpr`8a=$JKQ z^Qqod-94Y)`ETWn7X?O*!DCC&rG0OF@#89^XXTt?@$)yuf;lUDx>x`DtItI9n0jsrYnrh+V7Uxl$8x7XJoMM-(n3dUs8SL^ZddedF z5DZ>(jGdYBdybiCn||n=xpb&ax=KaA7*3}?K?UzP0W;z4PJzlET~B|juC?c|?yv;b z!C>$5`I`AIccDRPkRZRs+OsgkP+mGgEvQ(}$-) z4O?bcwpQNgJ;_Ni0q^^CD&0V+*XAXH~3PYMM4FFF(&R@#sk+j*47x93Y+6D?;1K76VIo8yy!2?lX3>ts~mP&GKqe zOy_mRt!e4AQVf;$$h3Kl;A6qJ7Y@uQurzP^>H2h<>)Gb!{K6SqZk7k&uRHS{FHuVB zjwlt%4lx8)uBD~+tnkOvzU10TiIhZ=*7NHDwW{um+b}#Zdk*HN({jMco+K$Ku9U?a ze4#scbx*(sE02NsL}&=q%H@hIWd&C%G1SzXG=GMt4Oig6xHUh)m8w}BIyj{~_S0nF zZ1AO?ch#L^gvY2hbu{R#p&$v`vKh>pl^vh*$0X%V+#43Lz3~TX5 zjO)61L;~o2x(f%jbYLA3U-!S5UzeHYk21&kR11?A6;CbR>?co6ex*+hr1kam$jrsX zdxaqr>LXH=DRHW}(Kw=hLWpoLIyN%qG|O(6pJEz6J2uAZ>pW(iZn30vKkftHkAHmt z9}o{RfOy1aiB4iU)N}|8MJ_@oPbn?ky?cDo!qSrE%Vi)wWsz_!UoI_NG~R#(T>akx z6c?rE=t*0FBhG)BS)>6PzWJfQAs}lNp(v0>;yE>85RwsMh??WWr~R@1r_XUJD$=15 zelH8atI(lu=7Yv7{!4iK{gh&7kQep!gCY!}d>CPd&1QN9^LXA8Ki|_ngyP1I9MVt; z$;~1!K4jsY2G8k*vx|L9$%Ns)_!P>p!f%K3vOZSzOgve!b8w0Z9~H3wY_DSYU=i&% zuAgN8!0x%(G6%LHEHVFO_tiCprli zG)DV`nZw{zp3nUd+#8(~XYWx|YK?I_m6nuVi?Vg9Ttn4$g_+Wo03Pjg!ljh1W4d{j zno5wu*!Ur*z2CFf@XQ}GYt3e007Ctvw?xY`GUaXLta;%4kLco!-94~Wc^F%yLD_zd z-Mt7qtdwHu=?&QJ&CLh9yKHfB<-Z%PVOim(AF0|D9+qh{{$7ydY+%63`$Ky|r>xCy zRsv;nChpP!9}u8Y*?{J?b)bK}>fpN&p`F@yf2fQ8^jCE&r?F3#@nQSO=9-Xq2UYVg zNvwfZ^KgR+uEPy}$U6iNkzADr6R|Wz7-#ZpI7~42g9)@$m51OUB|kF%BJ&KG$c$h6 zan2Le#PD}|WUF=0OR>7`Nu4Z<*ytCk5)oVoWbO2ig59{QdN!hV$sFaff+-+R!o=U> z-S21PsMVYs(`U-kJD@|;2lCqjK@c>-;!}+C%cgaWjUaw#&Kw8N%X6$+H4b`vm1?lp zLjV~E#)}m7lok#xZtruquNSU6u^N2{|DuHOC`A5EnCfCs$SA=QGfyPsuMAGMWt&aK zrK#y9wyeMfmHR0C@jnC0CfAn~H8&O)HkQ9lP3h(P^v4_u0~v`#zd{l;DKad9IWd$F zBWhwX1{hCv?4AjUCt1X?IS?3UP|U;pS5)L*6e`Uq#fKoBPJvf0YS#un2hqc_|qG?cBMI+AhqZr{hYaJlf;Y86Tces)b z)67uCm}%PB_&60ud+dYoxN34JoQ#9nj6ii!*aTN~T+U`~ci{OWW|*<%CJ_%c-e zax6h*Z&p&ycgAIVwOl9$)?ws%eZJ20nEqft4zGMj$!V-hBS9*PLbgBJW1yHBw+{V;t*5a8QtQi!XRP95E$rB|Whc(Ed^?iaV|*&SM(?>hdD zfPodble=-XZ`(t%vJf+{jpW+Bs_SYal(YC`s(Q;BIClgTynX4%>U}O{5LW%R!xi{y_v7`_oaH3Cz!w^_=y3?4^s`vdTc#XDf<1-D zk6iz1R(4So6nRkCziKsIr4QK|kltnz@SIfj$`$>>VmFjfo}G1}+TmX(Q0EF=8Vmz} z90lg?d&=315-?%xVZFq-<-RD1U|4eb?Ts@tAwVGufP#t@7g=#;!@iO!qAS4E6g_zLP zE3#`JC}!&4=e^{4dGC3Td4KSJ;KfGZH8W}2&@VQs7A5^ATEyQBL!ZloZ}~!z(^pIU z;gBx#WIXHdMF1^)*amN5uah8-cyY1qH0f$L1h&~`4~VNZLES3(KA#0z9t zbp=t3mk?@V=C$s7pBQMj567p4j^+rdg@`m&eMo+u1 z<@;oTOpk5n7dX`c(}s*jjFr$iuy7_L5n-k?Es;*Z1R5~ci()C@xNxDZ%f4v^(=06A zu-w*S2U91A`bH}@rkEP)=j~ie(!M+j)5*fs@}Iu)5e9KZnIdkG(Dy0cyJM~|ttd+U zd%P{XWHzq@ops_$zsaStNwB#8R$jstTGt`!V44>OTbF|mo5Ul!LCG0mkkI#Cl`6VS zAtg^CM^z|;Bs$OeWI+^+zcLUxQ2nclIC-%7D((**a=@KEHrN*08^rg)OJ_$Z;>vTbo3&^7IS^fr7;bg4= z7=eMmNnW$QAR6xsKqXQ>NyXH4Rrz%BNzjU{kTEp-R2{L9%}hY5hSHtyqN~>zDBOHc zrrODcrUsLlD+>a0D8aqXbe7t0U;*k!YIHHw#Qo{v|HdVeg}Bxb>$PZ2~9AHwqL8R8OZTS8}=BRm^Ma zxmn*^pFGGAY@tl0b^7I1avv-wiBLl}nGUTQ%tu~T9`n+S2$p`kIy5RH1B*fpkr?zm zDs**k7Ewr4ObsS1nn{mno?ozEMa8_80RyYz8&;BF67<=LT@W`=r65O~H5v|n8J~%& z_J;^0y*b+k;*@-%Ij{MyA0eE7J>-^w&bWbXIiHJ&2K{#-`&DRW{Fes}#xMQI(RBlH zWH2wpW*srx-hVLrM{MTX)b6r#=WS-2?cBL5p}q_&&!TCwG`cE%^iDw>_J_JqB4g)d z5{+vbU$fIRr)eyv6+b%DPPC5@86t5Jv|%$E8g;0L9s`Ezud}R8Hy-#Mv_;y)1<(8<`CA0{_ag zng3N!EQs5u=s}8Wac+%1f-H&~w%}gAhu=e0hCM7pZscX4jRo9?BceZUU{cQ|)Z}lx z^gkes<}JF@aOsxFFLVNQaUOM&u~s+XH^c@7&NeADXD(aHJ-{WMz?MZvst_N)5`TOQ z82naC^L*&kb`oZO()}YpAT)Uzx&tbKv#vVdqAEMI0EW{x9@14eVxxwQ%O3Q1c- z5G|r&@9ce`ujP*sB0Ha&m7J!b5aF;^s+u1f7-9S+aa6`E^wcAeG<7cRB2$+w6DR6e ze1wuu+L+!yG>m%hR!sWWAjhA8YC&^vp1PrzkRP8HHkrv^>|Y)%AFwGt=?5#R+JdcH z=Y%i}&rAT*x`X9HF&!6hLow!gk1fWrEj$!$Z9PZG(M_m}p$^4)c&IAr$bg#$ED!Rc z@)ZB@IT6@&w2)wG$9{s_Z=r=Apttg+*KKYANwH7IA~^hi6fY?0)fi@Q3u*o}#g^^x zPng5TT+JlOYOi&a591|?%h1^`v_5m59`(`c#%vojzlV{G%Gy;vKit$t(RMl#I z*KXQ6Z~^7=$e9{SV$RQ6HXiyQQ~cPcjqiQ=ylh`f213(UjC=pLmZ9r!`LZ>R0}cmz ztEd7DrK|9EKsv+#J3fCIAPo60M&2Ipz;pZSZ9}lPTC=Yl+oUOEYkXsf@8;zNIF-ll zzlF&h`y7e`zCDBf=tJp#291jQ8_@~zuaeK?(h7Xah!zSF+wX=K z_*^hADRFXu4jch+!Uv#Ac=;~>7fr=pSOULh@zqSg-e;mg1v2Yib)3l_gXP8_@4`4M+TSD z14z@4gJ|n^`q{pqd8X0t?h}|`N8_mrxs~e!Eu`xn=D@ijY%{Rv0h||V&^frX#b?Jp zI%@9$ihFLB^v>Z_gCWD}H0Q+>He{coh_cA#==RI2$>*4RLFiMLyyM-GoqaOdu|5u~ zV`y%1O>A{p#M!uJMTej|R-JpiLjkf{SUn;iemJvEkcGNrTr1gG7BSs6(PhM!ZUcG^ zRP~?8%6E&eZ<7KbN34sH$>XB?)xiL|7HGi0xE%-q#t)3&4nqKRm5}CjEO@}CrvJHO zUy2mq$G0BQ$?b_`{Q)k!$fWcu%GMp=(PC@#@*_1HBR1BBBRk>}6CnK7PWiAlyynyA zJ+n#dYuh5vERfXN?x*H0TNd!-S^h4~drqiBkp)A3nu=$zfy#~axOoI7 zo}&Fo!qHoNWt?Z4<5wb>vP);g!4li~WDDz$>Vh$0v_F!h9A)HvI-7j}Rlb;g3ihtRzr(swg4EFBWtnl$k3@;KZo+p)A3oB!q2I`KtV_irk~1CiGN@ ze8nujsUn(6drL{QGbvN1kD{=$*N2eUDl?Qt(@+U+z-p88sp-GDV3(H2cO!wCNbUbm z%_V{9;SuAL#v=&F9Kbh%JQR_$Lgz)S37Z30Ubkd(0}4cAy084)63E5xxc@Tsd&i^BLB>w~;hS3*U>rnqBkeD7-h%*c`Zjkup zf*=8g5-AU-4P*Bxd|YV)4Q40+|JD;8EDSpuNQ)GZ)5Ej*QMrbBxhYuwB<&~7raz+p zEaysedX{SI!GakD@C)hWlS{VR9;G_+YC0SKrzwN~dX=_udbSG8^gDP4WBJE7t&Y`| zl+N*3&pA_KC{imE=z_IIoE`qm?Em=z)lN(2Pp$+|60z=BhdFEvT&B zFl8r#B74j8hG$iv1hBw0240V>F3d?&hjP}XIq6(Taaqf6Sd)3k6|GmXB36vse#CLha^oUV zfP;6U1jnGr%4%*6o|cN^=nav@xC}Wb#>%t$yZ{+JL$ z%-kN^Ib#~7W@1M3AZN+wK`dyc*E;I2CY4~Sc)DT5xg2f)nf6^vGF%DlUU8k1I4aoavB|J6n5bojg48fUZqg;Y*2_$ zue=Xz+OT_J5!a%u(biPTAVUV9RF1K6Y7jZ|s4 zeQNCU)~_j-rb{N9wIT>7@18ZSpy+!eDOI4g%Uu^%70!yZpLIqbD?GhZS zPTi2+J)>h|q%5_%cv>M~r9Ba#48SjCy(%r~M{V}6zj1y`-C)yCzOX#k4i46RC>l6jKT1Ql+v^( z-T(YN|0RDj-^*uD$HRXNUd!NpK5l^nY+QK_eQ<@a2LQAc&hLUi{|QIQ82lD_ghYSQ zIPu5_j^If-L~tQ7@ZT;M@<9M>r6idZ`uf)z_MpcUwT{I97F5iQGERn}`-mm~CI&$Z z2C^cUIMRmm?$E0Sg1lSM-@@M@N9SF8;OBbQWT#atcF+otnxb{ZTvl^lJq+0!zaHJ&y==Qug9%jnf# zw8|Fw;J)0OK)Q`o>U#<6Wma>iV+Il>IV+o8aV#BAdjECZc+b^1syy`k*0-WH^Q)+l zp*nS8!CY;Ur{qe?z<#RdP5FqTh`O(8cKC%SPjG9zvSu!)%9p^mdKX5))ev z+jVj)N~!@5UAx~;yh!U!V5UfM3Aou3eHYzn0|9}%HLZ#Cjf-=}y46!S7- zL`LxEf97}D?n{=Pt}*-!`P1IC-NG8UiSIbL_!*=UXC<}kZjpoD_b2s6T-!by+TPj7 z-Y1#I!O=qT!4|vLq%4~OzeeOzyyOMHS=*Qm@Z)XN6Sk=X`E<);$`Fc(i&Z+W2G7y! zeMMbG7X*dt4}je7+W{atLd~kJmO~M9Iiuwiak@*x@4u_W$#|E^rxwhV>fQJ0aAk9g z>nzs^Phwj-=IJha@+-8(^P;OscGxVzBmOH_eqvGMpMx2UcbZxj%iDJ>ajVj` zdG+XweofG9f0;NxZ%gO6@AVxEj2IO-5*yv zNk{`nkbtw4(S%l(RSN7^C$uw(EM)U?k&d>mW_MRl7Y{ct=l2(y>9q8sq>tF_!%si5 zI!%mFntD>yYiiWut1o%oCQsSYvu4horbUxBb*-AUt8Lk|ZGG$J?Q2{(abxGonLAsT zPTkt8E5hck5SYOu)~+t#nZh;IE!`k8hi`g%I)9r(VgZX#>#>Bw3Z{uJ%K|b>*d`x+ zR!~{f7@#uEBekeCXz8_#(yHc*Dcd4)%i1p=y?XZU;mfCQvo{}o=-A<)GEp-`YVN_5 zjg~QT@d_fHszEbj7KW@ejhcHe!DOax*zCIxx8%Ip(NfjZJb}y3#DHPWLCcr}sxb#m z?;Oy*bI{i2fU?a&nv}(p?*e5hldzEx_0sEWpe`)BQrx&kD)p5nAc9E@0Ia zskMIj2D8qHtv>s%VAqag|J4isewX{9pe)b4u!no)mW_8`D8iZlobA}0B*lX=lXst9 zVR%d;xd%k>FhGC6PVCkIwi;pM4W=E0V=e7KBxE`h|q(n;!uPt`=oX%elOdn z#-fEj+tqw_t}tui6h2iF{mC%#REhPW79+)}X5V&hcehjXd6DNb!$5EA+ixe2w-hQ) z-FWv0)OBAn6JYMJuPl|<5D%J}=Ov*beyZennfD|WPZYF-UqOEUGN=>bZuPqFwsPyW zsO+^{uid)ixf$-i_hxIL!cibE?0kG##WP%#mtoy1Nd|_RFld1MZLi^JG16Od=~&rg zAae@Pb!OY7*rw=zM)3r78$^vVvXNaMO*?)J(K@4I>O1vlT# zmipPe~s{9E2GJ2Evd{rvNw?VtIl%+5R5 X!g*JhQ#fo5&_-aWWh=e02AU55YNPbRi)+qN|m+qUgwGI28d`)}=5?WgTix9+*;-saxm%KzX1`vIf?WzzqXDgXnJ{14^fBggwc z(*NUd0IC2dfa!ns<3A$-$OCKuRsie&A^-sCznsN?kvqU1U;=RcPhkLP{-?MC-2SU_ z0yzFx&kA4yfc^u^f8hAf`2M%{KQa4%_5Z)w0RT}oDdqoXDgT=S0mjY%WtB|%)n_ir7W?W_+Y_D#KddL>QE(& zw5`rjqdYfL2Oda3oBl}8Dtlj$K;$ty-6Q}88}BWHMVg2meMD{_J}DrIM?^cd_G_Z%>dMUOKuavUwP6bWnce=$v@pt~?}ya~lbiE5>`%b;0t zbna09biI99;!2GdWU2H`p6EK0z$fHb{ytD{mh;mBueows!Cte)=0O%YPPbZKGX;9F z)LaM26Yv{Bq4WqBa;kQWwLNKU;*Cn2aBpZ6zeY{_G{-H2XND7>!e9>|hE@I=CtFqpGo?2%j=rym zS5Lsp>Gh)&UiIxY(JmkAY1t*=)^3t3@dhP@`H*ku%epYu$GPh?hec!66$#TH>vn~m ziSyFVAU%4KPvp-JOlyNkAEAEGUC^_Y+;&UEU+%9YrPyFgS~tK@xS@wa7Gd+!7Ka`o ziBtT60s(yRLdGax{(=vOq6%j=b9WWL)rCqK#=C(T^m0s8dO0pu^MFwPYI7Thum(*A zEe36h9Q02(tAvL?Cw9YUdN?Cdff9nq!4)BDVAIjG=?0t*D(Z!i#xw1(A{R z+O%0e{^&!?KbCRXNP@cVs7UBCv$xVE9P059)fHI9DKM^$oW04k{c~hu3cM&9|Np7C%3V0|5oY{UW20O zG;;n4>dhIiAD#?A0~g<-p+1age`Wzl8-_IeOH-@&2qGVj0xU#!I=A+sI;NapUoRT8V zWCM64V}?AVk#v8f(5QAmI6Uzv5vT6-#jpeqCtPS~PIM8Y7Q77W{L=$RR19m>hzz1Q zsu~9CyQ}4Qzm|6%ghRG&E8Sfok#fesxi~WqPS0c#u9@gdZj4EUDN2>iwooO;4mAv- zy*P^o^UmZ?E1EU*-}C;-Un+&7eF=ri9lzSxo-0*MDDS3-7Dg#oM(5HOu5vrE=m7rR zgjr!7%6vHcJdb+q>H-C{ZgB_nlTX@NalbUT zcw0>_uB@V>o{5>@^}7ERJ+SY5=NiaZ&6 zX9)h$D8nMZ8e4G*C{9;uRobVux{=HJMm8X0$OWfb`a+l8jcRie@8=>juU_Edhy8o~ ziF+dagkgJdb?LFxhP}3b0q1a#N!twRsrIw*Up3$FBQn_cYnJcANjlN&13EZ%JV9T^2#9Mp_Ytaf%N&g(sVc!B>>P(*PK2T+3mjQeXaFhcw4aOs9-|ZmTVX=RQILNEwi&kqWpH?m5285x|3<;$E zXW+r&diBQANR(jaEnHl(iBE9s)?uP6M89Atwd?c61O<;!y9~sJsE@S^tysSGO&5z* zr!hZG7I3s^JUx<3#+D`D=v^!<-Ab|RFjapx4kdr?>xNixuk}*kdzKcI#^uYU?J1}g z#SiE9HbLY3+tQmZHCo*<``c1m>m=hZ{Bk14aXP1r&3RFFw2hPaahC2YrS3 zdzzfAu$=}5h8CJeL60^bf~rb$G*BE=2d)=A(+MOy(D;bP!-{j!&Iyg<@A1`N{7R9O zEt~H5vU}`(?4&Y}O2H|<#gRemq`J!}4g~K?SbjO{n-QGjXLC4;l7}ce$DbvY`AV_} zLPG>S3zr2Q03M;EWrchCY0L%`-_s|BRH~8)kyM0f#pv=m1nCgORHQ`{7h|h+s}##G z19cPrB3$AugQE}?Lg_)G1QpVW%wj}>NBSmW6lELF(cye24U=Awmx>FKa-pD+f1p2! zvsk4;1cj37z#LXny@@a&OM6U9>H$rp(nh0<9mb?_%0$Kq;B`}>IYio=!UURmHW|9*Foaap^a(R+3c{#U}S-jT*q?_ zz{6*MO__yfmV!tuz){c$;OT6D%!a`(?R96a0dPbq3ns@BB zlK7a;DXiPhy?;n!x_xW^W!%{7BJYQ!fQKe_Ar}c0zFZI9UddBb##1UBzc=gLm11SF zqIP|`HpdlDV~}TR6>YPbQml#GgK^uuhY_1;jp0TfOGx$&x z5=BYe@%K0n)nMZLIz8>t%lw%y-279{u^eo^Ynzv{-0wn!6~hEG6>h6?vIy3|5$Tt> zCkM;25q5xBRH!mR#Cb&rxVy!Pud2kVst z#+XGVvi+K5<1n^yHGb>Wt_&BbjMdXVD{e>CIE`C-jZ?4VoekfrKpFjDUxLXZm#GBUZnyoLv%NQYNQ$Rxj4%dYPB!K%2Ei6eh)7QpVIy7zMl@y z#uX3#;(zn>geS9Zz9qdttc>Zzq%jca$Uz(^vEY@JS8iv?kFu_k(8z<(=lDM3&wWW_9#fe2BL^YliMLM@v zF=HmQLh8V{+~B1a;i|(M7kCqdg+YJ}G^l;~5UwDT9=YKQ3iC&UwZxz$dAeF)Mrl`I z*RCVl;D&Sd%$V3I2jkzge=n~fv}Vu8arprrJTjSvGT zQ3& zQknp`WI|;_#r>a?o9xpT7DEEI1O1Xy?eOb;1lu_K%|dK7nIl-mwuftwI;C0#QY377 zK5s!G`$W>kvM6`I8W+5uvD?)t|9Ka)&}~5qrvmv-QR@*x-Us%{H8V)VL z@Rop%x5Gpbh`ZDclg5w6PMK*V0GMDM1EcJevJ)vv)1;g{^8s=Ub|;*5o@I8&m=c_C zNY*d1m?<7jLMSL6b?2Wv2$hG4-w*O6Gct)n{+rW6G2h?)XxldbPFxY9Sn8T6AM%F+7W5orqAz;f4O8c^1z*gr_+rk!(CVvH`EH7^y~0p+%$xhvCy5Xb$~BffK; zaSdX|9Dhz;7I>r63ZHRx^qA?6(j!9?Ye*Jege;a#^Gx%&Hcq2)f>`5drK+uQcuxXt zsAyf9Bw}^uc3+eXi=P5}b~UF^G80WJH#ReA=08ARoIBlgNgd#dlPQ z_jG-?OD|*h1aRn#n^Ix(8V12eSpWOz2P77C{pdfshLR(9?FLr`fEIw{zMc^;$7J>D z7kic;rzEF1YTkDJorO}&TAeXjC9aVSWvq(*YFWi9oHxC|mMqeiOfShj8#=L$1@C-YYsMuG(*(v$ssmd%eR6aJFrOO(ku(a*zzSyN=BYGfqeq}f zTL=z$e5oi823~kQROIop7y+|&20g^xzg)R$B%8CqCivE=c~C5$l12$Akk>T4wk71- zt(6vfSAN8INu<5+VK7lZe57zJ>+;Q&e>tZAGLAq;q_w_85^`&=kui9G>vEW5U%re$ zx~`xtqt9kIttWJ3GHi0FczM3$UG zdyfI{*ek?%JE6L@Btvn~$4GrAKfyYJsRujwPmeou29gm|bMig@8(J@G+1Ccd0=`FJ zr}5DcyI9usxFj*bW_zeSZqZ`|&f;*wo8K=oU)l1~SS%Y(Son)Nc_Y8rD;?7K2Dogw zs|`tspw17M6sU2R!gVpIF7laWG()c}=SSMzd5o1!nSZOjT2Ci}K9F-W=l93?%K6K@ z{d#=W84n;Qm67IJInD6L{;X0bn8Z=O#y}jA+*ak4jS>RrEQD>VcUO-!p#8VBbaOl1 zYb=XPdV>+SJ6h+A?YJAmf|nfy?+&_?18pEtXz|xL)Mb!>f8rqC=toiP#8oHkL|?nJ zBq={2pZ#w?m9L6K$_bHo;&bCrkfs8x~ww!LqSO$d1)SAE5~5lePBv{<>cy)J4r zj8*=rrU&LAu~B(w-vu^qvK?H2zkdug9{*_M0-P&lk|LD_b%c+2v)Zg{WCgpSC_yF4R1_U{XZ6YHi6Ll* z2CewG6+0YPC_OgMb*Afw;^Ou2BOCLbGQ>Q`TkWSWdop{=z4mlL9P&*Zw>GOnuXDL? z9Xh4TdV{~F9f)xkN3!CTW0We+IuCph+plQd+jGy6UEIV28(A(z=Uf=Xkj#70*{)A!5R&(6COJcg zYtNvFbm;90|C!ZFs9A^{v~YQbjH7z>Hm;dq&^p>X?{9Y$a4k(V$-U6fcoUv5VsXa%LPs~|1c};>|1r+LRc&t zGKNzKD~+Pbm&&7jd;@N9rM2}oDO!SJB^uI49K2(!1S24b;5!cHlfn0|{MYC46lxqa zd47*W@WY0($-DV+R>YCT*b~Y_6;}>Lr@o01_SoiZ^-RJTMZbHsN-nlBB&n*@xhPH8=CXewZ9 z+bLC!g9A{B{U!2L&*EHVHV9;9OmsYoai@?q6aIbLlpX`?fvnZMueWUGON~F4M)A=r zbnzx~lXy$#KlEqWo^$FJXj8zVVUJ&QZuZoTValI0p^<5zMS04ckn9aRy)*s}PJC-G@e7ZC6e#vZ@JP13QCG%&4&L7GLY z0gD%?bWw6E%M{Uk_nOIRw<@is+qb5My&vw;j1*9yWPhth&08(91(XwjIRUC9<3u>I z=Laai?h)=ps82`8PnQY{E@pI!{Fddagdkf&Dx6a?-&ysA#Wzs0D>qEr>JX;SnaSpi zPDBu^;Rz133=5Mk)PAvzN1e5(&Nj|2_`s+0vurkDhU(|LY`KRP!Qf|Tm(U2Hm+2c3 z_K+EnQ;3+f=}K?S&dEPnCK$+|T7%(?kVVfZPGYmAB9xnlQ}QmZ zduR6IYu^vnxQtaTmsc)$wjk%8K5=)}dZNQ(+iJ2XrF}=Y*^Uc)_qAXsZs+mqPXOkR z823kNrh*HneVNuyc&238kKfM8PZ+1|g@P6!l*Sblqopun$_Le7ztc#Qh-h!hT{JaD zhtp7@Gsz+9)S>d(P*k@!>hs}YYL1M&0jNcC!UT1Co6anP+x4x--DW{t!KtlkI^(HX zUFhng1dE(%QFN%`Jo?5B%(%N+1N@q8{zdrUVHP5Kzv6}#i=k+kbtjdmNen@-@lTRu zn1WE&#OWQcqhiYe>$ACmC$vT)YX1J1b_l0^xuwoT2dIfk3)8w@r&0M-HPwUsZfc>G zl7smfn}2w8GL7KE!HdSv|8cW3CjW$1x2!rBp;eF9hz{;Rhp}(qOi^GQ`C7;D-XTX; zoFHnr+2dvtqsI7SCi}-D$e?Q7Glhk#@LhH9b^#~-?KBdWE-a#ual*^==&9DaTNsGi zT!!YPwaHwe4{UM0eCIDN;zb^M9IeYHH>&g~)f{JOn+R=qL{+9lMOdz(3q*lDKBi49 zao+72-Fm@UHRcOLx7^7=0>g_aHmzPI>2U4efjg9JP*7%0&l} ze~ppid>{;Ka^Uvi=A$;n8|}D3F4dy@5&NX`m2$?FRS;bA$Rf(Tb%TtjcK*1ppYL^bD4lJ;J(>6yN5tkKM&qH`tO0YO#7*prb4rnC-u))vmZ8V93c*6V~O=M z%A>kaS}0)~u##K@@gQ~X%f++CJB`ZD5%&sFA{W4d@#Q`f>>mjT%jbW^8rhn^O8my_ zqNNDMT`!ctgF1lA=3H}STgz%z$C@~f-9lBy$HKWJ;^uTfKm#--;-@~}rMp<&C1IFj zj$avzk?!hzP=jAmSV&%hjAIjrq=Xl7Y+h}mPyn40vzl;&muQ$F(71D}!R*T{g<9L; z0>4dTtP?oEY|f53=xb)*v%qjk8oTxuCsYyp%^MzeSBj)%)Ttu`DA&$OX>$g6J?S8h zsh+Hqc2q1&^1dw&} z3y^8Kg7pDaK8me89`(tVRjJ%z$mN!T}7n8~*K7Hz9yc>Uc~g}Bed zn=>P48yAbEAre;Z2LIp&N$W{={~*rtZEbw4qs+i(!$X@TT;e6<-kWe&o?)AF6B#vZCs>K(Ip`&eBiTP!wqfk=D9t z-=W*RBMd;4M>`zcbI4%jAIc#%FF-l5?uC#8f(JjsPGB^x%j(EgC5 z5m%827FHCc3PB%tGrO2VA_K97mq_z&*?Kh@!$RIw&aU>)PFG<$9)aC#kHs-xGDoro6|DG6kA{ck@Mvl(j69e zK9MIKVZS8iRWkAuL_){jDX5cB{0X;<{=2lTdF>2Xk^U&#w{dT^7UE%3y`Y|iQY>T@}nJaNey`78ss6w%X zJ@%;wPG-R%HZshIVLs#ly#90MRPd!w78*Ka%RL1a}q^P}RP{G3{OdRy=cXKyh!bl+c_rxDN9w}r%u1+iwlO8dv z5Ou^uaComyt`tFe&H)g`!$og7g7$35=NIRCo*0n z7EcNh%@RF!zDVdCC^?`h9f!rok9|;NV1+&fJZTeUrcWs)a$HzZ5hAzKovsYm{aB89s4%>`^4ZPxoLV(v z9tpMN?Gk1+{vM5F%CdB-Y2gR7(92hTxmlf~AH{mfDBk$D5I+1wd-{YG8w|Hdu1yKN{W?UZ{6X=<>rub{S+Wp51+__KsVFNXqOzUrbVcY- zR6nv*oF=~U{E}^GF{C=QQ6ky7L^w^v)i7od84CF|tGz5-p&Ef0nN{-B)8V)?`%|jk zwHHf7DipmOdH?1(4F8EDzsS8+gt{a(i9qRScOx6S2N)((v0G)|u)ph(b-d549(@Rd zm(YpvA+ovWuh&Tu%I&yjqAYpb>vZbfD;DR2RO`+u{JLgPnP@isYR7Pkv@r`9fNl}D zcY>AKio$OJ5Gkv`*VJoO{=O*h@B9aDi?t6#9sNvO3LG4|fq6nZ zO+8LTO3@afF+HOUr|wXxR3T~NXHDW{JH_ltBK?v9LljuBd^~s9t|>nW2DS&Cr7Du zyw|+P`|9H>g1GrPD|h~6?jjvwA64VfBf+&6#7VoKa1@TcAL5D7idbW(L>7?Lmxjo<3i&fG#d&h3_1FGNS3X_=LJi7|?{`_k(i~MbTct1Qlf@@k6d--FvR{|>i z$8_u#PJM08j^E|k(h)NkJL;xB0x74yoIw@h-K3?=M1>GFjASU4@RL!P+Fa!@-f%=2 zD)ad$#PhN7o;mgHApJB6Vci9cfWj3Ans$Ukg=`fI0OuX zIfdwlLugDoE)9LQdYyOWld~mV&*GeOV^8_471cHKpIb1Nc@;&PBcShqCIh^Q@&eKr z!Xv6?v+XmeW=mf<^`<|#kMhnBi8BjI4JjYCQb#DIrqz=IqfBVlEf(wi-5i0_b&Dn_ zE#F))6-XhC^A2eXR%Y?v)vYjjr+m1Z9xcCbYespx#Ro&F%5dwcR_DMSXmk@6D~Sd% zJmXXS2T03pD!8Hw`=peo!F;S3;|ruQb2(#WYK#AJ4c{v04G!g%@QWd-biFLSO3{gQ z^1>H1PTqNWWQnbic&}DRLo$=3SMsNF5a=b7Qig0u*>5@0edD$K@_3HXv}9SK8=dY2H%vu)na|3si7Vfw#)9l)N5U=c) z4C6Kt@7jj)cV&C+b5B_9y^d&x? zCy@gcyx(pauBK6nnR8vj)EBuG*xLmV9RFHbH3^S0&aF6w8jSjw2+`ok|$svMoCk~|(! z5|m+o~=@&iih zDhi`B;VZny6;^q3e7S##81&u<4xJe3%fKYgr6)WFNLPa{jpBvGktjjx(31TTDONT zBB?>J{NtcHRqKzuCQFe>MikqPo7kd0!9qxZC*3EA&u8-5{Vcuev$}M#{-Osz1v0px zM^8xjhfo!wU&nGZB7D7vGa_&@KR_cI{*L&I>{3aG5PTLZsYRgdJ{{w`F`A7KY198E ztqke-g@P1(Bveu_v=}5{100A6v4R3n)9S4R9cS0V! z*_`6zUO44VlUO`BE#?09uvMCfX6>LMyiB`aDSw&iFrJ0_0$|XM3SJXU&bj|w2^6_% zG2{|e?u8=I4B?qjO5kWMtLDU>!TMXO_f?6hn5&Vl3$9crx-L>G9`Ww79w3Ce?3)AK zhVpW2scW2uO?9e%o8hAwO76g$OCzeU1rcL47O}75L4n*I%z-2C^0(XnCn*HhZ{Er^ zQ#M$1Z*GE=ePj@g4au%CUZCMVP9mM*Nf?&WD%J@RJf-$huaXQTHvb`vC1q^shILku zW~UO{7uv7~3yqp;O02F570TIBK@m7B30}(FcPsiISaxfoF_-02Gwzl=dwMp9p<|CS zM*4?>H4r=Bd~rH24p%NkxJJ`hmY9Ghz%AnO#nuk~F>a2?ES-re&M$%i6A2*_Ri{aS zBb&j~ixUfo7NhvZX<3pDj+Tr-@~mTlO3G`_zHMixkIez!cGLwyt*1)(tVffaN$(>i z89hFwPAr$Gst+n;U$y zG0T~W)l|_0*iaO>%tf{G6kgGU@@WMTokuDExm`Mb0iF-Hq`@{O|3Ntl>WM%u=dt^coGy5F6=p#06(fM zcokL)M}jrn9DdFBWbH~)>`u^qtEbGgtSIC~pq9SK$jwHB6$tFlt! zx_|@{w1};}L4Em4=)79A)R5SGM+p>&aF1CCxRP}|hMUYsSG@s>O$s;!v8Gq!QFymK zrN|Bi@~E#*b`D1yK9y}+wYG+j*Q1j;{guTp?9OP#IW^xusF^FiHc+h09!>d!uUvKL` zZzL+fL-y`qOHMKZ4xOs81Vt6_&mxZa!XfWaXxR9oM@(rfF+E4`#B0 z8C2os0+2VfpO7)(|0KmVgMQQ?<51erhzBfP4r$@}Or^7Sdj&;h?G9D~$KJcS{Ci?q z?L^f%O4?1f=s!|9PB%X+hLCeOK6?del3ovzHU*DWW4e{njPR&Z16XpvSB&uuW`3+m9bltkSAA{~bBfdUgwIpluLf zqN!1vP)rG>O*6w5<(st854hZKj-iY5ZfcuNF6XiTKu03npOQMXL8?d=QZ)7%U_jDB zRU`F6BhqZd*zu9?WNk}<20vmIPvdy}xxw4C5(Eb5a*Ryx#-On<1>tE1>eM3m~7W2n>giz3s-5n^6YMjb7HB8BWj&b?M7vP55cl=d7r%MjE4R=A+Re`sg zDd~ioe1H9DKOOYnN=(|UrX<2crrU=XV_9`!ghn~CP`7Qq)du}s*X9xJsDD@Oye-;R zxd&A-qf*~^>kA6Qz;yj#_cyXZOk5|sHAz(RCOqNO5S7E63AyM73xpPII5-hv3d zQ~}Jdj3D?}$bQI_pu`9hEU~8S?Z&1-PEkWh4@qa?*-_y-OUmRh=dgqneI`)D0z&3J z+6TThE{Xssde2!ySsmEg%33;pEw@wRUkXmJrWAh@Rtr)E%^yF4QI~6x zoU3R{~9cIH{|I{CDOxm8yz1^^{GP;3{KF9SWY^ zY7GA>2UbV=U~bu z2zZsl0?Sr9IDg+h%hh4vy@f4L;7!@16ty|+D-#A69~f!b7aK`@Ag8~OV=qST&0chr zg_Ts61gZ83;bR13cxU&pEGF3Eyv7ySN9Ok*Zy3QG}}w+OM`4NG3l$QOm}zAX(g zQ$epoFB!lgE>?{&GO86rgbXM&05QDN-3N;9f%uJ zmdmXQ__qL@Nl^OzaPn|aB#LUQg&pV(_zsLqC8dZKn7{WYlX*E-MvFk9i2mv~Bm%$1h3$hi|c(dM$lj5o%J*lumRYJ1zKNLiVT3Z+gECtRi;vh^{;G}>zu5nJ=&Mvo?rK62YI%~8Jnj0cN-UZ#idT5RU>NraVFNkA6tSv2og$=n zki?0_6uZKTOL2g+`cV)<*82X13x^dXgR8*(;)V*xs z>Zhu4K8X2t48C+w;jw`aUl;(0MxHPmIG{*nmy%{yQB@^G8Z&E=j64n_-2mNpk-qu< z&@~XE1fxX7`NrpA6~vFMq`;Yh2(k4J_ZBFCKjJhKA(oe!E*feRqYs~p$1tdIEhP|O z6ogqtiXBd?iXBa+5vMU6D1)5=Yh4_7wG(I?FCwXOu1BVlEH2~-04qMLKx(jE-o&Jw zO?)xgt(CQI&(9x<3Xk(*m70^|WT-x>eE1E|&I1Cww!@}U=ef4)FwU}qMpR(=zQSH& z>PM629zun-hrm%1Ibnt|k0lN6j50*ydFm+ zQ^yM~F4;r?F8{p<6e13GKnQ_x@36LA8}SN!Qzx_ z9O<1%1~13gXXOW+IY-jfX{ZIs>-wY** zP?kv*xfbL63p$(4!KOy@C;yQ+7R~SZaexFx z4@pHU=vq1*4y%_GpLO9|8eM}Q*VVXy%h?E+3CFv$(5ul@D?9m@o|~&GN#vA^U2$m) zvk*M9W!Mb@w*kFOWWLia32N#l6Bj1kp!vs6^LXG|6Tv^x0$5l^1!?FaT2GZ^2Cyk2 zQ7(xInmHA+e=E{3HMdCZXUJs1rFV$3^{y9q_k%l7b1d2{Uz)ekfFgRS-Y}=W_qj<& z>)CU7utC(~FiZ})pT0gtqlJeC%38fl{mCC?<+^=6I;lJ=(Tn=*5$Ijkc3QISPEJh8 zEM|uDlxn?jREp(#eP;i-JQhljF6%LAnrB8&e@@@TNLM1N?nn53R=<%u-B@8T)X3c= z5I{ZdyZKZ9i=TGG*fkJww&^c&fAv~3_cE5g#Lj~9DNOy*GuEsu3>I+~VLJ%b%i|AB z^+g=LXSVKtn_b5n{(bZX^Cb%46&3|3&EVN&@8&pLS{Qi0yN51pIl~auw+&K4^MFOW z4~u4MQ^uy&A-U0Rgpryl)jK*Yc2aCUA_LLa=}naw7YD#QA-5co1=1FZW1OWxv^?Hi(^EB@`+J=GkJN(44{1I%bD`_QY1&`@uAU;<^H|ArOGJeAH7IQJm}GHLI~c&h5&|&K z7z_zVSSZ_~F))?R$6)-Oy+rOHs?g5PVYzG)dVUtW+<#-pSPWW=(d78w#Sl+;BSYiq zyYF?uw9X?qI{jbf1Oa@DwTVFH??fzIeW9>aIn5=pYr;jT+hFs)urqcP)ZC*=~*J z`)H_8<>L5!dM+QY!QW+o@#eu^##GcHVaWTgr7}@5X}r8CYwW0>5mi^%>$#FNoe6`H z#dGR-FV{mbLv0Pb#*4Rw>p?)Y9NEHfjcg8buY~)jYC)HBuYNY0duJCR(+K1$OUhFj zeH==g=)+n}4?*0y;_l6qpZX!vLUN)u)DP6)VCA9kfv*|)9CdikIp!KD7694(zTtE! z|K6rkHB#3!7~iW|X5L@xoZwwg7I{f{L%`8oe1!nOHj75#1wQwY6v&Lcj z86Hpto`Px|OZWuk>EcBVhI1oI$l3n^rcnKmR(F+DVPXK$Q?>gd7ti^wz8SH(L8-h3elBvX6501R*Vb-!l=T zGX&S6R6!~&ZD0_CLF#FuOD?@GwKc&O-h!-EvaHzdqX(f<6)`-Nt8%l~L>687z_-o) zXMLNx4Y|5Iqh`DFCF@GtXd7rSP)LhOw{e(Gk$4T5nC5xR>f%Y4W}9JJznyrZH>ver z9epP_YP#aQvHo0+SFN7i3x1<4?uhfSvV2pro8Ac;ogP^)jT~;ycq&38zWdv9PxW3` zQh;+Bhf)DSWEbCUiA!rn;J!h@)me(~UeRn`ysH!9i2P?+yctj)^kX^NPE#X4% zNFWcvb~Rp`P6tj=a4&hi>MDwOR(`D#<-#dL$4fEv3^kDj>55V#g-Br6CDl|H2|qqO ztH<~}F5GM$1YhlQvK!MzK3YEk4oi)vbr+uSr#UsXQ86Ge3Vi09c?Dutgrja@EwStv zkBrRASyV~`>G|hlI9M4D(%s9Ku?PdV0K>e?XLX4#hAmS?D+NIe;n^Ram{?znVU z^nRi>3{BRV?KDyiUtw=JD;b~TlA+*IG__1>F_xt$DRx#&8^I~+$C=jOJA!8Zw>0f% z?7EjL%gF!a3Z>habESukFiaF(GS3HZ*&Px=M$jeww_fj(q&_fLS{n$LJeZR`LhxhD zWKKS4k%FEA)lwWU6+PUvi1M1_utBBoh+{t0>a z26ApIRq+BS*A{7v6-i49!NsGA2g{fEv)i-{BXUrRWz$w~R0Mg}n65+VM=59`^3wVr z81!538-hfzW3eH$eDfjmv9+iC5`#@#*m$9oQ5Ag!5A6xwH6awFgd~{Y6?n9!ABcF0RwJqeg1ruA^~u+O{d+d0*xa z2WBd-CLlDopbVDm!;BWH#`X zM~uKX7^%<>PzQSl2E&2Y?9s!c&FavwpnNxe<#?lbMNt)vz&ac?0KZAfiyxg&2$y{P z34?uTCe#yvwSY0-_EL>_v%%TVt`po;#mo*@P;3$-Zo1FN>iq}f>WX(8BD zEh_<@QbS?@MxlYgaF}TW2SZsEgf1(g64D6R=dB6nGp+e>uN!o1 zY;*UJeYnNGBd7v1o@HL`gC6V(d-bPU?FDYry3Xo4HlnwQ@j7c_p&&*~k_2l>@k(Rh z3(w7VIY`S zI1qu0jzb~0b5VfOzBj8VlOFc!@JRT{v*;msp^8u}(8G4E(Q6wsEmB|xvmI|j3}Elv zYzO}hWFm01aqddCZLeDzXys-A5lC9}>D9B&mLBCFNwW3Phc5v0%{y;OkeLLCqtm#z z6M4t3kBGNy;v@{>b$b05GtB=QOPqe@vmV|fYsAUN5Y$Bm(303LQ#>U$i!R}bv%Z8& zqH7jD^wJCxSU|^OXs@elKP#I_EJLNM?UavL_3hFzf)Sx{KD`i)x(MTm5s)84qa~$T GcK$C}BGQQf literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-300.svg b/documentation/fonts/roboto-v15-latin-300.svg new file mode 100644 index 0000000000..52b2832799 --- /dev/null +++ b/documentation/fonts/roboto-v15-latin-300.svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/roboto-v15-latin-300.ttf b/documentation/fonts/roboto-v15-latin-300.ttf new file mode 100644 index 0000000000000000000000000000000000000000..66bc5ab8e299e9948a6fce6b7867cc638bc703c7 GIT binary patch literal 32664 zcmb`w2YeL8`#(OjyLXqKyR-{Emym>#aDfm)2bCfpJz6N5<*P)k%+N* zyR;59-~H|IF6z+E`*-7l}tkOz}3 zT?xr~L5Ntp->4B$;@Zl~2^q2u*Wb$;G9YjGUln!|GAMx%dUQaa;X{ZI2}S!jCIJI- z$7D5oZXStiWeMqfC%b=MzK;C$0PO|f`lIa3KK=hr-YF20c@xLAvT?$1yFLrgpMm3w z*?A-KhemYyf{-l0CyvS;+^4ros83#|sYhZ< zzz29~z6Gf55|@7d2#9=8&li@{$P|{0PT~h>l$oE9q=RBzodY0!T0!EC(1( zrjR`_2s{T#l%LMrrQK-nY}`}h8g^T;D7`+%#bC4;7(bmZVc+ihi`0t zcjN%|M4);?FxrCdBvrRqOcv2ZsfmgfnnEpNC3}70R4wIK_%peq|E!?LCE_GlZT*ARjvZrVTm#fux?S4+>_G>lx&4fHMGa1~54FI=`yvmYZc> zWY}o2jarkc(-<*XtXZo@M0l7!I*yhdtS_9E&^j@(bpl-?m3g@|+G>rqBqrjC^QC(9 zTRo#EUlLAiqSYo8106O)u}w7Ee2SB*hl(+w$!7NRM_4QXkz2E)lHrad(XO9Ms*-$JOh`mWh|SN+JLroJ`f6SGLP`{_M1?x>5RHRq zh6f?qmkqhEQ4XapEC@!ql=~>!Xsb|ci#E!YUFXovnsM=QaVa%xrKTi@M?{3j)QpRX z)`y2hNH_@78^U8!a5*_FBDqE_aq5DD4-TH&m1X;E^v1dK)-I&I)}~$FmwEn9{=tp& z_R#@@=Qe77a^=R0K^HCr}1ft}`jh@9s$EBEgw^CBnK2z<|zpm)wsX1@`-|N>F7HsM>pi8IB?2a7<3We+c z+=##41G;q19MHLAw&K%DINM5EK56I98O@7!ZkuK3kw2z)iymY0`zO~MZ;Rd|NA-J@Bn?Y~#L0C$m9FSck@BQ6Ng-q8#9FCrC=-n~b20mka`LbqxX^1P z5sHIQjT<6y5Xq<@P#=n0<#2UVUfoo14YyoTJ(IvUkPmXQ>l#Rb(?K%heS?A4!k`<> zG4XniDbPn~jasQR-oR)>3^S+Js->chF7A?c@Wa`=wydKIx(zNmyI_3UmEpxN#;xAb zZD$i@U{JMF`>Ri%-1xoRu6;*{r3Y?q|Dn9TaKY?CrP`uT{@(d$VcYZ@a?Y_)_P5$J zr#FLR)-9d9R!SJVrGK?SE!z$p5AjV#OK+10kTg0_j7@UN87^KzQj#B-y6UoY!<8$v z(o)o&qf`;{^u0+4G0HxnVVt9IOE5%RXw8t2RCACZgolNMm<@4)FlWfk!g6m<%4*bW zOaF2cZsrNCzo9E>r`|b4C@Ck56I((O29YRL4oVnOi4S&hDI2jy+I+F~wMODuv8g%;=~%Na)F6uS zbfB_7inf-reP|PlvhUkYUtQ`XKFZB3pu?2e6EcS@-!!7tl`k8xr?esqrRvf_;t$S4 zV@$6>VCY>mU=z9E3%8hJOb~mfWMLFNqBI?&w59SG;o%UaJbf^PUPVjwmFF~=93=)| z!{%d^C6^`vqT{(R37g!!n>bQ=UUTf^mE($WPj#W4U=$93;&G2)m8t8w=oB6&7!?cs zR%n-rx*tHF)hDZ9MU+wTVE{f1T+n$uDV1?7Q&b-$wyRdHUE;ej)vGsycA})bW3up= z>%&mo?=4u8s+(hI^6WgJckVcSB7q*tcRUsU0tW`-Y0YH6vgH{6`5A2{C+GR$;eHzD zi8v4$=lL0BldB6*dUB-e2puvCG0}o(GKM7A2njXR#F5@$3S&p9;$IK$-272|c>Cr< zDSzYU4V#4R>(_0jLNDc#@)@l|t5O|JruCI8%Gdgrl)QYQJorcXn+pH1F_Z!DLEQn^ zDIh;)g6IH`P6N(uf)E|+gk+UP7gVw!vXihiVobV}*ks{gzA}P757R|08ghuWJrMf1 z6!1`rw3U5Jm*Eu79$~^GO#ga>ySq^RvSea5kIiJ1ecca?;3t`JlR`Ct0TolL7MC)5 z1GPw{N`}xs3VUyux9Gs=!IvkW`)-Pgn3Lxx@ zk$M3LtCI0@S*ONi5PDe(WdUwkMk}UwH0jpp{Lh!K+4x1NSDx9WFZZF#Aa1?2pzi zTet!g`VK~>73kRy5~77V?p_uG7Z<$CzLK-cf(u$^xl(2a$v%32)}=sRiFG18hO;`z z&0;c$+24PkZ|@*%m~0;;lun^HGL;2%NE5N7Bvx$P9oXLnO%(ws%8@L&bomNsN(F@i z;Z&oKKpX@z{-8!r+B48V2AIJrn*teLZGlEP%nhQ!D3^8}$>n%uh>}nX>@84Bh^n#U zlOvcRqG}$)H_e5c_W8*pSD$|T@XDu8O~Xyw=C4{Sujn+snebRRGgt|0=O8zJRIVRi z^5L0}*IlUE5SW~VKKSU4kO&e(`pRO(SOyC$R6)( z+|&86J=yF6-4<+=%e#(%;_#R#A~J$!U4SknDJe!0D?%DTk*a+WTLmevl?@{cXMOto z-u7L^jCx#~6Scp?3P#VKzu;gc7I8MkZIVB#`z5jBFt|go> zk>mhpzTmnDXr}~HBv(wV#;^v93*HcZ%R6xw26TmKxa0K6NV1AA)5EqZ;KC}53-Pl* ztxB&d!cfm47ps(Jm<%pmg;j=Ha%0gJ_8RZOF4Y)~S+3k}iHZym^z@blleUlZ#fZ2K8h*{v$pGCd{NF=_yx;jbp%8V7#TG z+#eY5*Dw%*gAj%RF@&)l^N~Wlh~7(Qz#);{rWz=RTVBjGXT)O)Hxf%sYH~#q3p>nd zvBDA?(fHHBg`Z{*K0E353&o~vji6PaJ&els{Nt4luby}CBVj|&0Ywj{EqFQ^H1uPx zGD;bdEzzix^M^IP_n#m3Z2i{ZAQPZ%6QopF;~~Ei==2cBb8#ikGc9ky`FNc9L0k#S zV(|e+X+MZFq z{wjyTTS$Hq&r1yeZ;}cq_c0it9!#w>Fi#Td)C)?=V5BMHJN7zao05IPB5EyAru9*# z76QtSj=#lLpoU0LLkrngr3PQ-hp3P7(n>B@t*py}VFnnC6X+th&O}cdN=^Y6<5HCR zaCqga(u8)Q`9l3Obt+69oxeyJEqt?W*V(=^hfc2=AD5UI7hjbw9<|_P`#ufF&7V1P z)9LfOa*vJgbwH6d*Bx*VRqE+~)XgEa$lIh)uJ}$9)^YH0W58Y2YD-q_B~7Qe{ZU5C zhGeE-WFy}|?=n`c>-MeTvLqYja)QfAs|wzAAEB#_Tu10?5bUD3c;;fHHWbi5v#4hb zoEkzb(UKs9NbJDOIH95t8WK`5xrP)%nGQ$|Wh^e}ztQ#GJ*>~zu-s4Q%nAt}eLSzt zh&IW7XtR`<_;zr4{gzv^4|Gb4(A`+_c^A6|na;G<0ZA|a+-T=I8xD=kAK z=7q^^3vBXlQEKV3og&E4F{MSGlaSeRg!{ z){136pYYi&;i!Gr`uWpW4-jWhoimm3?_}toAqKS|~o;7BmRC1ivq9WSN){Aj~JGw2M*md7+WqOh8>^30PT zPJVXEOwauIVgs#w{MhF-VWa(9I$XJ_ypl_l>xU0xE5G#;1z_1tbmpv>xz!S|4} zl2P_FB|YtCMxG{EXlfDf*t>|qC8NZtC4UOrg-`5zK%4{Zw>2nOe9{*Zhg1I>`NGKx zh0M`?4Fpfkfrr9BWseoVv1b&B(@Op$Y!$ZI)7j%LpwAzGUao;&qDgnzKc=FKUc9uk zMlW)($h9-nuQ%Cv*rU<@A{)?Xs~5?~GFqw#T7qh3q!b5{#Au1jCj@brJ$0?I@@)G~ z<R#e6a!tQQan`px4hp3hI`r-V#&B{IH?_FCQ zb81);XnwYay=Qz3+rME9y}VP6o83s}B1X?y8zRQ)i_vwDC-(&zIzerwWa(L9$%%pj zv2h_rubIwfA12IW&%cJBws^h>%bz#w6{FK0$=gb%Z3_xe6?Zjp*2qW{)ywJ zwd@^!kW*G-wlfoQ%?D>QXTv@NlT?0o7L@$jI$mN0p;qglQ8sUSb!nF(b zzW~EC(PYmrx#@&J1Oz%#=?#z8p5{T%N!4Q+^(NDr!j+N(h1p;e=P2uwu^U7(-he1C zlxu9u2g3(urjOPiS8SgWuBQ#^#*c53s{0Db=vOH8Nhr3on@~z9v#G$({-Brrp&!QW zI`edvy>t%`Luurg0a=|9Oz^*T8EmJ?nFDi&$!3PeAhGmT^IEXG@6LfrL#K1R< zU?@W~1?jygC^=GCC^j1_-Fp?Sv%RuN-$JgA11B?kI~bJLOqRIMX_Jh$P^Vn=;%FCE zz{(y`a0oCrD}%V0K#gY7G^Apbgh(Kd)WE)Gu^E%}bhe^wcPMA(Qh~OkbdFf?>y?YY zJ^$j%$HL6>O7SL|M{6xTOOrQmP;Q=om2 zkrcu?ZtaQ55;@94LjjWpoq=-Wj44!ZorTAHvC zel5Q6+p{lY8yCcit&o>8sZ|prvKS*`Ak|cn;ALNE(vQtGc+j=P*sC=AOGxqZi@q88>Yn(dB>vFFO9#boSdS{8N4SRAb9J>x zUJUD{N?ebn&M-=>Ih9-M$--bCUwUD>{lO^vgK7IKRFFzuwnLkgAP}#I{=f`{Q_6d_ z?j=IKSW;6|oS3z^luSiGMk{)C6UaA^6C4UBDDehJ`(%1LF_qRIOl#LlqK5Ix>`}_W z*ow-YQOcb0bmoJbQuS9?zIiCczicNBU$EfSTmT4IQ-KKx5?HlP+tJH$@UlBxvX_mM zD_Bn`S3-JqgUNLUtS>i403}zhEbv5=h2eC?B1|v*wpdA5IxnQZE9Dl6?+V%W8us!+ zp?!+*K*01rg{MuVJ%GqHHeL{Ujg1Bo=#BxQK94EAWT78DHqZWhf&Gt#!cwtx$q4%$ zp`tj4wT~PJX&Bn~B~8?^_i9q3W)D)9CBnrCq7gb5>B+u21Ak;H^gQPBQ!L@n#L2H7 ziM>lc5$|PZ_mCbBOvlqUD(C1g`Xca7G@nXBaMY7YJOgzAABvLMy!4l=SCxabrM~n( zVOa*4_mm_#CW|^iEkfh4Ie1TAL7)ZhW70^W_eh=XpKGX1@YGiPsfetgHpP^hC-lrM z@iez#8Cp_cHqchefos?FMSs7WrGJWc+6cFV5h%zLl^cbK6~`ols!E4Ae_uSK%C zN>x;~ncX_k43TU`n8=M#&CGH!zF_7CO#t860<8P30gVEL9%#kGSC&J~0jz06z}zk~ zQcC0)k8W8I2Z1W(f;-t6;EU%$AG0aU9L~djF?v4z+B`(p=w#li+at@$&@ZOVWC z(Sa{Ti{g`itm;?$E=*7E|6azPscQ}ujF?)~l}Hc z87pE|H5j<=FNdmgUZJX$;-iufwEqJs6=IGJ4qk6W``xq5!Ugfs( zO8n~Qp?ON=rN<%CnQS>F&)CGKJ6Mdk4l{<`;TjfQ3oS+} z5sTZzq=0`x<47`K(-7#5#q|5WecP8cspngxUcW(9P!#cI-^p8KQ~!X1q0{=7RN}Ov zv=^@f<18y?vRpB~62my6vfA8&7m%DCH6Xbc6zuE^7g|ha>O>ZWl7szuFbY1A+m4jO z`86h`Jf>N|u%1(#DmA4#eQ{(pun<`aBP=y>2889Lth>YYLmr^6FyqHO&osb z=tD+h-K(q_%!o{(m2InD-TCrGX2*9|?Oi=%9ZhiPt~@(K|H{q-tx?SL6Y&zbBotBf z0PZglTgV%@L$fP50dhv?xhmQBEW#Sm2Pg~I1ha(AAF);pB9X9pck$4ni(v-0TC z;^aO#r%u`H3THon4CWV@~|Z8pCkz(Qu%dMSNH|EwW+p6S#nd z<4cNVy$`pNI2Hk$8eCzfGOWMVGxPI@(lyJJ6#B<}!7@eZrza(q$I@j=ZTmbxvIFB0 z4M@DBPZ}iJ063#hz%i=gE;uLpDd46kGFsO0IJk;U-VF`%e+x0~iY9w`pTc1Wglnq5 zJPyjU4pLvH)MY*2uxSuCf7wbiOUDcnjN(5m*a9-tBL&2R9;vTXfBzs#n%4b%B<*g< zrv~y?-mzyyeASLDtNzciROeKQ!-v42T2VM4)S0jsqW$a13g)Y zLB_R*6a~nFVOzZ;OBJFR4|&9GydczY?P)v!mNFj35z_V`Pzkg!vyq5L<{lG4;a$hv zopX~0jJY%SYvqsp^BXsu@4n^zbr*!hRWD~NU%o80`qd0-ed+u8KmS}Z7k)AH)kOy5 zN~O0Xa2U&yL2@XcSFkxPAcjRRzVo6KE_^k4>tPEqQ&aW};8yRyY@yd;P_Tu7*km)h zCyK$)|*_Vw|I^BrVM#sE~VOYrBq9U_2$284^9(WZ(L)c6FGJJsT*&b!yOXRYz}CN z7!yY3b=7e4_AvdB{83+j`f$wlrC;|>Tsv^t4z3WkE_xX!#I0bO;Oes@LP(#1&zux3 zEJ81W5To)BW`^1uWT2PuaoMFnxM0wx9We^bFa;4a`rzV*VcIM#h^snerDgO;q1V+K z<;3fTaii^}q`JFK1hS`R!sc0pr^m85O0X2H$}SSh@;FVPFE{GI{~nWLaH!mY zBsq%Lv>}Da)8I$yZADkgmHTVke6{t!?fkW4M$I2h>#c5mS3dS6 z->`AoxD_-sBey}?u=Yh;_buo(eqhJ;87(`G>Ns=L$8!db9K`x$c03hY=+a>S^pb-- z>>utpYhrE`=FF zCffP_{kK||e@AC+UohnCSzVg)q_5rDHQleTY5r{CYF`@8pj-~jUx4T^l6Ep88ZOLx znK>LV4N5Hp!X=refn*ZM^Ktwz7;{Hc)K%>WtX6Uj34-Dx^ukgp6J9_>TrDhetc$ z0$o#)nw=&SKQ;cNZvKb(4}DH6&Qm_16XqfZ^3q&7Uio0IFqwXA|HXcbUQlWY@dB2U zP!grI5^aFU2(1ECyXeGgY&dCXfN8Q?Cc&z!>PZ^FiUH&iA8&?f%gm8KX#I&wjmV5o zsv->|Jufar$)3DRocAiI_UWL0`Yt)hp9K_MfR`PB!aGW&J<&~!u1EcEqeM@H<0ZR= z1@9X=WHEXe@e`V6LpcFM{W-7nyKV{?N3s`$OVGVS`>Tk6nr@-XT z?OK!7(-+i*uq8H7BDF$OYNj%HVXy*7V{&*j;ME&^|BycW>_zFFTYvg#$2R3?ds^|n zy-AZ-H)#FVX~{o)@~!eJTlweikq0&K><{Qx=|?dXc&aUjIG-I1JQX7+&lX;63-`>0 zWqEquQY?UpFlHrJgZr-!H>jZ(HkVr~Mf!2;#COLXOs|pAFL%SVmQ%aG(>paiTPRs_ zB6WS`QA6mGV-4SHlsrBUdU%fVA*~J_^1An+S@T|8!$~C^jvI1`4KCwdmAb%6a%fB_ z^Bh>3^Pa(m!kMb~Ajq$N(q%@&P>273{CJ1I_=7HvSV)>&COU@G2fQa|5XVb|xEa%( zv18yXD@=SH44m9Dt}D)H2#i*?2!sVhLexbfo*|K@1>1dx`&?d}fB5>fPx4ou(`zA- z*~4a^GCuslOw0dV@g9va-??qPy2=$9p`-^Qt6=_SOz=H=$oKBygVzd{P8_$`m!=C-l_z_;W@iWXZ22CI$fnWfez~@H z`r^GSm3!G3|2)SJx?a+6h^kc~jbyQE0>*b6c>H`864 zcXZx4Y3#<%ul}C+plIU#qRIChFi)3ZaOFO2us1Mkt~{uGB9ZQj)=y7&D~yffa+?SNs?sLKI_+c;tjn5~U#Ki@<#^ zx_Q1*j}BIP(hW+_0;MlqgEB~|KVP^fT(z4rE~P6+X_NFz8NxG+#afr_GC(RYONLPx z*9hnc0`_86a2ad@W{I!O&(BwW7sV30cux2ecV{UksTU};7HNu{*VtywSw~}ywubP_ z+2RQ_6$_livZflv^5s{JJcC-Y7}<#3f}mM2UufYG1WQ%xryAuNuJM*Dq}FggqH-}F zBqz8oamnP$dBx;js+K$KG$DBoESvCiFW`zWmlr@lEFHxRClnFoc&S%GUbj9axAHz~ zGA;kg-gQTtu2a_R$rzc_xjPkZ-2W&4#QM#jG+e&+)UkB?fZS2d*I(>DWXiPN^rQZ> zElG0*Z8}lA&ag|us*h$5ZPT-D?*a2O`_Hvl=j5(G`QY-xk7o`~>)ARndBD79fg>_H z^ln|dY~b+DeMi*>Cg`#nWB=Rs)$r8C-?K%vdSOJLDe)z5FjHe`E&=NF4u8D)1 z%m)@~a!wVj`-6oF0%i_;5^A#BeXRS5kI@Gw0(cC=lT=~lhr0+@j#L94HIe@4T5x7d zz}&3sh!0~Fk8?(`k>b%obtGfMSgvD5wt%Q&3{oErYIXw8{z8tC)Mt}&{o_Nl%9egN zbBf02=H!)pzLCal+e)LiZc*-T-Kl)DuG10PiWbq9NA@cR&YV^b929yj-*Ejv*F87Z zFTcNGZntS0b4HD|DVO%kGk z{GbVPF!zHPvuau1njny+IL`avZSE$>LIk(={3U)GYCpn=urWGzMt;i|ED@^=R_^fJj?#TXw#y05Gv-!LFtjY7IDW|)4X z#m3@lSp6%4f5A-L3fjc+3*=uRog{7(eUQ}yibWUs0$B#EXYv%xA2u1aE#KZ+OrVo! z*&M8g%>o_%4*UfIgEdG!vO=y~zX2nqx<)1n@mq@jTAcLAHG)QuuJD=3MKw%ElyV)( z<<(rY@>V%Y-HQT+Mj4|(p~>ZWoF&=nk$@}5l}lz1FK@IZ7TcnXay=KtGLGXpFpSEg zDhjEf!6-Kg>L3+)PA3FUScEw|23jaCCZ5?tkR>r$D!H{fa!@&dtnvc~J8gxV(Uw+3 zX3X84+myRo=#{=yShQyDyS06Mvw~W6J$j)1z%Ds^gj*WXomIA70nwe^r(D{*m!`-z znzVnfa^*K=tJu6?+|8 zHW)tkzQP(^S|28N#OuN+jD#-&!U8M`z^X7lCXwiUo($n8*+7*+@$PtIH z@JRXtvM(5O5t`y~`PfhnU>*by+!nkI6PWO^-I)xsF31_oU^5AvT^Tc& zslmatZ^<$79kD@{(vlv`q6c3EvUPN=g%5?5y2H@oon#*#Syq*K5X4@PMsqwuXo3uk za3eq{mPNuN-$5{xUFT*0Am(z&Vf-4$I97_P%Pp|3i)8=@3l?Fe{WNWy(>|?B&w*=7 z=8Z~yKo1HZwxV?hwP@5Pqebq#!mP}(sb2!V=E6K-HsFgRBjhMPfI@AW(3~t!`CP*JGc)bsP z8mN1r{LJWl1CQs`MQpdf9OMz({dYK5^EE5NU}J zfIFh7#Ra$>r%fWrl&7e$ECM7f8T6WHVG*!E*AeFUR3eF2MPcfn0h`y%Fk}qvl2NX4 z_|opVZQn|*o8U76PaiL=rp3B_h$X#gO_q!CB=>4fPwI>@8L&)~7Uw*oO@f5g!m?&v z-)Ayqx*&@|T*H(`M!cUotBi>jZM~|dQE-XHqu8=}lS@o8brR`1a#>wYqIWNehYvh` z@4`iUZ3`F4xkI!24IgoCxRm?h@#AZHe)#FJwYp)`rsVe;K6S=O0xde6Y=H2wfsa>) zuoXlrX?vocC%VzPJ;;39;P{WQ9NSeig7{Da*(`j9Q8B86%KbbLOHy^Tg$2>NRs5b+ ze(-x&5@F(es3S;p$HLV$S?d24RNN-T$ay z)Y0+-Cr_L+XXKXC=XMXiFui$RQ<|n(zIcrYP+kE%7>t9nxOjbW6k-H~b;dFays}N^?m&GEo#VgQRY!zpy z1xr~B6-us{?7MzkC=L~S+gqB2HujH83!lE+Ed<8UsR|O1v+Uny**DM+#0KD=9;Cl` zM*IS@r8axR2=co*IU|i-5_#<1&zGH$sl?<1^RjitvVjL1nb+kHpCXk~{FzxcDeXbC zlGwqV5Y^Pai$_i!WKIHTEY^QACKgyysnyV~^FEP%sTY9Pcj<2JsjLZQ^%?-i~ z7Tz&|-#8~`y;gX+kXhQu4dEERvBel|W#H?BZe0GHt+dfrku@a8xz2%7cxEzEWK!dJ zb~5HGQXy$Vbw)Fr#t=-gHRCDbQCgPrCsQ-CXC6dG?Y8@i-yg7K8Z8MJE98$pe(^VP zOgsAr?|-P}EcaP=>k#d@h^5xf+5XFZ<)<~us}IG;lUe4n{@T2fn2tPk89ebZy#9AV zNr9Lz=pq}{bu32rIusC}52l)jcHFx>vL@;psMJn5uzQ$u%uAWl5!OL@7w3?q>(!%rX80dd+A-h z526%pxs`);EDc*O>q5629nRM%B8cQ(^UWubot|e9UKCLth1miu zD#`8MY62LR+dCo+&Og56!{cR|m+EjlEw8-AB%`#Rd}t9$Vpjj z{FalNt;LL{>p5wSzvV-dM|>7qJJ8e@?>}dDrfbFW+*AwHs|f{&!g@|o%VB}+yj(`D zRiAHc^{sNW3q_2t<6TE`Wwi=~f;%w54Amr86(q^nYJ=&J%%kP9)k?KE%|mA{o0^v4 z%#x7law*MB&B`zLoV)1V3CCv6%1^TBa@E7d+ox=iWcy)jJ~J20%z5OMjbZ53ARW7>2HXsLp}3NpzOu%C@kje-s%7T1&!&u^@2V!6UC*`%WCNxQ#|Wu{^eNZKiA?HNvocPA zyp7^gw~BK_ys`&eSq$YQHklyD^NlT@1uU3^^$4#b2vn(vE z%pCwOc=h42aCn*It(B62OoL(l+xG0=GkffvIl0}_diLu-Xmsn{jjzuia~ z*QE3M^E~w+Y2BrFA1|`3Dw$Dv{l(_LE+6!11F>|~R~P*U9BfqbIQpMUpuV-pLNFj@ zB^c2Hi{?kWc0tEbR7B#7rHy(>mmEwPqQ$ zW^A!sS=|E%d5C+=Q(0Zu;=V&ICdIf=*U~oC*?+D8JQH=I^x>L(?>Xl7ta*1D*8gh! z=^yRVnH5)u*PQxd#=W`?ZXN{8rQ`s!HK z6+x^#j-%$8Hxkp3XU-xxK`sZ85mlJ$$mL=&vFHliL(q>L+AeL_pe=*iyj`PulV;ZH z@92iN8#Jh0T5fJyjkn)QPIYCR%sY(3?m8-p_yWD%^ zpoX=@?)lMGqTjB~e7Lp39%-f+h868=Z;{rQ8?$rcg+021IM))qMrS`r1!tJIcmu#ga@W$EuIvBOU0cFxeV5mflHiafXqG1D-TQq*4P*o|U z1);Qn-Pea~pucPPA-_Px>%Ev?#qSHpo%AA&S8nCdFy*OeQ;I^dfPV^|g*zLPF=Cpo z3?!K^Tuv+~!7ZtHYu=2O!r7K%_>1m<+j_!cyt`^Uyz0-pTxU|wddCc4QabU=@IUvm4VbT@9JQ<*| zZ*X{paBFy@aH)q!u$PHNw+gU@bK3*HbTnfkH7}hDI3lL7JZ}^uaiw}gIfPrp>PnAW zXGUiEjTrWi^1XNhA6ovOepCI1e`Z5`ty3!z;P$4ho zmxo<9vHous_K1(bUH|P(Y2qUm>lOB7fi78&&N}3`hhg4pn(V{#9*~=Ei*RZTt{yd2 z?6o+;Yjq1xJJO6?FMmRFp_m8z|Hy#H`!qv=CWH_@GvH0(EHBK0Db|Pk_aEIkZC=>e z@qgLvLX-S_WWf*KeZ1a)6vdH;EO=%Y@Qi(N4|-(A8!STk3QvzHhSn2q4`>HGeN6*i zqYF-2e6EUF3YdNVZ-EUK{b!WNQw7y*eY_P5Jz!c5*{@>i;=Tihu%!L`ef#LH6@~wd z*3B!g=Ix^cvo`H+@Ujx%9uMG)#RzbnGgQf=S_oBgNO*=4bIT+hU+Bx;%;q9j&o{Gq zhWvQI4^ez@%SyyTBS^--qxjkbv_bQT;>!YIQy!2doR43Nrv1|fH(7z$_*i=A*`Fr%67d=?56(a?C+uT)rh*Oe5qI_sGdap? z9FD+^_I{F3*u~Bllwj|x0|(r1DX}P*Xz&yMniAy!-gvM#OZd?Bwi02l{bSeLO6bI7ojMziond?bOpW1xGbg00DSo@|$Xpq{rR0U3dues$JdH_B`^1ySA(C zV6WO{SM3Gl5^bVE;%b|{yV(s1an;V@ZAYjh;%YnW4qRCtu~z#z)Kz~zZ9^M_!}*|j z)-R>jpR6=t@4!L*c#OM&jG+%4e*s@u04lw0NWuBaD!zz=zNJCw3jAsqc)j*Wy6p|M zwLYn}Q(bM(BOkw^w$X_JwYJ_>JBQbH_Q(ZE_#K-??Ga14?#>}kR3Ue4aktK=dDuwn zoULB~7nb&@J(9F_*VZOHY_B=;VcWqbOKF->|pmuWugIukh!)rSs zchwHOgNb`ScC4o_42&{raL5?I^F>4P0%{!|4CJcC=UR7+38D#7^63kht7!i&yOcSM40$wi7EZxa05G zl2xqmRr{QC>p1(_(9K<3E3wHfECZOiwMWvTH`Gq>s{N;{?Rj`F`oG(*=2iQStM&pi7xwq-kR*E5KJBWV z!`pUZ#RYfr9a|$6E4-ijTCV!@X%Mnu-cX-~d?AT?DoxmmT-0w4n3;s?!X*@6Ny_on z!ig{NvIeDVX@y30uh$+)hrgk=M$u|*hA*}4d1TTXYFBh(K&{O%pw`aewVge3K~njS zErs{U@c{5v*F8f0*(&6Y0>=yH;b7IgCYRRY$}?9TJsBCpYv5gvnk+)#l`6W&u2$wb zlF^EDl(=+ZcC03gK8GwSt2^wfox^M6&DVIQTLSSFle*ie^&W?80h!6XZV&Cj+BCcS zEk*GW=%Dt4TybNG>l#*DlPSQGSM8BB{|&W0#tXIC2&iq(Bh%kdJH`tV2De&!0h#&+ zxIIP}ZL{%GYv=H`o#W+#yV4z`_Hhd2t4Mf1Go1bW(hUob+_Qd$IAM9c_DDL`UE8(R zM3Yx)ZPrhb3fz}o=}0xku{1r80o9%Kz#9dtHWADj|AJNUX$ zGS)NpGLAB?FrGBtGrls7G2KFD;LMO;Lf;NO9;Od#7&bHPi?E-=yM=EHe;Lsy;*?o5 z=b2AL>LY7K&W^lZ%3P{#skx;#m3mM*wsgfdS~+`p-|}(g zZYRANWO zo{Vb{w>IvR_{Q-+R5Dd+Q)ynM<&`#8I#KC%rGF~xDw`_5Q+Yt;$(7et-dFi-mF87? zR5?>Mx@ub0bqPTUo$&3Ea5~{m!XJr#iI&7ViR}}6B#ua&owyqHc8?1Y*r>%FaeiiCq}56LlP)HGpY*c2sd}aAjjMO5js;$P1O-A$$JDFSE4coDNGTsS!sOI*6Q)!M zDZbry-peTa4d2o}!*S?~f#)B*?xerEhbDe^mM_SMLTmhIkFBJWG?)z6{Y>(trzDql zC!>YAWR9?sSj0?HPMShm(HW$^(2`WAKa&r{L{c90^HF4!fhc`Z-a*-hG6|&(N)AdU z-9siIAE&-##<@JQM2aPa;s(;u(3T99VEs!!kwdx~WU{USIV8P2JmMgY=A4FeH!$(hnq6 zxg8lx; zEV+pH(q3~c7oYI`9R@R5DrJ&YQUU48?;AyOg}pcqB$>iOV#c-Q;w=(~dFn>uLy{z3 zCQ;aS5jMfAIYne_eRX58Zsio2BXz_7Iao+~=*|P@XGsD*O4dqWlPqy4nXk_z?~Aj@ zYH>3ukb00peGbm&kQ`Buv1&j%3J;Oz_Yk>sjgfCQ0+~3MNeB8D*@$uNi}T~f6=b@& z4&!-=4A%#c{`y*El(>te8(I*Pl!Rw8{C!G3mTY91{uIW3E5>CGc^7SENaM*`dX8)} zj3K#({-mckgsc+^$VjmOnV7Z6T73c;M{`MEl!mkqsVwv-{e*#}iO?SVOA*oR1Dy0B zeZ-}tAz-NoJav#3kj+wSl7v1t623<)`Fp_sJ>dVI)MK>B=t|d(SU5c}ns}`+`rx#| z=)+k+8-XYn1dBsK`9-4();F&LnqYLH6;2au+}~6f9e@Tr3q9v}0DJ%^j%z5NyT+f< zfM>zjv+>so8+&{?zZ!BC{2wCU)R$38Q{U1~nT$)$&s`!)Lumq}HPNlmCF7O~>Q?-c zWHI)2vM~1U6F)~gVwr$l3%k2{T3U0`7;$X7p1=jlGOQ5rPzoCb7H(Zc2^b9Qc8YS} z*GEEQ0{$z24$hA#N;*LlB%SLc2-uZ;^!Vs>dcC02>-Ygb^1-iw_0tmW#s|Lw4t>;p zQ70KBToOdwr8DRReylT~vMAyro+(KNg8^@1M>G5;!N*4uCB1>c!#`@nY!|IKKdg0B z5VT_knES)7xQ`@s4iQwfl*JzFGu!&1`@M+-j}8B83iyzq8wq0W~qD z@gDYJ*OED4LiCFjG7sBt)WW!9w!l3rWDOzFA!;FOZ6u+U&9`0pUP|X>9HNe?wkGBF z`ii}JCfaC1R8-S}O>DGxqD@G!(JGcio0t&Q%qGS*doMjEBWhOEtQP%eMKz1c?$h5U z#qupKWX{U4M%hS*^nv*8m~OE(&M4#B&CJNCn`o0*Gq?k_XJw#)9A^XA@>5oOqD`03 zD#|9twM%cGZYye1#@4t=Mj4AGs;TWnyL8)$CS@!c8HqN%3r4^?ZeXMets%jtuaao< zQCsMcZfjh|Mlxp2V(oQEkFnT_X3Z)y3q8<|Pk0|6qU7}xjXh5Q15FRnqIPHsn;1(O zb|S_SV*!L2O%iRs39UM$HwB0mfasTCi*K4}^G~o zjE?C@W)&X|$tYus0kBas4jF+r=Q-BPzyw?48Hb`s*Yv%WNRu*$NhR@76PypIYC|TO zO#Owb6giss{Wzd*QswfPm92_^TwX@g8s)J2u`qr>yV`tD9M!v3ExspB?%%d9-_td( ztKRal{)5ro>&CD<46b{9+P_^h*38cN*0EMBZDf0Xu6q7jdqfTlGyoiR6l9x;4wu`R z=m@!p{R}bDk#cZ3oEuz@j>KxoY`lH1H|Y%d(3T7WSDeGPH{=l^VM=cj2J6%4s6zsk zWh6wj5PwV-g-LUX5n3%wA4$UXCx}t#MnViorp7($$AC5=`6XY%-yP`O7vKR!I`>8F zF&)9`NFMt-WP`;y&+BpiJ?DN9R&?ax2sSRt2$U$y&kQ630RIS_&&1wH%)s`+y2;Ks z8iw5Hfv7bI^=cryBMIN?_@7F2Hq>Ty-TQb0vFp6xu`d$o z{mfy5Na=t7qCRVb-6>!z;Qaw{I9kl_Zc3xYP2wh6iPjZ&h=;^t@eFND6+se<1wSE7 zs3O!CdJ03tuY^g$49O^LKzSj-$&`#@w3sACh%HgNqm5Cl9o)ae<9i61#_G2iSJdxU z>fNvX;$Pzdrlx>NkIdu%L|tM@Jk}gm1`S&=y2%*L6j&CuF=q7;QEZ5;&K9I4#v%>x zQhE;~(V3)!F1x{d?*$3I7?OJ#G_$9s{s@trz4%{G`#iMu=i~ypNG>7Y!BZ>WfnK4c zw&Nz?0Y~78A$Vp4^f`kv)DZ=kjE)HW2agC6>*!3XDSrd9Fw)d<4{zvxLf%Dbfzk@4 z14<{9&W<0Ei}x7sfO|xGpv=X&CAfb%%67D|17#=5E|lFUdr(fIy;CTsQO=;8MLCCZ z9`{~AxrlNJ8s#RQcMIhkl-nqG@Z7s7lyrlQ#C|t{9@4?N6CG>8 z;k6w%NL^S_^&C%01IJzRIf{g{Hk|zhXNqyA7*s3)Go2j=aQ|77ryL@Mj!I~u4VmUZ z1jn%+_XGkPZ(%mAGi@9$ zGoxb)C}9dla|%Xt3h&cX^yw-3^b~!1iatF>pPmAO){stVDD6->IEqLY#{#tPkCuzj zauHfCLd!*Hxrkv1S40xyIEl9%KLfVE#Ze&W=q4giehGU7g=ecEVzoC84Dqi~xPH$MfF1rr|aF-rm0%`6K8EeE>0R4nO zn#aPzkzf_qL=?F;teOzmK+Tb>-vZyV&=#$cfzlq9VtLp%o$*HNuK30vKG75Z9cvc8 z@z8wBVJB^a1yc<+%-5*Pte38MLNb36`5_EoLeD#1J5wnZc z@b!UhV+AzKruKssT?6Nn@znvwnt;DHz5$p6u7jF&@x}kf#y1F=wDrN!4e&Lh9}U4B zP4NvuhHEqQzd62PyjS78R}tK5i-6tM0XbBu=&k{4W{$N|XsIS2E3Ce9jTQdiCca@Dk0vJ`83uje6IR79!&*4U zkq>Ot6r4%LH-clzmt)G0W6GanDu82(*^>=`JBF!HjwulsYJonq!dK$h(Q)kPId*jT zzuuj2z6-tv%sOQN1iESGcBE&rRVenUTBxIWRy#=!ntd;X3u0RX@__JW8sja;1x0RWi) ze2V`8ERQPP)ZWbITf6`E@qVMr>4~7q%)se87MA7P1NXmx2B4T(dzgM}0ssKpJ^*0& zSL_DE#oXA&9RLs_{q`7s;{*cmv}bN&VEnCxe{;6~@XTBVYW^*LYkl9G;2WerDj-eG zZJhs$-2nhVWxw-tbwF2}v9>e%_K7ll=h6L*9vueZzcvQ$-?@n0e8&;~2QUOMZCe8y z697OQ>6_<&`!JDp=%noJoSeV4x^E5TKi`)Pz}Vi=a=^giWgr~!P!Ja$> zLj1%JzUZ&@7il$yN7=mRozC`M8v^gi&h**K$`}@t}p0KZ)R_~kc z=u01P+<3lUW6EEUIUkq=>Brjpn^&7x(N2!tUfsO9DQ*)UC5xA@x+z&_BbzX`Jz7US z+gA3yC%&7AoxQ1kH-kMlHMgZNB;CUeB39nYTQx6FkNFRBA90o7@R=J~37->Y7~$G_49zsmHI@)|VBjHw zpW+Z0ESdDBLsMz2XI!97nl_fAX!Q^8;{(~imv(g${_eNs@qvejVCp1G_1uV1yTq>q znnSk(4G+28Gz{bRdv%%Ah73VQi@fl68S$pGRiecI3-t-54au@_^ILtz>E>a znmtpGC~ez3vu2+>!)2@G+N6gDK{hEUo&J4I?iuWJWnK9b+QHmol}D(p{K!eebA@h* zF!~cq@`?#9j|7VpN@g89;GS&ec3{IE?_<7hwPVa@iEed~XLD@bxTV8$y-mLXBUW30 z)(w$8^)uoxBbGm0ZyhRsB&{0vv02R_?}&`1zCe>&ZX zdboza@iL!;ujrn)j(Gy=rdJH zdPh7a_yg8Lx$fEz;NCmQB|`nFmzen#gZtKw^>Vwe<^&EE&i@ z5N{n!d+;fuYp!6e%rk;lQrvu4B+m8}K)SIYolm*yCLZsaR_dLRE-3Q zd~p(eA!<0>57B6k0VScR8x3ObWCW1ZC_*XmkCXwkX3T!g1j&T4LXl`8$qGI40dL9R z=N9N&yxo6bz7n{+X!~_?B6Ew36F`wR>7gV?xPl93W!GXy8RPtm8xCnsK2~CXMG^^= zxcG<$l5;)MD)dc&JBVz=Fo=*KlCU16+i@3!H9?y&h*$rvh~ONhtsl#{umHL|&gI~# zL?&$}eQ7N9Ut4HCy+6K>vXQ0LWeX?r@2|*Y#6h@D(CY%hg6B5$u1HUrGRMZ)){@IVxHw@M z4ZpOP;zE2w@IxJNr#${Tx(U@sxD=8UH(nGkM&#MKBH#eNbM~18i?&q*gv>t_wQS~g zz*`NE5Bm(#yt_|?f9VXS)z*ai85;1 z(`n9!%+BMr6YydRz(A7Z89?us4}+860!kUeOs9-M5Dk#6PWn6#kga#D?sswKi=NT> z4KVrlF?d4tZYjub(@tPW3ptra#dArWRL`t=L|eG;;MPvZ8ja0JW|1EyE+dX%-bx=w zqk_Sdp!U%Q3=&ph%F1T?aDoHJw1TsU?NEM@T-*P-N^tvvT(z$h`7ROw)BtmUCP4qY zlFA3j0c-)$fU)mcAMjrlf%>TrKn2YLAboKH;6KvJVPr^ zH`k1MT=d(EiGO1bA0YK%NEcFg`z1^_w`}1}_|Cn)!ywE;O|_smI0(NW+oU+#uulCu z=T0ZHiIteTzYL_f4kkAccc}jSb@tA#oa2R^r@P@^#3{Zf+{&m5J+OA;_+vyuvg zjNuK+H&di1Nzg86@FGFw2T`{PU;OU|f&f4P&;Zb{F94!DNRu~|0IE3ZV^&5tHn^JD1-$e{H_c;q)laLAOm*UURIljz5=|vk+ZQua z#6P0b+bCW_s+Zx= z!r+XA#sZ|EWQEX*%gac9K($vTu1N1IePT)IPHpVtsA}vSE8-byCjGD~`YUdnCkVJI zsZY@u&X1lsfu+}%MhYvc!`i~dFg9<@9L*Rt?YQvCl)MM$LLrKV<;s}fLvlaQR$y45 z%t?$CQjpiP+iz{GmdtVDQejf`XycmJh)FD$0C2D&kSF4F{sJ#1kQDWt4n#gNN@^#h zo@L?&)$8PjtZQ`E|5)&e>-F6Oc~+y&82Mh!cP-}X0Ean2xV#X}eW<`ybo4vxXx@WkNiwkZ^UiQ7uv53#nQb@n{T z0eP?N6QVfD5qy`SEWsC5n5d3GE`@$Iqqvy0ZCT*=%$;j|u6M57>~kfP*w%Q3P?5$@ zkH#iNl3e>FlGwfLBh3@kn9d z287;~q>FE6v&m;5d=#)3e*72_?(?jpNPjXA%zP~TMOM?d$8=Jom)YzdQLdJ|fp(OU zhQ>%^eWmuDk8Ahs-+1$zS|B8ol<%Ul${^ ziw>A?tw%3{%+(@6)4;eFeR2?%OM+?|)s32?m1Ov2T+YY~)bWzwf9gwCYN?qbXs+|N z>o0flZm<`MUdN8{cAG2Sg)oN9lGkiJTwNV4DD-CP;r`~e(p;1~?S_mdO9{0-ZStRYF8YfMDgK$Xx4`2Dw&B|q%9H>A%Sr1MZoDWO)B>t(Ue0^#EY5>G-?Y3dx}z+pf7N&FA*I@q8JBN#`| zh3+!C@E#g2N#PjhCQ+jW4m>@~ zia$hK#S5eS^9$~wUj`lKfVLdG)`j`Na&=mEa*##M9_bOuxS!-QTFmuGNJ}Glb@&9J z16TcQ$W$hAJqYI|(Dx))446n=@*f()>ah3<8b@KVcfzCaIeW5_GDaCaJ$gmL)0udd zO${qGA8ZeD&_dFsyL#>XEc0(Fp&?sl^~7&oaM_7`KrJvpP|<j>yknT;YYqtz|Ju9>7&!BUT|I` zBPxh}z!8%9E_?!;&S{m!l$h=;MsrcQhxBj<6dLwP;ZpFBE{rZF zG)2n=&_r$Sq@I~c4Icf8!Wtwq@^5!#<2WS-f0l7pb=;dq|H_W0ndMPY`s#y z3!QPI4ylPxsf&#vRup0sCGT6+{;NcQfOK3{JYrfyQ*9zO8#{|VPdmc1kLFAAIh%>D zZ~T{=ljTV^dAl~j>J^8^A#uZ<#C=@7&1SV!zce`-b`=-Lndo&Pw_cy^L13+3@6M`k z4oTQlaCZUWdxKC;9PH@S-+4jR))_rnZsLGs=n#KW@Nkqs(HrhEV0~B_dqFvnPh!FU zbz$!^l2z6ox-S)R(%HX2%+kO~^(&TK)(b2UZ%GM4ky?mQWGiXcC3`-Z3(8NoO`xUv^;Dg2xrQG>nq7^-!ALr3PkqY2rD?u z(gi+u^H@PbbpwBi!a^*%;1^9wjO&G-=fzO|rv}fE_Mg1|!>dzQ7Ce6v%&D%!dv)Pd zCL-3b5sGU%VVe-+)62umg~r*_q@XSKDbOUh&v5YZ{*BKL%E^9;c?Lihq^^qPML&Dn zY;ARC8VQ&DTNs?VmiqGU-I*~q_Bs$~oYU=Z_Egn86OXgK`l~e7)Qac7BPuQq>#~$u z;2o{5#!_hj(kdx1Hep@2bEwIKj7aktm_66^WSCLvLJbHoNH)t=J_jYj-6K+qt^_7M z@JE^mTjQJ^=>UAh0X_!p-b@L1J@?2WGW(N`|Kt@lfp?JbCRp?0Gs5gp|p zyX>S+CjtZ9ua~HIIZlHB$`hJU(NPA&!F1bk+?&#z$6ts332f2PU_)a|v4;|3DRWic zkg^g(3?}p$O?5R6yNu}%NCvVE;({zOgFmIYB}Ujj%tdCzElA|#yB}p7rCtKcxfTe! zn-*^!mPyXhQN8`ypYRgByp9UD%YaxNX}?UQj26LBKVJss>1;n;-1I)<$jBHnJU85l zU<~`7Df|(l$>PSaJ##%?pgs9gbK9j?{L$|TrPpI=fY6g-pMp}&#DgtkY9GI~1g@V!Wxi=0-MNQ6-pNR_OdFcfJRDFGueV<;0? zoVo?q(Fppa<;W;FVX3CS zUb~FGMo=(juv#Au)VvntWzO6reo8C3^)X0U=69Ek2X)+_AA|#^Gdr8xsYIVCupW_>mD$)2~h z=I&H;e7aD{CAa8oI!$bPipqB>pKsnW9IRuXDd~<^#lN|24{-dV76fxe!~1u&{3;QL zJ-vljUqUA)9cfzf_<1q@LPrL>zvY~Ro%Qx?)dW}FA%X&eXfd&RyMn;@n5V#384WtW zwcV4XNX9~01Pw@J5A>spe4CFFGUqYEQH5E+&?8p0Exupfo>3BKZfKWLaHW=KHgxX zZXoJc9eeB!j$w>qBe*2@M)RKIhx7(}1U*mwv^bCKn2qXydHMDr z`RJ9j%F|0lCt9>Zu-2=Z8Nl^>>!siKv}@$$^cMI6RN>2dKSlHY+ibQtpm81=@4>od@3Ro zmfd~*(=@28yjihE>6Wj^cQ7YQDJ!`T*QbB-y>+dfUNc=gE`+x|0tBy&3I0p0i~>R^x2BcdFk^`+ zh{x_})z0U&*#9KvlkBQGS0yBA@^@-z5y`;yE8)E6YN(eZX^Qd_=Xyw7=dIix!9|Cr zBycw=_h#k%p->skQN2(r0KEFOMD>ZLw!_mjDP!1g*Sl+QIjH*zZWiAU;}_5)B6zE? zl{J!2@iIr{j`$VDZp)?lPx;=wgx$ceh^7h=zRYn&)D*I_%nZumA@z1zhc^*HTy%LI zOKRS~?OLy1j6yC*pD#CGOe@uho!)cp+7u8f?@YN?fCjdxmMR*1G!s@ zwY6dk1ibE6R=HL4F8}VYpPNm`YtCbSeOvDuu1kE}TKmRs&Bg8OVfS+c=GjyA&Mv_^ z_)H8xeU!&j0^T^?ex`_EAMm`NZE&w`s7<{Atg?qs2DaJdYq#y)yR+DzIPKOWbNOg( z6kydkJ@Zr9$o~C#3y8`sr)%!ynn5)dAB)`ec4hl?iLv7K_2cYu9(h14*(G9Z!yQiB zL`9McfUNvXvkp>pOut_Tg7zqQQ&PlKMtCJRyV`bp^-NK+PO8+b1+npX(-^)%x8<#j zbJNE&^T}J6eJ~NxFwOINVnFRrXf<|gx4yMsxz9Uz0gLAq{Fp#yeSoydZRDM$sq^GK z`>z|SBDz~=;q)Ss5~39f=h!QNvdHW7KEe@G5z%W6*W3DR+`C8cT~lE3hz2UrJ2WP_ zqO9p{3xBXeC-qHsQYKiLB$}PtL1gO>2#n;)sd}!;mZ?naq5+6V@H0j=t=J{Z;O%3{ zg_)nHOWwgisNg$^$2^P~KHvKX_TD{CJ;@L)AY^6dJ4=Jz2CdGgcARs0$9>Mdb;&_u zkD$ZY#w9HJKkZHMOOaYYBaZAHRj{L}vdpB2UEp6xOl8%va?(wG6S;twRr9s(5ivq9 zHqU$Jg?4;N*ts^a(YVWm(%sk^M3xySv)Qlo7OTTZu=HW_eT(cnf5!zl)d@*N&g%#L zlLqX4U{tc;Devi_VOwSrR}6xM2}wGkxY?09D?b5kMhs7<6uBt)Yw z_*qWoz-m=4b}G_?V_S(@h}M=ie|kB1C7vwRpv#!G=v6#9s9vh)Q9eyC;pIv@rH|&V z6N~TkE&ZePhP~dZY0SUJwXW-`_SBcX#hI?Md=IcS?; zdpww1W3Ihpti73FcnQ|S0(fD8h$Py0{yx25y=k!79tQn6cY0LB$)Qld# zudCv0C$BsC2=m7b<Rozk={kEwm_U^p=eGOL#v zP=f=(dl+~p%*ZUDbBbReVkZ^89TUNo%8G~O%5A7VwHQyDcQa|%=A)cwwu*)>(fG~{ zVm~c8K$okuU{A><|1p&Wo={rol_s;pOt<@JlhqkLqCCCdee5OvY~TPfpXj4+%jFj?jHmFv27(hZMZ5T%Qx9XU8a5Oa{IZrD(i_RKw!q(@jl$ z1GU0lfIzy1v=c;|Unhh=DZB4Y&zS^BpB~ zM;9>av9|8;Edvm^AoE~PP4ihZT_;iL2M)2~lD`z1C+BqiXkgeWdq%K`=HAb-VtP}Q6mW5o$@UqeMC@MBRNwh1_xC;7^iW__4f2xjoPNm?;79rxx;VOE-- zPT5+%^4#yj-SDQ8Y6{p=%|YI&YM~;?J!U3J#i{UH?$nvuK(!0-F=7zaEa-cTc$vES z{vqU#aHx(JS|XT_Okk!3v=ayX<#O=)ZEC!7qLuf4@~6jeYQ(bpigtQbEbV?UwnWpu zdV^jkDRS(oH+mvIaOUF&^y@-BxA^EU@b&Q5Ife%rg*vWSAQkQH9CISry^J9ip$QOa zyv^E77mQ+}&niEA#bP@7n!|TbZWD9*1m$#_m*7P<*L~Y4TKw~18VbQVo8NIKb*ua= zsyxPT_TBaRpt)DKLD#*nEnBXlYp7j2VuVI8rOG~7RNe%YQhd?_>pic&E7aZo*Ch9% z6$PFw49ii20;CpJaVUIOB++=^iTu~;qLopDnB~a3`^DAsC5`R_hFfFo!Nc9$+Ps3D60836m ztiDjAXGlr5BUEtH_V>4PMiTwUMKlL1J=)~l&xI++=i1hd?psDGzLe|EM_7S5aKQCyWNANu7ESMa) z29m^SP%<08upwWJ<1#t(+o;pfDo9>b&1b6&OCx~wDx2lMTbb+>DoAXS%>+NYcG)x= zmeil4BU^{z?J!Y;`uvPksg=oOf%K9}iQE`*vU?GqbBSN2&*H;ZQ1uZ}ewpm)U4z@XAeUK1R(74!;d zyptvXMReZBy$4*bNQ!&OLA1TlX_K7G13^B9Xl&i8ZbJFa89xIXcjiwktVzKwv)DyV zYKmy-1Ht1kM$PN<{Tu9&Ne8vn%U>`+rF@YKDBqm=((7xx)oFY~>J`~bUrC6mX3P)m z`lJP72-H*iskErm;MWuQ$WiuM4HWxvsS0?h;_H6_0_%Qyu%ntjlU7g4rs?9WpKuF6 zuAk)Jzy6#e)kyfPy_bH%lS_f%3X0?0;~+a7oCu?o zO}-(?;kmztkQYk=G%0J?K&s=<+R*`lI)J4g0uc997t1FohxMtmKsu;7xw3Us1dT#+ zV#OF(#tA)}p}^%9HQRKHLG5+uk{AV#%FQsSR%XYQW^ZgLd-yDShXEC>K`h;a`5ZQs%ykzu<4slCy}o_wuW9Yy$NnuFVVex zUr?tN`&D#Vy=UDY-7#kNG0pTxlG|O-x@s&qYr5{fkMA#>(le_?ku!JD5>m(vW%WPc zFl31eBB9HpX;X^Jqieq=>yZ+Si0&rT%NL~Uk(5BAxX}0dk$PO-O-)yzFWa*6HtjDo zIlX-z+G4P1T<^@ytIr#b&MLbXR4OFeZp{Daum0l$!=KzD3DMr`u7JCa=y&A7kRgd# z^+ZgOdG5t^dcN7Z*{mAmYEG-e*4@SC>t)mAUPyQu6n7iB*8UWhih&nayVye@@*9uB z#BI#<2#i9EGcfupK-~NplQyUO42+)G(5uZo1tM!R{xX3Z?NIFai%fOMVrETMM&}Nc z`8&pntg&z38|5N2*4h!FQKMh*nJe$TwgI)6Zbs+h#WHANXt>NFYd?HOtUavstF&U^ zL64O)G({j0bEf8iOl0K;hpfhU33h2hzuhl*Qp*BoE8))Te~3Cx)|h$i46v-~tB;}X zd+cGhlT#5@2^D6ZMF;bEPX7>T&)6-@(_(qG+{Q1M%+A9+z88DVd>WG9W4Gr?gRovB zd;`#3rse7yGFhGvLGe8THFd@Zf4K1^@AZ*m#7u2rsdFL|_`+TTV1wbxH>$PlTHtL; z>s_YsJzks0HC}D}Cs(S%Rsn+p9?yFKV^igt;%t6l*)V*raMVG4^gl`a79MO zr-x(3D!5ZDIykU}jlm>!YnhJXulgs#8P9-V^w@f*6(5(MetS}>GoJ$QQF0)Gn1F`7 zg~AZet1i`PMwJTT5Ed0-V@wIifH{Jb9BZoXUKUy}91T_HNIvCQ3D&#?VOG#$bXyn7 z*F5NWK{5Y>9QqAL(7({}k^ul421p_zv;ykXEY5{-m>q=mZYi<5$4 zhk2@nD#5`$?~DaafJkwe<-543{Ego}zb@0~{saG@-y8{Qvw$aoY%YCH(#*7YQt{LA zzQu{~DnSj+NwhM?s3A%brM9JTwzgbmMDp@kJupH{REsXK_mONqpMIsDl4?arSZk!d ztb7->LQY|}$e{_YNL);&FqzE;QA6QC?Yekdz~;%I$rl~T8H%uz63sH1^7#v&>=oWm zy9ZM|GKl1tBib;$xvJxJA;+7KpX zD^qH;yklLjPWYOXoI;r_m)#pQA7@~UiAYs@k#W|xPyRUMU+ zV9Y$>>dP`K896DVr$wJs#L~ue0%T~17atnm$Gt|$=F8Ld^*RyWb$Fp|dnP;mD*~%^ zmUXY!y?6zstf%k(pGz+56^ujJr*N3S@-6Jm>&Ii!nNQEM_INP|DVig_`N$Urlo47x z*(ut3xlr8$PvKqN&tz2;SkI+XP6nTUQ!C7#?9!5F387JGK8Z~gnnw~%7b5#|vKL8A z0O8!GAIs?Ly~(`(4XNs6)TZsJ>S_hF;UI40RS_l#v_XH^h0>VCXYlLPo%NVG8cbzV z`3c9UZ^_+Q8IeH74G$%(EFKRGl(LYT4S$N_p=oIt?40Yvv78a3%^_8HK?j2ni}gr| zKtwc+ZJlzC?7u6HCfL#Ax%_@n)cO%Ig~NLd`;pU$j`}LSBx~HP-CNq*)&hqmI0q%* zo@L65%<@<{P@%etRB6z{APcB%QUWQiloD&X84If2y`?io^Y{!Y6z!oBz>^|Y%8#YW z?zUCjR2R}g1$yXfIz*;=?zP^~52rx=p@Gn!-4Eln!=-9V?)Ls}LCP(M$|d?}sa4a= zwA)_EQP9VZe7}p6elw%n>=ou0YT+9!6z-bxUtO7N5U;+`eWMrO+-fO356#Bn z?l`g&_G-C2YwM{i4;+! zDP{zUPGD=#fxCbr6sdC{{m!m0kpd^gPhH?r0C5mGZ`W$<6ScyPvzTz7On@d!fHsZ4 zOqwa~E}NX6DiN4@GZqg+vPliEm+0-2sQX*Vmx;C__6=?M$Ej+xpX@YE&R=QjYCPAl zcu8xVk{_gCbOjumGz1!L*+V}*8kn~(^}NaU7mt|nFdprAwhW7!eD!7>20I?ao;$T> z@$#(KU7Kzv;PtXkcCiz4*Blquwn)lm|3>j)vd|Z*ZrxPpEqNK;b9Oxjc@(Wb*yJ%8 z@9qfxBeC{4&Eo6z@x2Xm8Xh!a# zpSYF>S+c#}sLS9nBR05jh*8s_tL}Hht%5h4INctrkq4*Ibms0AFOqv)4b5AYnvrS< zsXBS+l2_1dY{Rmzb=J;GpF5ZNZAoCZ01gaKrusu|lQef``bVV!+%bn42M(33$YDY>f_`%>&>94o%&OSO z)y~zA>+cbhFy~iwe;F1Ae7FRoN1V(_=A$ioZlt3$73Yhb+WxgUwoRwA`R4)CGRP5l zZUj{#TqY+K_QSq6C99Wr$!gmzOLc3V=W8=VE7U~JUg{Vja?Dpir1=R$BIIo*U$;zN zdSf;_+11+#!57&C*%=&IBN^qQ=Ao93!nnwZ>>)*( zcxN8l+w%6?VeudP?D<^%YW!2n?39MK9NbooNonYFrP7P50fNY%G55H9tY%(VA@%g}k{h9GzUP|4r=Nf=|5QM;5L ze>oEH5Y)7O#+4RQ4+{7zQ-{evTNY9)Kwt{|Aqqgn?VYu zIHWZXDYT>0Es=*#itj254L*DyE(>tY>Nij!+6-mFbM$K6Rw$iA&xaw^Q@YZmG~7|; z3YjoFYnsYu&o?QKOdO&6EbZl1Z(lAHo^xXY`Wa-IZg`^uG^O#rU$M>d2^6*(uz=4h+)C3G19cU}m%#%x?;Z z%h08aJms!eF00wSV9XZKY2Q7^6N#oh@6A^V)#&wE_W%b0H>h3x1epvQWi$1>54D;h zqmI`6qUjf-iWmCaVS=Y94;Ov5Z_^~ zNh&|Biyhy5L(tLdB4j>gqwcF(&wm}9mJW z>R9Q8_O|)_UXJYQbh%iqHrhxoIB#&oX!Y^>_gbOU0*A9+;+0psjm)*L3XjujtHVz= znxI*0r|>{l!I>1sa`or28e%FEnthIwj~(xa+yz@Q)CUoqxppuX7lzCOe>hO+cX|KY zQY0lyzq|32dSH}X^%i@As-P|ecn*jJcr9`SN<>^OHnUg7 z2yQ@`_On?&ZfaQvyt~=!T~@}}`3&6!<721Cc1qVtpCySso2B?bKNzv--gvmO{}*}- zl3@EmlXI+zG>;ZEcHFF%)w1V?sSyoiiK{sg;91ZL`EPh3_MpmQS&B5edViu^6>Y@L zGPPx+2~k9ftii%I-^R-9$^-6lx0!^}zq_r|%WauTf@?-BB$By+$gL@3J0F;%2c>HV-xpX6!c)iyW=*abW@zZ-H=RjU>&URxADPYd4B@n)rx|iFunMxyMuz)S}=b^M0Z3C`o3}Lxbsy zLCy+qo(;X0to$x{?m7k2_;7vOjDz%OM!N=V9hlx5h2JT4n4 z-L1Auir&B6dsDwtvFH>WEe@jk0r{}|DJx>>B-pY%m#hufdX&Z=y);Acn(@0CtLSf0 zx|;T|Nzd~WB6Zgs)9X78^!$wx?C}eBv zy%G7(MM@>orx$dVBQ}jWUJg|**P|J!fNxz1(RX_nml>5*QYfXFER-jDX`)Z1n^)EF zk)y9EM1^d}db&!kAKT|2o%6lehm266mFAA|-6av?m5pAvqhE*#c0wHCsm;9%t7;;K zhdmai)QUk^iYVVzXSSn#uug?Us-O-xn#OdJS9N%D26H3b3?BI_ydMAZjW-I&OsA%e z!-T$b^X{@*9!=4Lbo*>OZq@2URgQ_)-LxK9z$bXjWjWpS12-5;Q*)iE&SNT3s`j*i zJtC#&Q>XE^mk_%07b`NIu}pKUlFp+&wE}?ZNc*nJ<%b*Kk_w_cYm>@uJ4-iK$J^kb z3caZD1*SC4oe>8|o=-@Wzh@AAzeNH-brl#1e|m0u)zn(cF}ImeHb%vg)%rtrHrw@@)c@3AZooX5&aR>m#su_M{4!2?G74mO4{i}4q@<|qD2UB;tr!U*tp{y+dnrm zT{+@*+2X!Q6tbJS57PZZA1XMxm~X@Ke-1y!b4mVLUt@gyyQ;?~V=#-O$P_D;<2N5z z%K~M3MU>cXH{S$VFnV365ca{q^S1kw4~(mYgMB$Wp1N9uda#Y$qkw}y;ZOYiZYcie z46JJ_XhJc)g)3OW;*92%(ZUc|%iMr8F*sWn30EtjpRi&X5;EaGSA^&2iQ|* zD^2aywj8Y;%PPxYXjPa(;9yAy>OD>)Onn1X%r$9r`<_!2)HafRVJ`3Mbn*GGdl!Zmc+8wTQ-Yo zUHADbBTm)6IzQ`M++CYx&9pw-9iPQxBud%}8@GgiWTJjyzr5p)QYwMxpu3|D5UQXB zb|C!w621)BMQeuY(4w$4=EB{tS>%$@^;Gcr7`s~l+Z0<}(dqh`w2J?}XtiTx8sj!6 z+osSf6e4$1MdLhx*VH6h6Z0;6JifZ1WzZge@C}Lli|mgPFy-zpr)D;z4z{8FF?lIC2Q$ENGl*r5B%fGbI1|L~(jCyP!n) zJ5vQi%truxDY&Cfc!_-3X%=S~y}<^r`JjqIf3kZ}npKL6-uB?qdeomNgv9i!uNYeG zkcMVbO$;M)`G7>ww|Y5B4Qtx^Q_p_ww2pnZ!{9YVPS^2I zx#}Jca)Xh^HTHA%4zY8$PlxRFuG<5P(VVH^dCTu~wMa$9O;9 zT@1LgV(*b7X1ay?tV=5M(v3&W#4pBXpBt-hrp^ZueWcTyVo?x^{F<8kVL|&x9B|ub zx?m*9+Yp8A-7;(nr>k@YK z^mNQ=-D;xfSyQ9BH>~8lUK^gHH+s?NXgw%E$WJ?L0UJyj$?N*( zE9pw(kr2*BHH4=xRhb!87XTo$T_XOp&BFOH^J<4%FP)&R!YRHd~MeB zkGHIdV*G5Q0m^|#YAm2IXiTZ-2m08^US~{U$^p;l_@mfoS`hEXqEEP~&g= z>)z5#j-rF*@vn+!;9dUbWu>bO)?5NF1>PNy(c$jeg~6hqE7nqfM9Nq+V(b$D0hdyf z|EGXMZbER4JbC)+95HJ?Y2mF;>;crBbmE$Mk$YYPl|~0E6ts9dLTQ3kl6lUVB`t;^ znqoY2LZB~cb6hV4HHx-TYk#qNv=MQWaf_`_+9AM{V)7H@Mv+0qKhnD*A9OI;T*S0E zmk9ePYAce9)^?xzSNPAO?_Gc64H5b2qRQ3gAbe1$(|b5Ahr<9_-j8Vm)2#LgjgzA6 z3^+wHOH+I=Obr%^6bXYJf6@jnyVtU?21PqQBS}kXpPFp!v@=%Md#6*gJD3l|5IzEq zK`Y~t3W7QG3dHrm%TOG7;%!(_MhUI<;}zX8#NjX#^{=)?E1L5!wyroHLXg@IMQo40 zI^8aMG=|#wwQ^Qr0C>O5JV{%kmyVhKa0max9`wT*x(nxfl@evyr=KQ>U2$U%y;>j6 z)bC%>FQ42{i1^#QPJ(^Gl3#7wZS8}CRXgGrA8q~dA{C@Ts{Lup;t4)Y;^<>YvV#4! zH4yu^{*~TzzXP?CXI1J$PapIc^))9+5mVI8wLB2rwax1ii%Y;lqm4!1V!@#1a+f)0 z8(Cn54m*6-1KPEo*gSzL20noDcyQHcrmT`ZAw9vMCH1`5No(q{I51!6b#-a(7zry8#-0cZftpUnx@lJwL2*KeAZ)`EHNo0ZhzWrr7V@qR-Jn2N>Fs z`)a{Ar}VWUH$fktUjol3C+9@oeRKY{Kf*KoysDE13^jD$E}KF9P(!W5#n3T(_eiX_ z)*}fFifkE)RX?F|F0$ zuqC|GFD=(H4B`imP#Qh0%C*egF=|HT%Q=8LMN2dE*0N_1k-HBY6-8*tHKxH7KqJNrzyP7_Ig&Jg@L~o{ZoRL?e>tSR0|4?(}xnTU()N7XY zTAk2zf||nCYEpG@A@PQO>#y?V4%<3rcb_^BPw&ObtUd@mraJ#m0JH~7_}uxPspxj3 zeMlLyT}1fsZ>TAFLt!T=&cHA^Usq{N)LKEiPS*?Be1pzYbc(bO>kPU;(HBU2s9jB$ zhCwGBQS^eVcGf%Yx62!9dGw3VFuxP%UfK=7zLH76!h96}wV}J{9so;QA1K9-I`9-n z{Yx3$MP~sr8e1nwd#Gywm+=iGI=`%ET#c72zZI&0qy3R6J0AD{IXI^iqoM9RMPDH8VYaL3k}&8fW(B)Qu<~hgoOj|{=rj8D zWV)^wvSqQRUK2;rDbhY{HDqTg`T}VWwX5ldVNfJ0$G!%vWtOa^H-K^jQ7xn|NSy$0 z6lK$IcryDRh!0U60C)jS$A{;E#&R{FCo4+})ms*;zVe5a zFZ&LJJOteU000310006202(7ZIbRPv^#B=2B000000C)joU}Rum&-us0z`$w#OW~g@rxZ{G72E{?Z2<)x0C)jy(gTnr zOBe*;tg63zo^iHq+qP{CVh3m2wr$(CZHCXbLW^9pBfhq(GR-tN5w)nVQEp(dZh)Dx z5iO-B`dV)gkoWMb4j8DXW13!ytj2|mG7k0CBvjD#P*lCaY*P@Kc>f^ULqXJys?#PK zLk-DGF0}(A)l5{7)I1l!e94JnW(`_68lks@@;$F`$SQ`hRz)0==`@PRgD~6Lj6*sr z?urMst-pA_G!EJCd2I)IFPgVJ^3k-Bj5AD2pIbdo;sOE$FA8&Fw#ao>q$>MG`|yP=EByNLZQ zj?`EnE-aIwXczI^0QmK89{&xOo`cl9w#Yn2F8eoBHqTMSTt^meTkCbGq0V6sx4&CM zFq`|+q&)`89CWlUBfx(zppIdsJcQfy#!TAVM+~#QJnx0q*vzUTTIlC! zK(%!h43mCX!|ya#zp$2>cH{XGW(g*mRm}4m`r3cNX_vwPvkh$=b@9IxLC1*sJAs3; z3k&UY%zh(tnT9%iS6dl@mFf~UIR?Y;aH5mxg;jbe`kSHfTBWekE`Z_6k8V^+bwyt7 zM0Xv88oDX>7hsO=3O{u<3s8ywQl9hFTxMatG(Zt)kIMQPMoQqeNO^2yrRI>zR(^|6hx zO|c!dy&?QW4>C?RA6N{(eUHQH$nO~DIPG}mtm9nj{O)SxI_NgJ z+qw68te)(i5uS@)x3|1^ly{-`zAx#k@7v~2`iJ>n1gOB8!2RIh;I9xFN`)?kUW7ro zZFpxykCckciX4l)it5oC(Yeu;(ZkWZ(eJSau@iA3J}`bYkw5V}*)@3}l`l0XwLM)h z{YVz&a`I?-s=PqnE8md6DHcUkiYP6V0m@uugK|VIq1ICmYcZ{YHdp8LYX8>L59v4c z4}bzukPB1-^*~oJ0?Y^7!8!00{DE!=VKG=2c7em;e7Fssg-_rgW~z~?{a^0?iZB2G00031007|n8DZy3vP8lsWk#~9rgc?A zCNwqe(N?d{fGKs^7hwXp@DL>>|FLDT0-@s~#CQQ?U}gY=|5*$v3|IgFDjxyS0C)l0 zz@xo^L7QO{BR7*a<0c+PAi15#%0N?2h=D_!VLM}Pq^prEkhz_yEB@{{JIH88Fjsp!@Wh#E2(QAQP5F|n}7FfzXWGHL|UT2ytCp4oc>PzUmn&=@3( zs82mQU`c4VL7+9gFVMIMBO;AT)`~O(rKgpx99m%QaX*vZj6s|^wkn?n2XJIs0RI%U zqm%TV$haMVZ3@~;l})#{>a!LOqY@(l!5|HkFd7i6F=H5*IWty9t@?|ya=Ax1Br{*Q z47yr$^3--mZ3rOVZ6^HSpn+q?U;1`e=nPor;ll3ldd6d~-01q%sZ+0169dk7XtTG9&G z@|_8T%t54b5PmuS|KH!r_TORtx|FQ5;-_afQWI^86xDz4Vc&octYDjASYu>oKCHoP zPJq~-iLo(L{y3|{nn*g6E?rWl%}G_H?L@1bK;PQ4d<=qhQryt2QN(h*YFP~FF#b># z1TD=NP5*yY(-oj}cP@>zlWeP)^kK_18h}Kc2vUwnx{*hhTJb^Ug#hLEM9HPq?QV3o zysVSqzq$b)!&3_CXDiesy5Y^zeZe~mD6o7OOMM>1r0WSm>k?&12|-kX)Vbrzw*T+{ zWm|97Rl>Di2nSLdi~1|j?Fs@=6Gw_V?1=C<7+yN3BoF3SmSp9^@wzl=0en#aD3xvr zjXu$5P|R0x?d2r}FsxkQkG*PU02tJ255yYJ>4D8ScZsdoESqN@$kx1^ea)}^4k|wn zwb(4I!#k!$QQnODSWw((lGJ|~F=?FkrJJE(r}%TTLm*$}0nxQJ`~1-K{y15;fS{T zLp{(7eb5gB+QIJ(!7z-#C|rZEkCbvS#_<<%dl_-iYB2y@FaX7jevkQ zXuxY;YvkBtY_`AS!JrM=p#wT~h1j^%jbY?`;$H{`gg_X?%)Uz z8=^1_BQUC~PW&6e5CUNk4@+SXhF};*U^F+TP}-6>O2xw#`y1B?T!$NQ6K?5JxF_Jl zTG)Wofj965-oP7pAN!uVaI{E3lzQwj63>uI-L;0j4!8j~;TBJfxigtOF6sAD-^HXk ze*XB2i?uLA=?B$@6bj`GVumxN`H3T6o09 zYlt;jh)|jseSm_ocKT^M`XKj|7x#X@y8^%TIGZ5lknIb;j{g4s`>)*HzeO6pAB?;U4`6g=RzJB@3 zw;S6CeduQq*uU-JJ{TGuTkv{$*vRl-e@3Pf4KMfu_rC<{uJX3iFFl*;(m%olN_)Ak zxaW!HP%ahtVF%s``_{~GSk#&c$eejk*q)Z{?j%z!TcSu8`lI@#n()E!tU+u7n!_mgZQoas9)W+ zdkelgW95PK6~C=MnXh88AIKDhKDUIsfBZqM_!`<^`(vx>H`I2QHj(OPh4|ug=6;u4 z!{;}lpW`5BZB~22&hYNW#I2&GGm1z;!Kr0UwnbY41^HJ3a{fti!)w=#!{+@ zDW);C=pPHKZD47iQMRtSCGI%=pKr~acn2FQgOxwENwb*bdk!{Z2;e36&f;1$JMQ_Yi`lY z*f5CmGM$p}XoNXD@GjYFj)^p!j729u&EZ1jaEor1P(=-OG~lC&U^3|nK?$RwG6M^C zv&2J6qAHT3l_j*%L%X>eAjc9pmToC4ts?x6I3#=FeP?{lVe{-2??Qx=H#n%FIhglR zRK{QttZ25|?$Ls%eMM6&5{z8GG{m8XoOXH)4gOV(`5~Hd-PJj1(5hzB1u$Hp04Zjp zQA#NXA*x@RvIE0pV{<<2_|(QU&xMOjC{X5rZ%D&JqW-E z0P%^DV)%jb*M#3>&zk}?@+<((ua0gD3#y?bc>zTj_AemAtCPeGZ|^Vh&H_OBCie(PpiR3Dow_udt6Ps=efkZUXa058q8C``wma^+=e|WAe6QD* ze5r3t-@vc2#NX(<2%zlq0LZ~BfW<&g0dgu}2{6`@!LSS%Uk`@m!1z`N zD}df~#LWP#1bV9xw*jyk=QSj4rMO)|_RyqHXX?O> zRQ#F30$>1u=vb&mu_I)ec%qz(j-4uV`lbjXA~JVPhM!RcLj+>23Ya2F%elw|PL;DwE)x*T_iD~KR`8SX7JWZfLZ!%{W5Cj?n=+9i*zuv-|GMWQrBobj>t})EUCWr^7Xrz4krGo- zsI@k<(VHK}(s7TTpcumsC0}ejsT~-twIvra=9v*FIu+4HsEXQSHU+5ZY9d$|MyZ2k z(=vWbO7zIaLqlb*}ycWXA#ae@V!BKX~HECma8mVpjGu*?@) zijXy7AqJ6;n+*Z^2s}mOXN0Z<^930D5w=ekn{b{XE_>6Zri>a(F2kFCRVFq+WxAw% zFbBSx!X81C?U3Yqwf(AUQScF0RTaYGDh_V4*s~I|u_R(jP;3WF7?U9>K922|F?h?$ zEro{j9&bLlfRlBi$fHxJF$B4~SsWWL8{^ulF+|z9PfkJ9dT>Up&DLRZBAOJeu0zx( zmFvQ3qfni=r6!x)m~5-+wJTA3<8f1_n0#{aP-n7mndz|GA3b_m`q&_Tiq3T@4qAj* zYc$qjbHvi=D1%>_1g_OOsQb;SF{0KhW0J?#EnaEsYOVM_2~y$#D{N(Rw3tE`{%^~8 zri7Dwt}PL{EuNm^jy86ieGW0J^b79c8L3iwBPhZs!m~iOqFzS=L?(8yT?@9POA?li zASe*f5~ctN{@aozAOXcos+1sQ%$73*T8t?Pb>kMo)wbDMLtvoK_(v zLZQw>pi!+CC^WN&y+@pBmq_z7pNB3W!!4o6`dg!N-n1)7?6s1myNMHXC3WR*g>9{k zHifcV8G+2*Be-5lmCP`{Kx0rHt6pyd4t>`T^g;Z?3Ui!SSAdF@8T1MUT0-oroK_{y6I5|c_*a|6+S0R7IXGV;1Ug|(llmT%+odd*r|Vroop zZgJf1-%GqrLFPvr++CR22O_{pd7H%3k<#By(EopWu4LE24aMzOoaCi zZUaFqKgTsKaci56aX{U7Hp_qDO~in_))B?ZOC+$R6Z1_ZCk9g`M}V-ds3jG5oO^}Z zq}6UGSX;m`Yzcr=M;v9+r!DF~c~>zxwY!<}Qc7jv5)04)N_td2ueD-ZlsBo4f^?Rz zCBLd_atJ}~%x|b6xV$OBi-yhh;Bn(}f>m3;Hp6o+v&qXCWog8E2M$7F59C3s^fr&p}a zy+h2KIG}uA{Gf7DimNi0MXjf}Bv(eQ7R3$$dNnxJN8d&HD9B~p)#{VCPnYUCHE_&j zV~ktfrCY7%t!5KkV43e-$F#1W&e)h8nKpC;w?r3;$1?JekSrz@4VNW?L=*vB%PBJT ztG=-MSC2Bq55awk6!}2%(nu0PGM-Tva}m>GDq(7w7>t-gd?R>MnRrvU?iZpRACtaL ztkeJn4RGS?hoF9gN@{bl99kPyEu~Si2oj;>E;%4qQ73qWJeI3zAp~Hi;Q)yG*aOKWjqQAMf z$(8;?buLH^MszGvO@a7+$qc2Ej5pCXl4KXrr3Kx-dCeMqDaOQAr*@Xm$`R*WeB3T$t}@wg zMmWt`U7V=Y%bgT+Sk#5qMf(XE#ahjLW~OsBnabJ3kQ6J4rZgr*Vxwiz-Rvb>upnEt zSi6Hj4+oPnXXBIshoZy-?6Q`F&4nUn+~Y6W9B!Mu?lBO?%Ct&JIbY3z9XJFoI@ zF=Xl+(3Yz6VIKbm0RoCZYdEiak8FX$hij9fz+0oYrh7bC_JCV4!I|X&V5#uxjl$ob zE7QrEzDHz+oOPK$p)@Gy^kbiIF|DTZUCTn~lmESrN0i2L_2>X}I-RZkB#1p$ zTs1x0bap6v_QCm%SJM%tl|5+;W)6vvndBAD47SceRL?(bKidWye0b*G(@8=Jn^nbV z&nNJ#Z-^^z{7!dRib)K!kwmPjqx$f8!XsRqpadT?&j5m>10n({Gj3B~-td1@J=LTR zrg(FCoj^G^?q}u$4|R472=o8;%3Mh?6jz?nftL-gI3uj9?F!j#g|wz}QbrB6jF`US zmeq&;UUOjTc?LPt+G^1Szx?@ndmw3`B&=b`z0uOZIB#obb-XMuzJtjr6h$S~#QFb; z&NsIXLb&m2iDuVq^=`#>z`pr9Ph9bet&z^qGFehA zw(NuR1c>+js$jz|#tM!28r4coPdZ-mj;X&j-EjNsMz-9rLl+C^X1}lqx(T(2;>03& zLk%dRP)pp7RGjvP{jhDErfAqzZaTs}7P&;xLwkx>8 zL}Dar+4!mL{MALI5NRHpJdh5~`}V%?{oBXt3~QFtGp~EM50#mg<=j7;{?$}g{UHC2 z|F(~JXL&UcUxQ8&04#cO7Uq5T1&_-a9-my~4DVi7s^xzbMs{a^UIY;}GmndZxVOTF zQ$B9*%$@xcVW4)I6i{etOL3r=mgdmgtCI;>Y~KuwICZ!+fJ|WF6_TYE_r&ynel{Ps z9T46}BG5)#3yPbW`B{C1T?ESA*o{NjA%=iyF_f41-5_W3#L(}yyV;|c#*^DR%Y`%Z9G3Vnf+(eRS4t!|reF?q!SwnO4lAmr(ko0jbS-Qqt6F#Ww zd;2~%zCB2eET2D2>Hl+gW$pK!0aE5DMLtL_x*f}Yu@UoXi`yhOWwiBHdz0{)>aybg zDvk^za&v7`N_}~JOnq@`a$`x%y+12;rVhf#4Z7C!ZY+gQ+$&h%g|> znv1DDAz_R##E>aA+UfbSmBBu0t!v%!T4Ho7RI9ZSeWgki1+0bF(ht<vi=AX8 z-YR4M5&aurZqaNOQVFD1`TjhVg!7Grf!u>ehv=yvc_Ug);eXp0Ay#;KOI_9b{H4~> zF2sTloKgN7NP+j7{pxtE$d@e?&4qg&Z3-@`+$CvN6y)aS$BLJ+!tjxaQBDV%3K?8B?g6kAt*<_I z3}B;b10^U|i$o>UYF4d&<+3StTV=aN9zTebhvHYeJh^zQxDBOD}Z)eO>u| zXR<8XE{r8B{BEj!b?&Fm!^;0~u&Gxvtd`%;6}mgedxTqc``$|V9ao!}N?r5DOaB{R z)hFm;vU}mBjy+fHFP_aVjD5z=HrSs>P)|}#M4pn`@1Rv#Usq3T@AD+&>AQRNt(04I zQUqWPP5jN73h3-na`58V=RG$VkY6cVtgf4XE5oYnb`8)^6ZdCFRxm8UB~E3*M>{-0Yhy zCy>pvR0~)_SaeiNlD)`giLK=}I?283uKFncRIwM-bg>C#Gog6ILB7bH9d~v}Zu{ys zbayw((t0d)hN?uG8~)wTyPG#nS0%e_0XrAVFuE$v^M0_pH2lF@V*}?$+lyCT%Bu&d z+S>K8-9J3zc{RN7`{9S;oUo4mhJyUQ_9kGJm33U|a@Otn)_f;%7P5e7U8h=(<}^k0 zRP{MxT_doWt};*oXnlEz`m4j`*K&nho^@XF?5RgDxt|Qvt2R<)a|6%DE0;`17WY4( z7mYWxx%=t>vm+bmojwnS1cDY~{KOXaVe zc*G^oyIgOBkUOr1H#QBgg6I8JxH&+j)m)sDr3m}PD=Py5*tHg##{#})Y05PzLnom_ zcd7hlirl7D;hrcAD}GC_UWGmj*%w}MQ!K=lp=~$j8d5USlE~ya{rV9xl#!51u8MYx z0MvaPc)(un4uXEnYT&m-l(M*$y16M!P3P#OSID{dpvN;Q(L9wHgCpqdWu4 z+8f!CWR-Jl?tYPvFT={9QiP1XwEJEDGmo*~ zQ?5SAuY2RG4WjNO6F;q2*h2Vmi$R$@IrGM!OQd!6%MPC`BMnP)_4pw{!SDG!lb}7R zXQ|C~<9?rRcldS0*Veb?8GgVCy)bX9@R+e@I?UvuH4TY4G#0* zA+8c;02viDS`6@5CBJl@unM5orX*o2Vx+522;c~TBTr_lW(FI9iY*9sfGB3J(fd^T z_G#Pi23rX~?gojH~-=Zp<}Z?2RJ8WE{xj&5pD$=jBWhrphWh_*Z5sesM%GH|Hvo9YXzbBUJ? z!M>NFV4^znJ8z1JuYiFjTmW?EDpnYA_RzNy)CtZO^mm(`6BIz;plYxj@;*-D6ayth zkxo+^6cd+{rJEx>&EeBQQ1`OfYtR2FPnzgc&_wzT*I;KUK4`hXnLiEzw#0fWUooDS zIzOI${<-Y9NBG*fH>MA-ik}g_FMCpSzW)mMW@$Z>Y_b#hgygUuN)FlZhjT~Jk_cxsL9*4n);zq`D^e{VZ5x+2XziCh^R7>o>8 z+pAzzs+o1v*NGjgRXyHbqioEoYmz!yrWDsQ+Xpe9iZPp_C(`U>hl~00)TH?$+a)(; zHxll1Q11B#kMTovm!|;51(Ei#^GrM1y1F z2-i9T6|cayE6g)*G0k=^QddoKoa(4mGiF&!u&Qsjuqu>{JDTd-M}Cd+#ZSrUCLGzN zQRGCrj`;Gu-~wL%B!TR;EQq<8TfZCI4&h+rhw9?s5|7ba1u>dYNcyJDJ&8dYgffJ|)D6n9K;cx`n5a zNQK;LcquV1wvrMMsEx37bn&pzXDph9g4kbHo(RvnA(#WM>?HT3CKTeX;W-H45S~Kc zmW>`~62EFYVlo@}^75YH!`5jV{J)>?0k{qI16AUy= zw)UElm~Klq><1j25*&{cvhL}yeBfQev=!X!vgeSKO6FOHlTWHgJ1p4Q)7r+#Gh-y9 z%xP^63xWozyKOc0CHO$g5GmX2ZpUmlYuW4fvT1?!0Xc6HI{^B>beY_93S=5yg~ts; zxoX{3@LY>blm7QXphKZUms7UTSA}w5`Wg%~K@nQ^AJb#xa+omDTM7hSFS9Y_irmsvX%%HDXZ9LN))W>}WqN7fe^8 zdy$t)8gXUgp*e&Obc-;)Bd!PG~A{HKu&yMzTenA54PJ;&K`!V^ z!#|4m&_)TWrkws4FG<_Cc%v)YS9${=?Mx^vt@ZmgFa3jrlh6}wF^}*+UrV3a4qCff z*{zK8SF$Se@}KiG33!<;wk7h{y<~c@yR3D&m*1?vamd?(2$b=lq2?urE9Ua<6((1G z^Hh!=``slcVFNMe3Ty0x>*Cxl_L&KuR|ZhoLGTD|czS8M)Zv#)F7?AmnY81v4%aam zfbjDdDoQ@DPCi5SgAXMN{=c>)u>&ObMOcJqa%`9?UrNNE{ZyuzIK0b?$9JARIkV1F zv6S%ZZZehegsRo3QMHjtnLPe}&*%5JGn1b-t>VJf>=IJHEO?fFU#=PZI5lmH4>Ihf z$=mN5pj<^W3~ghL~>B82y3XY^1Thr-@zW{1GJR2gLykR!hG$7pIZy!k!sZ|L+xc#v&3?{}e!C%My7;DDC8q<+H zQa$1}a&Fwj9~q4|RP)f{Ayb=gj;h?Ms;knp>st-r27*VoJN-J*E&W4HNoimKJn}Z> z8_EBZ{_D2kXk9T$t&EXAN>rx64D8bLAHN|@K5}L*!B?)*;h2x znp@of6|4QUYqe(bt?}J!VY`9xP_XfUu?I7~ETHK&FKSrU+6|Yv*nfqQ7EoDY)-G?8 zn_mwLfObxMI=*SF$^t0K1q{pDKEq{B(-Mu1VZhj9SSG@7+3=zz8b{xXM#m^RrDhci z3o|ThpA45#_Fv&wixMSf(IWuwo2cjklSqf~Lre^TvQ%N9tOqR-7b775AFLB>yWZpbG&LooB|;2( zT8NV$>vAcW7z?G0F;LD21La&FQDPR7X}T*417!smC>Mg3h*M$rMd?IxJpMGTkyk^} zhKwQ)4&wN!R{PpS<;HvYsTq-Ma%<8rw<^_?{;43kVBOh|$b_e0cIIFD8QbGXEli6JxIPnEkSg23n^|AF`I@R}ch^XMkN#lX~X|@CHK;3G-Xdl|7qlTsnYo6_B zhi?wh2kMpCO6GW<{rx{ef2Qx}_o_~=rY!?@QF6WV3fcbI1N8LsHCNlc7+18=ghL$;$0`zAFT6!7wRTx(oG50?mCMNO+ zY`hR{G(w{n>J=b=7{sqe?JY_fEc#VIbu7s((cf-*aN9 ztLhnCp37Yn=K9wAZ~O!*DAzXvK$u+Pkph5HhsDEuJ|tUek)G)RR(UJW(6b3#sn5Ww zBo0C$KU_SjDEkmg)eEehJSR%!l;TSVs?}J68Ww*05C%IXynsp71kXC2gJ=0bJ~5ZDgB{NO+ZbVJO1&x?#kvDENCV%d zdFh%qz!!#+>v(^=7r`Ags>Jy<1kp@DVJqew+Pt=-FAKNTbN*9;u zM11Yh1Ujl^k-W>rn{IMZ7$3MI05uq+8VIZCn$p-NX&P{j^#l)V>1m2$G31GRl2IB1 z4U46aiv`^bWd2E1wmE1W#(->=u$eX(EO^|&Y#Mim?Rc11@Q=X7u6PZkkj03_4l=Z@ z_Zn?qoc(wvjd2o8;{1{NSO#?!9#dlHSriZoFcy}`ZKbqL$Qkv5Shg`=%zlRW8bi1mwDAw;m`tZZ* zsDtS=#U6XwrWUZJ_a`E0HqZ;?XUf-*aJ6S+plTqxn7Q;pNJ@d+UNbmaag>0!cBtHh zkcxQyHez#&;x&vM!3IK59p3sLVTE+}xOype%AI84h;TVwGW=3xUz)PdWhAXT>u&b0 zSqsox8}916jeCn~t7SBlQY3#4iV@ZoD z%_-CP6fM!Ih9+LD`G#~pXQz_@Aj*_Ynk0F$I${cF{+2#=(bFgyOQ!ZQ0uzl)lm&i( z!#1?HT+t%u&Re@3R-4KJp1T69jkL)bN4sP8oB|CZ*HlYwiERJT4NYdZIzo8?Z8=;=~-a=5Yg`$FO|BVNqbtm70l$a)1M4?G5D(skG^*b^wZSdCQ! z0FJ2><3Q#OLwa%-+FBi_9oA5cZBE;W6)0Bbq#l8G@SPwiv@vg?ZsDkg%s^_$&8pzySA%x4AAL<239DIRI9(9PAjE z4RdG&(hCX&FA-8FqG)f(c#vA26hW7VRD(^T$Q$0P6e?S&LZHNO2RtJl>uKi>xU#KR zimQV?^H8S-2=51#?o4!y@+S#-t_%79K60f}#5$0>&Pb=uc0|b-I=5{@35eqnf48&( z=QkkoRp+8mfo2LR+&SSV#wpHB5dAj`lE?w<=5A?(MgVa$u`$KMIU{CUBwYR#9Dg4D zuVMDALAKR9Ew;n0119@*9Nb9H3?4%NJlmp=qC4mWWb8<-6;7H&(M& z0*e9JW3i-BQT)^K+iJ-t!60ihjf5vn3kW6Qy9??INT?n2S*2MyhEIxe6O^?+ zi%3zkUO>?GQ^yR(%LmlV!oXphjMLdCTuoPa3`XxAyI7H{%%s2Knb41z`jD^@C}50D zDOy6)7|=O?nt0rWJ+M+Pp9+`9wHAe+;b|!KIm8EJ>xxNNHQ}ehwF)|Y7<3BeZ^#WJ zLdB$Nn(il@tGkPxQutJ9Y{k{@5eHed>?mHUu*O`?!6T!kieh$vzVl7*PA#>V3yq_< z5#^wy#_fn2aw)(xd7JXJCY9LeD8H?f^stGD5D zPY9I*N#B)3v1LVB7_|+3S!7Y`WL;a!Xhbu+-RWVoH$#`fa zG7N_stdU7Zh{!*;tk0%w*aSrukSJA-@vMUwkxgB^p22lw%doFXoeJd8E}jacPY$h% zA4Cc@AA&rZc178gFqK*}hx_Hk=$Kg$^*EA9{80|&-cEui=D@YNo;AuzUweJKsEnVI zNTYe~Ph55iu_uTwZa)F@5GzKJw7xI-I%4>7)QCMiUu?hJ!?hRA{_h>yb`pC352;gTOE?DsU}Z0Z)tAH;PCWJ= z4pT?y=Gu#B4k(emw6jOSOuV8~g5>T@woxsyP2VBAw}z2hQ}a%>{@3}4M&8UX=a2Kx z`LBFxT*;xqjNRSb#0exem#B!dkybfhKcAql5h`nRm77=w2T=7a8BhKtag2|lF__=F zGXd?B@vi;usCzr_n10>q;c%q zAt(`0mWhQM^yM_;kIXV26HVAFPjB*s#8R`5Og)Q!?NG5Xl1wM4cLx=Tz7) zngwj#^%8AX4#nl2=qRA(yUTN%YbqNT`IPcI$$^;B9w2_*%&sqE+&bsu2DM&L9)$tn+%PQ2663MFH= zIbvScBEiA$O2Mv@x`&iWdvc^D!B`_#jX8B)Ix0wSwZuSHqr)auitWVYGXk81_5#N3 z#-c(S?az0+tdp@M?NU$q&PSPeDqH_2t zaa}-s&)?)bUFh3#49>r6!i4{YN9paC9U1sc$so+sq7W`EXUfoc4DPaE=^}TMZf>*| z&<2A%UL;XcP)OZRvLxv=hjL}w`vbc=?SKFK?!@a6Pz>TXQzhlPl;$NgXpA{W)}<0p)xv2M`R`? z=C<)mIejdm=QOuQ0$LXab(+ycR7V8rLfRi zj3riun(JMAd4AK8rI9f`j^B}(NDv+oEMpG$w!c_SI3o>Dp^C!ybcEXe75{tz4MRx~ zy|i0j2O@-^v82!6QnboHDWJDKrTk0i9p#>~uK@!Cvb_areL|5JZiToARRR8OppT&o z^i)$X{l;9e3?)A8>?h#(H`>yT10y_s=!;6Ld*Mgj=n@d{1>ga2jk^AwrYBcnQLU5Y3@wV2@O9iiw`Z;^ssR8dh;m2Ov`;$pF=tZ9ygFk`RyfC8A9F(L-@ zO_P=oE7_T-t17_-F`)C9&7VHz{Xe!|fNOjH612r)FMkv9@AR)5s)mbFfa-snpNW9V zbxRFEb)}`n@4(dmhWv~NxkP4b9QjA?%};HNaLa42_$pM|-^j1`^4b*TvDA{-%qX*r zt43jM0q+Rq(B4>?HpaWMGC&K=f^_hQeNYdRL86w`j;LwNd6%A^J>S|gQ<+WT<_N{5 z459u?Yj@PpeYDn6O4a7jWmfk6TEob-$|3F=Cd$n*y+_M_q*$V=KGa)xP8T{^7bI0b z=l-Xr`e?!|;!`iU)e!v}l+xa5P7C&=5in0PIi*M(EvJxcW)<386HKcTd1Wjm_Lx*f zP0g9Mv|(%8wNa4o$bbiCJ?knfRB|ak;o0)ym@3zl6|3l(vv0^d%qNaX`J8=@qU#Y8 zW0!!|qb01`@3FE`Us9>cYn7>eP=4HND{AL$uUoRS*zze$ZZ5Jlcazstm6ODjO+u1v z%gaYxJQprw#o?#2q?*Qvjcs4N*#2<|UEAv1WPa{Y+DDX58ZswWv-6OoIRvll$HTeX z+igyl!uqL4eC@TimIyAX^pgFQ-FTjCyk-V3V)ymGn^ldPcOBL~C zCp6_ATWOjnO@@WdQo@BwmLAShptNF3@72PE@E0gTEJT~pP5d6iCUU^?Auz_BP55@>vMNt%H@$QAMPaVJtKqU& zPk$G$IX&{-Y2}??o+hx*egiF{4{zVlMG~#s#k-1t8mI z^PSmPp>toZ`sJnipSx~TlEkpe1$_yYR|xhBWXqq+t5Iu;#EIO}tnJbS70st0x$io@ zoT5^1H1qv8fdzsp8DR1kc5X?-rg2nMAs)Je@E_49H-E?qECv4*CDtnr78re1&VZ_|h*D#J zivrtZ?nFyuH^mJm6+LU+QWE3S=IQv!zdp<%QAh&rBLyGkGhu1LIXS>2_Se7C9vVhQ zs0UVpk&QVq%i^cx1?-`}m?Z5l3a93;mPX?h$y1xy>^>Vb|6@uiM8hrE`%|A}2e)!W zWp*?xRS<0-qinXhZHqRq9wP)QXvv`Qrnr|`4S();=;12w{wd2KuC#A}5-H0|RW2%? z1NJ^?Aj$B?CqZbTqU>sd%^YWFL+(}k9(00kKj3ame~Uf;5c1`in)dwa!;NgsT`I_) zKl;0s#OZ2EEm{gX;%fd(FJlj#$4w{lV^|OmLzuT;iEC9Tcg0(wA`mH;ZEZ$PJApbtgf_)eK^0em1E8vdzoNChCWCRMB?*A}PTPNw5*_O({mgIt%j*!-hJpXQ?=PSn4L&=gc`v15?K z_&Zu)J@6dJ1B3>w1*&l}0vMq(azMU?A?fJ15L5&f^^&Yjz0G-4JwngXV*Hz!S1+$w zvae!oah)(O2e0Fz7OK!JF!uAiu)?^7hnl`7R41M<((oVDTYW+eR!x!G1mDUGdvJtv zMlQ3}cc_Poo`O1H@O^Vd!fa-(*RGA1u9^z5;Az*~0Yab(s9uL&BAPq}sdl;B2aKdt z3x^6T>dhDuB&iBg$Zk9t^&lKU$7qle`X88kPZBTj?sQHJTVB^pPH9X~4HbJVbo>*s zIF`-=0Be8qj#yr%H#)`022c%^4|9ME6msT`=tMigER`G5e`~Dfl%VC5gkeBhlk>h( zhH<|5;rEAe8Tqk=3pF0JV5h(DX**-M9bqV`q;b(Gqb$D>y}S~%*yYBuaeSzA51aOP zpU9)~=e`$VqL9TiR;NnOV|Y_a=8{sIoiC%fcVv)haTYxIEFQY0sV{rIz7|$5XR>N3 zne%dq_h66bj(_u{o0jWNFtae+lholz3AiemB9&^G-b8q%(L82LoIb!^1F+bIC&{6MSZ`wh@!pIO;Cjd0z)m zj+5;bgzSqQHO0UH`H0Z#RejiU4}qNVi?#@tARi2|C;tM)N?an|fFu4Aljy#qAbDd0*)W< zgVS{%KaicXDDLO29n(n7etCa$-ov)2Ye{*=P&2RGjo*%1UWUyrn!Jz+2EjC58Dz_| z4`7@8X)_7dtEXNjDY`t;aj7DHO2_nF>bKtf%`FkY!&v$IIbJCE+LvL~FYLE&79ME! zSPe~y()r<@GBEL(dMoju*yrpaGa1kL<{@@+Kg*!xZ*A^h^|83vy~&Sc3pA#5*maqT z-22@2$6{ExD`b!A21!xIT%EW4p^Uj9G?lMQrS{+3M2lV_$A1m@>y3%X>7q&<3-B5K zBpVyJdlkcuh>7hyB-bZ>SZ)2;+iCM|bHCuDfw;;u* zIVSr#;e$LI6$IQ3U#FWe!WCB|;?LGt(%&i_;O+kEPL7Lwj>bdTbgIc#DyVYDw*zNb zezdm#Dt9|n`WI8j>fyB5J$sYEr6}K++|PoqBQDj8dE;YLw2Ys8z=R|i*-9u!{#a^A zW66eV-wo=6*XxM-v(aTF8Mg6{u6i9C%OWZHQ{T`!Ilg-dGZ|s}S*y9M$HE?1&3~Mb zUN;`%R*rHS#do7~W`+r8#1qBWd@%Imo5}d7(Z>gxCiI@f!Ejtqut4vGTab?2p!QnM z!ez4AIIW^t4$DfyF?G?-M|DY<(a*#J6qdO)1(wAzY=_m^ClojoW3SPsQJYe6&dB_K zZku#MuJUiM947$rLeK0^2o522WxndZDk+f7!Jwj=h%OYo%M+;$G7%Xz;3IV#@ZypM z*z(56c~y2BQ8C;kGN99t)=E{{AWx!=LZm~I2Tt`pD>E8VRW zU!=!-t|4qqih@@2jG2EfLV{qYwy&8oVcRp(8CXoqZxXgSWnBFv#}}7HIAu-WH5Qp8 zc8nGp_Y52aN8I#3tGrgJj31aFt=IZ{nL0 z)(Os$BXG6M7dhaX0H-P;1;Me;K8d{T(Y9W}=s&O@o9i^qNXI1JuC?|(n=B$UwM)V1 z`@h||O30P%Ny;JQq$@3B9>m4F-I~UT@aM-@!W0w6{4AF@xKr?#*owS!^{Ob2R}%9t zhH-}x)J~F-El5qG-Z_DEDbztEOWSZ&annlRhk3HdN^4%YZZY!xMA$!#tsvLzf0aj3 zsCIc7X@Xv%?{_8&H+>F7eF~p5WqC}KxrJ9dsf`Y2y~VHfvt)^K=Z6CPKMB5@doMPj zdrZG8y2K-g<%680-D+;mR>KfWLH$%AWb2{;pD{YmM40}N2yWHy=Rd!wt9^2@Dx7b4vOrp!}03#!{lqdwk{CF0Ks6 z+3i44XJmEAUdORE(=G>_rNxZhf*-=j-Tkl|=zaQwnnZZ8>J78bwMMbKM%7A_$rq}6 z^;rAVFSi4?@PX^n#@9Z8ImP}*p=}ba4=a?Xy*0c@BJ~`pn_=+N>wZB|HF7hj^o-w0exd=8GuIs+Z1!q0wP8ytI zmezY}Go~HqO7YePnITk|;{!+&H_$a2H@QZR95lCNmXdnwgp~(+3gtfQ9Lz+XM8Np! zp^K%_C6XEPAuWi6LCck%7l$OkvjhwCU5PH8Xb2K;sSXdA6Pxt4311;vqP%KQx*L(A zEmu!_qW8z5)7OJHzbpRR##xMgi=^?Qq-C}(;{84z%Z3KnDN=;1C5+febZnxe!0rdKEdTwC`4r)}4=ERdulEsohvAjTVqdsFwUW&O&6*epH`fAZ}#_km8qb zVP9tZ8k-yC(;peJ#{`milB)INc;6@oF!@WAS<|Eovs5Qlu*u0H595xzqJER?H079F zJBHnQ3cp_lN2u11pcjXK6@owil(LL8Q*;plpm~#RHIh@Xrs08u}6N zxh0D?UFsuha*(wXZLBdw?BMypIqN3y4J9vE66vRu;i-cb2scKVPr63#jExshL>l2W zUoYR;UmKWYyES_5t%O))LTyEy?aQA$jQjXS{3|*7u$Hi_D^hGi@R*x|ol)|SNUmME zWBXkfOPuCwNQ;j)WWlZ{g8U~o!QCE%t&C4q3Mcn~W2ybFGuL~JMm7s!AUci@m02qJ zT<%<|?6*fEn7Hq0(QdBs6JwL`6_K)>50&1!X(&^9w0hbb*{K;iH6wY!t(;NnL>v7( zINuWe`DEu`$RMS1RHNj5ZRJ###;Mw)2QnC79^KxgM5@HyI&9%DP?iA6_RLCS6w((u zzNsv9K1?2OSyN41!?ZnaCRs2s%%(|_1f=Pqj}f1gOru$eXltSelRjb)w^fx- zQ^f)Md-3pT$2kgf!~YmUakdly;;sF%T0ma+yZ#VI_Q+tj|3YI?=TDia$NW0Y4${foV}wJV_i zN*^bpT}HeRs?_oJe5ou(rcLWM61yI3VuxXXQrOsKlgW`D94U=H$|Me~=YNx3bQU|3br=uK-p;8e9rU5B zCf3I28Mrfgk33V1d^a&Af2GDXioPnThh=5Z)Xu$F=6L$sQc#mYJUUB11%+*(QN)Y2AdGIJO@FTuF`DSYNM*Ep!IT4PcZoNo`QqMzxnHIYm>*y@iH9k z3QapFb)O0WzqOBJcFnIfrfBJLGYymZn1(e0Y1Y!_ms&pJb9cRWy}^ib?hLu0WXfYGV-F zjQxmiH!~NfuVFgBH|D7+@PgkxePYp0nAzq$Ta`jK=ApuZHF+M%esRGy{u2P4>06=G zREAPwSnE2U6m?>@C~+y}S4%E)yoOIqGwqAfq%S9aKQHDBzCJr9cbL~I%wxxeO5@>O z*qHV{gnx1`FjXv}Ij0e~Zec#}BE{RRRt@wu*%d%~N9^l^v*=2Pmp-zBgkQ@Oq@2r- z7|%w^t&d$!ntZgL=ya;qO6=y}bDip%HslL5aNDo`m8%>#&FCdFG0oF|S=N*K-PIQS z)kRsUwSwi?_}%S!PW~|)H5y*i=Gc(suhwhoTW)7JO!n2iA|{VkIfv^PVG}d7QgAZp z`N-WPE~FW;ytiwxE{>gaF{P4Pnm z`pT`c=Y{IGW4Vk_d121&T%IBeJyOv15 zqUwU`tzaN{*7_)6_PF5)le)_6)hB^f8mbLkKk!EwLm~fjb7WN;g$*8?amuj7k$)ozB|53|r`Huly`dH(zTCi~@X_uw%sKpb9!; zZ{BQ^cr`FGIw;gld8u(gZ-k{yZa-7Uplf!gw)0&lC*MJnUqB;@;l|$Iv|P_n(S+`? z>P$@OB1W`Z=3Dxr?~sdAt>t~uZ2x{Tz1Q)=BkrT=Lx^vd6C<_IHF=M#)%}<<^Rxu_ zKe}1IOok-RybdkIa>fzGTdgbo`+dNkcm~`I%cNdq?;D3q8kD+!G(fe-M2q^ROo2 z7t|#5l;f-^dTn6YrX)oA4(gewI%n>fAYJ0~0r8mWI8*lCs9@My`g}I=R$RH>+K%r# zOPpGECLln!jH zU!a;{_ZOE%UwWq!5V4@Mb*!Uq)*4tmvc7fK&sf?2u+6mZMdpKJ^fpH|pe5FM7W=7S zgyw2Iv9EwHG)p~2#Om!~)nN4Rt=0^VL<6E5GO@|Y0eR-!GfH7y3secX09=;JEwMl1 z{!pl4P)1Va6DNp~dYkByZ-Xz5El(7@X)RvU&EJ_%Yo4P7=jpfKa#TYIQ*UCSB@E|D zxZ58`F-Rvaj%7cL*D{CvqH%)edDkDd<(dOb>~y?I^%Vf6nzSO+p9&?GsU)j-7E4d!f*)p)U%}o>hfTqen)+scbIW_&q9%bZ46(ZkAquPdmof2h)-ZTGaZ$ z z9yKhy{`e;ZonluNbAwbp6xU5mFFc|#7J8pEBuEnz7oxW)4TnlFA=ohf^6+Z={ zYSpF4)_}g9rxY(_r9^9Q(iR^2q9oEXCn&|89beHp7rksXCwp0pS(X`ItZOLGG&KpZSI zcsj#@*(L&GB+FxA>a~sJMP_vlSCw>v+BKemF(O9J-RJ=#C?#2VE@==_9-O~>#}t#u zfy1a$`el1X=5mcDF2zn9|KKLBpg!QT!bil{aqO&)&BaLq<7}eJG~_P zI3o&2sczop1@8+{ADI*$GJdDitB4Y~iAwTU{GQ6v(=oh`d17Ev&>fJEK{82LXg#4W z>eUk0A;8!+e&i0$+Px6NyK=rg5E~M`(cthWNYJhC{3;yFqU8XIeT6X z3UU4U#{4ZlsG*)dZ3L4y2;*VVQNb5=u~%) zPLcdzM1zs1Q#MbWBU`B!G&YN+X|JJ%5UZF-e^0!UCu~sqsVo!Sj2N1cNDmh=l$>P2 zL0K+SpODI-Rr zO)<0WFwWl2xvZIdCH2G^^{HgE9Z0EimEpS!Vak;-uBm|xWhL|i-+n~ylRM=~;|GBp z%CC$$^uCm@34HaZ!Pu}M5gk;mwJBcO2tkH;NV)H6pcs1Xyid*1nFCsip{pTLe+-~_ zdnqu(7Raw>P&wvl5XgOT>>Tb;XvtVsPt<2C8CfF&xd?X5T1;H!2&bRo+1mWyd)fq2 znd&Cp3U=@+Fo6gx4Gu<+-$UPy+ZlkW-_mQx*++l0a|r&mBOc&$9FscCL9N z!Uz2Tqak7FOZME??x7#>FPmFkzbw!8EJc?$gKuxs*s<7*P(5QA zx?mxZ#P5MN7_OI`SeJv<(tG*Bs`hy7aEQK8Zv?S+jb_OXNQ-;#0P>`)0TE9CG~eLh zF(?=_02FHFN}80grQc<^`OR>=Bky<}JFrRqU4}s28$DL|?-;}WVenT3Hr8A|5?d*| zb9E~*qWP2FPoU`rk$w(hmq7~|fqzO3J z(QXIxek$f+NRDR^+B{@aU)J|M)}&cQ*J5He0c^6Q9^djFDJsugMa#tu^~uPYc~oZ2 zB0?7}$;b4%8cIhT zBReb$SDlNyHsWn(B!ylK1(Z(LdpO0^19Rkj^y)X6V4d}I#st>Hm2@Cu3-W0=h=MLk ztWlJ3|7HO0O)HF}aM7Gg;fIZ`j%X$;9ncHHRlKB-9@^Zs*IzW*Q}7_30q8s9VbKcg zWW7}jcbb!7A*8D&c4?09XVaGvJEEsDqNu>7Djn-^5Sk1zi5HDR)N zqbU-Oo`JcTLup_F_{)V1yS$NMr%Ccy_scBS3_NE0%^V4ia&^(Mf)h=574Qtm-jYPk zkPi0romxgU@)J3fC0Os6l7*{}90F^w?P17{Pv3#@1?TqoMqFs8yiR1| zmmp7wqpgIOl7_j!B37qCRLCgFyQ^?N+X79&&3pzWQ3UjMb3QuJHc5~~E(ZQPYkWD9 zkYR~GV}10MNb;A4FM%nL=8H#HH887BRU-RDy)>>gr8(@FQ!x#ArAaQm0`87NFd8wl ztgOXWwDH!z^rBUZUE`qq;L*+AoP*k~F<&KrtTXD8TB-mTLFdjSZ`_BivD9`|hT?W7 zyB6f0(s5+O>l!LX-(=Yip{wY$RA>k{ij{}U?DN|Hu8a^zmpcSoV&>fL)09sScMH(O zT4|SFe!TLgm!Mam8kzWqzZ?rAmKsvoZb& zrXA$iKaY|i{35ZlRTL3D*3_k)n^sj9R0K5SNUEwuNs(x;h5zZNvAS4+VvVYSav3ZY zh&i4g5fFYy=*4>!@l4g}zlLsrN5V{3T*J4r3_t#&e|~~F+a50A7_?cB0GsAU@Z@aX zVBBpN+o@{@D+KXQr%~CMj}JcWxkkFg9Y0xCozDmm{st%EH36pyIOc^<0fDnP^c_O- z^esQ%U8W@|WX7LDn!Ejto~8KRHvwa?tlr3V4)WQ)I%&XCFG#0)gZzH3L*N5-C zn=Rp+Mm%>a!_N(K>+QKeyw3P=-@>Q3g#Qvpeobed5&PIS+5HJD+4gIUmaKytzeREH z%!cq7hR>q;rD!%a7BQN2d%(vfq6N9Xv5HPro~y%}nURHM|++u{3j-z=N2AcSk-XxY6Hs?$L_UV5yWZ8HIq1yAr|FUqr(k|qXc_aBJ)pA9THoR zad9$j?8Ad-eJirz)VU4AQHj(qP8gC0SvN*z6<|!g)bfYB%GF8U;|FO2zsD*&12~?H zB1f0K@=tcH+8l5^F0eHNJIeYoQ}zCu-^m1NQqB5Q!hjE)DIInpKMwviurW8k5fY-O zky^D;Q@@F~3w=v7nFWuFknQTV!VY&f^Pt6o;1`fxM-b;S?)Xox4M7r_tURs^u6mhA zGy^Al4?;cHvBt6d&EDi;gajL4&e5ZzJdIIcyvVK?4)c?1a;4a8hSw%9@m7U`N+QC{ zxUVdoRma+Co@$b@>?=@saXKcZ+?GX6xg_&p0}%nU4!NiZP7k zL5g*~aa3S|L6upALOm`|G*EsLGvF;e_0Qvkn1_VZ`_ij*Nu$K+Q;a^kx8j6)v@ zuEc%}q$m#9&B{!k{M@c@Aq@&$DLn3J2mJ;Ghc6FMWit5luaHSlab!BE+Qf>t0$^=P z!p>@LUMJls^ni{cj-AifqU@48Xj+JNs@7l4?p_pp^Qc$ewDQ&a*Uw0KYi++a%HgkW z4PemOBDo@FM1j*UT>fLK+sd!2+&6Y;{QI*9@SW0Ucq4AF5ogRJ8^zv-Nd;dK6CW81 zcda+k+Q1pMh#GM!ykYeTMkf^A{{{TxkQZNVJ8M#->(P>XI+utudCN?;Cg)>%ip3)yBxPAvQiq&cinQ zIB?q4+nP&rG0@2NJj=&yqS*{$Hj!!mG&fppOnPh z1Mw&Nlez!9iPaH$mer*JyR%gAFANwJjY&_JaQ~999==a5e%7U#xj{30T0%*>>TCE$ z`1M!wDcbg^+uX@8US5!Cpn_r-`DbQ|Lkh7ia&;#oikseKD-gGZpsZgRjKGf3O{QVK zjpy5-^@bG#=8;GF&)CaPi=Ruz6^F^qw8x*~26E)b!&2Wjc`u`)mJI_QMH$(7Ftllp zGfgCr0M1exu9O5`sAjA@8!t);BP;>NnJIAK1bVX^mN$c`pDO&Zvp%Uk@_8<1A&er2F>V? z&DkgM+RH?pvjm$Q4~m2+*wtW$9$PsHclbzn<7Y)yrGI8oof>97(@96ke*`G~^A?ns zz!yeK$?aK8?darMJY;u->RJkD(=A_#T%s^#QpF5ztD?h;=tv8bO45kwq=fy?2=3T1 zdGrAk#R7hjF}~}5nQ(!qWVMV<7by|yvUlQt6f$7xm=JC5KV{oMPEM{(HOrrug5?As z?9YmhgnIiX_Q{fyl;De@;mT~dD1QBqc8>FIOwwi{G%M;}Un!wlT*PFL)0#d;%ZKNU zU7Dzu{1{iO#p^y;W!?alLIq3B zu1p4oPB$j+oqE@nvOg0%dbDX*#LIRmvwC{`efeMhJUb=3s>mscM5toHAOpn2gNeZwebAb!E3 zuj5X2A47z(<|f;rqajU_AN8+QJzxr7)VvO6sfqg;!GcHuMdRe8rc@LoQT6u~b-&RS zT2Xzznd%+p+m6N;=n6XjA{Ym?w`%0{!cL)#omT@rc4no7aOWu~VZ>Ik=OXEH!}^j+ zIn?Se0*|LKsX~gS%3}?_gbGJ95moB%1=_talb#*|U|P!g-i<(j z(D=&K_nrKp>@bist7VMWgVpPn!r|-UPW!Z^I%{t(a@Iv;k-Ls)zux{AT&NNx#^G$smiz)?T(uxIH$@j#wSmF{uUAWFy9>ZPKw!a+;Y;vk#Z$hr_s%l z%2@5Re=qLSCMts%7VC~rnrX<$%RweY0)`K>N-!(!y7}Ov7kd(_kZE+;h$DAf1oOkU zRpp8BYHsixip+Q2Wh{3Y>R>u0!ed2A&39ECp-N!-5Y#v?(kEnL+xbxqlar!M!8aVG zoFoxrIC&C5AQvr*=#TBsk`?>wCSwHfz>WaFpgp))(^82Ayz=d>vNsaVA&9HVS>epJ z0&4EV;ynogO&9g-skW_Dp6jgF815JaV8M#rbW4H)4-rBh7s}KRmyRZ5@nR6kLDDMa z++QMyHoS5vx1jdgy{I9~f>8O{Br6Bx6w|+%SRudP)8yexsI!UblH_$_P@tJo8-5rA zJVl?oj~CTSD;)FeuEkq&AUi%Q$`7M!J1#POpj9PXcp^ud9~C(jr+_}96zxB|OHdgJ zXD@Hw!$Qp!K87fb>>QHr&VS#QJ*Q2_PiK8RN4tttv7?x8Z{mh~l*?}cWQ0#ZQW57J zQTzaJITduuaXSD3`hCMwEdjTQW=yN_u#70djfQ4xuNI%t)#hECs&tM?TY#@Zo76Dz z6Y-D4Trc(s`RC|6VKs<+Hwi-{C}^ft-^-J^)!bg#E5c5L=C&3pV*2Z~iJ?%UaYZ#v zmx$XMA`G_n;Am*7iPiuV;$2tyVnSc~Q)`%myaj}Pf>;`k_6Jvg5D@7y1yFi~kGv4W_S z@3e8eH5SEak2*3DwxS_<3*NtVW-l6Wha?CT~eP+sT>Z1UrI!;8kamtbGU zFHW(F@BzhD?(dr1n=6~VY*Se4if#J64e1tR)5LM&C^4uv`&ta9!#o%&FktMWVByEO zqT0$8iul-gsuSe(Fu`Et=hPEz1C>UhBK*qJ4~di@4^s>9yiTwI-4xj>Z&h3|UI6ur zHkKRcJ?6Fgp&#y7}<`ja(S;>JF zxI=AY#Nqp1LF+buUq*APn)Ohb^D$)`qds5uZ=q20(l}LnuSa-9ka5!kTd8GohCP0LaXYc&CFFUr4Nyin@k@kujT=HZD5{b2{WbutkTUUWkrR zAA>=7o|08*Kji8!VZ2x|wcVLpva~_Fo4bz$yDzx2*e@f9N`bXtkh2@vvY4L{+o=3*n;m@DQb(aJkh|#c&6&VLgA|?IwC`&dVjDG0 zv)!YqZ1c@Pk(tzep|r2VsdrgkWtl~1%fr%F@R~?o3o(6TSOvAo-!1t|{s+!qeu>CLP9{}}{J9g+QU1CO|#^RG_?TMvWeYw&;B0Z7#`?`HSV5ZdmN zumeLa=vo#I$Ygg~dfxo;^X~LXRy!XE$4;5wPl_F}UW5*+BE=u7o`1(sYwW~*>dwLS z4CQi`-^FtVVIuE--NfkQSHH;wmd5R;wU8k3RhZQe>WxT7J*MYSg#D5_^eOX?YJFVs zbCj~#V|k}n>vCr}<&o?JZl#{N+M>i~lE`}-gICx=>mA9+?bm_Np57dY9P$V_?dQrn9%!o2(>BT{v2keZ>PuMMuo zK3{-iTb{y)`fJBp8$xe%CX|20GtKX`FHET+DNIu z#~taSg-`~tuTH+lRj?76ejVsMO`(ATxHe5%Zf`pvlQ>eYYM-3w6o#eNfArh{Em3VD z^a`PKwO1UTwoKMi0(jOvQ|b*C1I#?`_1Gx>?B`iIPV$+cL1r%9PtKJ>ilLnIYL2BL zgn>)kf*P600!t_|_*JVIQ5IY#q{FW}IL^u&U@vvtdMY>EYHbWd#;NdRwvGsqr`j|M zjoU2L_P1y|l1h_jEGC!_rO*9;1^Aii~~CRy3|l$~gYNKr&C*=aWuOx#uWKBV6WdySI=CVY7|}J9*B_3m@A+Mw4V8R5 z;f;HWT$ODSMC(Hb)BUoL-$uAGpr|-wEwp7TXxx>(K=2~_D$rTo2K}ye`6vnz$AkF9 z=-!*z;Xn4omL^d~ZWQtqMY~b0=Ed}obxI=#r2&(MvS*%>}zJnyO4 zDrGT8pvvHxha5#?E>`^AOFXug6yNZP@1**?lA%zn1`O#f&D+Q4Z+$z@wFu_0T{djI zoQt8$(xq^CtWs)WivVK$Jx;>%YuG*ctCA_lMDN`k1Yj_YtRZmxt%T4~`|Il96-9f= z|EjzrK7kF93Pj3|vM$~uO*o4`ig8zH5~oEk)sG@Cq)=KVXvs`r*H?V)?UEAMhK#NHU#*60#~?{SLsXtu{`t#`GOxE zxnh23551j*`r0q`ELQSYQT6gE_}svU76?C-z67m?RO|pdc9)(FEx@oMmuFD_NTv?5 zp}#Fui<@+T1O8Q*CpVwb`+Za~-yl&b^f$g*G>b{7P#~Mfu6ezq{o%yVtHA7QAX{6q zOna_Cy*P|d-!`6vR8x>?tx*P?MIK67(xSSn*@9Ro;<__K8Gn}%GO#{&(9OWbw(e55o@ino`o+!-Q_O!GW)dL-xPucdxaOB5G@P3Flh530uI9y;uTc@BqRg zcW#;3O+kavH-07x)3C_^fS^EdJQEd$!+YET{)9Di3MiEj`tGIaS@l;fNm#&$k5+ZX zc#8J0vz+sEB)(uYuv)^-(_D3mp888iA^asCJvLa_SwJY6ed{~Hii5}!Iwrvez2OAB zJfj`~3NRoOA9ae=vDWt+R;BvL$3DK`!Tsnhwn2Or->+P5^$aYF;}R25OE1aPw<)G9 zZr;ln>PPKgTTH^cz!r8O=q5ob-~*aF{N?Pwm#4|FFfKj67*IQ78Ent1;(UK|<$oqN zfS$KcOMcxc!`1Tmp{0D7N2AIBED8ZLv8qSVM*o#$dZ8)IU%1`*N4o(eioI+qXTLwASQ%sVbqeze6cQ@*k`UfTJN% zWx+2Qv?#@N=KA-3gG=zT0G}uUTj;ZPRmGh2^{#-Ikj5Jwm_uLG&pK9o%k$pd&2;gK zaJ>dUrhyvP4k9Bsivbj)3(vrrB{J|vC6nUXt@2GX-LG|`YSi48dDJ&b8))aV`a=uxlyn&6RdOKzy>RCION`Q=O5zsrL_VG#xw29%&tA{{fe}+6KFsRm zqX63OgaqNl&^7TRI6ajTBw;x9g}ENe)>EQk0UiRyLQuSt$hUP9-AShwoxMt}Jd^V0 z6^It@-nqNsz1I(%#+1tcOcI$R^!F_Oy$r>ko6!_8cnEI)=cHBo5cAuXaJz5O|g`8y-e%`%X!WNU#YwsgQF$qqrTB2_vSm7=y$}LpXr3CX6~-S^T>^_Yd7StW<+U z6*|!zWeR(%KGAM)`L+4dMU1}gk~ipjqDnY#)O1aKs2cl*Pd1>Wr62g$0?6I04hhb? zymcVkAzqEf*f=iM7r?z@mq9#Xp$y{t;eqWuhk$W(l;1vTnNh0#Mge3Rs9>H~c69&l zHzE1{1To|0g08njaDh?`TqL%dNWJgMznkkK?07<-9uYg59CsS(dnBjf}y@6bvCRNqK z;Sp?#q=+=F)MCr}xMfk-YdLi8 z3j>D%2LUx}MZsVHW&ru&R4zs+G(Ww~&S4SL}WN zlpN1ms*+m4*I)H-V}2uxLUfl+r8Mu0$=yKsK{H_6OquZTmI9yxqKsjRXryl;inz?j zFHEM^t~_*nWn9kRwb5d!KJ9usa+_8)F=m%pb)aQNk`N5f{RLv-DkhR{p!t@cQ85F7 z^kZ~de2hR3VlQUk-KGQ}mua-|tfbaWifmqHLJS@scR^8Oj)mp(3=aIY znz;4Ks2$6~p6}SOf)I~PR-BT*iG(4Au|;9Z`BzQUYDL&mhJK?Z{K@bdAM3HT=k$&P zM5%yLB`CT~h0?PLAI(9aRmZ))ID+#_**Qfgah_s?Oi(qvn?lsaiJJq=(oRYAalono zeJ(JeFxiJ$;lbbOlAiqD>S2q`Ou{ssm0@@uIX^TaO+PJ-Prch1tO)wxwM-Z23lTWu1^ue2Kwy{E4Nn~hEK;?OthVH6rs zY(}khk(W~Alfbv=DF6U1tX(=&OjAs6C?qA5rYA)IQ~dB}BIN?7IUO$0=gD|46_xoq zdq}KHVN7SG$*eqysh~D@HP5DbJnD0$D>H*){l%zboEk)q5pKF{2`)f3!dn1=h%>e( zR6G61kz6b)14BxO@!48>R4kN>KmZdR*(qiZ&sHx1?^eB>X@<3Rsy@+`q=!lrnCH)Nja6xPlWK~`7j?EI3s-wV&;kMT`@|i{xMSujzw7M8iAr` zXFGpsg|ti&GnI8YVPO>I?=)ZBA71t#6VlgKwX#}bvy$|ck@n9-bH?Gg#QD)3SNuJX z*pDisp*#5?QmgS%M&#yA!~%krf4aJWwl9wqtUA~5(Tu}ElLOu8xaCn6w`y4_pH#qe zZjxHZMKM)vuWx*kbWaecvBK@`-Kug$6?okt&lZVmY`3};$I)*3!yZq|JbS_Gl#Gca z9@jXn9DgB(4~tKOGFOjv$daBdS^hFtktb=lMyEqFC@EZ4-fNkJ0CV5XC?x{OA%Yzh N69Ue10BL+3|3BR=Qi%Wn literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-700.svg b/documentation/fonts/roboto-v15-latin-700.svg new file mode 100644 index 0000000000..fc8d42f92f --- /dev/null +++ b/documentation/fonts/roboto-v15-latin-700.svg @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/roboto-v15-latin-700.ttf b/documentation/fonts/roboto-v15-latin-700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..19090afb10e101b0524a4dbe1f5af074dcd2a1d3 GIT binary patch literal 32500 zcmb`wcVHC7`#(Ojy-5=g1f(M%h{uYe zSO7&p6pe^tK|mBlKoRVa+xxv{_Vx(;gB`3K*BOGrgcLIS(A>)E^I+N3Q#2$@xe_lvvsOwZi@*`b|; zj2@2r!NbN4DZe()+K-Si2M7@x4x3VGk-F6Wl8_0l@xJBA@=@b@-tD`ekg^{Lp>K^E zGO3*SkWkcj67K^>l}#UceemYac$Y%RkolvBkDC@?BzI6gdw+BEh#|xOe&xl7gbZJW z``poZ;GbmJhxg5KUwibp%4uspY$4(O8Pq?eY{IZ1-H$i?l#rol4}E9ckZI*&knkh! zZOCsKKV;m9kl2)u0N-M~k1n4usnRiy3U_-(k~L1gw$tRvfq zNDRc61dw3Tjo3(=BAbvNb4ZA6TFh?O-?I z%|1{VxL6oSh(KmKex=7agh8Z{A_bcOfK4*lXq5)22-rj&P(R%GaX<}z^^2@u#{7;3 zRM|*+Mgy84TE)zW@GwI{d{TBUUH5A|&E8m8TwK_`xR@Rj?>(&O)2d~kKJ)vsTAPdC z2we?~ihN0uBKi3{YxO~`V!9&uiR^)pZZlTdM3c>@3KfV6<}8{0p?-CCoTY7&cYGjE zQAY@gOW7Y@Dhk|;w#1M)vRR3)-H zmIN^&G$F^zQJ*%9c|G1l6RlpWGh-} zWvvvfehg23CR<>YV)o-m^D`-7)YV|Yq(r;#tR`FSDy5G0mDQxwcfCTxveTrT?A*MZ ztni44aBFr_LcAe7ELH+p7{e2Cl9F<)VG&uGxne~BueVe*`|_1-ht8;1hV|^xujuZ^ z(uNm~Zaw!MwN{iCjij@C4C&E*%!;A=z6|-|s~Ug2H*IQ3k4^&y_a3{X|BDwwPoIkT z>)h1YB^YCa9CzeZ^7|x^M3Xusn=~Zzl)U@`)}}n(P3Qw$SgUO5po5%rTV6WvW-rQ4 z1U3>G0f5^4s%(Dgidk^AUojEw;)Qn{G=qDJky9u_h(cb(hf~G&?s7!$BJl zIgw!znYlSR8b0Wwud*`PD_}}arjdgVE?;@@;PMqOA8%9MvSmSDYx=kC=@l;@Sh?!p z@%Fh-v@UOLSC+vizCeYqP9+hziTKyR zF!@H{QzazYmz`?42tcuDFY54<&DW%)x!!S<t8Lu*kgJT#l)B73*7cxcJ)6Pi^H78~r)&YxVVx+dutMt){m|m#E)`7f&!3b#9c} zp`d9;x_HEaF@2xw`QqpAu0FV+yLzeeY4r!2y-(@)asllW+-X$bapL5T6SI=q5AVYaO{Dk5kKpWHzp5s`hZ?Ujiv9<_#9fFo|*VuBlWC09HN+#7@@Ja23#?SSTr^up-&~=!BsWD zyQ6HrIQynYq0xzXvX~_%M#`Z^QB0=2)l-dVUf9Vnn%+n~etzp~hqsFF7Qgx=Em1em zI8v*t3RvH(oz~K zrmGLt(R2fq=^~Vtpst}$kv}0FVijL59S9qf^1sARXmTFoHb#Tt==$2Ngx@J0udeCZ z;)&^3&rG<+;2KXK3fqMrK>ua}fuc|sL=2o9tFYaEPRODUe?s0_jz8%8v@Y5ZuZRJG zynmUn<|Bf!O3_t+MuR*j9W!}1tE6qak^$}84Or2pPoFled-q1oj^7;fglk-~h63*z z&(XzxMuW%%nsxS~5OwiMLn@P9;9^o9MrQ!<*H#f@YNB?=j7*Okm7I04Q3({ATn$2Y zCDL_==9z?qctJFqLM$PniF`yE&7A$_NqG7{BB{CCXAA>xp+r2_?_pL$+B zP77!v4WJEZWA(K9P4ug~pWmZyQC@msKX9}M8jV#}pwBpkiVSL!b#~#_WQfcfAf+p! z3nE1j*+Z_f$T^8wqE)@3?h*RON&Uv&{t{)kh5RlA4r-8M#T*^u!oL|+nEzEplt;lN z3Yitr%+x2F*`)Zo-vtmedl$jqvAT0;ZmyFPTeEXHmxgqrR;jQ$nqC}IGPM8D3ia~r zn`^%Nr+l&csxa{s{j+pSyCD-6jbCu-$uHk8ySh%@322+6$Fcxz9kNI<)~)A)HW<(b z>(IvFCWes?4QB1J(e%St=v^w59G*>AQlaAT1Uegcii6S$uwupN2Hem2g-Jd0^39lkd;#WwBTTQ}bBF?w9TuNl4O zp|1vky8Xac3N^msB{(>f;SKkdw1z8!3sj~&QIpNTO7Sr;)lUiJnOF;B z9-8ixN*LF4ZDA%`bQSxX7@~finJYz=mXyv^|5gjs zKWC098T0q&7yeQ0<4XpNFB?2?Y;3I) zd_$0LrY!>2jmOXoF)5+0ma$g5)jPBkq%NR^pqhw~$Z!*pjX8O>#Z1Uxy?LUsV*QDm zPhNd`)zz6)eO5i(t~s5)qwR?3@_~KJ#|dpGP~Y!X-d(Uty?=15x>g+=MDM|NJ=Q*J z>Y5!}r%ip%;UG^!4xf|;kR%e~Ak>Jz4lxT9WDAC-h4=Z;4qn0gWW4!B%%TQjiXiO0 zi1(nmT(U%5BXz}-2oIVI1(^v|&;ig4*$maoOpAqr>YZYVQ2K#-la9MX$Ei2j2wY6_ zC4=|{Xv_#*8Qj4p!VFDUh#N0PlOnn9P#~z(%qZ1RJy)E?l5p#eeHdI3luRRw#Vb-5 zH#A%cV9>}_Hkm<_Xr|%REWB-hQyf+OoG|V~8lkSatv*8|88oSm-$ezz8-?B-s2H{0 zHJWTSoxRIhn@-;@t1iZ+s%RFvB5EuFOu$pd1aXH$IDZF7vYVoJVY3;nF2QIt7>%%4 zxM?4sMEkdXwejW-#e#ZS`0f0KTb%}V@8mD3-}hh9zxWy0`A@&FeMG~3{kt9e^4y!f z*AM7iIJAj+u2tW@%=AZFI;xEfSLMYdhqNG1C@d0uAFn$1p`QIhJctOBSixnqLc{25cQ2~t>hk$Z`gEsX1)c<6jfBVpz-5h)$89y5cWe2&yNThI zsj~(k*}yn}uf+TtP;WgbTk+!$8A-#R#1Bz?-F|<#dP0b$5rS1cVZThvj?fhK0-Q?S zgg7RJMKTwB{w+WdgfSOO)+kYN7FKqYiH$k@H9LFQODen6#Yn=`8e1f^qsY6FOgoBP z87WjKaglVQ;)tXbhl3;I@Zj)-$k}+UtYpuFT?0_@365mnLkN1P!w~hJyerFWwYU`` zBQ>LobFz~Yv$)Jom`hdaOGCyFEuW+Q{t3`QnW8 zUkbt#>eLa%XT%HAp<#V7zWYF4Kg9T~N!nM`_=ouFQ0w!+W0$P&t3p3VSV%s`p6%W!l}JKwmX=T6ySynSPgXD zWi$XDF&N<45G12$W`lNFZ(St+LMZ*`TM;%`-z0qG{W;ye&d9Yo{tRP~8_vh6o@x3m6S)bC50|BsQP_zGNa^%@*-jCz=~Y>Y5vmDS1WQ!j{z z?bA?OPy0)(GUg;E1L1WMKphq`S_!bmqe)t&UcN}3NEDM8z#1LkC4)gFZugrK7r=cK zaTqFbcjGV?2F1}5FU2m=z|?&qnW=MG7Rif(@^T=hWTCtI<>9y0?>7l+X!ubo(%LcV zrLZN_p4&zb?%mg3y(=_%eaP6|wBW+9uW7S=f8BYq^2YZi*Kf6d$UO?^K{j^mE_4=zn4T>)vidcsSecJW3}ibpqdCEsO23Fm0a zjH}Ckgl|2q-;h2dWm~mr+2@tFFOD5KWgM%EVJH!G1&~e(31qtXV@Qn)JDu*mJkXqj zFb+*PGgb^bPd0M=x-U(+hk>KD$S@06L8MqK#|v#O1f12ELNTRu{tf537m&lCCh_ubcOKp z!}p}d_8#g)9XdH4SH8eEb^41~gbs5$Jd?o zSYLdn8Wv}DbMZL1D)_&gh7oRp+-s{yn%u(-N|;mPd5v@zZZO0>JnY~rF`k?Zywx>? zEnv1z?~P`c<;iIq)ayrHRe#t_H_;ecMq@UqRl7E<-$i$AT)%?~M=q*w*$&cH=i6VT z?OuLaed7yy{g>O{x4ZJ^&)+kRl5yZ~fh~U$Mmj70;mo9EQx<_vh&eiR65$ep^;v+( zWpscSLk4ehTMJ-_3|*Pr60#<8`3k$39#k&~4R`&sQ2j==tN+k|sZY+Dp#CgSyF<23 z`*!&kfBjZIdhC1wko8ilWoF5QLDy}o_-MK=6uLMkWL}dtF48iY6t^>o>5XyTxHLu@ z6QS!lS>j{xnKFO!{bTCcoc#ZR(~s28`oFX9AK(86UVjB%gGeM9qR3G-7+z(jsQ!GL{n*KxK(%lBnZ#n1-@%hfkw@lM;oc{ zsN{ad%*oU53E}qJvhBwCb*CHIUkVa^CXE<11tYr+^p_pLc`_NMgw(0);#FRJJQe`P zG62O`Hd~|w`^B=xVV=laopHMxlmwpBhIx@h&+f=hs-4Ux0hkHto+65fl$>rVHbn%= z5hqVm&-DL$!9SZe|Gr4QFl*xYCsr<_CUPx z)eCBSX@~Uo!&cJUzp+v)fwL-K?tmsiQit?b+eW8sGs-&tDoun*{I(@8e(SB$5p?VI_Jgw zTr7@IraypuH055{OgqpnstixBk#?qIq;?Owp#E0W&|l487ULWrH?^7VTvAjQG5+d0%+*rVwOqT zWz1Kg7SUJKozT2*sylI2M2p3v^iO-5J)WwnAY2yCGpGd6+g(8ALmE5=DqgqFS#_wK zfM|7s6j0$bnoirR@#-gPJS`M0!m8@Q_Fn~)xD7QFqJ}M~!I!kwYVaylr)UpyRwTmh zJoqeR*GN=+Wg~AWllBN3$gzggX)+ZpU+tSK=md1Hm?^x804qvHcUjjTfnRo_xuuEvZyvE%bXBMZEClbD-B!z z4!&Z@VkM;rUx~d?vwUT82Dv3rc30Civ)6-cWrs_XzW5W;uO(`fQ0g zA~HOYnSBZIMq^lna4pPt%-*e^I_@p#+_SK!dZqHh{4=*{J^Rni%c9G^3Zk8o3nst* z^nurD(~kYxHW|3B{|B$B^*44ke~_PX^jULmTeNio+S(NO2}bP3a3!>6E!G#IY=%Ia zOw@Hpz3n~a7f!hZbpZzIaBBLLrQZYFwdk6N0Yv+U`Va3NH!R=-^|$w2I1O;*2E|CV>HuTXnWT-p+S+!FT1 zpXjfeq@xm1i-||A)A)Rl4!Ewfcnl#$^kI`ZN@y_S<7^VhQ_3?$TY~^B^9T^gOs6>q z`#VBt&~3OtgXxrWGjFQDQ@@)Z{voLMgyB6#j2iiQQQ`O_BWN;}LLbn2KOXNjX3g%{ zJ(juDr*M=Px zbbke)ZV#wqf!%OeeUp@k*f@qO__$fb5E~5~u{y}Qa<4@D@L>?0emE{VJsJ+BmC-Pk z2Sw8gCBQ}O5aS+hBPE1z8ysq+XFtgC1VI|iR~TXr=Tkk*Jt#6)DZ*NWA-|}f&-!ug zWrw|M(DJf916Q=TytmKTVET+OJdD=#WjmqBnirj$N4ed~Zx;oCmMHrWE4nD+vXk3}80D6p$2FeNwT1cF1!20mG93g9O<={N+4||dE?9q_3!5AkdQm8=Z zMXQO;F2*d{lR@nmK z>~Kv5IGrMT`(;%y;MM>TJ-AGqGhjMsMoPw?MM%x-T+9gLPd;Z z9R@;kS+=|?yNpp04Qk8Oa!+XJOTpm%^1*&M^H zA35ZPSr|#R$W%q*984SQUL%NWb2?JJFswI#wkUld4xb6wk<0uSf;cm+#(v?qhpr zK^f3{roD!6Xkf3Ac2O!|?Ha>I3fg5RJ(U1w^b+IAUhVQ~imrq6rf>ntbQjn)8ijdy zpPevAFcIQ{bGmQkdk6LkY}7o_ghBV@>a!o%+X#mT^c-!M0hA`?S^=g&XlbpS(Ikir z;Zn|}J?UuHF{_weW0hIkZex})9%iwU$jC6ba?PC8IAbkZ&irZPH#FQNsJGM<^(Shr zEE_Xr%GlCMA$fcCQuX&69sW^2qbXGI*|>B2q4h8926PkD!BP`I7YyjeE1^8rh3Pv? z1~cfmnAM^4B5BTGG0b>2j$np4*@tPbiXT7yKQx~(rui^|%;>;V^O2f-e`41Nkbi*R zn0;q1t5?R3T%47&_!A-Yf%@4*Rgk|fouwlD&ai&hXtm8)#+h289cHv62<;fFL~8AT zF2VG+e^G#!Y~YR3+u_zK3{3Vae%i?`8<=?W?u`)8aUP~3%#8KBwF*Pa?@t{Z6{@P2 zhwnIXgIdQ8TacGKfB1MI*+J_psCbY>?G-fT!KNLh^w`K9+L#nR<8%VwT@X{mG{`wg zJhlg1{2m&!+kLJ0`fI^WRA=pcs0p7mO5K$OoSJ?5Zp^4B*7uoUZ!8teSr>@98$x3| zkGc~P=Mj^X?5f+V!(C%rh~XNSzYh;2f`kut%X{$p@G2!vdxfZ=1lKE!pX{V$7L~vT zy&jPp5fSMO)rPwzA_6j0cwRs5a|Cb%Es~;@>Y#I%bN{f5;ruB20 zM0Njb)rogEHSOLqE2B~Um|mZ(Ju+n9(9S)Yp)G!nJHm3gHT0Ms3h~fmIG@t-s7psi z>J%~2_y@ZVQ|T^nZGoP1Iv9iqfI}0^Oi$tBJseZABGY2b^n*9vNNbUi*t?%vW!SPs zZms@#!Tv+zY~wf4G)riAfpRawXy}c>;0Px0CS8g%%Jd>e4wnw3m(bwK78_wCklWCY z$aCgaM8`oLVOlN5lsCDC-JP6ib$Im@;LU`ZaX5UCbeRv9Z3WV5r2zVar zxzR!3B&OfE207u;slW#FmcU$;KA>sp8ubpMA=2m&;j4$IP%ef2LF5y-daU0@FVu^~ zyl7poj*nlCCEk30&R}Hi+jO5u*G9kbGH`W?p%6dKYonbW_1XY6nkNbP@qdlxs2|Z5 z>e&;=)emq!M{|Y0Xe;|K_AhBK^?*=E2m!uCwWCA)KHS4ZV=`gn!pN7 zQ9`*DNFaAGA{7H-CZXvW5OC`nm`W%QlSTt;!w^l#$;7NLkC4F3v=MRc5s^X%b%SzH zI()ccr!K-PugL4w4I^mT>CZknec_ECvbNV;Hsk!Y{sX?ha4VbD{t~9CS;PYO2K_5K z7QXE)Isj7__YLo`-0^_560k-BR?V+YFf)vJ0mZEOGR)~ph#OWpgvER!$d=7b=OyLj zFhc=ei-@dn*gS$9zd<^3MB32smBUmzsQ9ScPUYUYaIL85$4`IC-=6vX>laUd^66LV zj$x>|luni27aPIugg-ARof%RgoDj$)0YH}kg+?;;$%)_7BCCni~+Qdc4dsx$BtKpH3p z?tirzpz~jHInVTA>!IK?u1XP76q<#B5N2R2aWW%byk`aJHyZHt0I1c%>}r#o*s4#T zg$T$&`-VCEr6@UxSQ+1rPjFE`kDAkoj}J?*0h_VPgZ|i(5ya^r)XvQRVtot3;ymZE zxbp%*hHUAFz|3cDVTi|!w9tdOFigUUO=sS`aQ^KxJKqr0Uxne_M~QsXkzq#WIYsnHGNh5#zq)*lw1x}W zhNi;uhu;opFYnlB{Ogko_to$Ec5m6&m*xn~m(3`=cQ0i7<~!e?z4hJk-u;FS{{9a7 zyu0JN+)BC!OS?YFSA>*QHVPryEzqVsElX#1K~t0zrfyL$cBvnMt$UoFg-^5NvkA5NM2L1iVMmk2|T zRAE#{kV%>v#n+GMUE$@Rcjl5m+cDnOwnJHiQl% z>I*#uM_G{ju^$_65R33WvxCWE7V4101m#3nbA{@XTj~kgOhrV1YNOqdBy}L=8tJ|mQ+-`L zBmBuq7@#)BTC|ghOwA{AmDqwttS@6twtVy@0t#7id`^uOmu=*eY1y80sfrMq%|3w* z7vvHzihn4JB~a30xuKM1QtG+i)ktG8=-%^fN_;&QKFnAVqW}rvY&l$6W)x7Hg{d+! zVbN_m>4rr}5fO=OAx>l@%akl_-mysi`M&BzV``aQ{Y$EAh^B1>yk z0<(Gb=&zi_Y@v1n;uB3FlBIS?BI0}4WVSO{Kq`4zJ^uEwEjwS@JfLX62s&~=aX^V#Ooj$F;aP}j0_o*|qAEWRk!Yg7R@E8O8Wt8QxZt)s!4vW+#CJZ28VSt~p^UNvp_P#W-vPI!bFE3uSIa=LTr&mmAr#`}o zn7Tb?j2S;YYj##f(C9g<7N{qObf248V=-;qpok#GxHEZD+$L^@&vWB<1an^-=}_*& znMJ3FC&WZdJz|{`X2ZC^WzGV(DTpq_)I27DPMonX5L+RNMcR**t~%WXK|{|ZjmUD1 z%(%X-lbP;_VD@gPtHo??CfaqU#B%K$>_f4LeBrDGv}Z9{KzmuS7KZAqbfuO%e^RY1 z_7Kb`wdzoPoh&UTrI9NS8&F=v^a!Py(I6H9j39R~hVTS1jiiKRrp zWM@xYPiw3{Ska_`(Qi{=%g$RCcNo;JWV!IwBZT$gBZSvqeOc_WWLA08xCy&jN1Ecd zb!xS+d3M`Im`4Z1b(XkI*a&L%gN2&@ z2-W>xA8y zB7WVj9->__Wm3IO94sEZr>>=C_h{b-)whA4JYkdYs{AIj=3>Q%N26#B_gbOE{c^z= zrV+08D?$V_02DEp+W`=?KJIsD3VRpE-*G(i^;B#WCg_~lXtWBi+Sk&!h7AT~Hu`w~ zqP5%Gm#w9PgiT8+ZO|*SSJU*$Epw)}t?WCA^<##x5^x?RwaF?aHZcjsYjAQr=|h9h zeKI&{BwLv`6MAlxQiXZc*S1j`Jx;}n*P7FAbTBTIRd{?j1N=^y$dGApL+=~NgP5r4 zP=d~rLlXFss+a^mDT%f?bVcauga?Qcf20M_>RX{^BdG_bZ+0g z)%zDcdt~j310T1}Zk+SP0I9qvpJgX|9>KlH zOZdt}HW943M3i8{L?2(~-`wgi#)$RBMq)>?zc^N$Auba)iTlMj#Sg`A#M|OS(Nyw( z$W!ru$TN}kCMKfmA!z9KZ39uy0?K9Z@O6Pz8bZ1$fuU^8jMg{*cIWEG0(Y6{o;{t^ zJyuI7{zle;s7&+dFcpf;4KgUV?I z6MWP!K6gCm#^~^AA&!0~_JRc-r5K%2gqWc>dQ4ux4eV4qo*uBGWMJF&{e?HM=5uLp z770F7&7?m-Rs_O^mYu#tHlqqgZ9v}|Ooy1h$|3|5>{9`t02_lII=eN^JuaE zvqxSqmbdB{XDo<$X8cooy4Q=7SE7bR!t;Vjei`1Q=7?Be?b2G#jU2C*vymdX7h$?c z+O-H1GRlZWn1bn}x9OBnlv}&*mg$UVO%W8aJ~$;?iJGMq&z%n_Uh$3LUN8jinp`D9 z!SPrg&$*?=bKyG%iM~2$$}yUI{H^D=yz_ENw=Vr@N!KnV(vWTMz57D@t?!-ODGwcA zHl*8-@#989{`Mv_#Y5sI$lpyelfRqj3Pg}N$Ow41#>+1vT5X5pvakW?%`}eqP$Stb z9E5~6c_W0c7s6zg{66RfdC4D$%wgZ26IevcPSM0m9f(+`0B}lH+Hsy^w+J&FId+jW zVH2>@Mx71sOcz)KR?u&#Pzj4-{1l@hEJzH88xhm}d_f^pbF72Ub6N4i#->~IYi;b@AI?SL{`t@EJU1jW zS)jF@X8pVcyVkbvkn()L?#C~F_}13vN>Yaw(@fpYXR(#USO^>hVk#9;sxqp!PW8^BuC~>tL;?^H#Vkm_Jjz&^yq_hRiQqR3eGiZYs z;Umd<5fN8abTZAS`Fr6q%-f5wxYK*#zk^jMk`l*uIY<5l^3;Nu9B0&-S4gT0anUC3 zrA*)_TY||JQ)Ppl?p}{#i)PzsFvZb(9U%++O*SUvCGpjme3HW$f%&FLHm_hX%Gt@3 ziJd$-hs6Nzn%DcSmG2`6__ddpb$D~(E7e5}=&{1Fhy)gwPx)dS&w5+2yiL{ew<8xA5%mvicov0@O}ZPEHdT4}?emj3E*|P^3iFV@otWhWw+G zu$-Lrxl+YnW}7y6_;HlDQ0^3h8_2!Lnor#7sthxPof6*}Yyfzn{xZ!MbNF$sIbqYp*svo*iG@daEpTzVyrK{bdI`CwA?!aP6V@Em7CA3!A0& zZ8`1P!LN30+w*fqRfxwiESI{WJ=vr&`AQL*G-Y^)-zOCTVkTQdC-%L9zxb?>E^&2H z#~bVNcL_0E#02mYJiE%u04);CJtwS$2JmRH8d}zTEo(lq=0kys%TLco$jqR8M9ajv z987SJDG6>amPB|Y4iM;eMX(9TH1`Lfpd1W4IX>CR*xVsyiOly9nHz~^)LKvtcPYDV zxCqJvY_gN2%YQ9ve(uSmU;O>s-tL`y3<90VRi9PPI&H~FJhXd*_>t}zr_($sBX+y;m6Nj`Z_mRd<);fh7s6)8q7$_{OV4T8U+PCDbl-V8D35#d7+JsiGcYyY_^)P4n`^xw+`5}Al7)}Z@d#`&Uf|Ups)2;A|>uEi{mHe+JQ6% z!*wsFV$13+%w6xbje<7SkJ)7~-Z0{1$JEJzbq364{YUg}yM5Fd_13LH-P>;;^$E4s zrBdzsrIqwpqJzZN88d}P0MuIf**f(oVgRDoUU-HU%!MsZ%@0Q&3`r$v3XPLa7BRQxn?_^$g&@{Yb5%a~G5i@r!th8COrn!d_k7~!#vh+v zc=3xr?GsJ&M)h9Uqif;UQ-6ATshY<27O5yJomg2qW}>*i^H39=P=W#SaM`-`f~wxx zQt_lU_0577>(*fdBhhEm&h5%`yLRoGI5v97P|(>7>5@1Vqr``;T!kw!Sb{LaEPxS? zSYwEdEA$$PMGMv;?L{0l~M!R7{BTPhK3xH-Ks)ZhjrM&!=?i|v50(pF!FSeD} z)VU=C<~=oN$gD{P!wVV>Z6v4mnL4?scjc6xDb1Rtq%~{C#?EBvsyI@1U<_a-s+exW z+>=lGYr#HoKIuLprat&Q6s9>@tcQE11B4sqzQbHdB%AtRK8Z9$_Bf{+V+CkdIpWCq zgOVDJPK!xsuy@{|*qmu;H4?Jq-z%OoHw?^7^P8|axFDcG8my`fLN95T*c@xex85Y3 z&NXM2);OV;d|rDtmy8_QoIyNVilQ$V;?WCM#mAQ^)gGE5L?R}Pxxv7a2sUKf$(Ng_{&LP(UPpAtXIAtNw++SjEsI!Z^h`&%eO#P(mthKMcQ2a4#U%3<| z%4kaxS>wYjy)|?Yw*}ja_k?SJEs3lRV$au7FgnmjOZ83RE7+L`DJF4>ACGfmQ=l?t zWKkz#Eir$BWMv<~B8*Vq?7DF4m#2q(Q`mLwGZ#M`{58Yx zBKo^9RQv%Nc!c8T^dN}ohnSyMTUelND;Mc>K`oj;x@?XxuXM};K^;A7=7{>Eo}7ue zEK17AlR{H?udy=*!GKT%BUf|z-WQ<>*!v=jcKP)vHob^CDg>w%bYUoEj2ydD&J+@0 zb@T7ww-C9T0<;MV!z5Zls7U>3lzQ{cUw;)hsZWHePhb}#EQX+1r7%vMDAxx^^94y@ zsRlmD!*+K2*+Ng26p7uycufhYsi}Y(h7lZ_bFne2VckHpQ48DwZf) zL*Z{TxxbC@oW^FsO0}5vhE<46yu{_Sn~B72U=*MYF&Y^BA8!cSJnSXV0esls+-g zb8=$Z#2{Ya|6l(-{o=p;_X7Hy2*<^6c%i*_K+_xV@&!@%4ruQFM;HT!4BG+CpU04S z?tq4H8SH?TMYD2@!sw!+bLtBLbi~K%>K#F}?Vhb$7typ-eoJ#tSb1@7Fg z`EY}l+wn4T@At^P!jbLH?JC>HnHx)1g}p`wuLen}qpJolR*(ic{}s9c9MVGu(&j{ z5NGL+=AKLsBDbdVh5kpL6=ct2O4RYJmB`@L>MtelA~z@uT4aq&oY4SE0W^M>L&<_= zjfBy-i!-7U+k_rxP)4TP>itKa$rO^;nJ4A3c?@Jl2GQ~Ea>u55 z=9N`vod&Wh-{CAR$1BGLSB_FlWTKsbDf1F{k)oX%8qi@;>LvYa}Zi@sBB4=M5W?`&s#Y7aXOICdiE*@Zt?)Kxx6eAMrmI z0Eer(^L~VVUdxF?wt}`5$8t}tJ!F%HL&%-z|Hw0$c5~&a`Pe+bGf?Qnv&-G1_ZzR1 zL&fR@R6RIUs4>yAG~N?hj#B*R185s^#9xB@n)AKUY&8Ujyx0l(dO+o@)3x$UAM20i zo=n-Cs53X`X{_J$QSY4_t-;WHv}AqE^Sm5Z28V%^4(6~zrnpBukIUzJfAz=uU7-@W9}M!T*@* znTDDcnzoqUGu<*v=2-Ju^PeFdLUxCmLx+Z54oe6d6!v1+?QmoGr0};R0wT&IK8*~H zoE&)~$~USYYDv`j8WAwYYejdDemN#GW?Iap7<U+ddiKgAki zUygl0j>I*KTVn~b46*FDT(taUtz+$Hecrmy`kwWI^?H1p_Nc)hRCjXS#dSB=t649z z-sXCD>qplgSO1rk3>*zpHl)0qaw6r+lv^qGR8wlr)U4DFsY6mLQI@WH?e2B=)|K&=Q`R z8YEu|A-U38vRH~I)5M1))mWEwl!p?d97E>HjY%Ili_DdtLK=$uNo1hBhs+gvlXcQG zQb!KM^WJ2x5j#1_FCZ;M{<{3!i+wNMCT*nOkgqkVlp7JF!9fya*wXl)S_I7h6bkvM zb1>SQPXfi+Bt?9NP+>RrsOUgiOLNEsDTTC@<|6eZ?S;#vmb4n>JwZkbaqtO-Ikrn} z$pl=_GW?9ZGtkC`$jiQ4Kw1j7ajr!g3W$bf-$?!>Q2vh8M0>*}iHJCN5OyKr%RpYj zIbO~nrNGHk(nc~&IzfiXOG$U>20=(Gc}g~t0peSv#L$-X5tn06S43q>V^A;dC4sCJ zW5_J26DbxRBGT<4%G`sPs-MX+@iyrwj6pO{Z88+k7m0hx6nxuTeus>}ym2qXR5B1a zZ)3!sh*ERXLY{}{*u zlBwcXWU?GYHW*^aIC_PQre8pZttKtSW~5wfL)we^z{OR>>&zl$LMiDct|qa7B?mN6 zEKMY9P+yqzBdH}kK%NJH{{i5CKynxzGP;txBTAXk!{ZX@gVP414`&j3JB~8?!1-mQ z11`E?wBeZ;O?V_u6Rh7Kmlz#@20W9{z_FL%1Lx=51pwPkK+)4)Fxe0@-w!3cOH6bfiq!3JEgQk*|tIxE5bV~?Cae99np{m@2+ah7W0 zFKaV9`=R-RiA15OVW(sZB9kL<6^K>s+sFa(5;;arkx$4Ca+f&pUjXzJP6=NNmn>nH zXiKam-cn#`ZK<>zh{vAH_=G**d9Pc_FI8LCqZX#Vn>gOo1pRvDcKYVr8)frcxxH|RfkgG*k>t4BkdHKJnqz>wa z?FRqg|NiYGFOvPdT?fe=vX{J0-XKTGo8&F>HZ0+Jt}I}*AjUS=X|6BJl}{jXq_d* z{}D^2mdNus1NSVEEri5}Xo+mKk(7=$-)=>RC|yzfI(00t&98OHR~$4j)kae+mNsKr z+vwm_n~-9o^{lBjF~!o>CMLG+QIt?@S!!8YIDDz4t!4C(;WjCepYdYE(&BWBjr1%U zgTK9sthVOGF|NxI#l;1wHi;F3FOYj_F$ySk7JxH|lc z&0818Sgn>ew&UH3Y{y&2Sc{8OZ3Y*Nfc42SQ5v+y6q})5s?A3$p=Xh;d5nz|FI~#Y z>sgdwwLP_TY0OfzK)*lkeg8Tok3MMb`2ZMb^E!R18;Zgy!5YIJBv=!yfUvlAs?9g0 zW6z>C0MQB%{ZedkZBlLiDK-mE0V#))>0-;$o<(mo#|Rnrx(`|0tLP09C*CYCjG zSj*zqO~9M;8Ea)=immzL*Da)9(IE?I9rFgUh&K@-YzwGw!|FMO`U&-+%{QnM7ZF5! z>K_qW7o=E1*p=vdCas=2pdf)glcx;sm|Kfo84}~7%>L}k*fO_XEdRo%AU!@Rm_75& zO>tiN_3v0vuLhnG#oy0}IyF=)8G&??VhhHfZo#xtd5Zlh52llq;7B~15J@M4+Uk*? z5Lc?gA{mU)Z~&wG0-1^DVd`LLKAX@KEAf{KpdlfB$pGgy+ifh&dCj=Iel3#}z@X)4d*t_VUI&q0m^thLt}_&=5~(Fp z88l_jXBOAfK8VJhh?Rb0kZU}6TqgEd%)rqAM-I-7_%n8&?NvgmtAx?0rIM7B0<6hM zM_ej9(%`u+M;eA5ct+rE0_qrrw`Hhj7@mwrjU$lKNhkOmTEWB91+kcI;P2Dw*CZYg z;wW|N_&U<~neEc&18=zlesYQ@414S+KsF|lrg+wd48-5*I7CQ|Ik=vOgGIY6#NQ=2 z5E+jZJe12m0dnPAT(h$LfWt~6wQk#~7l|G=ePS6&8Z~jmSdv*bq;fpUW)gsTVOd`H zHTJ`GJr_K#MIwzIF>ySJ{`X(xXJxQ21zuK=kS30npv!}+v(lQ-%{THRJ_OFkqYk#k;B`V#MnP=^m-=;OG7zx|ttyIX+`G;)?xU%>S;!-wr5=?VQQz!$6Y22bz+>+y@|G(UA?9z6d6e4v*>WS1FsTgqf zgN|2%v>f;A@a+bqefa)Gr2R+-kX}MMi1Z%HI*If?(kZ0VNN12fz_(|SK1BKm=^WB$ zNEeVkNBRQkBGQ+r?<=IQk-kB?gnGY4lF_0oqyU;{Bg~UEaePbOMUwFJV?6yCPpa^w z3V29E59A}ggLDk(IMN9uPt27;uQ&{S>?+4x2htV2-Jc9XFPl*UBB7Dmq1N_Dg-9Kd zdLu1IT7!3tCZ0uFkMseaokjW(=_90bNdD~q>tnm#;p;p2`VPLngRk!(_Z{TEgWPwJ z`wnv7L5)2@C7&T(K>8f%3#5xk5-~aEFbC>-5XH%2GqR)b#Fl38&LNK)LM>O%Ta4NYAr{t<=FhJ z8)_!>l>*qM> z$Z#A4+$KP>hy6vr9V5XQyZEW9V-GNQSpC)UtE0$Khdpy#cYNvij$P?L$4~kd-txK~ z1KdyWY=PsrBa>lN{Yky*$a36w>;zx?kDuc=NXLKu99$_| z>)t)g`xK?KpC@eE6Fj@8U*Xz=7Tiz&`^xdhf4^gISlOO={!N{pwQFU0V&8H9f0zI0 zTZiq@C*JptUmt1jUhnsK>(P7c-6QaM(VnB&4Xd8daf$b;UMw3iuAif)dwhWh@*k++ zfBeAx9{I5r{P*wQZyme!+^j6eH`<*xesTXk(k}K4(&jNgRpVBVdBYzG7^emt1aiS2 z632u?K>I_WJtRWAk|4=hoI*p$^AKpS?MMx1SB2ocop98Gj@1hhdVO%jL(A%inCk)1 zaBIVhu@w5*8nOX8+FocK{tphmf z;$W6VD!xm@;RlT`ofx@Az;?sV#Pcj1A|TaZZHUtIari;YU^_xJ!V!cuFpZ&yG{F&w z)-(kdYJ+TwtO!eQoZ3*~JK4S@V9!4ZKL4+LIV zn?tys8IAu-WF6K*Fnu!`IM{&ey*NbpR9;5AY|uAlNcqHn`6+IW6+ml(1iSEOLhmJ_EDewKVYx~i zcaa=Z67ZjcCwVx+(YFmzH^Y~K<4flF3gGw(;`s9Mz*hwDRET;y;xKa@899!y!UcyB z>nnTXd0!l%q!@=k$Ct?Q6~gf)a(ro)j|4Bx(|}|-4l_J3&j5a=srzyaGEHVZt{DbR z_#Z;|;O##6umYWUWVn+!?hG7vJ{)%uz}z{M#;|7OSQFqo`Ua3N+=-xd&7Mjj?Fr@9 zlMmWYd-d*N0p@fYN;|`%D;qNkIywK#{F%%q((EHDCdNdIC0y%YN*r}(2S0sz0> z003Co`L}~DF-2uT004aU$D{Rw&_uFq1vy1}CIA3}=7%f)Kre5huE5Y*-|j~X{E06D z06^IH0|+$?U7QF20I2_bKREz`pt2;ZCU&OQKiZEMi1!Dbir1fvgY_& zi9%U*W5%ut`J%~cqV1f`Nh)*+ozp%SV0T&-t_%3G0n$S`eEp7N)xb)uLJA+y0z zi|fY|U5__Xn2uJ1g5qG=zf60L)_9J~Ox|jK(N^ZswEegK$DrR40*Amob<=AH*ds*4n5s-W1bhZJ zupHx6fFh+-pXHi2nVxg_B4tivB{E}0xTC=wu_0x_A|)MEC3$5f8CE4tWL6197UhXX zE$T*vibf5~MwRnM9qdN=jV2+kCaDf*esU*;5+@CGC;1d7byX+j7AMW zQdBhbb)X(SZ)y@=ad|{g8zdQ`R*+Upi2|&z{UpDjJHCjS65}KBt*gq{H1Dp%y{^)B zc*}UvQY2TgFX%%rV}AdkES3B9YhB$o3F)PLl~viWh^R$(;8G5mCuZaN`01Txi!MC; zBGo$86>mgKuq^GHw51U6ncs8L|NWxt6~YRzq2S-v+q!ebU%@o$Nc%32r-pHY(&*4tBS5oa)g+46K zp=QV~1CD=z9ZYnBC$MZkB|9wo9+FltwH<1;{59vMUxr;odkZ0D&q=kzD)CXH>bP}_ zGhkC~M$bFyC=-s~Z+_PQq89wApLZ4hi+)9txluyQNe=E9iK@clp}CrjGSIPBK~TON zEnxo-64iiNYN#!ew11f$&ITkqWXUc|A<27ExPUzcWRgA$P6)Ccl5C$j#2*pQ+z2~J zx&hQyD4Sm!1VQ~qsbC+xO!WhJtI+Rye1Qs%>HiBtt;(WmP-*%$V>!2H2O{4?$qbGd z)cQMN_pACZwK)eB^=X_h$%5)zOrg@#*z~H@hMDbUW>c+xn5UC@D1LH-iY!0O~)Cgb#Tp6h9RQ& z(p-#6nfKv~HvWGjX4)GxMm-y(gq9ThB)XKH20#TOup@JxDrej4r!$+Cg23ukP6$ zLc&rM#CkLXzq@w6s*p(Eabmu`4>3G3c!)egKA-RtDc0KEKCX#W8;$3PbcWq~a>cvP zHd!Szw-ics#qA1T!k;(|zI$7A6mjZR89#vehOV22zIN&}x<46qJTTB8*D!|&W`u@F zQ~Dpi$^J9FDZB%#)el{*Ee*3BVlo5JRMB zF@%x5rYs3#3|V-L_iFqBBJ(C?PHICM?UgD1R>=ZZ##{kwqyy}ekim}W@R3Kt;*trOERaPaG_=9t0}QvAba=!heP+YEOe*z}2`C4oQ=nw~OcLB=hAoounDNHN zhpD6@CQ{iP3c2J!_asK$gEX+}ej`HJu}5VnZo`&>+v0K&)3d^HSqLj-LgJ6_(5)R7~4LWs?caAq!Nw5(B!7QrvHY#GFU$NPH+GX(>~$M?kWO^iQbls6i3>;yYL$%w&FyT1Ss zL>i#B2JYu2`ct#_1W2TfDj;a?v7mV?yB*eYXl$_Z5~Jzo4&rK_(zEg;E3ewf$RzUO zQeT@3(K_Vkz`SiCcMS3>29!YDJq^oV-DV4lXgFclURg@~dzoBYySi|4VY|S5f(H*7 z=*P?>*hGPX-{6txmHqqNStDMj!UJagLUuVFuDwcpfek0!vG9Fu6rU5XtVw=3W-Ea` zW@5qNEblO!)8(u3sov%`v!4~=O0(VWcC`O1Vua4?_je-76PPs++Y=e<7#3YF5O zXJ)Znu|}YP4BqWe16tL3qvz-Vr_S6%Dx4P2(JjEh8?ZOT+qxMZW}%i20tViagIL3LFo`E*)5=$ zA;e_T5C~o$(ek9%;}Fqm*YaTxd#>OGjZYtg?*N@USofBk>^9{Dk|dvlX+$iW#8KtU zid&?a>kek^bhN?9lz0a5N&GVG81lXNX(S>LL=pS|wO>DO1+t`Mx)(d}@2F;A29Yf? z6!Ep)>Q$WUH`t0@x$sXv0jL0{fI`3*Ko+0}#0aPa3;`AaUOzg@mmUBGIOAvJLkNHd zhnXKsINv^sjq*fGNReRapwZ ze|fOaw@Bxv2%&b-m&3kF3&4Bi{PX-1bd=`)&}G+pq;^sUOkh5a8qrKLkT1Ct3N6`% ze$p`UlF7tljH>1g#lFdiIt}{viq3yMkzOgaxje77sFcn)Yp;;NJ~uB->F=L`N!wj_ zx0=N^%6OxqH(E8Ds3uJ;-<4g#W7xWNUgSBm7{%LGlaa{Hf^v;T1L~Auvw}18#GKp= zJG07cB2&uZum4p<>1-)%5{0psy7Ehu|KzrSv;%R z%8n?KzzfpkH}!qMDv;aCjDj)nupf)E{l!CcR>7ZW1IN;F$TnG41ma3QQxhtV>?Y#)h7Zxj{WW8k5q=0{W z>F8=9ir2Y530c+jv2~DI^TC)dvx_upAQ*art54AluoByJF^58k+@kV{Tk=1D#{+TP1)y?EoogzkU@K zp8gR$q^Xg^{{BGkGv&ZgFC5H8FDvf$bU^q;F3||nVn{8ybX^b`Xhp7XaGjPBH0!F9 z!MV24z3d+zE%dHeJ1^`%M)wS>z(d+5qQn8TYMGGKNQ2=_BBYu_W(Z2{KL+J8ZCcv+W77pCPC8pc*~rFOmIedHO`r}WWe{%wAIYvZF0R|OyNI`(Q$>- z4M_ok*+n&@W$mbcU`5Mrmyj{wcGJ6=600tH$LmN`==*fRGHl~49_l&a7Wut`kr_)- zwZ&8dXxqiBXncm?7GF$LFbpJ?jt&bG7Y_#s8aPJNQLs_VprK$AFf~sC^5YE+6RQ0G z4Qf!vbG(N*yTf*S`VMR>J~({K;(9vy)^fJE-1a>lSLd_Rx4aW%Zr9n4zzLy0ZhUF? zw(O|B+}}g~;=t8>zF06`{kXs#Do!Au^v$78%?5#bpzErjk&h0bR|*`D1#QwVPESvs z&XYo2Kv5g)QH!vGjD(Lzwkm_1add&<3e{iS-TbFKNKu3phD_@t+teCu@Pf16kF<*3 zRDSN1Do`b&mB>I^M8afmH!4(5I;%xZ%CRN@zo@ehx|gzwN(x8Y^-QDHX*$y{a*b=w z)^30Buvq*Oa~UOaeW}rDG!qw@C?O;EyJ;cl@KDhGD6>iv&18~x^DemB#$@7+_Plx0 zO6l%#lQsk0baL(P%8R4va&y_4nHl?IO#^QMi^Qz&L`j_kEQtWjq8DSS$Angv*f$z( zN5x(;jGQ>g6jOWhqW2?H4}*J33-OoI!(qp)DNL>?JDn05S4N3IRWw$7ArqXP9)9Uc zhC)0ttVaZE^c*2)u?p20W=(1lzm$b!c&<`JCu)?2&SuZ6<;F>g^H=&S$Y<@+a7|AE zshg)bTo+a%>-cJyOqK=h!g))-JBTanWpnvLG;|K_7IO#4C*?QnTg22h>vMa2bk(OO z{1uxZ){2F+fz_~I@+DB7{{v5Y;8$H~=?O+HTvq}6W3=K{F69G%9n)Vpa(k`n;#rn@ zF)BS=WUjpsjqHSN%BHg-OBaw!_ke}PpG zfIY6jl{lZi+P$&L;CGedksaLSyd+RJkUu-~t_i&x!H@{!ry%J`vcdr9Nt3S3M|W~@2^M~sF{ zUSksK=%vT~0(Q$%r;om{Q1oAt<-lx7cgwpZX^RkE6%uyZdq8 zR2^S>2&diU&Y$K@6;E^_W8js-{H7R(?i$>dEa*c2V$JK#`2>lm`nhu0)Ypg)u88`C z=Z)=OzJz41+$n-q7}WHyK#F!4-JqUcw=Y2xav?F!7qLs ziIgTw7W4fi#e!=4R?&UM`nV5ZBn*F<%J8f8@pLOv?8{?uBHm9}gyN*Hu#sETV4*^) z*OxnaZKS?eo%uGO%(Fv7y1@m9^p?@nw7LA_d=u>sHp}%QXh8Cp4rhWEa`F-=jEZZ+ zjE_xN{~$BE#LZAyy9FT7l93}xq6EG`*HIa&Y*6%geDsejm3Daq(4d4Be^j=E*bIL@ zQJ4`6s4!@%L7?zyl;CIac$pmD7Jb~si(=T|!}Y9ycTx9%gD2vAKz4~31FqpLxTS%% zNBo!CZ2;}HRnht4*7X%=U=<)V!AGYk#wjmtV)7%T4J$4d77py6#f0*!^BmJ7`;qS)5Td&!SNjYXe#oH>Qy_M zx7ZXe$9qZH4lcgW5p6pr0#-eyl+mn8a9jCT64gxZqbcAmMF6`WPLRFvWahR`zrTCp z1t2lqecFm4vE41to`qXh6zVPwS>b`ct23>OvBlaLmSTAZ?jfEskK8Z(Kz-mqZi;eI#M;489K_?19DkKOahf1T^>5Yu;nR~_FT zGkLX5&*eA?9^mt3)!S^LY>mv@;eG#Sgpk?G*s z6;r9){8t4ejY zE{@dCCT@S8$YSxZ8<0GNzMCNSU`m?Tgr=9nds<7p@Q2pTV4^M}D!Bjz%W)ksq!L2a zD@!@SfDiBA83X~iL(nmloCcsX-P$NYqyMCGwSbD8I(eW&=}F5%g~}$SCPP3u6i57bo7z0DlEgPT)ptMu{UMi!HD zfM1)HQBWa?dhnX~KBVfz$&5&+0fx1x=BklArY`JMpOF$E3$E7MX}n`uG}_n3(WZF9 z$CCBMYHT(=>r037EpTCLNY-27N6W;DXRg zsrLkfFc-x^xT?(p0#iQbJXj0oJd$t=DdA!^1(1pbLh*L6XdI-Gbink8=d~T0(^RbK ztUDY>DYRYirp4MHl$ioo!P%VlJ? zu-D5xZ8JKHvEw!~4ABpTBa>?=bj)gzCSIpreVnkZV5x~klmb!?Vlru?7%q3@@k`CmMGuR%Z{fnS0DtkUhdQSO%?tF2ViynJSqQSS)2Ix)*m>Ay3UWF;7%zCl;9E6ynFYQ8rQ^8at0SOBU&I3tO{|!5_f>_8 zQI&`?TUF4jJ|RraBv96I=VI=ofvNs>m(F-le(UWsYU z{Jm!9Lw@-2#&fTrxjtNaP$+QYt9E@eg^Qw*ZgCz`QiI zQ~7sN93Mc%yg{;(ghF+7+F8al^!!fzS5Nuf~v`pl>{uD+UW^)%-cE zJ%`W-vqlGGbo2xYE0;x>!jmu{;`b<@sIOc2PiV%LU22c(`NulNY3k;NkzniSsz$@R z*K3G0VQ4UutoZPwuFno2K~h|BqTFuHJEO4H`o{7m8v_}52 z{>3(&cGjyKh8p1+J#GEAEF{Nl*~||~DKPhiB>S~saNSnZ^NFV3>Cxv!-)SGhI~vz$liEx-bmaYB^FWS{RC;%DEqYKRqGCb=u%q_Vz>(RBP@?$jptFwh*)F@ zvxxP2$>qhurfDnLS+v8KC}d454djC`t)Jz>ab$_sj*RYjCy}-L6Ii*IyJ%!mgfj2% z({hc_)g4STkQ+du?*#ElY4;VVjBPj5e2Mu0RQ9aDqp!)()%p#;s`tL*TJmqFGu!dN zWq2W{Pe6cFa#GLo62_uF5-WLrx~c@7-CSyOx4GRIJdr}fijO~{j%v&(XYPqKe5yLW z+3yAofQM@Dd?Mv=8a=Wn{{=Bb=0H>ATI9Q?3c?&5*@OYm@YSfm_HJ63{1A{#Qu2Hc&5mk}Aq%~a4z0<}55ds{@ zq~dJMsZL*-5UwIjZQhnl{2O}2Ap4UNvd~g|m~A~|&in=3ZH>3?FdrF-BU>P!|0uyez~4*zqYU$G(K8mhiUcTbtI(c3d=NfNU5F)0T!vHvK#a zdE>+KU6{&OC@?Tx5skVZ3_`a&5hkC{$>E6G=|cRl)ik!Gn4jHejgl#njUPjDTO6*7 z+`ls4szOWi0b%Yx1*(E9d!Y7VcA$#Qj1pI({AJzo+w3<$pT@M+eF!+wgqCLVd*i4< zYONkaWF+8p^Kw?6wPUZ55v%)M&nIF#`%&+%)h(?bD_!TijUar`udsn^<*u>n6dK9j zE6ZMugz0C*d9yNDK@|2fN5ERK70C>>%NY8)>ROSWW{hRpFV{G4#7zsnb0vCbjq(q8 z0zbg3&+s(z%p~96B=LvnoObZQF|I1 zXS8n^TN5Yh&daSMA*X4FjVZGa&~GwNB^%$5AM{S%6h?!<-pZt{z#%$&(PzGnV_s|i zH4Ff_l*wHCvCbebJ2J)&;$db|*%YvVO5?E{io0nL(d$1X7$57>l|p<)H|)0Ktzj|Z zv7gZf9qwOM3Co=;6YB0jB6cG?Y-oe;k3Ra?Y}iUPHWjyaS-`F(nG@BGp=O0^6va~*()h7X|< zVcCI@83IJ-Ys^SYBoU1yB=Fyb3}V>;f@IkGS+&kGeUGy#YEH^v`=gkp;pc@V`NsiJ zmN}F6=mKtmS|05QC~KDEGWb08W8FR1NUzZC8A{7lAUwjr0c*wd*N9RYMTw(b;0o?@ zMC*9g<9og{+RJ?VGyd~w^PBY^5E6DN=ubk#$HVONAwDImU!TD{*HW$rgp4+kt@y}R zgSa5r7FqVl=qtj8iS+Ac??VyJ=U=xyl~RXt<&xbgoY3ZB3*r$I)2L;o$Cabt@;Fmq zsiE?2Ml&*zd@;Ab4`o=Av>JPWA=I$QXn_EbRDQt=&%hx6I%0D$XrKy88VgC}G`wV# z^5PGfNz_Mt4Z*UZp2a2+$0(kX^x#UcH6-qMJkZZaO&NkT6N;rrPSmz3V08SsN5s+C z;)e>2a~$GW;%GCYx@dPJv(Y>o@@T-G%{Y2Dh%Ul9@($z76GJkXuf$_+tV|5rEW+lj zAj9|c@#UPr)5n_lXYw|deYM}rTryl$6d^N%)S#WICk_SD z^vZPMF|uZ;b)LMTP;|Q35etsEGt9f9dk7~{+=7yE=enHc*k@8wvz&VOVHFQ|v3)h< zr1WkD76^=UNN@L>b)2=ne9>Rh-||qZhjVm>I<_znQR-f|=ovMVvy!YK!RF@zWKlEu zsB&WiIRVyp&j^ohRY}Kz&2NZe9(Wk9S$kRt4QYiY??9lR_8)DOEhqRV&gU07fxJW@ zoNzeYCxXwDao}JEIOE0SYDX)?Ss`>ANX?Hj1URy5r64x}djE>lsFa+R(GQ9A3Z3Fs z9u(kp;YmdE+*8v0fL41>o;FTO1371seV1fii(aD#FXgOLQwwY-)<_ zem)H{@1g5avamgFv3pt8iNMlcUv^IA>y`imHF&sAVk4&03odZ-x~f24dB&lU8O66b zWk!kB2RV$Vg8)u@E<(?4#pXrbT-!R_ZdJllly!MfXFO^Yy zu!8&h*RAVvAqux$5nnJP!TJTIuho-!+E zHB*UfW8XhTP^?|8dNmh>Nw~kPnFkXbV&vgXU^#lU$E7CreQ1^PQZO|q$E%b}n6V?n zMd5DT>WQR@rkzEWF4v9gJK)YWTRtVb8gCT?sxjWqKQkx%Jm-&Hb@S62SV{uMZ-Xd_ zfb4A@Cm*A0mFBR7`}zA?ld$9Zs?S@aZ(IO`5WvV6*AIwEnZ6{(RD9OxM%!lDF`64; zXs)otqpczJ$; ziqq9*vDMKOpwJ%I+^=n=h0nl@C630(6CY}&Eo454n4>HAJV|KV4P_)MTVn6wEd5M& z-%MU`SWaX0@$ji4ldx~1(cZNs(|hOC_f8)5n;U)fm(3r-NZ?q{6F-3^7%gH|yA_q< z6mn&590}AIbQ0y896~QN3qu5xg|ODFD-Fc0~e)uCB3H4-7a0^+%g2Pi(@MYsTSS zz-t>7_XHgzB@s~EDJa1yh@54-KxDK!NAhzoyL2Fwx!_&949^!0$R-U#G8T6EreDV$ z&4_fY31{{v#dJK5>)VkR=WFJn+Hnh6D%FqyW9U@;$fm!;rYI^iBh1GYRah->G^=nA zrs36S{Cnf?1((=8X|d#9tsi4Bj0hgssw91dEWd8@4o2W7rpWEFrF2SsH?3ajKfx-9 zZq>Tn54KUSZT7z4E{RtRXJ465M9ay*oydT)q|_~7YDN3rlHt!#;KjIyT)vm?ArG_R zP2Ht9X2hypKh5^|hrf7rgj#aih3Vn3S?C$vw^aup0)3c+k&Z$(%@dn;PE}Cg@}`1; zN|*))MsIEm-Cz`Hf#I*D+V(A-G?zdOT6f!eC&lRP!voJ_ob=$Rz1u zSDhZnG{hcqveKC>d&QAd!;?&pdBQ|I@l?F)O%&H@)5 zj~}{PJQ)QaA6%Yj63bi&EeX%|y*{d#pC#6^;?Gti)#vqhVmhJ5$T|O0}fYPA@mD z8j0;dy_%WvW{H{<$kCdxM-`u+<730%X>=8N` z#B$yj;`D9$;NQ9YTz9epK7J3D`c{U96^bx= zKvGXX`0*`3fSo9r46#n0{FSm~+03HVXYm??zHo;j&lBIV`#P|{-Wh4&E%Af-pH`V7d}})<}Uvgn>~I?KfP(DHu<3SPt<-QIX7vvq>fWt^m^V{4fj3% zIwxCiMx+!p7sq%o<^B{F>FoYSBTiV<0 zn6U?FE8!U&9znT=PY!89Uqj?~?|0YLv@4<{2>^k3V^ZW_q4d&=p8}+i2hE*op}xGF zV8!ep9{PLgYDa04{0X!AQP#;?uaCf@%3Ut>!U`K0QB~ujsTfkld0AlMpT6%?qHLSnVz`tM_~^BX=xFPeznaBkgjpTX8VUUSJi! z$~o`PdRvo^gp>-1Q}m_(fN0fH0f_=t1g#V+8YU#T=l0g4{Tn1eyGI~(DDv9%>#Toz zfB&;x;4uqJu5g8>d%pd-QsXPNp?3Zjf-dLt`1tIk=*vGk1pL~n1pe2JcZS{{Tmk4x zrfNMH>-Y|cuR0nNO>h7z3Y+|)#t!T706e8B^ULP`Au$7 zPaX4o<@8ll?w?A+DJd9fvBXNXqnZ#L!2|tcazK(=twR?s=8&lUdHO;qX^OCS9QOAu zDRI166LYvV!%jKjQ35*W$UJ=ifayp-LQ6Qy>8K(Gn1j<)Sxm$XK4;S_u^@gt5H1*O ze;-Xy-9yIgMo*CbAnQFm2B!Uy#YxeWHh51{U%PdgA1;4(jThWrY>A4~`3DNEO|rv3 z4OmzNMDYF_o1hvRI_@#3Yoo*pV6=^B^w+13nlvV>r0GE-g;lv?}Ct#eZwU7qZsLj(OBU0{I*20cqX~w{dy=}fcdEwlRWjiVBaF>*l2KBqI^yLb zGpbr@4;U0~v7XiW5fasHUz2OjHME&rdV}#n5z7n*-9~eF`k!btRB7xVH>GhQA@JW$ zizjj+@EN?;%ki(4F}`*7Yw<;fBec5h2A^pKmgsb(2_reUzppM{{w}<}=F=fU5S$U2 zU_e(t5~nNV7j@2n^P0%ZBXMo78&etR4Dk9YwuT+rfic$+B~&Cyk+*k0cvZZ$$$Fx4 z+#S=rPkswuihkrJMfMR)7T((~6s-EyM*}Pdo-T+Nem+v3iF>RmZew?ZY>VD!*Imak z!<~9YHUzrN3o)$7rOzYM>kcv#8V20h>ln*X>F10nh>yXZqP#}%<&jrW*C@VW_EjkWzQgr;sXlqO zRW48v4IN2I-A;IB9y+T(QRIeEIRbaX@!tN#c6eMAEWIO46i) zkXEyhtYuPK!eR-EM82k{7zepxNI}00ONVQ!O?I{+)HWfrPD+`LM|q-^H4K*olAgP) zJXUfzmn1V5XQ`q*mAod)(o#MAMN6B^)Q z^4ROTQ~dn9rUZVuT7Z~Mcww9zo_AQ~g{t}OMbTsTM&4r=dEWh~82bJ0No(~^B}dlr zo-8I~BX8%zmC?zRuuIT&j#|@IZ*ZA;_25wA?JAA_BpJD+7X0|;_0W4PWsVWlKrir& zd>`HBRWR!T+JFRl|AKY|jAP}m-(*i&QfS1)kz{|sJ~}(1wLs*Kc1n~^^nK;?dY0gf z1#%co+9^|wz%YMA0Yjc4jI@Wx>4r2WpX0`rz-ttfYtL`ntMzavp`&TSwyKW!0>T=n zOm3&c!NJoo){o%MW+OJ9<(7fSRH*w}o2jc_kI0Q)CG&trGz0xdWdKj*un&OyIpCnE zKmms0kG#@AVBgYH5#)0ax?gm5{Y-NDu3Mt(-;c=ak6fh1znryyGy~_0-Q0A8Qar7T z_Zx^=rQLR3*I0hfSqC&tRv(B%=eC8=YKw?Iz+Z?Leu)FYbAzomG;_pyMH_L6kFp7A- z5`&==8hmIn<-p8jypbw{ZQFexZ5nY{xLg%tWQREhoOneE2XTy28dB7)}5 zn~3^1tLyEnR|bC%#m4M0S+LNpEP7FLJULh*q3G8(MM(+{^H(;e198551bEAP24Rm=mEO z6RlY&1uh|TD>%;2)R|(g9}}~hIzHESBX{G|fc6FAd8wyV%4`$P3N0meva)dw?s{V? zzMq4J6uPkoJ%_6fKbS;I30L2?#dlNXYnQ07^Y$3cAlBVl&y#Ge$3XZO?;0xL4(~Mk zN2DvHc}AXkZe1j`@PkO&rr^N}k&MyH9%3Y8)v-WV{de4X<*jhieipSnauaTIxvBVC zI1q@vFOQ$d�WGVne$kU>JWmkvONb;cDU8VZCK)IMc=2@vs}4_xoZi@-YX0qw)cp zqto`in^+9S;Hd>#I_^o*k^pU)V)LuIPo($qjvruLSP!zVr+7+QAAh-G!0wid*Br|O z(3?dPu0%hB$;DB%`p|hn<{q@2LEKiaS7!<>c>kvLXy(pUadEFLg{QkH=cnqZ+<+p{3_ zobVSI85gnP#ztX{^JURgo?Bhp*IVP{jBO3H>hSgz+Ew+j3RR3@9dmgmQ@fSBz<9~k z!-?JD_JaIe^+@SFC8%k9->d(NKWEHr7ar)(ZZfd9dqK1Ov6_5^c4wIgNT&B&Iw=Si zG+HjTWl7R1ev2X5tw2TL3{BdV7`AOuM-ku@{~gZvBLWOd{AvL!6)V#EYJRg%Ne` zZ>gA7VA#VZT%|v&>#SpHYk-ePgdI+?{yLinmSW3X!owk(be?Hz_B7>IDGBv+A28w# zl+%23p#`Ms9Kn2oyn$&1)2d*&TPEHak-W$k7VH)KFz?C>c1et66e={oaGa2>$s-wb zI6uEcxRBV41=BSUUFOetiG#zTKR?SL)yNExvCeL`+S=|Kg4FX^Fy&Go9@ zm~~(`u`+|&9s}zJybM$9>wt*5svwkoF!ZnN+*~OiPKc!r54hUec-&BR-QO_MckAH& zHheQ168#>OKmM2bDwLJS7v8B4%xvH;yl<0%J z;cT;fdl{!LvqJ5Vk#m)^$>AlJk?LZ7Ota(3P4ptFU=nb)g(c_KF#~>??%EC@xRorj z$=l4{O8|A=^GsT-xSo7hqTb(F7g_&Duc}#OvI! zg(O?b2#I}~Yy*AESX>!aqN0oNy~$B*tJSHyq8@Y>?%$8QE#DvARYDojU6?r(B0Gn2 zT*@D-yuF@%t!&I4O=F#Eck)vot^L~toZ`iJ#9sCqExpE5>*d%xYeD8!9nIoQUCw5Q zW`f^ckFsBdp%x()ziFz`oFTYYDz*YqqH*QRRtUEJr&}um=4oDt>&s*R+$^jrJVc2G1Re7$a^CPO{!(r9DEEhImcU$+0`%Rp_uOIHXr`8 z^!4Vjb(^ve*{Gh>&Gy#aS~F2yFm^X2f57IJDC5tWg`{T@qwQ|AkXK zg$X~HxnD7DMky9Uw3Q}!Art%FCS)l!$0+}Y+}XmJ)7tL1!I z!`8*eeryyY%s*m;(SO8PU}g28a8^vZ2U9I^>lWQEGMyH2BF!{f7gl>jLbR6K#zuQ% z%Dn1vM^c}%L)Z|q&XKaPTE%|uOTKz3|FFSx@>^`5uVU-$Z&b~^e;u8?Yvt4xc}+@p7lTZh4H5vy;o@A z{be2wfIl|({?g+L;NE$s_^pQv0C5`__md&7z5(-7r=)bmfd#lL&D+*~XNvjeexIqL zz~x5;0~1W@XH+?OwCP|hM0n~qJ3LO?fB}0;UY~I>(=Pza(}0IWx8M-us9u(1u0(b_ z9Ys&cRjlw!w^0hfF0zxF(8{x5Q7ah&aLz>{;jllf)bslLlj@&KPqQ*6s$loD@oHoK~(2wjL@k zk*D{vQlEMT8ht4izFGC-$}5siDj$SVZ>?ErLo6#==sJ4U`Hu+`-JRa47JxbqDKG7`i?fIND3BXl%t*>k3T+%+`!oi zRhdb1vwe$uLI-G;-(bKayr^>@sU%LSrwA-P>oxB$CI^pc_j<>5W8Epp{P{ygfzr7K zL$znh$8ATu~xCaA&CRv2x*ja=XtKC zoBYp7muyn%Wp$kH$VT7X!0*ol6|%A+C|tx&T*Ijy6PS;bso&ulXjWh z<9=(EgYWm=`~rST{t4Wzr_z;)2}-G7qnhUI?2s{psXdd$YV=}hWO6mT76_NdW~}$I zTc#L%dkhm&R@mK$=A;K;!=##{p3(W4(+H9QuRiSwct8ihBjKlqI7*MAax{iel1OS0 z`;hBk<$)9a`f$YvlqZAiVocqBd)X5*hs`p|Pq1U8+v|Y|K%B=Q#Ur^n>_HJK8qPB& z_f_43_=4h;-7u<;$B}orH^cR-1XXN9Pkdoozb!FN+D^!*AGaZ)QK1e~_FH$zf6}Il zGm(QcHu?+Y@%%ew^r}4v-HF&;AjMWB%$|>)ku0?k$GHpAQ7PcO#pIcZtz{^W+oK`K zQGojVGddig^CDxCgHjvra|R)?h*xCpR8wy?HA^?AXfo$}$`Nz9(Q?gVz_SROg}FtY zu?^A3#%(EeXgo21A7UUrHcm+`HH-A+3EI`^05#%^c}l~RjP*6rk}MG;#U|M$aooW# zJk^v!2k|!-cv6W6=PLkQ6`KB<#I;*hYN1kl+omJ*s~^vi@0lS6ne|3J#yz}X7y zqvadlYE%5HoAcQ$$!Fj^r_IiP@+ce3lD+0}XvP^Y5NoGqobzW+P?QI_BM45w^k`3d zpfp<+e{-i0X$?2$&V9*MzX3>9JE$xoKm`jH=zMT1Uwg?2|WDZo8CES`KI)hBf#{-iTj)F36g$G zYRgYd?*@|IQvHEFo4V9EtWQKnc0Lw+wKX&6>TS21;&e*JXVvZe`PTO0w@kz4=zZqZ zK{)4+=r;1D4S3a!JAw}C{@!?h6&*`0sZL1)7ES?XVFD>vU#~D@$)CK-mX&bz#SRT~ zw&u`v9PhSXZJBwLjV^l_iy5i}qK z13b>6e17+EUSVli5I}+4WEp6~&){GEuPK$;OK#Rja5=RW4sCU~+RYPPp3lNQZ>2dB zOE+)cXZf;Zhn;{M`yVZscZkVl>5ymV%8m}$hcfO}lQAAIbg857rJWQYQG1h(4g0~T zrjjX|XeO;PRzg)m8MLwIE45iGOR&}~HtcOMmaZ>s{gc@b3*dW=N?hgt=qb1WcOwTA zRNw8UZIUlo3G2ejf}JC?S~%&HGgZU3gJW$bJ~Iz-gy!cioUE?zo`#!t;)6q!PZP5% z&%Qr#W*A-iP-3HMas+uqjbY2;O}}WJSC!W-e3P_hUnuLQu-{hWD6jd@0gZB`XPw?T zVi#-IL}iljS@AcKwPi)mXlD+gm(vV9an7G!`XFd94rSYGBI{_9`@aCx2P^pZW?h6g zSlgg(<sO33dS%@*=f+n%T zr<1G=c!WAli8VIuXi(9*YRVkSbDT5z#j=#jq_wkAKs{Eq2}c}jiAN->lg?0Le>PpT zCJJT`fU>~t*lu1MDX}dMbW~bjpLoN|MB&og=sf00GutjtmsTtKFAgI;YBxPD?47Iu=x0>%fwDQ`>8@9$6 zY7?flv#pMD?{E=7T#D4A*{k*rYn^)E7F_1pJM6$Mct7hXtm{D5d-lrvhBIhSc#=)0 zRWRAJZ#aqiXyhqt!x@S?xNo4GfLcjUV$;jZ@<57%NUXjvp+k?HZKdv z>JC~{Rv&xAabgYz39YLeCSbXSR?Q4dg6+m~=$u)UE_T{hoK8teY{x*olY3+5T|a!Z zgU>&a0tEd40RR910ssJ-Y*^c04?Oh%8wdaZ0002Q@DVNm0002c+fIl2F#XjDhX`{3 z0RRaA0ssI20001Z0b^ifU|`Sr$HTzD+4aldpDAZMPy`j+1ps|h1>FF60d0~~)SW#L zh4-0E-ruNg+xBPMwo%)*ZQJcl&Fk8>ZJ$nRWvyq$!>vXl37>}T-AAYfdeS(w=Dorc zMClud)ve)b^F%A!FL#GfSa$kwby#O>gaw<$bKML~s$z|3*T(kR-JD zbRR+v=tV`)g!7^yPsC6zi>~T5YW!9Oo;m@)>0;=wnfaEhwj$bcL5LcKVag6~PDgLEXTn5P487S4;q)4fgxa(O$$S?h)NOcD zI!01?B*^&?wG^G@Z?N8uWUCN@tS*R=nmhkC2*jk?n4Y8p{p_QRmVQaWscu&L?=^VKb^+tO{55(-T zys;6ni}6UjVth<|ar{9dov4ynmy9NRCvPYJq^6`!raPwZq+bvgVjXdW)RBeANtB0b zLam~%QQv5Zu1n9MSI~#(%k&eb1hay9#@1q2asloJUy`3M1cWZa7||~-5wA*Ksk+oq zYAubH)=Oulo6=J`Cg+!H%RS`b@@yrgWL0J>@6?3aL4B*?jJdVx+B)rkc3pd^{Q*9Z z0@*-W&;)b`qrgJ21DpnT!58R)EX)h5!ZxrUoCue|-S8~D55FQSiX#o>MrBYv)CCPf zGtqi<4BbSp&>!r@JkE(r<3_kA9*yVX_4wd_4cmyI000000RR91-T;pP7648F1pom6 z000004gdfG00IaA1^@wg0acANdjkL%gx}g-in(iTB~xrWQ*86^=i=n~jJpGlNVCVz z{s}vr!=m5iSkt`UtNtjHlEoFSvrcmu0>64X_R$sP}QzTONvFs zD_&e!u;C}7{5;p60PeCQ2LJ$g0b^ih0E7Qo3@Hp)001f<0nq?>0o%Z%y@5fSVG|=4 zlQzS4MnesGF+K(k?d?o1RyqnoAQm%RjAdeZjFmEo#afo&Z6*t1v8l>S2y%m1>`rD{ za$p@CR{Ba3{2&&mnGTf2742=MB?)9PY~to(2imFNTAL~1vdMs#v3S!4ejpLR&segl a0Ynt=GnQ`R7YB;vi!+u207`fxkN^PiJMWMH literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-700.woff2 b/documentation/fonts/roboto-v15-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..11cde5d04c470947b1c88e42a684fcf0d5b396b0 GIT binary patch literal 14552 zcmV;}I48$18V4W@ zfg&3$aa9L;j{_j`-Or;D5n~(}6R`7Grq^DpD zs)0K$0bI%m4aF^?&|#6Q9HHKo9+2tww3qe?-!_9y!cL5PTXL$u9% zK#W4cXwa>hGZLdvK^qK2tN>9lB4^H=Zf0+DQP!NbHW%rpy>OL>I;$Bw4veJu0K0oY z=)Ss6vV*j{2OOA2{%3o)Xr8)n0c$2ZIU8 z2RQWW%dc(nwi8VLA(p+0bwXt&U_ZZ9{p0<=@2}I{zp*4)vLl_9IROkRO#yQOvjKAf zO93o`g=Il71uF|RxwS_R0!<_U{M~+SjSXoQs#Y>bsk$GMNFzpj4zPVX(4) zSYKX#d|Bd~k?ay}cRipmk|}j%yGuI5N6D$aqIA*0e=hB=Vs}A%Xb~KexWw^X{1755 zaX;FHn~}t)08TL#m0fiymUdAZ(sbx2Y%Gy%9B8;2jHz+Z?wIk$Rb!MV1d$LzeKXqn zcI;(rKC+EO1`OHI|35bAaoKWF3*CkZ3jJwaRsqalYF_c#&k)3%CrH9IQI2GzN=pfKzzz~@g8;&TbT+q;Ys8Fd|jV|4K^y<@Zz@Q;#opat5S6y@64HM?v zcE?@w7A#t_Y{j!y=n5U4fVgBG#69EDslEe-Mo7m06~F_LNiG@Xo`*uimYgsdF_W7< z1!;yL2*ZR3m#p%EE(sxw06Qt9@pcVdDn%t$Ln>1X!3qYA8h0Wpq3}9M(uerpQpzA& zK5)-V)q|`bjUAI5Rl%qlihIwAF%nlNPj5So8YqxBpXOqV$&WR;4yeskG zFj*tx&o>@L^Y@> zv)MGqZSHV)%Fi;pNRY9{nPO&{<2HA=J4K>q)dGtwvCPU80hMf`R8c#-#xA?;vdeB` zD#|joNRY7})NnW_#Wj+OV;0PDn>*Ys3*lH~iDg!7eIKyS0Rre=n(zQwl7JcVCHJzE z^ZAemVI_a|K)&X&>2FUq0Wu3@4f%)XEs!?=W+Ni?U%L&EB_O>3*~xaclB<6)Z$x*0 zm-Wl$$cGCj$?t43DjCRIC?K6sfLSt1IQam>kj|XX@bEGE@w6NQ$XXudwYqmJCuW0T zi2mJjG8VOL0>cmgUj0|kr?f)beznhpIs4k>Zk`QnfmXV%uOa!?om-e!5Lbv6je%6D8X`xh&#>C|`08=`5-qiw*fc^vM`A_zoE@KY-K5Dms5;YujDx7vP!`6WaAu z^E5Z|>5f}K+OlrB4ZL(15@pVk6f&_an_7+| zC-PjZh+ZpU@U&0iZw{(Z>yR#YDVw*#sRy;t!Dt$kw4^1|WgMV}95liq!yT@<;2i^_ zY(B@$O{M0cN)3$qEu4m(4I}BA55fHOEJWV|3@pgd!px0gVNsST;+D_{7=r?X3X5?{ zQ5PkFc*BxBEY35f+&vIADoLwC%Jen6v|3n3SHRKe2t#reotrZ(!qsSQ$?q${B`Wyopr<1gQ6m)J6;bXajQ7MVlz2Nz zCmv#S8zAVz*>6G!DIUbRJ9|vrcVQlRiXU6}Kx)Awfrd@r@!$jPxDy2nLOfhT zR*l{e*v+uhQ}Q{!IKZ7Oz#;&fJhit3SRj87@DDinRM!9tx*4FYyN6(5*R_vA`vML_ zV$27WeIW`Fu%_(|#Q`%))ifMBl%uBHx9)@g&`we7RDDvP^%ykKMIU1%M5Avf`u`t* zN*}B~&GZJ0nfAbjkEADM0vZjpmmFore9K$NOypO_dttksRUq^b{-61K;qUOPVGC1T z75BXS^rE;uwD=q>4OkVhr)kVE@6{Q)Tpr?m^O>@Y7&T_xglsu(nsm#QX)|)=4gFT1 zufQXZJ@M2tg`N-W9p%KoN_p9szp5Nq`2pg{=85z^#A>00#gbB%5|O;32@% zfMWp90A6$=0K5c-H32UJUIRP~cpYc{9>5!bcL9$8-UGZ3I1TUt;1j@8fKLIR0nPw? z4)_M}Jm6ch=Cc6b0e%F$3iyfa`PqP<0e=AA1pEp33vdqLZ@~Yi>;tBp2gu}4fU?RA z&Iii&i|+uq0H`m`<|3eeIGc-s`tb}d0s7e&oI`+1fqtF^=M&&^pkH9|g#@??=og*A zwLrhl;_C`<9nfz$n;U@s#M#^k^bgGDCScLow$sgy*wW@7JKm+L&n=6R0doxAv75CX zc7(&<2r#V}s-tPh97stKgF4KL9P2?I-yvAunx*erA}-mj!rwVwIwddlI*5c;AYUiq zpOLVY&?!X1R}^#)#hMNbE<^H}A1H8je8$`%L6th^ULAs92fdC~-cbXMt#uc9ZZ?iY z)X_cXayJTavv&6zbT-{@#I??^FZ{Tot4f<%G)~qE0h!;dXxh@QF^fdnhZ6tub;DAM z+l4%}$fKNLUHNj0U^kBobq0ay?k%@IFSv@aXRIJ}zSKA5d^lJ5ur1g2P<)Fq%?Mei zV=0n%onO~{PKVq1Rx0E{@zdD#6IjcGwfx?xI(=E7Ulq~Yde?=8;hVSCqEgK@2R<&> zr3?<139dB0_5?!L@_-OqQ_#aVlSP3zik$rKC3btUPtX&9RRk^peHMV918jK#$Nq^C z0XDno$m7C9CxMW6^>Z)D*-(e&gvAz%+RWYHW91Q(s|XMe_%_2NduU&oE|m=(`H*!ttuj>3h|q}G8~ z&l$b+=Yy%WXLYa&b$rbSVdl;m?uFf&sPs*zs%w>il_N#Dl#;7K=ui`#(#bOVVZ&hC zCKzJDuUd+I&3!FwxoWRLuXY?W2QS4($Tt?C(5auB9=eZIRmfW>}Y)DMw`ONFof>LVP}Et@HX6@ z+t-;Mapy2|$I(HG+hWqP@;2>?1A|B(lvp^meK2CVgsTu-0S6nY3Ux00Wc)a*&wkZI zD)R@?=Iea@Lb!qdd2aUGUH^LZRk&P{tmg8JY6(_bKuUVui5JGm^aMQ15T_rxsgNj< ze2rY{tOuZEDAjrZ_Uu)?$iG2!HJ2S9wlV0-IX;(j^2(=1@}3Vex$)Ms9->5_r594A za=xe3nURp!ht;t1R6D;S!?8Lwm;Ll*#d8T%ZhJo77HWdvRN38d zMiQ60Lo|M4^^?AdV_Ezpc6T}sj7%q$*mR;xO`yhY9&i*L^M(?oU{Xq4gQ!+ zqNSR{2xIKfdEa17qKh|q<2ZR4*_&ryPL=|m!Y217v|&@e#@LTD6m>0y$i!B0kajZD z<*GvjLgPT=C;llz9Dcdd$w-3hOs(+-cEg-#)jiuZM*!vQP$XqYX|wGS3iqg*GJ7g# zlL>mNC{MQS2%XBP)gUG|+hSVpSF1pf@UU{iPb90yLVL=(4L2lihvV1d7$q=4ym(A% z^XYUJfy@kvg{j*?Tt?9-8QDN4AO>eUEFS85ArKyeLfZ18ubx=I=kSC58t*Z|HhWqE z2u_V{;QBMgDjE=q0ETj-fG3jCLEe2L#6}wu8XaY|(F>a&Xaa^tDQ~EW00{~jB?%So zrFB(xw1|TA6x$^3tHj}sz6O2QmrJ?$h$c144_?c%BWI5>A;h2|#-qf(tu13|QxMm! zh$~dskNkCF)b?kq*IvK82m#H3eA@cK$OGL4UB8n(Ks99mZ>-j;em(S->&-LSuPmSCaH#^n)L zB9vj$lo|6Ra|4O-QXC5wR1WRYc6_J!Kq2yK`L*TYxjfCjvMVne&Im=y!D`^MY4vgg zo%S+9yJt5R6x^uNsHirFFra!Z4A`)2gyh8Lk7Ed~q}5*yLd(QvQxOLIi?P0``wIAk zo%22{)+eV7zPUS>zWv@8-+8X}IO|CP1cWjei-Ev>g4q+i*3~U-azw^Gf0V8N-9PX? zow&mWcm+oTkxcX05Bza&n&FT~zB`9IRE~UvDeY_V=k_AD=6Y<)0ZJ}{Ua?(j>A5LNU|HgoXtACi@G6Z7FC`05rSn4v3gZAY^X zat&ic=oo9)2phF_yrn;xOfa;vj}*}im94mRa8V-3el6k5JHtW)?fUYN)|<)-$D40e zglpI4>2GT!RluL3ymeMHnm-#A>S@;&vs!P!aGFP3rpqIQ=PBW%W_CU78A^;gp-UqS zYbB!@lW0HXM8ZWQ+C$z3&IP6OQVk*4qkhMkT+CW@EsKklhnBv=uC`M$Hcf!yUwr}7 zAT0E?eA6%WEp?HUVsnPGg=J1>PIPx7S#Fo&Z1M^&_t*;BERwGL(`fJgZ(Z0v0o6Zx z&wlGX|4Ct`F8H=F1HDhfI(*N0_l2-L+Myl`9F9(7?a)^gbjj;e%U`{jj5C%#K4I>@ zoZK+QoYbcq$rZ1EtlVOUzs#$&Vnn)0R?zCgn4#{pU>^oGoKD6?CJsLf$l2g}HsPPp z>5ET18b266A-%Qr1haMnM@bB#2Su~#Pd=W?(`(t+zSXXW({mQMu>bSuz60t-rZ6nI z_%`*8%AT2$PM}uwgB@tIIQGT!#G35atjuwEk~|Nc?N9S%7G)$SWO0JNUSVl#j=q<@ z344D_VlXP^?8r;u7bS^nuhL4^rH%N5-<@OGO+5o!k1Qfcy|nU(mLQMFlQD5oNbP*~(C1swJIEnBaaj#rt|ZA?bXuDnli>m38&|v!%r!Pf+US zUZD{lj8KlZM@WRXCo5F$sk2)k#nH`==IX|5qcKxdA}u&!HRBsRuS=8PzsxQwds&(! z2>L_V%tmWL3$XVw9@RWz;cs~|t|GkI(>1&yK8{`Mfke`nx-*iR4?}mcprp95?{?~L z>X{V#ud|7B;#v`*JF(xxB*f_>MP}{8O?v)1-KVW+bjV&28u_#`zqobhnzMDar@MoV zHHpthUslbG?owjdqirX-*gZojl6?Pv>o;AJ$qGcj6U`?ZzoKVF+A_g(L3F9V$+nsa zubmcEpOLi8)sJEjVl~H)-RuwM+Z6WE%haP@*k>ZY|J3w76(&#A;>8Aj1%C9K3;FNA z|7I?qFEz@D;>$A2w^4O5kCg2+S z$15^784}v!vp-xWy*p{1f8{&Gn@|9;V*TA_?!iPCUaZ2;`bD}V&sW%&uc5Ye1c9V+ zJlXBLvqqvl7yqaWN_@ui73HQDR#z@Vufujr9@m}7Pvy-vulYcYjVbqa8{Rg%-Jy59 ze+2MG-?&pgbY%@%vVC#s?O9#J)i~qaw!H^Zy7xY}xEtFUu2PMuczV)@Kj+6A8#`bx zJ9r;t4d0M$tJ8%R{GOaN#B^PSD}9sR*@sTfkBUFlxCT}|*7~=)x-Bh#i##_7rlmV>E6O2m0X{APF`>uFmi3)Y;*F@x8jgGs zfyl*~9S*SR|CqAZ&CxrAZ6A{G$4U^fg|}IbmBL()o}h4cX1Oz*_;g}n}zpJ35yI%VAxoecoiQ0Z?pBL=Z4(!r!I72*;4VbJ#0vvi=R!~jgcGp z8<#(~DBE%kjea;H2LE4Fu$?*lcxirS!e2P=tbTnkrp?k$;lhxvLe-G1jy=>SKomHN z(Hv41TDbRzDBrE;Q2{4DVFcel??dOWqQ1IyK0No_L*lP&9*fx~Zq$QWSmjcZ+?ytp zDk|Dhvg+u^7kkb_#}I<|KNI_iiaDbt0I6Q`atLtm4JmGI!-EHq#}1*vazn}evQ&_& zbiXX3rGIAq$nv~vtsT?_tEI}3Qc6y9@6eih;;UK(!O>lf4=xq;{k!xL|NxxDx0`-1l?$`0P2~1pWY|cuD%ht!Q*UBM5$+)|($y{$P13VmgAdb$q9FeKUe%yVE5rCL;?5yb-k*aQzS>8o1xZp4rZN*6Bia%yPQRlzn={X zvRXSmRofCnbkCjWinTFs@<2{hl#_T%;E9hcntW*67SXma)O+XNdBt-KODFeC)g-Wv zJL^fNx+Q4^{KXOCBq|9!$x&rD`#NW#nQORVhCRh2Q9tN6jzBdz(46#pv!L!NhF^FM zBL5V_FNz<9VY%y~TG-5(rn5CM?IEnFHZ!w%^siO?c$ zs$sPT=Bou=(_rP_4>LLNe|2eUATV2$^G_z{DgO22w2ZGE#r~{kH~ZyiF-J86vi(Dw zL-3!Eb{=a}3!B6dM7YykD(h5ETUT*Y?ETpIy>H|7I752}XR^JCx(c1J za)d1XmU_SP@5R~tdGEL`Us1RX)6tFUWautiMdZ7(ctuu!!9>O4sgo34g-gw{VX=Xa z@-38=abw`(G&FV#cdfgwLMz~(A^}B(d(S*l7GES_!cLTROvVd}ha^OZgim+6ME274 zlqed!HTck*@7o1aO?46DgIZ(MQL6TNk*JAiQDL>yO79MxP3Kh4uYyY}@Tr0O=N>-h_VDt> z+fb#hUfHOyO4Vs^upn6a*)2m?hhJCQrRlZQndwgWsm&D@=fEaX1Q z=Bqj$Y!@F2DjS=xlii-#x+=GzuqyuKA?~`utC`m=vX`GjEhxy@FVHbCpb|9Vx&q56 z>PB3JNd~0iJ*7Q{rARZPzGb%#xjOf4>;B^2t1$&<7dJ;!7awn)Rn6T9GgL@J>fG%! zDd|~7rMdZj^|$V@n@Uga6vbtAk>e9}(WMn{ii&Dh!`!$}ePIzPbRv^tL*_=J!^4tU ztHj2I%-o0y=fLm}O81}=1>-@Eo!uTZiZU87632@>3^+tN3?kxYt)kKdWe_qmh;Il< z^7!kE&9vNrtAnCbpCI|A+gRY1=9$KcvNAGBcVzot4y9MIhMO6AfmeDZAAa~Q{CXDW zn#c+Xi?bz?!^jan6QLfp4@3!`H0{WG1P79qhK*ISwUwgzyi@H!v+?!C;fR5e#fH|twyM+K?i3osKNoP4Vghm* zZf*{~?b#hwvLZdLji}ao1*bX%REM!>ca4H0s&nqDo7Gghnf^mz?#>N5>DK5tY5JO5 zx%*gMu#IDKY-S=etTVnpP(3Z$grug@Cm1}Co}X7=nxpR{<=~ZZh`O&UpJff4^;Bu0 z`XaG2h@@UKY3D~8pWP94dlUXmJfS<*P^4=5^HVt-gL^7rZAi0fRQ-69jftu4nVftp zPa_Qr3jzZa7i+EYJ?VTR!u@tAvbi}dw4rIe;dCgw^|UaLCecDugJ{jNv<@a&9zQ}I zAnlRZf7$kX_O5?LZy~&Qyp4wI*oE?dqe7K%@>1(RelNP`OkQPEdYpx2RESGOq?elr zhC_*?DHW(58IZdh*p--7-V+-Vm#bQJsFZmzwX&o)JMx~QnTm!!QHhZN7-gazKo6t2 zQy@J_2v2p0^{dhjK9Z#oqh|B(9si@&E1_# z7|w+rP8KA(izE%%T_t@o>|$C6vV-Gz#8lo2AzyM_`1GB9*AF$s#G{S5{e7B7CbUM! zJ4lV!CeAe6xY;^@@MVNL*wI6Pw}a37owK)Numjamr!sR4S{o{KEM>{~Gj+CfH^>18 zjqWYaFYU}-Z>+8LX2>4!foMvqd*gm_iY@~gf;J-^HdNL9LqB$1gnYm4?g|&MY#}#o z3Eep3Xf++x>h3(QrJ{AS`SL27$2E1Rlpd8~Tc){F+4YjW$%$ayCqJ8daj?*loOCT` z_1rBgAziOeg){Pnq#x1`Iw0|gn*G6-Hq4bhYFc)|DpfjQh=08qybnvelRJm``~mSv z0q3FriD5qvzl_OSeR~ZTIWjx!P9eRGwX%TyZ?35U2Up zM?JxwN-|O=x;UCt#Z`NU4%=JMD8xp@BF**{=6m5uBjO#~l&ec;o6mgj{RFynZ5*6! zDV`P@SkWrP^#==4p()|h(Bd9)^UP_!sKSI8+e`%)yv=oz_Og)%XHhi@?|Y-o6NFI> zbR0}o)!OLnNC9@Ltfx!BV@)xse_SBXsxMpQU3Ep-T59^M{Ee@C_wqxmRcfL+BMG(< zHQrH{6$j`q-yJ`j)x)-l=zU^FsfdWI%;3b8_y#2mH@Fhj^bqTaRs|xRO0r~7%+1^= zR@Sc6?V^MB2&os~Bx_#M95_E+Y4IpoYun2~%Ch3CyKt`@tDAYq7LGPJ8q^)BiQMP- zU${e$o&G?xPmh^({WyOW0e6$4(qm!7)XV+cSme!LR<>rqsAh2Peg94z0Vfw@3}QRb z2?OYpwS2HHgZ^q1rfMju10DUj+1+TzD7TgDE$0~|up2H&t8Tpv`ZR|+u9Z^`G$;Jp zD6HE!QJGV{3@v|!b{k5BIhn~p&N)~|yxmoj?qlP)trL|6mGhV*a4dH{r-jXmXgYT) zs+GlzXeA7_+4@8Xv%;l)7(ON1(VGJ6r^ulaih8D#ywYBhY&N%=H23fB+V14s*S*$KG%p+jpD@(Y*|+I*kU6cB z)_Av(&Y$c5{$ALlwDY(F8M)vC;X>VxK0v48-2;*jvp z-DvT$P2j+l19^GzBF^dx%x!RhXaG(kNg)AhE&)rb`x2NSm#;#<`aQJ1 zO4Lhf$%|S`jZT*Wp27{@{?JFKp+1=WJ5v_yjUt<&6#|FsOM!D9r(D*f*&o7sa z{V0L&gG;J76Z$I3%VfXG^H60m0TV6&gGK@ope|{DxrSK6kXFGmrY0>*+?ZBos%Siw z~EX?c|@;h=3wLQUpBx*x6~S}wZGGNw*gmdGB?(%Ai&B{8{{F$k6=(HPE({cpig zvoX49sJj-Gi>rI*X%_EoWbrPlWQndDy7qg27P5E;kj2}HENlX014l6oa}6xh>xMbX z+H7cy=f>#HvYY>XtcTKrrRI4VmL86pFmg~QegF(>ZKwcTU&%$9V%;)M__iLMyo$epJG@RW`H8auE=wP>PoaePAxl71ke4^on;3~{Shz`ICu(|2ivfddwl7V=4dq~vQ&HU{0H0y>|3b6Y9XG^aUBp0iUg0O*eH zdN`4<_hL816By6HbxmzMwYD)98p&?{lQ~OrxR8oSvsYKg0IYEcz3o`nFRXso=6)+4 z59s!sXd$j1=lkcBa{0f5_}xv)1lsl!U9zv>|EoZGwz#zls5g_$AiN*;P26)5l&N%! z>fYv(-A>t53rrKO^?bnKbrgj z=*RBGbOGhwy(br_7e+E?;I**s*sJy}OrXuI8=78&*%&|*A=5CpAPjegFbE&E07QU_ z?>)r)D_2c8mdJGZbOq5Zs6AN-6niJKI3}WUCpu}DV#T`=;L^6LFtjfK*jP0~nxIfe z^{18P`f=v}u`dP*#PyanH7F0Dlr%cpj|f4lkc2vK&Vbo)wL_b*FqFaqaVg%yF48Gu zCue*za#$2M0l@4Ccmzz3q4F=fX$n)2fMgp9P!AzkQ_?59l=JzPC!Ewa0&d}UR}ERy}-zFGBOGzqHG|B#Mkvdq9;?u$I^NffDNBjA^+V zkBmOBFO}?uJ^}?VTdd&1b6q1|psHKNtZ$|uP+Wz~Sp*>p$7o~-aTt{Vg+&!b4mLEv zO%z0g zV*@%JjbnM>Cb6MNpE%e3i2I)TeYd_})93iF^M_M2rOl+vYm(O8$!Pr^SWwmhkF`mu zcjh0H8Ys7b38q==x=ZP>ZZ>02g5?v+M;z5)dLDz6DuHGZk;=Y-AXI@qQ5rzV0Z!t| zI9`RRk1anZG!XHD=*-z8$a+e#r8<;2n@=u~W%V6ptbTZW2R_92Q0lU;Q-9R(eOxQN zI-(C_c)3R2doJLIUx)@BBH`cQ)N`Wy_eb^cYm~H!M;*N^o2QRewODtIftV zXiTDGwxk62n+)F>VZS)HFWQ) z0F&U11YYMFc59aA_`fR+ju}H%PeZh|OQ3C++PQ0-3$wvi&L5^8iysRdOvFpf|20vy z@v5k+hJ^2c)IrC%s4{o*vB&c$wN=g#TSUDJ%R@*U%pLW_YH&A-s&bsSYz8?JofnI* zh*ounnohMtd|AZV3cul~Ml&(6|Ke=)`6oP^=^C4)K$Zd{GDT2X9Xwz+-k>8CEu;k? z^t4sXg+UVog56>S%^A&VGv+W}Oa;ns2oof1cd!J{x2rqR8U(9N~~*0UZC#?*Tbc(hv|INHM8H5;9&6`vq^LUl8R zGpjtB#{@Dg^^(*IAf3Yu8|~KcZRG@#x63` zC)`#lv}(;+4tY52Ao=yYGz#V+czI;rxfyenWqDEK&QjzzZ@oU{BMZ_Olp6JwuA;4U z{GPKg3ZKRwJ8zYT#$1N2fQdJ(M#?p0ayd+B@aCR`C8i6Oj&U3V9(w@SW>_eMbvsFv z`boJuSbi>C0jnTOHdI5f5gY17`czrnL+C1NeKJTRV1RCT?o!ZY=#4?60W^?g%cLPBAQ=N4hU zOsvYNNV_&mJ{AKJblWDP4f&V%TJlbD#Vmnz3(E zX7XU$3C1=cat5@PPkL-Za&U3;Pt zoB>pZt=iV8aA!QfC9OP(wK*KFTa;mIVX_RHb z(gwdrU;+x$$=r6Mjxdo(sb+XY}N&?FNu_Ib;#%BbMU$o zVH};34Lt%5Q1a}w6>N3|`@sT}oh!EINFGjRC6>z&@*Zb3pvgNHn@Hmjl6kx2CQM;z zQsSE9%(jUmEX`o3M+;dN0fyNs$qpy$8B`Nez6AAFC#M^wqmV@o7Wd>?zz7JTHx(z4 zssbM`N+)BcqON8he=44oqU5)?slI&B;t?fGG3^VyE*hWilwV5}wAc#A9fkGu)#>&b znBaS#U_6IgSg&FrC%iJ+^NH3<-f0Uw; zY6>C2E(9t6uI)lx3fARwgO~0Bl+3ZX! zFW09Z#!EVOz4f@ZcNn-;I#aBFfgi{C_%J15V)=?BU#=5l+k6B>?ORucf)@VJ%yTwd zFm+X>W^=C8K$Jv-w_b(RJnD3yNXH{TD8~7^o5AegIqfZyX=x87u_8t_JT(*d5Py^Z zFckj}{(`@9@b`aXhw}bW;qO!X=b3*L>@#`~?@LiV?*=37`Oi!{|IXR(41uAb6N~a8 zYd+O(dZ#p`hW)?vddBD^TW9C&DR+e^NhjQw?tAyE`#XD@?PR}&x9e;B{%k(BpIcae z^2Oaxh9NZcF@_hkh8-JJz5;3MzLawgeG)s_&JgLqK0-y5VK7j~xOF^zDLKrM1XWcV ziQ!-nwe@1}#ii`Hiec5kAziykwNfnzgisAXryOcmm}iLtw2>ti%kwpy_1R{o4WK!! zp>(K(HO-R~S^SIbG4VOH7Lw3QVtH~M?a9s?dhFG9`3)EzGf14?dcm=A%_mJ}ap;8VxW z6iF74R%^#V6!=O;p-0u~v)!rZq(mHN%COvlU+mtn`b8zIyM{hcIu|bbF_4 z6zse9)*FR36J#Y2v-lt^eYB~mw2&%0+qPZoJ$w(|zg^~ATPOK9KaRM>IhT^QuOHpi z44UlwBUpIxbsD@@`TPI`I0#PCEQfR{o(*eI@)hT5W%|KZWX?z`0yjdLkPt_28ojHg zLiMQ@*bO0-C*mz4$w1FrK$#ddZFf<#R=KX3b8m;u*kXpGBJ6$v*<7@Y4tF7S7s=PH z1k$l?ExT6pGg#;4O7l9Nqgw%lukpHYAyEoU5tUboU2uhq2uCjc=UbckbYNyKwr$yVwbHKblYFgjr_VVogy6T2 zi?ReP2erqKz&H%nh^0q2?tn;oc5Zt|YH;#7u97OdSH5Osm@2=L(>Xo)X-FaY>#Id& zU(rAW9+4D*5I+i=Lbgd(sVm63w7X!bCacw$RPMQpTC&U*?G+KwlTqOQHKr3#!)Pp) zPJ*JKzTm6)Ro<=kQYM{C2h1ihVVFCDP@~kwYDW@EJjv~R&%6 zJ05cr)X{|#AYjFAe;aB@a1{AHYO5~`ewMyG;jK`Ii>A_dHwjfY*Mm?+DW$rk_=0l8 zFp4pc>#nEiK{Ds;ai*)5;u0Fiwq44BX;g9`D@}EEj~Ij*=?Xf*5b0R7yfPFFd9I2G zVoOJW#-Ws}C#!ke(_YOWYF&|Zl=Ie*o)<%~&Z58DfpyizAKtG~B99#RkBP~64zE`p z#z??z%H~eT{a33C8?}BGcDPmU;CL%Pfos!ne-x;iDl#D!;OGXe`c`cU9m9(>h@bGK zI^9(!YF%5Kbd+&=8rf6_U0#ig1{ojGcLId7G%O6~Ng^sMg!Wtb8n!S}P3VJFd0D2z zvNl_ZHha37UG+L0{rTfmF|CAsXP|}S!_-Rg=26p;H^Agto24toH48HJ_h_Za)>mS+uOXcqpZ{ArH2=7m+|Mdl! z962-qn0nrCm4BMNdEYC(`;$=-{{_1YA*N1UL2{QfUX#SU24ipX+Qux)no+&a-;sHT zMonazC*AUe(nwlZQ>FIbe3m6%l?oeQQ)WA>TJa8b7#`*9I>G3>J4mjqa5&+eR8?z- z`T8ug;Y86}5BK;#xUCZ--adh~$H=W~PVxrWjtGv@;72DxwVg(@LR=Zb7oO?L40nWz z)Gx@ja^@>ha4QIHOq!d8@LWng-pNf!!d$taLgl!7CyA7!Q-|@%n=XDJ*u5s(M2R&7 zfMY?cZlh9>p#MZDb}CqHDt*=QTjTt8A;+~2QxPD2a|6a)=W$qYnPLU=9~@jvlc;FA zV4!kjq%Iq7{hM~UVJfv#zXOUv(<20kt$57F>Qlf{Us*9Y^Q(8zi4(r=u+k+=QHgv##yq z0@^(W2;8p|H2PF2adr-DBW40B*c5;)3X@-vkf6pp3J3rf5)2PmOo0=JSrRdY3*M0_ zNa9@dgg9ZN2&$`D+%6tN~4?n>I3VPup1v!q587Kk5L`5Wu>DeGNW6lm0_G6~GFNHlMtW#DD zQwRRko`6o`nI@Z%{SRMSo*HbCJpYlWvrhLiCoRteFQ%{A&%~bJ_Ba#Yn;P!c!{TwD zCZ%VRx3^}8+W~cboz9@2?VLs$g{H~YpdXH}{Ojk`_hCOCsK3hp_^BMcOZX2y C(C%db literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-italic.eot b/documentation/fonts/roboto-v15-latin-italic.eot new file mode 100644 index 0000000000000000000000000000000000000000..f2d020a8741fd850a1480bab13d0e11f6e914025 GIT binary patch literal 17534 zcmZ6w1yCGJ&?daVB8$7*;_j}CySoGycXtWyy12V*@BjgVyG!r{cb5P${`b4Ozv}Mh zsh)niXR2pvYO1TJCPWqhsFeW#;Qs><@IU(hZ*Xuhxc}j*n(wH9y-+Yf6a2r2O5gz0 z|3ewVGk^VW*Z-l=0onjJfaQPU{ht5;=m4evm<7NY-~h1t&t?PY18e}E0I&aSH-PJZ zp?Cls0IvVQ{U83P7yVzp|6zRp%_sf8;!*!U(EtEx9R!MNk zQdfRhP0O%O<*vE6VQ)A8gZ%5s(MOsoy3yC=Kg1h-*Q#C%*c;#P*z$Cqk~v7>#+%HU zXC83tha-Ov-(X^JkgoRMa9m=Lbu_;kdzA5R&?22EC#`7^)=zVFwKD%`jQw>!aJ$V^ zPhCOtoicc)8C5z@u)0R|?_R)uDq8NxJgiY5e9_LjZ9)EMXehN@FI+Cby&91RSs}6( ztw`zS)QGfaVoxVZ%g`k3SH|5WKO!H+0G__`u!uNF?mLxj#QIEc^Z;GU@Tm#ozGE+V z@P?RO^&C`|9&D7l(tEZAvvxqy#*J(#**$8gB=DHl3H-j-7~o ze))EMHnxIlqjOap@Kt^ur_2e&WOE}pLNbdjtPnq|FF6|n$FE}rp%8pZdOghY zFvl_pEGQlO;XkS0hzU3v-;WdN;FUos{9A(2)8F8PyrVV4ftb%nw4+y3QkET8z~@9U z^i{Tn07V>K1I9)k+RgHj4)gS}SaD)F?$qYlpTU*P<};kIw>h3W)EVC)qr{kRD5Kxx z;G?@}i67P&RIU`NAcTU6aq=)q-Iv(EA-yE4WY)lI@!&!3k`Pvrm-3KWU)iI{i@wvK zZ?3G1>~&M$vHL`}758y(UkHC-?ig&BTaF*^Rk;x2px%9eQ@kB5kMd0+o1Vp9s^nsc z^ZHRnbVJMFoto-nx*|L>lFU|#mJ(=#2GKso6Cd+u$(hYuVbnyi2azM@qF5%1ygip!Na(eP1BKZk!X;(iNGX$aASZ3fEORbcx zRIM|1RmBq%)8!vjr_gY;=_=LK3%~fl(~sn5jj`4%B?6=YnIIU9`{3+>@ga+GU{pI^ zIlbAq!ux^B5neLEmv9pIC)X}E6Ih37VFfsDi<1vYLyoc_E_OLmM8si%aD_R*8O}Bl zC+#N2lj9U1jpM6w<$53tTcSJ{^K}*`zUDz(U8Bz!Z=R1ZO-D>+;e#{!$fh4Yf>ZSwPP!@v50+{$Q)wz0P? zi&ATyxmhD~90hB;Ldzn7Y%zRdWtdZb7&6+qYbQI(48C%i#Y0%WyD_9u*K{r5k37rc z`4I*V_c3j%A~kr#T*W;+Irtp7O)VLSc+NLu5)%HIhN{FR-L;n>Dzh3ct(MOAWKqi8}7`>4-!U1405D&1Y^>lY~Fe6;q5ncAOxo|wJ z6*h#B5?A8hScs%P?@Q}F-DKb=E=tW6YGo}e41V^tE^U?P`S=;7TMs%r)0qf$8ya3m z5UrRDyEm7PMdjK^ltDqFvP7@XX*rVJUQN=H6=_03PSkDUg852~br)aY)NQgu7L~EL ziZG(W)=l~kE&Kf$D450tf`_b7qld2jt_ZBSqbcbtc71Pa&Wg?}FVRBT=eM%|kRUEekMAJo{d#L#Ev2|%=JR?b_kA zsv=?Me$0*#^&OF>J)8F-BwEN`FSo=b<007j;UrJ1ru}tGPWz)lrLcsc!p@rE8Ka-2 z#hl{um&9*g9B$>ywt^{qu_Pn)`AKh`5WG7IloFmZ>yJr%|0+^?MN-}dMA%(Y-bR<# zl#tAv?0j8Qb9P4<(be&U5&abkUL%Oqc)k!)HJG~aB}5MU5Ex#KTtVwCKG1Ead}i! z!l+Agw;iEAbEB!vTjHpr2mEX)}72Yi~2sRwLUD;j@_ko3)g6 z%DnYf527J>FZZP;KtOS{60b6tNbJAUQe>21!Zo4HZj2%;FL&US9akpq z<$r+FfYd!lbCQb9oP^1|z_#W#fJ4L}w5b{Jc)=d{tP}1=xOG_-$kWj_mjDhm+G=5d z@>d6H()Z3?&y$7h-#UqaAL@MA6<7!60};9NiNk3iPH>QW=KA-rAq082rVm zu8sMnn@Q$gVof~p9X=vH0u^g#JoXYpPU}T2!|ZauF1E;hxKz4rWdMNuRjq3KY)FCL zFSY;9iL=g&Aci~m+e|-c@T5x$eG-)p21W2zDfYG&IJoqOxTOQ55>~|Qg!$Y zGwh3T{Ejs7devTEHeA6$R_l#1<@N4Nm{0MqVFi=0IL^sv?{%scS#K6hxUIdjZnV6l zTokJrK_X+~=+v(wi%g~Bo^!sPewdW$#4Hl+tssf+%2Ys}ef7BC0Z=7ldDlQxVprS&zgQP$`q2rnm}<13bdel*5SPpgui3RPibVLUs8|sz9DC zhoa8jZI*4G20J0)AroV>!H{B*}(%*3n$fwEqj30<@k`TM`N6G`xy+WoLC$}i9O<=$v_>1S|A$)mhJYSli^ueFn{ILwPc2NTvlb!(}XQ6|0 zlwMMCMf#BV3hA}95K#}@v7(657B>lZde$Hwpa;{$OxD#t2{vs4Uzf%7=FDl>XhO_x zXG7J9!Rm~~ub2S$YYVhGLP1Bu0&m6;Cuz!8r1m-(L5mnW$q*KWUJ0<7O(P_r)w(ig`flU6xWSxGlt}EDO?^Z@*V#bx*lL>?ntS9h4kkNC2xSAW!E; z(M|ECEYXBnrHL~k6R1|)_=RT}@-@Zc(mTtBezNhh{6?HpG)I0yxrBI6Dl8{}$L?1K zlZv^PDMjXhEQA1f;H*d{^JJWUVQq)a9ve<d=+}pL!paD zoPR#VL}%5)kUr2{HrlyQN#5rGbPnumV%WlS@?s`dz!OE92B%Nd&qzbygtc(u6;tN; zu&jb-mKwZ77ziGD4a)^5<3JME?{$G+Q^R{!u0FK_W8TMDFcxd*1SfiGCt8#rKj1J0 zJs$EgL6XQ;3uej&;(&JvN&wq?7T*vQ9Huh{GPl_pq=f3J;8Lf0ay1{uDR z)sL}`X0E~|_NWu7X&*_I0Z@l(F-#*_VW+vt2j*JEoo4Zp-=`pTTQjMTm-O@nV|LNK(xgcy|vYRIp zxYS;N<+7NcNNm*JH2`p!F6_L!*ZVpXof^rN6&*0+bl4HZLp$MZ|{MOC{ zhsszX^k;DdGZe|$C&SriVys~nE$X#D=)QI`QvYj6ni3Vyl+ZVr|8jJ=2g7O?94E1F z#olvqeI2R9=u9*?D3!@Y8gd4P$)|B>%?|;mRO#{%jp2KKA}7|5?pN5mDNzDzoNAFC z@)&8#9#h$2Ze@lV6ej7UA^3t2I(8a>tQ%pUCXHZ;?Gn&;XUV}?;iOQ`MJb8ec037x zh@!k$I&un00);GMc>hGUJ3qp$rCyPE>+uZUs-gXtlH+c; zMXf2O0#M#S)*|l7Aje@`l+kw(s+?{4%u=jI)d0jqNa;Qh9|uo z&$~~3R2Ge$8q!{fS7#?8Ki>n1+zkLoFroqG!NAuj<3+O=7Fl$SOwvKrs(R3-pBn!2O@iR}8!z0#kd(O5kL;da zgzOX4z1z2<=v-~6oo{HNYo`}{geHv99IUZTA~DBy0g|0;@#sjr&-Zk;ei5e|!{aq# zs)rfJZ^&bK6*xpI#K5_QZuZTe_7nVuN5&Zo`qq|G_FD~B@Z8A{VNG_*%s$2q)ZFM} zD#ny(8%T^KItr~UHI-jaOjwzkL&(wW&5o!+8KqyTr{nwCu$A^TY})cn{nv78iIlRh zNAxT83=1?(x()d`i_>tGvgY|Bou9W3#N1K0%8|iKnv=hK47Y@cWbu?t#t9K&&h*LH zQ&svY_c({#2MvNnbleq7$k8}&lM`{YAXNSJDv#dNG_J0Oe&6$E&DP0ifMT7h@KY z<+=(dsUlrz=0jL#j?KWbDu!TY6+~yZKx2{q^F1>JWmb)LZdT5^@(-UIqj3zI$wM7o zgN>aA5hLiylcIgd-7LA+)G#-wQ7FCXZjB(#kDKPadv}~|F?Vs+30Bp&InszY&NSmq z{I7MkHE}DM5T}C}dK}QuxjO| zzeOmTCiBXe9QLCsc5>+`F1rd1U&_<9nQs3@$K0@+j28T8Hwo0#=D}1)+nZwV@xb5$ z>BVTY&#`>?y(s=}a@(|QZ$aARVow{vHJ@N1tm^qMtC|=&LjC82Ow|4mPmUwW$fq6s zNss9wd56KW@5$e%n60TW`cbgsXXsejam~Ga5LhgjV#=Xfaj_LOw!qN{aRWjNAaly& zUNIwC&R+ze09Ev;xBsBDu8041iX(PelzO_+QOP8Xv*4(spk)kc>{xdW+`@oLVw4`> z-`076YjD|!{3no|N*8K+%0|?`_O25^rM*$;^Vz}!zP$01Zc_x_M^(mzcfkY`5TIpa z4_h492a&r0t%{u70D^HJ^;LYsxob52DVoH`wD2lMBOSrT;m=Vi(mwTc9?h(sf7B*8 zpM})k)TM$MdK<&J4sb+j%>5eN*Dj;@oO)jMMz>^N7`=1)hYd2mC(p^tw;VeLkszG7gZMM>6KGdml+nz98?>> zWgn12icC-|lVIiZBaJ{_ch5V&MxR3n5pqH1w|6@LwY zyL-!{k`4$pqbG|TH_B%lW-7((j$B_05p3X|Ug_VX3e(>-$pGX6Z_56}5=KpKCnUE<@|0)qsWNi1eMnL#98qLY!5bIpo*ck#M$?zN0J|AwpR z+LRgW^JF7)J8)}~$o^(pm4|7#AYw?xxUos?o^}<}n~7Ome_y4OXu^e9O#BmBsm0R3 zWOG2TcFFONv3?_L(-J}|Be(FN?EZ_|cNX6EYBH1V2NGyG)==ydePNab2Q=(rc1B^y{&axAuR+NEED^aLcW zF_d33l5G&56%q3$<_Tm(sPgMYVTp)xmbf$Z$Q<^^sm=0$cRhwdIED_t2hzBBI=Cs+ z+7;Vqth;j0r}!l!N{*yXDSqpxMFU|P&>gELbtRCI=hB2BB`N_l8eF=DSdKbizmxy> zbWX;az?ksz4>6GV#WIW)(c#Ac#XHd(osb5>*Byq8ZqI?8`ig#0&R-Kq zSfXBJ9hFtEr(w_o9BWVs?ajm^|?VXq6L64jWGkq5^QFS4GJ_U`^=zo?OiTc#|DqC+puEpdg z#6$y+b7~VK{8}j;rDPlk;J3cH@tcNa<7lYiDnW)Fp9`k94w~CPvU<|eQ{sJJx+f8S z;2<%TH2kI;IppdZANuNTJVtvsCf9p zP+&5Kf6E16LYfrDIc}pbF>}pe7?$H-RqzZDA24fJCfAH_9)>UFu5#ntLL5kiYSNyC zhZPq%rr}*ZpLA-jp-XP_?+7th1;wNzAL1v8AaikVn2+`bqt|P?H@GKwkk1cC>3W*I z@iUrGpJ;wD{{U?Z^&ZSVIhO0W$t|QJFkv>+zVCZ!=S&_?8ng^4sB2ECRPopGFvLjk zoxCdpGK>P8wS}biSVyeeUFCo6Lm)yfVCA94+>$HFjGu_Q%^w2ItM4;43v0UMF$p0{xQ^5 zdS%mQF;1?>=jxS&BXdHW98_0T_q7A@r~hn3b0$KhcSW98Yx!qEW35TW(@P;Uk&D8d z(thWGq~0-Yi8!cs-rG-s!cTB3f0zhU;+Z7wytfIX37O)PEaG`Eb9=WFwQ zLdiBsQXWCuQ&NF*4WZ#No)IK zRsP;$Q4XtK=3P`ze_)CZav(gmnPsDW!z-%o-MRc44)LEmL`~T9#9bO1b5{sN_}9() zxvLAuKhE~;VZR8qsY5pF-@GShLdK`ZxjnXvfb(QMc(bn=4UCbS4}_XcF`x{5&r}F^ zbG7m3#5{83=ln9NFly={O%z6hK~59WEtCrrk?YB?+zWKF;<=A?2Rr^YEQ$h40#RS3 z6?RfhLJzhew%j+S46LlHB4XX4b+{RL$&ApLn^py3tgI_q&AN%B#pBz{^O1)Ze z$bDS6p5SfODTEwayke{I{&f`pco8;`Ic>nVwMRQ23gc<Po{E>#E}2-4DCQNdw&6A@%*owQm-euqs1o1{^MsWjWwUHVIDk4ZFTQkj1yTp zKO-N5q2T5F{qi89kQG-G7#BS((47L<%(z)sn?rEy`Lmy|Mc?Y73>i~6w`5c9ydW}R z;EFyhSO-_}#rZ|!gUhdje<*Bl*fhVB+PO-%XRs>aSn!guSU;tOB<#9Lcqya~h92$d zH&|HutUUL_UdQ~~nwMq#UAd@16E%scX$S%h*qxpS>t&A4g=LX2t^3Y6`G5O$=DATT zf>{jn7V^ti{fa?^Ex}DDS1kf;_kVRX2k=l>dlV<~`@XuTWxG)Iuf-Vy<1un2e#s&Z zAU#k+!r!#5+f%Hv6azvxasc^R45#!5s>oP3k>6u8J^1pZW%#6?78A;JcFx$2D6UPd zzo2xf;nt@}>G?WJw0!t+WHg9+gq=TYTMSRM;A>aT{By?6R!-b9QdkzH+2RrQamjTy zZu-LhC1Srf;Eaqn4J`)H0kcs1!E> z>o$UoBx1s-eB}e;lLT{CEngotO7Px80=5@h{>djTco!nuJPrge4{pIH6GC61IqtYW zAJmIFNz2+7kYnO#O@0{WY7XQnhS&U+sFd~-a(|X%P^?1#B3;pDk_LfB{D#tg#J%%q zl~u|*&PeASL!=i5!P!YfXf)I5{^3P;BvB51EPAhgh*NzE6lcxZ?2MKw=7%KOd^!~Zqe4JBEq2B|^JZUJ$x8Ai(71t@s`&|~k5qmy|>+gS+_tA@) z;+w+9j#4+@PBuide`C4Z%qaN<9cOY8%5XbdWrNqBbg)r=byd4pRz8B+4ITN9sxpe^ zH;x2mvJ{kViAW^!50(h1&stx7P*O#d;olW8InfE3ag0T+*R5r9r;D}a_Df47+n&@Y zV?s1!ZUYp^W;AlnI@~{WNT}I$M`sOXYg45EcvS2Qb{_$i3wg0geyrx)F32El z{I+*Pi5v_QWq%APqQQ`%LrSkI(v4m5!H;uFzX{-!UId2)Zbw!tyS#0WLd|0efy~PS zfSd`Fh2v5_g~cfj;43Tggi0ROfe&eG7e1HE0tg6{ivCqvpHZOJlv|DGYS}$L8~!W} zjBbI4O)d__U@koWS43jQS=$t}{yBCZ0Jz+u>;8JPHBY0OXo;DBt+?Ql$ZzI&_=Bnn zW?Gmzjve_Zd-P`XhyhZ|<|RvgufhW2Q09)^16YNZiB^fO;J63JBSz{i7s2@`ACmm^ zqR1I{g&{&Rz~z|@T$;s>pCUg9Zs1sc*-%~ycUvuMul!z7b^o__a|^A_8u~Nr$1$covgTc?cNzKn*pRUcW~Q84dcWfP%wFkW&{|%*_8g99hbo3CckF3XW)(^`tS9b!JNf)dT|vXXubU(f-C`cA!?WTMb(iu2DQM3&y+KPvzi z;)F)LrBlmg<0P^$mey`^F+1UHCDz|={~1!$6E~Tt<8N^$+qcg7nGhXNL$|LsK=Wxt z4VC7LpG{*YacCs5QF}cx13aYMnMU&sq8Pv3l}Hy5gbhK90MZ)|1fJAV&L?lCql1Dx zY8Jm5Qu&eBS;7C77G7+JtbTk?KdT_EgiN7HzQuPezVTSM0Vj@_pjRSJQlG^zWU){O$M@jAq`VU{r$(6mRWUF zc;+qJ(YOD^= z#t0IbRWenLAW@et=0rD*Nkhi`{?0@rbNfx_T(4TvR_Ik+=qD+;nXma&T}sW^k}329 z)Ad6SZLVL$Nn_B!_z_3Y1U0!aCqWT`^cYBSrW`sBT8t2_j&1cz*(*@kKo&0tusrU)&9y8h<+oq5NEqdM)iI z1QK(Fu)CK#Q@4wjso%DLBwhV?gziz<0+ber*@XRmAV@wv58(S!gu16(mQ>(>o{qt? zpL={mRK6(I#*1FUJlYDyjUeX46*;_Xn1i|<;{AMQCXCG%g7Hs}H-5;O`q`GdXusu- zDOig5?hm1e1jlLV6Tl4IPmw= zUDyxu4Scu2>kx)+!uSJ>VkOTcp$$wCSp=Q-m?2}wQQA^P#x&n*pSKpxW zgof&lGt)QN&eqYvkf!D%l%y!p@V}7m2WR8(9Y!LUlFNkiD{HSZl=ZiU{siWWmxTj* zMtxmZY{IEi?63C#JYbJpK^?Bt0%t{}}Tuwb- z+~4d|yED0xzB_Q(cg83c@w49oj#H{u7x9BsctlYt- zpaG54q{X67Jm0zis{LtmljyDXM~)-9^+nVF!hQ|IH|`5~sV-Tq1lOK)QD~cWbIue< zSNhQbK3?wDVsWnL#cCE!h34XamYRj}ziX}ekqM-vPK|wlRRLC~j?@<2rmSCYfm5q% z*wXFnD+%$V;jl*IG~cvm`_^Kml)cprb3pNbx4wUl6Hh zbcSDMhB`nswim1{=2g^O!*TLBcaswg;x}ZCvR^N zziMcX76o(XlHGUb1(GxsAXwLHIT7KHJ(e->W%q~b8b+!o1GRHcH(fk8#sQgS9GqdH z61{oMZjScF?ciyS*?g?UN!3bZyO{l3vFCzK(;#n8henei8>VSAaiJQU-umeNd!#W5 z=J8zY_q{4Sm=a#2c6v{3NlPTh$l?IOU>EL;Y=FOV?&F=t1 zt+rAAvg8k+@x!|sSSQ_b@!S?pp0Y>JUz{Pdpl+xuZsQKPd{`9Td|PFML`kM_&;wek z|94LYogZME%q0%At6a%1`(61dr9}Fv*Q>mNeGf3MZs&Phj)6}^F4iR z!i}ZX*<=}-f7`4sYQiZk>LRGFu@PvP7C;VG-;T4`R;#3?0uG-XI1G>eVDE3THwyu! zwaXybcYHdA(%W2RP?;!6D5|(BRff2VXXPN{pu}}bhkR?ocdqc^O0)VsPU(+~EugIK zEEJ@ZF1F!Z>4%vo1pDAV_6QHn1+`GLy=LwAp#^UQ3`n+@UlZS?~)BT_3SNxiOl=Ve;TH(Q_SRz`n_%;f-2`=M%HXClkBw_+UA~hMajrF_cIc zHCbi6%)kz=IK!b&G}i2`x4JfQtLhouYdyG{ z*PdPT6(0Kc5XXza25!L!qT@r2^$IZ(^{B%~`;wh62he!ZcIZJ2mUpT(p87aLPBa@t zFsC`=B@G3KQFr{yU;0fX@R$4+#UG^Cau?o*i9(^=#`$gEk+3Qzar395ip;+zmDD8T z0O~hA%BrY0$2ek^7k+_QcWpFg>b{|5)G&#~T#MY2h&`rwk5GD?7T;3z9aYzsHx74Y zo*#FFWmaYWtIjG23J0Z4@}I{st#_>9R-T+iIB-Jq<9nBFh%ux8ycKpw>ZFvp3>qIP zU)?rOw+!Z?6(xe5uKnCYUFe`S=Fan1{&H*^ji~O~G?eflcyIIp#u#E=cVT#f!bj^r zceXYkE^2GIt=y*FnP0i_5s{Yyslqm4LjV2funu-Km+qFQe%jKPyH@df(Y_9^=+_QT z4?<^;YCLppq+AM951ZsovqtyI_a{+rnwR_K-6St=Ye0O(oAtyCPi=U!dwuhKg=FiB zt|kii3oDkDWo zqRrxcPt}o$@$$x3`}j_TFj|}00X)IU#5;0!$DM!!Dn(1wMt1MTLTn@cdC61NjbS5G zof3Wsw*=CxYo-y{!uY?poah}<_%O_)!D*0Nxb=@)OwM0Q`$x|#Xzo!P$8U;N3ked` zWDG$%s%Ap9?V#_8D(eO7YLntk6pie)%N-@!Xu^cifaa$j#LS0* z5X|3P_+{w&5M=$M+_FJ!_SJ7aJLn#t%)?p(E5(|X{I8d~pgvd}$sbkVZ)!_Xqx6GU zg?i3IdXu6SzlX2bNQhTAtc=u*urbPh;36(#7U5Q-9Ca}Jdx-Cu?DjaSR9SxoS2QGJ zBVj8KN%my%rhs9B8KPhh+aqNp_t{yX?J<;++QKK1bJ483P1Kff3>HQdDh}G{*;rii zNyY)+y^A-exP0}?o#lEYk8scNGMgi0o|i+#s{5=H^79djemzR=9Nw^gmY~#AF2@g( zd?<`}^)X?HuY0r&xIa_jHWb0jX->#V>%x9$gzt?_N=j{dv-?bB4AvQ+B0+@iU+MVx zcEMH?Y_S){Qa>lM_^KNa{~BuFVG8^I%+joL4hl`cARuw&dVHQA({*hZj7EAh*(j8C z9+7!f66~KI|BR@a@EKn!jEP0qdEXpS5Dy~9wH;o#9CvzVL67z|)>;_)6yhcRDH_}E zcPD&Ck2n9vB_>6LiFmoi>EVA02si2xnap?Q)GIOw@EMWz*e!H;qHjMVHvQ{{YFV)< z!VIw>v!yEtcotTzj0QXNBRo}XiZZ%45nOEgwcY}|w4@dVs(0ox$c~`e!Llu7883hBE%gE)T^6Uo z?qhu0j^s_UbFPxORuC-i`ElbCvB>vU=%M@@k6g;RLg3nt{77GqpXQiKIJzoCIRNRi zhO|NT#igqVS3Chy!m))-;8D!+DUy?$tSCVwSy+MUW_FWiC1X)Jo%TW4;3y%IL;5;6 zxh3%kYt`d=m05ZZ>l%ZL;pEF6E^SX`P#WQg5-;vtjkUlN=`+*-ujC0>N7EVjQ$AWintHa<9Ed(@6)l zIu^8#dFae={x(0Pa4D5~jdHUPEJc?_?!iYH!~`Q&Zdz?#;Mj34)-(dU?*1rWo$?qy zuN^N5+9>12k3_t7koYt-(Pt1lcS45Mm`uU!CGY&ek3JO&VL79*`c#D!Q=MZ0yd{=- zbRL%TaSzx-JqQ6yRX%Nh+@~3aA_fjz^LFA-&aYw-PpifT031`NtcI4D+AF=I5Pc$0 z9o=VhW0c8gr7NHAFWgt1`L!sqR0O!VGC;L5-qf@5xR2Zg%zy}(A{~|yFl_N}eH3`) z7{ME-qN3BIASM$NXs3c>A}M1RS5YWrX+7Pe*J=dUDR$oRoe#S7kwUs(j@6CL%O5vD zU^A_0qC&6!oLQ51zO(nG)zRZ(43X|n{3i>?g)El_WGj>LL&I9CPX(KYr1IyPZ+nRy zl_A$;Zre3zSX4J!u{Zoyv6!LU$TWihLJ}I9HkSf5JL#{jj@CqY^~}~R#pO9De9E@8 z-wv@{xFVsse2B4;A~#vu+sylVvgin1qc~19g{-1jy&+%tWTN^NZC_1mS&DS|J+Ytp z!fDR9*O2a6wx-|Un4k!1j>Yg(p4(Xtc$C@;%9)KH`Tqo?HZaz#6%`_0?KD;)iD)n? znrFjj6MdW5DQnIz)EZRe-7;*y4UCgfA=nz1=Qr%J?CU?hya_jbQP-MMS^2jvnc}Yh z93m&CiqQx8qerL^by+8(&b1YrQ%)}X2#X#V3~q)q(ph}I0@bNJu13STTdFa*(og9U zD^Xm@354N9ozMQtq?)~i(0)2nzx)F+l7>K?&-53Qxf1V$f)NW)&)m4$NRl;6w{fdX zcSGPu+qgOsQ9L?86XFNhTWc~7Q*{Dn5d15KTNYC60PDm;^? zorY&?*wY_j`gm>@7=jQjx0@^B{4?#R>}4k26k@N>z@g#drxrvL8|gV2Y+VUiGEDW%ZAad;@kRjz_eft{BW4=6sRUujL*8xp<=F5Vp9rZMXnBuG~EvNL3>mTnZt*QRj% za6FfT%TZB$9`yk?&p#;G8FR?DJc$5VRsaifwJLHm$gHEx;GMR#?`M6FwRFNLr%{P- z89CzeNqWiwjwwb@mRJ2mew;;mB0mowu^X&h31)UauVsjhCDN-*!W968G=twBMo|MS zzZ5s9&0JU*0eG$h9ym;`F3Gok2mHFxrHJbcx}P;k<8dMTJX0{oTgJDA#K}Oi)w;Qo zKZQECP%MHD(BRs*XH%ge8~A&gx`ewGGO+fqxItE*#GJl@%^StW#<@oE`th&u?;SR{ z&}|6Cav{IiXB5T;j8MKosd>8m5S@oN%xrfKO;{*7O>(7HCd{(iAJg&fiVO3P{^*Q+ z1|dgz_IVOp#NZa0WG+B-@Zi8m9<%v`vmS)zWgvlrDlDJ!jS>TtQc8Xyz8`lH9%A(v zG1VI3Psn(w-tuaV%GPp~8OT^{ik-KwBl5?gtG9F=!SXdO2p5~%Q$-8%$^w)5JZPQ( z;RsPFM{J$W77*Di1Tc|dus@c3s#V<5R06>DA}bU~l?Gs+63B&F7iHoq!P0)gb&p{k zy6hS*mEkISCur3qM`R)Azn7cskywhM6plWKkBEXkZ)i{ zH#vs1r_Pth+&$|k!_(D4pEVI_!p{_(Qbl#~%wG8N^NeMT!=k>W=H&}r8c2JbO4$;L z6yaQ6{KOtYJ;us^io{AJoFQPzWxlI}P5CPq&|(BiP6%Itx?QQZ#Y)+v*_JVUfsTl1 zuacEsy64J!PIlvTXn9cQ zb$-nX@VjVK=vNiCGyOu)A*WR;}mWWaH^1*E;?Wg0QZgitBD)T=T9n_T@{vjZ z6VmW+JpIJQ((xjgBMoo9@-svQs_+qqGSuWi?y-?|e4INzIXuXhxjK7y{7@Ddo*3_x zhyFgR@_YQ-5q8#UQ!($CVR=%Qy7KS%AsuK%4wgt*cIc;?Vl`jdCvIdNPq#rNCm>Hh) zCZ!Eyq+7mfOZ&EoEy{jcy1(Fn_6niZYaKW{ju=V{!u&w zCf(?P%`}P$BfyNU_(CB~OlWYXFtIqy=DMx=0|Qopcux+8lLH^y(!t7N49Rp|LvR~a zpwlUlG`=(SW?Vn-C4QR;6i)oIYqMm*(lTL0UYfOzFR>wn(?ue9sYn~-usF<|Rcq_O zwESqv%mzoeF1&v(4awhb=V&nT1+;A?D_WSj_Bx|A~IWCL)SnD;|0UzsuO&Q+;sA_ zJgVd0srSPE+htEjHnzC@i*|;N+O^^+s%FZhim9@$)bnJfT$`%HDxZm7Eq%cGO#<#6 z){enF3Xd#}Q(}P0;^%lwfbB<61Q@k&7>Rtu}B0hnY_1azQ*REz{WZ zD>o`~CjMbkwG#%0aZh#b2Y(cQiy0JKnh>XAfGL)T?hB-qlB$Opq*#?4(&K zTOta9*M&cO>V70wh$<*mi0VTvXO3;TzAH_LXxC1QGeDLZGuVXP2A!_=4!_V(+`zzkSGoD?cem(K`$(d-w|b(EHLWFZ#|L_d?S!6t^LSg5~uiQbcUD&#wdgq zQO1#@wy1Au{WPLVtGCXnP6sF;GZqB0IRVn9P5)Bi3VBa?$sc=_#^!;eIGe3r`1_$$@D)<%tx_u;UinD!q-ulOY zH?;pR0|fm0Om+D9&_JAQhEu3oTcaDN~K)LOyWZq>sNm> zsN{or%CnV0PU{}>!V;tzf#ZT2zawSwKgnt2q65z!{}Nhi7#N)r4^-EUENHA zKqSq=kr$R3@q;!?Kux20IMAY-97Av{V$eqhln!kR8btONVYak3Z2h$}ocvda0~WOW z)bl7P4iwk9Q8{mi3(vf~lNQczm3q=7W!);scpycHX(-fBvFmKH&xZgs?ijQ2Hba^x zI7&Jn6iWqaCmf-5tTXl;<02ymidMlEB?RM~;5Ha0ER$pHt3jO0%nUxu2bS3cW^qHf z9(?WU=#>rud8QX!T7g}x3+!|b?!2vl4IHbp`RUdOmDL@vP{q|X5F0kXT2_z@?27fO zzUhKEB@6D@2#uL8V}Er3W={4-?3GN06LAL{_mUt9F=*LrhM0?RYR7=lC+!75iG>v- zUg%abu1SUsD`W})@}s3@X}~=Lv7g92W=Y5bb=sdcxIdYLg7Y}mfw`nDuwMfe%!jzZ z0Q7Kw11JfNc1K0o_5K=+JV=P50+g>N9JfU(O#9#?uJW2B1UdntrQShe0rmm7$vUDKgkx;mNK-iVDHD9VbHiHgUhxOpNH z*7~I2_tIp{`cDT0M*)MB!6390QqXCR6dz;`L7_m^$tep1E7DzsJj^t$g zQd6BHX&!GAWM9~!LKmIncpM$A&H>?3VxYMrosLG%UpVOFkYO;!$_|%i`rMSQw!L5p zo91OPL?F4WN~IX*)?UEfejuh%9#AqLN8~(|FZb-&>e&*5&~q+AfH2 zqS6&q@o=KIaD5hj%xjL5> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/roboto-v15-latin-italic.ttf b/documentation/fonts/roboto-v15-latin-italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b0dd4a1e528f513a5261baa536e6a226200a2bb6 GIT binary patch literal 33404 zcma%E2Vhji)}EPLHa(l&WH%v!G?D;;R7fBc=}7NLkrH|*KDB(!MSthtgU|4vBp zX54MlqC@-6@BaBsOI&|LNN8A#&RrX?PuWAm&hZK%4A_2sT`j_K* z$dHj!26vBWbrH|16EgUVp#w)vHjF>NBxG~~p5GffsBqxlbMQJDb|1UEp|}z9eAonh ze><)#4;@uJdGyWv7(#|uCPbPza?F52d$qECgbYP}^yN{7lZ&J<)(h7mD4#I8aMU2{ z+zdM*Q|E!}aGx;m@Qhii1c*C4nS_gp;va zh&dv{QpXWuc92rOSH(V1>_bb5gEZ^zV41PUSzLo2;)39Um>cxaWJd6&rnn9!*C9Y0 zjt7N2)IwZ$LdC(s%*Vq*9%f}HCPpMm5tK$yDUsHqiBc73J$5-y|5-mvL%v~>u2bf8 zDvn3{6q9oXoAfw>O?LKSeHODmgpnr3@ARQ)K^S>T3k)}N*aJE2Pk=NOkcM(dO-fLD z_ryz*$w&v2jy!<>{RHUk=((HYQUe?>wf~<^s_4?GM+vKQ6FJ#td ztX@WDUAchZ>sRFn_PiPZY6~PW#35yBEJ)(ju}p`l)FGK20i~!{GFk0*DcNeLOFED4 zu=p3gQ%39iDE%vN4Gw<>qAt*({1`2XCGljH3-}Pg8{$E;85d^Hh3EjZM07v}JgLB& zRWXFOWxAtcX0%2mPZJ$-siUIkN9==39l@DefbU_j*%5|&W{0KJ5ny&iin6v+2QfRM z#hpsL1<8OuIX@R$qBU2_<(ny4Y}i|q*=vtBuHJAr+L--!G_`DAv*q#TwOcMne=+;h z=-)Q1t@&uqBf3=|Ot&tf{g=_*dOyA`(|0b>2eV|_AH+&p8Ch~YbvsEXqqO+yHP8$f z3Ifr#Ku@caaFN6t%8~*(meJ24rF?JZd(BF{O=e~-#&?xucEp!DuutWCt*ZA4T9%iZ znwFZ6UeC`p*=(ldJY1?K)h6RYRZXVk{M6L^T-9c`0NFmn<#Woi+!7cIoBMf%}vsNi5m*cgP*%4mK_gQX9QI66)EG6)32TJXn>=G()veT*tR^SIIp(;Ow zS54ptv+J3~b%=HyqRi2F=BQxSDtc*7i?8SwQd*|>W>&Tp6etMM&I!+C!ga1{vL~l; z%qzBhikqs*La&4hZ>l-y%mq;I(!C^s?`X-MZtgmPg;aaF-rh zxKaNt{e(4qW>G+$*exT1)lN-27tz^g*S2Xpf9(D@Wp;Shi>vzU^A>G0Ui@S1Vwru_ zRw||kD@~s_a;0>$%b?659fmdRG6lT(f}BW~Kn=>o?2>VcTgGwG#%1QjHnZEVRhH_T zD3lu|qx5Q0v^tVlKyJ($2@DX2oaqRKh_&WfNWNWV%pPg6n^GBCxghZbm3PPP_-ZN} zF{s9Y;{hy$wf>Hl&|2-MPtX@R|0%n!zuv2;m|meN{hmSn#wxuktF4X@^_zV4hj0k0H2FQ()x5Qiyt#cGnI zG&)=Vu_?9XZfs67t@`WhX3zU#ob-9m)nnnm|l}!J4O$=@N$d% z0KIM^cH#)g)MT%g<5d%&M@kcNP7NGd99Q9ZRAv2E>s2c@E&7J{S`3S4;j9E46G5QA zH0p(e1CgIdAL=Qw^m7)!iI=Vgy&FY7fW4EXNr6G4kGW-_08t9(72^GPRyH(h7)!00 zw=cUPYuK+rgZF8J{`KX${Tm6Wjd{{qp~0=dwM(LT?2D{ydos<<-6!?iJ43C(HSSR3 zJ2_o>6EG%{=9)bzne&&O>)9vh3y)>O(Q5NH2dYi0RA#G9nr zEs*>9^wTqE0$5<>EE;y}>}it}m|RPLcq)u4mzEz%O2_fyf+H!Bvh(LwPd}jfG)IyD z`my!XKkBFTQfa}ICb~(vaZmrExTXG=NiDqt?EM3~tBZ0PR+n4N3AA}cxCd-aCJJw! zoT*7(cr_;Ro3NXbtxA4ME_=4*V|_+Ei%XENEq1)d`vw*uaP$T&k}jH5A=cYB5$KzU zfBT4^o@Aw(6cNKe8DZ7}y`RJt^sHu&;f5hM*z&26L0nOq8ZbB7V7Zl)71~%#|3jA0 zqQUbV))S%2zFu(Zqwt7p&+66L#T6{5@X)H!%Vc@aa=P&P7)k!%;H3|H>rFV!HH~|6 zB4DmUW@!Oct9fA#1I%F_m_1TiBNf6plq6HTPH1m!7olUdOn%mv&~c71vu5%EA7*w0 zadSqi;=QLuR^gT^fp(Yv!}Bz{d-D8K zp`k@1#_h74h@cS{PQMoxxP1D6{sCtFyEo5$5pYVKJZ|<2A;EL!ER%BRvPs1Y7+X?I zPkzPZTc?J+P`k>J;@5wb<=e+;(GpqSI%m=X86y`4dw|Fl!4W}_KP{g?)1_bF*D1I2v;Z|2Pqk1{2<_q)8y6%rmnK41^|&1STHTVm&goH7!j-ZI)G@ar z{eF{vly;gVeOFe8U8~0XWgPfzIAEzrhH9~u;!&XsAc}sWo__Jz)%dVKrJ86c2M;Dl z1uuA-V&clv5o&fslwz+%dLOyE13JRWMP8oW2I)*E?RravgXt^X>so2MtwXY$Ki7r|1< z5>lkdxGVjwXv9WRNq;RmtqKPznp?uI)(H;uv`&zq%cAlVikgWC8bs?96F<}JzLtOj z6TDYIy(w9hO?mc8%-y0?NSj2Os)n;jPuo(ZbLQl$`Zw(smyF-nHY8I2@vY}d!vhkV z(M_~Kzf$-@hKc3$Z#?BlL{POtMcX0&`U7Wqo>0hbx-B*U4pcCj)XAvvz*`#Bq ztsSWH^0uBExxOSjKu^ojhbqZ&HLsks5k1M9rP=!M3uKWRgk7Xt7z@9FwtP9D#imH$J04Em0nP3PX#NZ;dEn#n;Hx zV!g=Hq#9gcY2mSa48R4qk2f7rW-ZNI5@>~e?qy6^@LY~_hJ{V6i>v!I|a5Fr3>w zrccX`+YZXgo15y-%qlbtk`8-dpWGb$Wcia&6Ku0p(s*L_lU~scdSqoAhOte*MOUC? z8p=$T##5D;;l6N}6pSZIf^Hj;tI`>{J?PfvN4I$DV5P87&}hX3b!);9zE+|$wSv^U zGMnu@N2jf&Q{O=^6wy_ZAzcTZnqd1w4ml)@$$?!TPEBS__FkbvP`bpoJ7pioN$G>c zUdq_xytEte6p)M3hjI%aJi<)j@L+_daCihX`BJF!g+x|Xp=@?#wvtLE`hqq3{5QE| z-*5abU4)j4CY4EVtx`%V?{ADjg4}dbZjA38?Z$acDVH6m$!4Lx%;l7{St#i!!Uq=s zg^y@GGSid?X(~n)s!76wJew&J1d&P`h4vfSafUghTd%?MB2HTWIDYV@u!wV0``iEK zUXS{;US?)px@EkhUyCtQ`%IMC*dBEM8%(~ozvST19-H(_@P^R3nHlvcD?sa->UGs^ z%2teDo03IZ<7Uly>l$-iL>y_Ejx3jL=dlodLsvojS;BV|A`Xra6vcR+c?YgpX03wn zD$T4V`K}0S@ev8l^(9So0WoLS~X`0ark&C#P0swNfnv z;zPDXMKYD5*i+1kQp_YD>oF>H@v7pYkf6;s=Pp~YAV?`(R}yR*{@tNl`ocd#0!H6{ z?$8Ud%f7v+-`&b~(O5d{>Z{bgZr&|tJ7vO%-U)O;&HQDrBt^0wZC{jF$@V?8{c$D@ zcD~;@c9EpgZZzy9wJeupU9X^je@g#m4V61hc!nOJjo!aOU!%_)m!yOG%h$frcb}pS z4ok|0TEX;D998sta8@$o807mh$afPghUP9#@r_qJ-a0Pfxq+@i+Nd1kfwFLX1^V-Y z79?(RMv!25bI~tJE1cRJZ%X$4G~p%ZCHmzQI$fU+cU%WnfgJ#E)y3C$S}1^I zNm5)^TZ-pc*GUh5`9+xJkN$;$5cpqT?M16DJ`)}`dZPXz4WD%^Jap7d{f^?GS5Le* zJoU_&*S}+joDb>R=@aM6+vwbJ!$&FC|pAeVR^FWZn3N=0r0^zg4!W z`h;k@({-!dEwJ}_0Y7T~=SGz>#h7?X)osdIZz zb~UbShEtjn=WNoE4P<+qWjhqdPQAJZihY10kTm=+9Ha#@VR4sZ8V8{84ccA2Re_y@z#>M6z#iV97TNS@W=#VFSG*>WylFI|~KgvSN4&CkaP zg7UMQ5?w_SGs|&F3PvrQ$}ARc7}=A#DZnI?DUypl?o^PcwbZ{qvFhWgfu@!vG{W)r zZxLsMSI;`{tYVd(Tl>NEdit3-MlKB*!=%~2Y@S3n(kj~}`TGx+u9r>vH~KHj+r0h> zQ%2Di2w8}}R3?eO?D~Yh3<8@3c{~*jRPEr@h}QFB#c|c2c9T=M18qbKIc4# zvXlgY*IVH%oMgD(DmM)9>MZ~Wl@sDmX}OYXbm;OE=SwTkAFHU}fA`Y+A?JdNil)6_ zRUD81dG`;D^)63d#pLJaxN+4%;Hud5wQ^Ru3Ai$Oa3!Gk2ykIL3Sq;zBcNeKE7Fq; zCsWB%vX#6*&XR!MS{*(XRuwMb8(Q^aX@BW_PVpU?54YCCC;S^ELvZe{VRZeyqT4q!nrS(TG`IH zvge%_c7WO3HL0g@8b*3N0n6n&%10JZTmisHfCmYJO*j%L;S7nvm^cK90~%+gxoDmh z3QWS0r5J4cU(Ry_Cpky1*2{Vpo_C@{`pC~gi8W-c9#53_IF~y=@WLl(IFPi_Xb`u< zpU^!57*FfVk+PR(nIbG2lQ?ivbNNa+;g&f6zI?%1!UA7ECl7zT5wNV0$8h^_lJT7q zigAO5BysOna%Fs-d$$7JlKROU6!c%cTQ2s`hxG$r7Q+bCH9TT)>O%-{Q>f#zcP6T8 z%n?eWDO5KWOS^w&fVfuOf zhd%qHO|RdO<<0tg_ZnUPLRMh=keR$CT&h0+LW2+wZL0-EM)8&eaTC>rO@Ss40zE@e zEm)$wTzMf6IcM=_Hgu>^{c^Hb+0&i_&O7PduO3EN^iLk>uh6DjE=QOb&ejjG0_PQ| zpI@%L_v=o?pQderi-nOfMvx+lacdReInFgci!&oq=7KI9v=;7x&dd1W{sNcFfXaSg zrPxhrYO)vEmEabGhLptcQ{b8-J3miac4L{|s@0Ox@v7QrXVLC=SCo!ZrJ#@o!%Umk z3WUoI7WF^#xLQ=3_r^Xj(|LbwpGkYum~K;LY3^U!yL9fVcVsiJe(c8i_^U%D6OA@z zahxM0DZeT>%T5Y4C0cm$6dpNpwdy|`g&qfvW_B5cW`8ZK1q-g?YR>0Gb*njrn_sHQ zYD%Ua!;2l!9fL18Y00<0T7!?TyF;%!4H~)nN<{eF1^O-4)_DT`LGNB!Qd-NoC6xU@ zx6Gcg61_r68X`4&g%7Y$v-E9^OgqtEqT{d5qI0*%bJ5a+geZaNDU(Ojl(Tuf;vNQ#zp*2t0ib@awtv#=es%6E zy>6V`OtC!rS+VTovULdLM*`}#ka}9UJ2JwJ{&E3kSk7-)PUCq6C!yTfK^KVuNG@x@+JERYKd;|-ol^POBd#+kfuq~h zNVL?gMal`3a^kt1+go75qeTRp3oRmXTGGIX{17S*0Kf!asnyOMrpZ#83AY5i+V_XNyRNBaB#>2RjzYfsDtj~ z|8v<^dgz|>P1^YbUDsRPV@>puQfVHm;Y@L+vwY{9>^lbEgo`F~0BHcCqymI;T~*E= z@j&VZ&hL%clT$ev( z>57iGk_itvgj3oZ{wP;C6cGpElRFuXC?ezLC76Y!uX^Vl`BRz--IQzGldj7h5l>Ag zQ#4s*ctE2#lH9r}8bT?WyV5vXy&BhxW6lXuG`DxPU~zzr0Ox|Ae?YSa3#S3pvY*Eo zUQ&OlpO{)JU&UY*e&Srj(J>hEMzAE4YB#0W;5AE2f^W>mPMM?)2UeX32%<6HUI+>5 z+qd^Bb4lRbYoiXG5AUw9Fs4_3W?SvFC5KBw0((@9s{;q{@dYowLc0}?Wvp*I+IL+? zCcnPdd9Q7LUc_?tOxrK%$N_Bz0T=PWg^qZ-g;XK~wYc~MG|S<(K6n@y7!V5CgANb7 zi6>scpoR*QH&`5aB*mwkxvKUJ4bd4YL#xxEq;q*(1(t|Q=b0p&BB$ez$dzwRyWBVB z01ZAhYVO(XM-^&1Dh(ZRXhO$&`-ku9#G;?q|C}w!t7fXi`RZy}{^GTU^}4LxCd)_l zs{3Vm;cuXi=EnEZUAYr_xV1(Slh7s?aS8G3X^O{)_hUm%j^OG+ixdYQdGzUS3?g`s zxRkQXxgEuQ4ZPdnptI3?h1;VKhc9?*_@Z;&!xZc4d&^(Ac8HBDTyYMrKG`&JE}PJo z4nEjNVoUzmlC%9!#My2hqQmFO(x&2kF_M8cod4J%G~Lr1&agk51-3~_lGY8CbA&V4R$Uw1UaUqim+lncQ>kP z=g5_%Gfou_J*EG--#YvJM$IIZNF#^tnA)x0&JlaNviSWpXuc%RX0;w6(@>VbzF60` zY9}-8rw`Z5(xL}wQ8VKQ={C5{4!_kf&EoRN`NbbZH+Y)k8NO(70bF|^A?W1Axa)DO zx1UYG-LXCcON(@s3@G1MN-BfTnfqBeg_#n$?Eq6smC#)ZxQ#w|>l=#_vE$CX11|?k zreJ4%%Yym47Y}XvNkq|sY!)V)$41ID=}!6{8nj4~KR(^4QRj8<%JTZ|{l`e}NISPv z^UMRFv|@;^4r&bijRQ2*&bi)2X(F&x$t^>KO!G8Rm^_{fPkVVlg?iNr4>kF0ARaZE-KVxG5D7&vTiZaZ66cAp7h=G!s1_ezIX&EETL zKNhhmh)pOQv8t>qr!ZM>FINF?R77^yJT16dI>$3|?o$0Na}Rui!#x*bplflrNeD?U z3RRi6S~Ew7@QUCT^6ML$c*cdJpBw}M`pZG2;cx=Xcl#~U^3hY^GgbJC{AkhCC3@96 zQ_uIS{QSv^`VZGezgaM(|DHJ~Dn`yfK4?QHnVpt~4S#Mz*LpkFU5H@u$Eh+yl9x_- zeCzr@DjWFBm^B!sEblj8mWI4Gxo+gD9kRTa{aha3fG%Tovoh<+1$`R8V;`wEryt=vA&3Oka}lrTXiuAkxIwS` zCt)BJ*Iw$dXKH3|I0%wmQn_SD|K;Rct$CnQTa*g*l}b0h6S;put;Xh*j5!sq$J08l za838jaC7;2q6<(a0yU6OjS;9cnmht zF+Q(Ufbcp+6_9`ROT9&cV7s~>|GQJ_iW=m0OF>Il`|M{xT;A8`f!M?Bymx5s*C%PvDU_wqyhI%?wACcd=BKU7 ziH&m26*YM}$deK%+Fni{RDvN>NsK8fiCBOt33q!rXDxDV(RC(HtoCvgi|`z17g~TH z>3sX*SB9*L-F*GIt&x*X!bM}=fg%!#W{3uQwKkPR>LMEB ziw<~N;?H(gy0F69vs>1B*lzE%g&f)?yJh*Bm+PeCWn}=5YpZ*5JfJhfN^j!l_44F& zl>^M1J>X~VKsm*G1v%isnBL^F86fA7#050N%yES&po`e##jo}bXV#5BuUzz6&(QGA zzuY#Nf~E}Wxp`=KfD$rw(DKW6xgA^W+-Tcrtd!a6zc(DDA?uuHo@zRAxg_lUDh0|hl+05Ue1&g)`EwKgrN7xc8`&8wC4L2bC z5=tPy%Lk8yK?nJk@1i0kF6Y-2bizFLL2IZqTWxlrh70jO$f@ z=b{TNdcXenJV~DB{8Raif`)ts-4^FRt7Yj1dZne_Pv|T&GG~Wsq+%rw6*q~zM!BaQ z<)}#5?w&?@JBtyKIcstq{467Moxf#7xl%$NK7<-tV}Wfdyp%4>h_yW3FY$n0cC!E6 z7dMxf)aJ`xzOG1PhHjbIr}4%m=jHbDtkI8BnLJ%)cP>q*)^`Rw&vaR{hshgRhPba32#5^Nf!)j0^BGh%GINQ$Fv996P(z_2|F_ zr_LXX9lt%Xmb4*oN0|ZHKXa2D4lc}qgev@=%cqJ54OmT6iZb#$y}ar)W9K%~j!3Z1 zs?oAfdQ8^Vaf3Ftm)PsuXs^*sWE(Xxeq!sDhOo~1YBoRXOz2JzQX|pINY8~g!3su~ zNK`GKN5=E{{E`tdsRC0KtXzVM2?${C+?;$9LinlqVvYiJX1pGAd91`t?Gp3D8Z{X? zGGz3{n2Q-oL;cYzXWt68c0rpgY#T=Ns}O`mzx0CqsRT)6+-e@*5XqW6iI2*^wr^uPn|zJ0_im$zr@Zt z8&|LPbSFvOD@8uO0=Py)sr>}Fp6EmKfFk(Kb0Ij96Auw7+890w-&HO>NEcpoe!28R z%_-G?d*L9cLk=pQiY6Lb-k_N18&%|LdoOIPfMFkYJ(o6xSh09MDk$3hol% zahV@zk8`?pU6DR@-Gn2J>Fl+XNCl6tNI7Ni$^~VgNvY@)<1*U*5YPpa&aTcV2Ua<5 z^)e_IOy1!!2@=C&)pdBHe@qhoG5RY_{X%a?171I&U%y2!8srLdAd~L4^DbSlk7U&u z;Q zx$2y`@coph&6(Y1WHmZ>fksGGA6xW)5DnR=$X)wRmyla)0atxw!c|4DU4e(v=C4BXQm@8QwtQ?kJEV$ zyx(jh3=FxPM}Ut zasQSzZiTIPVl53@tN*UP49qRpSF_=2U1+ilEkSIW1fG>p<~YY`$^Lmc54 z0hKyHI2e6K`saP)o?mtYGyp@j7WH5!rMxcDb>+kA1y;;V_vU$lJpnBQE$bqDqlQ$x}h&yhYq@A`E=Q zbS+^xxaM<3C3C9?=Ade$-xuzPeKG32-5IAcC#?w!sXpcGq#CDc%v<+DQQ_t*VN@!f z%f=Vdg%>J)f4|cC6=P`d`wOD(e3kI_hT-#N)ga$gTZu$kYCOOQX^HX{#;+r^2)~S= za$yyZ2UDvEhX>Sm#d3~k_$Yk|{g}GI(;hG}57YBPOSLH18y5d;PjobBE(QK>dtQFN z@JEQuba&*+lxU)7;v&1Vw=0%KRctc0V(jkN?eQ_xcIn`yfODq)gGO&PC(yiDHu}RY zL!=$sS=C$b?r>iFQjBk|{@^9ex8jy488JQgR^nc0W;-doO zZbt}@c9PF1f#+BI^*Cu_`MEq9Kb`047=3uSrc;?)bg zKC_V~PS`PP{ZyGv+Prq%Gd))8cPDS0#m0>*orWS`OdJ316dZ4Y-#SC%Rff#4d15g( zSRpn~{6Q!f&xJR?AlxdYYb1nAgOlObcq{AeunKxaZmz|fXXrrEJ$Tl{_ga|mb`WP# zC_h9h_&?Z*aH{ivh?I<`AARNgnO3#w%PZ0e*w;BiA^{AXg?<&-pTyV_(>KSsy$ zQN~=g#KfP-y_4`9}pU_aMH9D*S`um88CnPqSN8Q z{b+a#8mdQbJzxuKokLlpqqg9_lj!M-{e~PmdX33<-=JM*Hlr+WK(n@EdZdoOe`d(= z=SLpN%wqDlS7vUM*@R&oM|FuWHr34BG_ZcvjxjaYwJfRze)(MfS?UBoPB3IRGL4Y8 zBzc`PJS>f=sSsCDTwDq%=}Nmz@jL&V7G!3+6K(h4JgXj(ZZqmDJs?CyYAvK^jf@63 z&&qU3Qi=3O?$}SrUf^>@3&>oT7|lTUWq8Op9~b#z5RossLCQQCF2zf5=>}!w^L`1+ zJV}DgLEOhHCM;_aKBC3oBF1~A#fo64BOgO-@1#%%`a0En<<>%6;fs!Q2_-Squ-oz# z8|GD2wxp$EDu>KWc{~vf$%87B(|FRY+$`+uhBdpxf+DZ)Sh-DIr8eu?cUDEpOzoS# zknF5sqw>q=Xxr0~HiNu!K|fK_%k~ZJ^QuPURz}&s(GQ*vI<4PZ$+~VjAj_W~=zrmJ zChuKOyY@#KzELT;ZBNN`vBGuzA0~fEXT1ClWr}=TU!3{|9r(7)F6;X*zpd}QO6AM6 z7ngpou@h1|^kzlmruTDU)gvJ^sR|bXLND^EbXuS!t`V-Wff>A-NV5d;`_mm3%n<}4 zD|w%A|8k-~&X6sV#HpPJq97^Zmq>Hrk4K_Xav2C_g)H*koBbdtgi;#xz}P zKNG$^*fDR~f}lK^2I%Kn_loP?eQ1D^$1b+&Hmz{{bO`$B_7csm9Xx6llQ&G)_k)6_ zHeDq(%umlC$kp#bHc2a`6BvhXeWW8cx|J3fI^^RVI!St6NX}ks~HDH}*aiaTXu7 zf!OkSRt{(}1NOJf6o_MY{t7qg>~>Q!%sj}KG&^U|)U@P@g4mAH*mXAhU48$h6Z*Y% z^F!vmGxHp6b=Dd-=k1v<=_MEFg<4A&P`Ye`Nov}$Z6FP15?iVw(aMz7bp5KQ2L%Q- z>am=??;^U3`u;bs={w$%<%_gW#=M&oCHW?u{@Q|1ixKe9=Z(>iN*$>(XIw$QjOvB; zpNVf6ky82TyvEJsIg~Xkc&dSfe)?KTlpI0>V5TOY{N*Jwup;lAEzVYUR-z=X;#7T4 zy1+hl%cx9OuZUqH?-husaL}?BWx}!Gy%JK3i((b3JQbpvo0ekg@qKyEkU|jGuEG81 z%~0!S=XF)p+BNf@kx!4=!`OyFMVQyVW=M9+4z;t|cLfY77`Yho1IWp6o}um^B?sy!!8Mu3vZDV(pi;&muY~ymNUc%ED2_0znBEi8*HOcNC&S?SO`&w|g z$nT33&jjMBpc*i;$;HT+-j&FnbDoW)0|tbcYGpO<5Vke==eQFVkskTQRNH zrBzlQrL7y#2^%okX7IEbxoh~?U^H97epJrG79Z>CGvP+`aFTF8b2y2e2OXzFB1M;! zlH250BK78YGx^{QBqA9dj<#eUqgj##@Uh}`WEg6dyf2_BF8WVS!fFV4n0yCHcGEzu zTsVz55n%S?GwmApHmMDAiYjgo-Zf+9O2xE!qO6=+Floc4#sv*~nL<}QBM+jieqMHV z??F?fiG`CIr_UKPhq37+bMhP38jSRMwDTim73}w96=2qJI1^a~XwXS6N?>jw)FPF} zK=Sg**6p4TeCrsFibE1D2~uEV5U_ z559^FTmS278db&usARmk^0Nu_Q3qb{em0aYklF~&0*;Oc!a@0I>`heR9}U`1>*r)O zqz$ucG-4lTV`^lBob0DC@ttGvs@|Gn%^F0!+#m^4(t{vRY(t}=BL5yKX(rX{1PxJL zPEahJ0U=?6{RYa&KM*xXmX2YV}&U1Y)(X!_IEp*N%Hz$nz*wf3U1T6_IOmQO4&6mdTN=_c&j`m)m&&60@$UW%j@~d93wk!6)N&nu)mHhBQ>!7FG zwl4|~3~2Rqr=l?Bb@}xzEuMc+gbXyS9}$Vt32MZB|} z+(qUVf43#ujCb}Th0ptraKoeJ;vFOkD$A7%qWS1^PL2kkO|@) zj2J%9r?Nlc9pLlUAivEn?|>LF!2P8C+XOY~KTlAzc_yfVULaU_jzC_1zDvX4Bro48 zrlz^P3he2S&cg~Pg@*R&-G71Qr1jzPBQJ-CUo7qw^Jm@6th%&b2F&C`qxKB!HGX{m zV#dbyp$FcU<+q+ceQa>o4YVPTZ8oUE4d*&&#eAT9GW2FR;$V|p*z^pWd_fJakGL@K zconq>kyD4^uAdp?C^yvv39_EKDZXGdCn!JdWpQWbC1OGfWEfXoV#8Ey^>o>ROy@WH z<9l)^>A6^E|EE}kSm&E9*pbJT=*fPxP~W9EHtSV4Ie(&)+54R9tB`kPCJzAD*A^>s z1iB`FVEhpjC>*e|B;qYpct5$bNGa7!vPhVPvJJ+t)XFC-Qai=;Nm_+Y(;v^KDxES& zUrg26`ak*t+KINO9meSzZ8uMM=#Fu;gO2=ti6j{Nl%rE!l)xn+73xDv1u53)-T6M`^C z<^l*uWV6Gcn95x|$ZJnS_(){5w|joV^i3CrD>QqOc4yYRbLMR<%?=9dc4t?S-VX_C zSK4kbDXX3&Rh5ICZCj1I=&WLkk~?g>cld50txlzv3MF~!euETGJ)}3)Uum34jgg(D z+0p{!x~I~xbzIiehDWGB=!(yP>#3PV%)^1{n4YYCkKhq>+^G8A3^muaMi^51>G`h@=6&LR0;F?W7H^8o%GTYYVbj# zA47P8=ORkuVF+&*2CIBY7e}POgG!5!^r#2_)s>JDA!a0V<)HG}?+~bI`AAlPqTsWY zC2nTJVEW+H%a(~}r|dc!8u(mDVBXpSDd^r2ZCu^qV+Sn@Hs!CYuPU`0)d>h{({b41 zDEXO%?+$0Ow!ZJfHu)phkFB@woXlEoY0U<7t21Kbq^If@_Uc>EX{0P|f+Zypt8q^) zM0~b7=A||wZ)mJ>6AnJiifqgxHaqIN=`{`lFV5pk_cT^?nb(;o3B{oWyYxpe@}z>V z2g5|cib=J-t`AIjL@r_+{{~3eUaD1ay;aZkRz18`?|MCqX#CQ1K<&PX?OHWgNq7ls z_-aKaV~+RAJ+CzdHiByaDX{1oKib7Q1IWGtwQ$*LSN*aYvE~4rh!}6C%0*LN$~~mt zUwbGhNWXC>B&1uThrfu`WWk*s&uGcr4}V)sefZRix4jp%0GA&4$pG_c^2`vE^0cw^HoR(&E}eoVRL0i!AsAj zvB-S#kfqm2Yz`BiCzxw~@&nGP6hA~!3&zttTJD-0Z+H77L4^5sNubT8f~1|tb3&tc zd^Pv{ZEM)lFXnF@BM<+j?)AZ1^P3yrEBLPV3#%_%!)F)GDv4LD`VDKIeyYVsMtm5AJ2$a7b2E+jeDOvB!@hJ#=U4}W;g z!ZtI8I^@R2Q~Zk2bds5tn}fdaBf}!{oEJq>YFr|pP0{ug{>{*c}l8~=4c9z1`=L=#h4Wt!&*%B64TH{9_adq#@aYvl`t^7du;#$@)*$R?VDk>`c0O4kj2gZeuJV z!))StpuPR_K;s}G{D-U_B>b=Z4ZjQ(xH+DXkjwMaJPEn}=^JH{%io@Ub`a7xI-eXq z@6^sC5zHTwl;5lnwpE`dEMZt+(jGs({;484f&Re5Jxz;C$a%IALM@SwU z{fP=*aH}T_%}1g>4W?OKO5c*{KZ_N_;!9=V{s+IT7sx#Ste3<@lPMK^Y_*Vh=Cz=( zHkuXjFQiU!iKmV$`|w7y&7T)WWv0^}4_bX7)p1StjdSk61mMTJ+bn%=WZz@=6ElNM zK`Sj(-bpRHXgamfR*YFO8F+`YELsYcS4Xf1AL<{rYd3EbaM;4QtKN}2BX*Tb>XSWM zOoOMme2+0ZY9JbAcI3Nth|m-sB$s2DSZJ46k17>jMO?sJ%)NzLZE?Vgep--Ma&f<+ zZ}z)pag~g5m5lXY&By^ok>z`@CXYEl^p{fuJPj8@KaFR2y15KR_~IZuKBk(uUOQwQ7TM||dSv<9V!;y0&b)FoN1p#XdC%q;Gpn9jo? zwp)U7Ys|v<)JjwuWg5MlMKrR|u^2TTV9VqU5@wi^U7wLQ?=x-VlsGe zLq5tlDrYlAwPK9wUVlYUG}pq4d%Y98$|J6MbkD$|*yxj%%Br>1@`VeFzTj^!k!|!g zdeHl}7*Pow&OPWDfu!Z}Ag%h-z=_dz&01NuwOY4y-juK4lh~|(i($GK_q)m4QX*$d4FGp4S%-ytO=KNLfBgOi*@kQeg8S>S;*5!`r?oIf zX2yE`eHKOj#GPKuVbd8S?w4gBVOyneRJjkoo;jG~VW)c)uYmYji zTgPEc9ow_h5a#SNc2xIjJx32mCOIX2(NkUEJ;16t1oLDxW)ksbu^NswS>(+IYcsxL zwAW@9r_Z4CBIyGD9wVFSU!M06zmQB~%pq}hv0`c)m8k72rtjZOpFS>~(q}~J)97Zr zN{wGgk@TvP04W%VAp(NFcqJcedv@$EjqP8AMK+)2xGiL>**D65RJ)&yWvlrdDXuU) zo(BZBv$8oH9gX|)VrZBYvQ&#tO%s^#8h9Sf;vFNUM2j&}3Zmy;?+^0k{bo*awucux zMXUjfz2M}M@TmBx%qXe1e~16z@DM63^au-9M^ZcGH%kHpA$~nUW_?n+uwlJz1L%X((nO$KFFX`5y*|E6IjJo zEhaCNq@+DCG-%$Rbo!DRG?d1&O8Y7^_SUO2mH-!r*)r)j@SJxZmPp~TK`;2GC2-*2 z(f_#YqgW}OE!)Jkba#w56*2#z0vYCqXODd>64E?cCIJ_H?jdLWi88)#1EvQ?XR43s$j&aXw_GjjzTm?V3|}z~petSD3YN z$~Bqe)8|K>>8GDk2HD2+Mb1H206*)%S;neGKB@wUM}UCKq$u#7|2k^uFM&>vO@#%e z1WWQ&8@)s;mYNX0$|)XSrOQ)EjqlN=V3R?kmB~mKbi(TMK<7z=FBgZH zO;(fLh(na@#v7N2G`4&|g1dGq`+&Ao7J}$sLJ(FvAK9Sm{#yv*oBthwpl|<=2m~{J z75I-5t1UKjwNXedPaD0X{}4qiSI5_;LP*Hl0&aC+m=sWol@@u&gXAzj2x<|%kc&B( zCKf!@KBUstO8SOSdU2oLsIFHj3mBC5KH4>lGAXZNZ!$@S5 z7Vesnh6EGUZD&5&Z3!a?tD9v?So`BT-}!L|7RUzLeY1qP1Jjpx&CL(21YHsAB4#`J zt?!fQTi_>6O6)OyN9>L<<<|K*um95Bx6;p-U8sd^-Na`37W`pbb;-Nn57pzLEnF*B znQF3B9vOt^xhWk+^E^7k8#4~M37z3Cz1gqy1p2^NT67Or9HD-tmznasb+07<_)2^0 zHv5%6W=iyyUQH>|)!f?4TX&dW>1C?ZTY5NpIFGokBX8Z2H=$d^T6f3LkIPJJz2#TY znY0lyZh3SarR<^e(6_kd~R*|sjg5O=HvA4#R#kl&CT0CKQ>7dH|QoB+<_~0?O6+Qv=?97V$wp8gi|}B4{Yrjrpatwg>axkX>ar z1Y*?|ztR&}BuWGG@aU$LD^nX#x@ufWD?FjbD&z?81Op8$xgqtYN`(1ATnqZBwMX&VMaEf&PrrE(f#+!Z`&fC(sM7?_yqiu)8KPmt4{D-Da+q zV9jgd!HzHwxZzO4S6UA8D?Nb@LTR)lI@6KiDTWS@8_rdN`wQf3UyGk|J z8}nJ!DAmF(8yX1NAZGZAR)M2&m$Fh=`+d|Z|UL2V3c-CYH#V# zo5&>=bcflfa+A8z1Tm-0uk-|p zw|I*{?LI7`MuBl&BQV~>i*av#9*N+pk5iqi?CL@RA8PZ^xvK>46Bm5L$vRh`po~un zh`BBTE__VT%{#tUc#UokhyQEo2^3R&cq^a*Y;L@WGNKi{Mzo^0w-rK1@m`McFDp31 z_4VNd0~${AsITfx5Ddt)T7*Umw0hq1HzX};(anSLrxpNBJjV%yrSb_!}IGx@4wyT3T;L&vvCp$c%!|1mqgQBKVMB#a zV$HF=V~b-i#wl@maa$_}RGd`tvx<)^?XL8B{G#~B38sXUgwGRxPpp|ZCGnl4MoEQ9 zr;@%(X2}J~qms`iUrD~5{HStdNt!=ew z)k>;8PFK>y(=*cBq>o6Sls+&0WcrQtKdM`*r&O;~{bKdcYc!~_sm7}r5gBtcF5};| z%zBxfGlyr+$=saj$b2pHdgk5Czq7)#lCtV#wa)6FH6d$x*50gBS=X|@&iXSuG&?>! zFS})Suk3Nz^Ru^RAI^R``@QU2*$;EnoVc9KoMt)Qaz^DW$k~{4B%(M{>e4x zCgs-7ZJpaYcMN)u_aGzW(fT>5eZ%YhL1N+U!SC{~5#WA8N@YOj;=~k#q7bQa}fi7uaz!id`^PN&U$P zxrnr(tBqAG12%gUsU_7nR-yb*Z2w@hW2=cx!8Q(C5w;!J8ev;ce7hK&EG0Y(OJKV?LhrvLg zF2AqzBa`G`#BmH@FOc_>H2E+&s94Al`4QQt-Y2ig-x(juC&)qhnDHZvF$}2=xrpOb z>1onlT58N;MOfRV3CWcQk$AZRX)X^Zt!3y|cAgaDo{Slb@$^2)q~92k(my1DpR1pc zN`NO`oe@(^bwiH%w#|P)3}QJUrKApCFuwWM}NMghLe-< z3ho3fADCJj^W_?(3h0d5nq+w>2TVJaeBOg7R& zI*vbR^Bkqp335wGA_w4s*+Mswqu7?v4aR16m6WjSWCJTP)?;Pd-T3=deX%iVjqwX$ zDFh94l&6rxXh(N>94W@V5$ulfJ+{Z#e&w{t=}LKuWO90V;s*KZ&`-#m1| zX`|c*n&5Qd*#u4Set*)&=>Rm~zj0jnZ{GgrG~mCX?|J`wHs1FJw}8N}rja^auYtBl zwe^YMOF~b$c+$PUMI^D51g)t^}y~p@6F5w!)BqBjauSut#wg;5wHS*(Bo;lkgU=TwE(A6qc|`v5apb z$Y?Uj0eGmG_)9DxK$dWi!y|sKiuoyH{Hy#Y3ZjJT%5#U`Y*E~NNjT3E^aEye1 zk+(UL$h0YrdBB4Voyar(W|H0HMRJ5(Bv;6Fa+mx<44O?lvn%W~b~7O|p+Z8XgrtOm zgr*6_2`?sDU_tR;C~DYE_Tasv2~4m?zgLc`TG|u1k~b#?p+leF?xf) z@W1~KVHwoJqFqPH9E>Q=Ah+%;IY-Wu3z#i2kGzcbULvoMSCOT@04vE|CaWsft|Sm2mn@pz!r zw@(cRt)7t3Y*V*-o&KMT$g4R^sp;oKm z2yoTVxx1rbtb_Dex|G+~xqEV=WA@Ueu}jec&-JD9*JmjC*BcG}ZvX?$&d}K%P!$fz ziLv}fa$<5KAneh!h9j_g>(1Sq0mMXr7*yR+xmgWIaCJut4k6W#r_sd;OFMUesUfI# zz?lHDxJ&n!NM-3>QIA+hGJs83e8vpCx$p5-hE{hpTzn>h^z42-g*1(QiKIyPn&N&) zx&s*wn8eT0DO}swpAIj`N{Ka-fOK-2K3z8>F%qYzS@)-FR}p7YrzSO1Z2X?wr)|CT z7=EVYRZofu=V$8J-pzAj`I%|Wq-P6~`B}isAsy;e;Aeqdn&qY1`B~7!ey#H=^0VN1 z1KYXEh1}4V4yecPg+@k%V%kvtcwb^`E z6iFv&;c>V(CXV7yMpnaL`Irp~oebI?h}`y`pyYnAduw7&xuPg5Hvzp~K{jj;He9uLHOEu z+#ioSZBSPe_!`<_WYr8_CKn7GE5yKG4mF1JzoYqtACI~PAil_Rekq=FO!6Ot<(Yyg zFhy;Bu%Ci|5+v0eoX^8Q3OTe8`z82CG1}#lkjq;JS#}HOysjYNvzW+Do44sgDh!x1 zZX`(^GH%cak~6Zfcr@yk`G@djUeHq}wFpdj`4bi{Wb!=C#y@Bm2wm0$a zTiD*lb`9G**gnAaA-0dOeT?lBY@gzLH?Vz%?Q?85@!eb46tw6g{AI~+NL}MTsc+mO zuVRyN*MYk~;Z7;;l!7`lfcZMuUdDD2+a+wTV2i*rGy2Vpw%$Wq@1d>t_)3ImCvV$5 zP^lSoY6hj6L91rKd=D_+1I+gT^F6?P5155jhdxk{nbZM`z)weMimUdZj$WiM-Va9o z_fh|S)PEoK-$(uTQU86^cOUiLM}7BE-+k0~A24;s{sU|uV*3c&$Jjo>hQIxY{CNwu z4cIng<88Z-w%teD?xSt@(YE_&+kMEUHY5QsBmkxa)Hs_wW2{E4vr+48)H)lr&PJ`X z2~#?7_?0WB0AzngLt?#a{9*iJEH)k*=Zsm#A0)&$WITr!{y%=;6a0*O2KUSTKYqs7 zu0rTVi-^1Zk9XYl|6qVZj311xJaYTrexCaOYni*Qr+jS>5(!={_Y-%^-#G(l@iTTn z0+@|GSSQ7d<8jK`&vEA~<2!Nvqj&GIY54oRz3!6yIj-&-Uqi+b<02>^!ngss zXaSW!2lci|3DTHV*xhcny*}g{gNxOTzA zdzt@2T?f})*SY)7Z~SOn@W1!J&pCGge?M1AA7vWid%k!7?b?O?-+d+iKWE0~|4%7i z#`Qg8vZp+c#{2*N9Yf-2_`kyWe~q2ZF9Sgs#;4mQY-!qURkV?aAViS(h>DM!uOJbM z5L`v#4-s(@kvO_>;=tK~IJ&qv_+$9J&uUZUV4vvL&g{&*&unL&_sw)lNf-Q8p2A9c zsQf8LrJ6(iRqhWyCqI*a=eP8~uPUXc-BD?^)T%GsG&jh&^vie3GGnBm}CT_uk_Fx$P#6ErzOT< zj{8Q%pf3iQYeCXRB(WIsz8f@&M-Lyi|C_s3F=hOZab+B2>DwY~8ejbOH3-C4z4&St zUx_NdTHtAs+Lk~{9A(5&ojA(44UlqMAjiG|+w_n<7krNzq{UZEd^O5*@!To!@L2FI z-I*hzD+YZrm=uG)7)-ir5Td|uvCDXjxbwtaT-+tZT?@>;Qkt=r5o>kCWIkv~q{Acs zB;bi!a4~s54cHtjZLD=re%S|#&Uj=;hX?3ty;=;c91%3H%A*e~HfALfnxw?&?7J({ RR;p6MN{V@9tNe#1{sOTsz$*X% literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-italic.woff b/documentation/fonts/roboto-v15-latin-italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..a2b770481888875242d97551db61ceab992b14b8 GIT binary patch literal 19880 zcmYhBV{j%-!-enIwz;uwZtP@Z+qO5hZQC|Cwr$(ym*@TUP0i`4bJgjdo~o(ouAX+4 z6BPvj0e%jdQULOQSAVY`|3C7d`~Qd7ZxK-d04VW?3H(SJi~;mcOkPguhb;gAVB-J) z9Q@SNfrOZnvJe0Ok^7U;`cY^iS+=5_5F5S0RUnGKN-UxoqT^kZJQbE8~w1tAJ6umUi>NmW5DYt zPmu6GfxrW6+UQ#w|1gFhpY@X?L-D7>u(Ne^`e8Fa4DG+%w?4qg&cXP;%*xi!)Tw&!jCjUEx`JxHpG|>C2fS9kk(IQ!W_~z zVaQma{!e46E{*m#iZG46l_^BDxTlV_3wJ4746RTV+@P?m7fU@*VZY_AMozI8*dem1 z;27(YwPQ)9iLn}i%HKVqJ?C*^Na$&p;rtaw97uM-t+f$*Ivz*^C2&RS9e!e~Lm znxKX;{VKA<8s+77(9^o0PwhRb;@++tci9I;w5Y~ooaptbs8=)4X8B`*2V-{T*(30w z6_2xZmJ32*8*P3PZDERa-|Qk;`KM9|Ud%q2;vL!bJ;}0mZ`VclAmwem>?yg|nCsg4 z%f?=kw*;y#(hd&3ab0J`HvTWd8a0${MTU+Sb82lWL9&HoM( zT+&_VSF@QUkHy9@v8eZrI%#ILrHs>PQqbxZRZcG~)JZIjv#jFG!s67z65P5{2sMo} ztd={tNh7CegXyjLbyw}X>+opMYv#fvhGH#Wmt+-W&DK-k$EDbn&n9|svC1&|%Gp4eUJ|mL8jBiP1Y!Jp5-jja+ssV) zdiFq@%Z-W!#)0FN(#46lD&0osKQ@RSN`O^55BY5U=%~83&_Elt|W7>dECjXihj||NE?5qPc zgt)*8Ar0ja-9_QQz27oRAXD0&0Fhf~r%TUi_nKyFUj^%qEa`$ZOu?TI31`~XMd|C{ zi=jwHs30tf2`LICQxcuVgg*YJ8X>PbO_y4qg-3(RTZ004ZCVwqQ3&iV;V|Zy#1>=v z^oL$k%8aNG+3V6(cM~_5$254sCp$ za{KEvt?l3yZZiH>F9#(O2Is(9;|jF63eOz1mL{(xcGU0@1}+b&}6UBu5+ZK_jU5HSOHf$jIbXR;Dpiy;OpfEdM zBH{*+Abw--^7Bt&86pxb613?>BISERq$x{f4%51lqh_ela|v-x z%X)OZKp8K>t^EvQZb05KAXXa+xWoLuMzdDehxxRbXyh1<%?6g5*34`*3Y)o0>Ob#N zl*Rd@#q;n9wE!5)4iom+&@vjy4X)pm@(!$i>Ie}Aj7>R~0c;tM;#QeWlguSz%AkzB zD&~NtKI-@H=-vFpT0fLjagr3CO1Dz|RC|J}OZ2PwRyvz^yPBsRR8DFLj$fA!3Tpz< ze=k5@mAiFrt5K^_9|9jipFtmAo#5O#KAj2NV7-nH#z-SBqO{z9#|uIg zB`U~*CH+QlOEg-bl&5zb!HAmZn_ z0aQO@{a-*hzzwhfFapQ|Gyow0J%9>;1(*lW2^jcEpnmBAP=Pak<_JUp7*H+%Drgh{ z5v&$~3XTat11bg}f%gL7|7*$(NIMz~9z_r}*tAqr2(@hTPh1)c-2hd`VBVH{t7as~ zj_f7Pw`j{Oeo08L%1zwy^*BQD6bUN>{4tKh>+`dls*_?|20KeDa=(w2-}W3wZm*np zR4B6d@3YUivUs)7!BtO~S&SH)ZQ(|Iw;Fq2L0TX-wisS+Mr7-;Z}@AJthvy)RI|V8 zu@G*^0APYd4P91)vrd6RMh4*kRTX^eh&x4SoDRRfsWBubvj>GNUoZ4rfZDydMe%^BlE(A z*Sb31uy~d^XjV;<0{Lex6;7Ei37R33brS`bWtn<8lm_FbkuSbQ^* z%0~V+e{DwDEcI8~3b7~jQ-YqMu%D?b5C9ke2>|~71|YZrRdzyXp$=nkd=+0@p|x^f z?Oese15-g$jZwN7vM;ISgQIz3cwTos(3Q%F$iI*>HA}wM1wcNW;`L`>EYF~UKS|AUPvh4v4{6Ch8{&yUZ}E8_>yU{=vZ+ZLcKS+ zWEB>Mk|O)bgAz-W@<|dedPUtzajwOziJ(6HB1;dhohEnx=A)qO=5$*NfaKX+CV1A3 zeg_F29{Y~)K_jUZU|uw9x>d!&y7&e)=Qs~^6h|9PyfvB&VeENQi1U9Xp{Q`dOWYd~ z<>bu9HT_daQjKhAl4SAWb;LD$|2)aL%rXFQR2M9iA0VYU>6X=7S z-T9?X#fHS#N>ihF_KU41FR?3y0zM_8kVDIC5M{re?mLX2(0)xY@QcAlZ}M8ScLwh- zpB_n=AE??f1YcwyjtWp`l(SVO3T`s(Oj$pd@=NVr|BIT5=YIVLRcttshj|%$^ke}? zx>VN@%_3r_S+hHB(T5rRBevC+xP3~)0t{P?W@gwiiMakuiCg`uZahhb(LMh!k&n6p z60n|^=cPx@tM>8Z?^DsIOB@%Tm2UfCsVli--;*!n@gWai`WKwbh2Xp_>X}?+vmCbA z@2a_{%9-F@R2E2pV94ECV_hc>lU`-Id;>a8Faek-8=K)^X@WX=8UiXg4#+*O%2*7W z&mX*#-O^f_DEOy%>#aaVAL)Iurni68Rz{rW=BMWPZ0FflgQtHK9n@4+jL41g)KwBu zIY~!Z#+L0H20!}J9-;dc>17W+V=^n%jYTA>IG%O|Om?h2G}nFs2C3a-G_w>ByXK~#1qf}9mWjaN9J zsMIY$y+a{u%dYh32alp?ABRlp2rR00PSr9rVuJNTiTw46v-14%!XTwN6IL zl-7dFUOw$oVm?jhwwEWN%>sliA2{uiyKLx+dGJ=M`{yQ(okQ!LONu^~+T{f-yi#G& z5zbnf7swTM^-2{u6*s}8D#uYx9>lg*UzRSu`%ml&Z0z4EXc^cc_>!4{t$$+`8-yTd z`w+g3Bw6BH3GnKpAVrUpFdflvxXZ?{@O2R0wX|Vb(G`{EHUv8)u1-(B+flcGF@Ssuu5%lK5wp zC>1|N+)iJ7bD!q+Fry(hg=vR*^}l%Ttq0l57c)d`D7P?xgdDHLGt-4z7+Y4NEjQ^pTBM8I*xz%i(9}hhwS2O$r~CYeNRBKi!Lv3$5N{D4UPDXH)4v1?^$v2Q zt^L}#rGi1dV5(l7BQT=DgWL^btp_qn3D{8yt(!g5nK4jnjpe=SwFS_|d|^f?{;Eac znjF#L54SeB?f&81zc8J_G)a654j+rXGs1I0nF&!OWWy?)D9XwmoA#UO*5lm=Gr#vi ztp*1L2!U5N$|?Rx)=wAcHZ5R2Fv_kBT~|*(*r0ZTfQzey%|6KMNWm%~AEU+k$1q1( z^qD_8z%Q9cXCPRuJy<+ zH#-x8L5EpeXJKvB=6%~K6iNBmq#Hpa-roLZ zvTc6cq*!k>WSCC8*Qo`#Yf zPBT#@&#T)JAX1bT57|Lp;v86y_qb%WFJ;m=rMWiYd)<&!&|++Xd~<&FZu#t z*)Gpe90y{?fR$`F{;wp+@Xf3$qF2E3_Uu`UYOy^vob&KrW1W!z|ksm zosRv@r6~4T=zwN8hLFf=1w47xA%c*^K$sMJF3b0J+|sf_TC+;9jT#tQ24$?YCNxm| zL5&MY$tvDDQSS{3_C&i^6-aM2R=p3jF+;jni?f6_OX6zAvG&f!@p!X2$cc?Jf_{_q%gt%N+DP4~bC#I1c#zBuF?4#u-IxVbQB8!8&#FpD+rn3vsSoZNWpl*V$QwCRFZ zG#6zpbF?%?Pagtnf`D6SO$c|<1ESaqe?CH58zfH8u6lfUc-YanZU)!EoVCfEB`w6X z(hsmAiX^`R1*P5LY7^-A3p<6_ZmgP?f2Wxf@6RJH2wk0XAXOoBSHAb!EoHVO%5o1k zb!di1NzU%~7r3mKBMIvdaEBlb6cex@rAp)lpG-+M_ zKVDA1bF9~tkKhEO>X~pzGGQ<^%%cvp=VWgLsMU&_tu})}R^!i!Z;DObElp2pes`e> zS-@<|r<$cwP6t(i@Z)M(XK4Idk!mR$?ZZ#dZ0plWm9h479@1{7IS9zw?G-toNTWm- zgEtAyOC50;LX$2lDO4VOoWJNDfM^mEF~F)@PuGX&fT4bH%BkBOUzVYRWVZe`+AaSj zC9U{XY|y}Tc5c|xRMZoMHRS#DP-kkO;_WQb(SdR;!f1Bzh!JZ!pTFKcHJ3Q+9%d%N zJ6(R9Kw_UGOAbl5)kWaU88FJQy-sVGjD+T)z(}C$;vBRNc%W>a;-*c{_F$jJuCq_p&EsOPR)(->AEXz5I4a~ zGu#lbi>=N3$W0%Rn1T$%+R}PJsUIrob_i&N&l@oHR-N@V$z5GDIEp?Guh=0G$VCEd z4tL|j%Zlr%_;WK-=F0q&dYyf$;S**Dw|7+u^{b|mt+O&A)q`P_eN^#m7A`;k0}M?V zgg9#3RHV`v<#qDn%h$Bxi<4+;1pFOw{we=>h*6nruhirk=e%WZ`LfcshBq2fo#So! zXD#TK-Zv`d)kg%!R8CvkH7^K7EGiC>FjdPZYeq*NV61YunIkC$bnlOt)-TZbN8uOO%W?uJQ^dy%Y zP#TjHUVS;yKEv|CQ-fan2F&mCiNJGt0%fSjg((b43HZHom~32|d4|C0KS)$|X%-d* zjqLd~yzg|9HE9OT9_-9C6>HS=jmtVS$>L8C6^Kk5UA214=FopZolG&EOio}0p}hx| zSe4QOte3)UE#}p`*%otAjsmgb`%|Tfi@G>RfaZNoBcA9a%V{)u=YmdifM_S{L>u zz*&nr??)Hy&!*T(PlFWw?`!l(7?bD6NiXG`Bl9@hX`5;th!MMIH@B%1-{$WujcCg2 zGAHcUl^fD%mr|D{i!nVPK*>Y-%^e_WiN#@U7q1A8<_35P*;5Y<6I{e|y)zxlp=9Oi zqKOzxeFl@`aTzkH%z;xhX?vC&MFXl#=(;$bX)?!v(R0lRa$x@_047w9&_+*etD7!c zeu`JhN*APbrn+x~2n{?EBYbg>8s769(#p z#}JV_!N=o~tyR_Y+=Fu}Ul-xuifUlhgzr8oRW-3PX&=FL1xTC;+J_?~yj=Q7|Fl|U zmwskDBv^L~;coQgUlTRl4hL)w^zNxV$~siGNeJVE^^7q!5}?EiY(kVAw_W(KF%7qy z-*0buDck)J)n;|DX;C-h-J`}ipeD(7bV<2uJ+}~nbNI*IRtLSF2IKJWbQnw~Fr5;7 z^j?*eglV-Djb#ed#ETH-Xqo~*wEjMm3nC^oCRoNET9aulHk2~%N! zvK)0!a3P!&W#SaPNXcySg%D+uQgX}F2)kktMmRkw8sboU&Ppf|l6cR!TL(g}e7-CL zwcmHTpLi^q_KP6b=U&&4GS556+-K#Mx8B?lBKRlQ1d;SGb#3BH)ml^x-J&0BrVXrh zu>Vet0qXhsUzX(k#*GCQDueMn-mm=Xz==Z~oYi zhCvfoV|^N0{yS~?yUt}0Ln#S)Unfz^zxeWehQ?!*o|z8*SK-c(R-+TjPz1Tn=^uW3 zea;Ck?$BI`<>R~{?h_#aJ5&KC=m=h=8uCXal65B&QFFklmi2co>)XfNu||Q~nnwNi zXMxc+$X`8<1cI=OE*G;(4ZOJTNI~xN6@t1N8ZLB{p|asPJjhed!hwQOjZxL}Ei7dF zhgA|JYE@fb>Z8&FTB&cL4!P0F@5)~UNkvy2GKb9Xp)(i|K!skrjuyH81~cz)&Y6#; zNKv7>p%Gx>Y&PK?o#zdBOEz7Rh`gWd%W050pz<1_aZj^Qs9kPLZCwGWdb&{cZ8OAy z^YK*g8FsUFXro?5@F^kx1n1CPMntD)RZcFpB#KSU?(VxShmYs5H7@s2rVEa{$VWbz zIJ^QjzB;I@SdH!i=s7YEuYtv}gvMi*NC+XLe5iyTdkAn6E$#OeSD-`kFe#KS{FJB< z@a`C2)zh+w2^~kGn0S8UNg{nW+{!v#WM6}O?BU7Gb8Y;KF&`{4LaIKLdNkIHxd#8j z-u?@aSu&2r&W*;OBjn){59kfMwy&GuW5fJ>NV8SkD)L(^TE2aMDX7ouzP5v_PZaa$ z2FbOBo?L_eYKcRka;Jc_FI@RU={83}xmSR1qU$D)Y}x&5vd%qf=*G_rSDIO-k(ID>8Cw)Hp)bAO}mbna&Z z!bRS+Mc507t~2<$|6SYw6ads9m+3qR6CSqVMR0WvlgSb1->;2Af<0IX5Mat)VR)6m zJN#hbxXJ4TZqq?1Ovn3pMwltJ=OLU2;Y4uE`tj?yj7A(%A@B+LvXL7-lpPuP6Eb#? zzDX_f?;~Odsm!6te0?_mWxO*2c|4Pr8CR~DI(7QTgt;@%kFDJDRXT6b2#R_s3FkWs zFDBRIJ>noM&ibp$zQFvRc3cx|2147cs+HE8$GTz3N;%0D|EBaVS5|Rd`%aFD6>_@f zUCHoi8qQmuvm}0?eW0w_zcQN)-mibJb;#vp2P`%^=6z>U`(hBlV4+|!(qZ*N+%WTp z$Vh|L2!<+igMIg@|5WMsJ2RZ6Bkw+f>7LV=O7XokmRJJg>Ay z%qeL+3MbNif+03ieg|(9ZLY$){vo1NCvbK;k8CAa*Aqj=4gd8H{{Ms^4zI z8!VQS&Y0jj(fP7@wm*+o6{GEVC=_w1>}h#RTaMWcd$pu%3zbePgSkxvGFzGb0~rmgMuwle||^N(Rw88Og^~GWrV{YIrZWj{@ANUX;ik6`-`Uq$%YQ zlt0FzH33m|^ZEPqs6djU;XNx(%f!uy5kG|n{lLrU4kgY~>KOGfhGNc#{~%SjURhb3 z5sNwB&ZK6@Q)Tq(W-avO#6rC9o9Y@ z25GPOVs>g_1V3nTpLSZG0URL(Xy3G0Vj#VL^s*fuZU+_g4wfxP=6BV+MqSE--?M|}v_BOt3;Sxx5;IRF4vcbH%IXJ%)b2_?BgP)VK?Wp_U?@iN=r%}th8EB9YAF{0tz_;t21wRo+f*Y zcnY6i;1X?gdF>c~{nO3dqHxeADuS4y&oF)?pO1|N2y`PV)^>#hH<$BDVW`exnI}yU zTOAe*B;hg=PYEi1K;eep=*y|SUp&b~mx;_9Q5xLuo=Qce#*z$nQ26YtAMLd2lnhx2 zE!H!oO)H@T-u$ZsAOnT*X8z?zBpJm0(Sx3>(@*TjqoQ$N@Sk^Z=;ly$pvwx9$9}Yp zbTp^a2*O#MvXFLsX9v^5FKZIKuDcHO!@&;W_;Nzdne;I83MtxdmsF=qw@7eGZqKAU zs;M5{y*aKPBW`SXj2aP^I%{bxGNCJVUKCCoq;O25t9TmQV)p$xd;5;+ty?pdhNGibKlxhs$@v#h7wNfufi z*k{*6sI;CcvD|iJ`R1Ms_s|x8J~po~rod7D3vRL6E%SFE^OHjOm#%JS_Uhn8?gjl6 zky0G&UqXBV{9lcWEQ?qRDjs#WrKwKmO2FTO1OpASooY%0DBtP*gV?bR+Xd=HFXCog`pD(Kw z-=45^g}n-Nh8+Bl;hq=!mWSnro#a;8Sum*FqN0}I*Q+R(8Eypn%8?&gIRd}-a37Q5NxzP-q8&iPs z>a|}0b&XRKp=P^PQuLebtc8vU5!i1*roy|u-C^8SuGBpaH;wCD;Mi<_&6|cBq%$^N zKOw0Ept3ohoTX?rGV5HgpKU00C+|J_+Hi*Vv%S)>Sh6Ph@$Q@@mZVRr$&6;*^SnLz zvBf4rZ4CXhOM0u~98*#kFdYM{0?W#6;YU7!R0RePlp^mjBw#(ktZ+;G+b(mv;Au7+ z_Z~;Bo1@J{+5Y0sQUs!tJG*P%I@i>ZZsIShM@afp1KutJegzmt232i=MV;`Pb;9EPir$#PI zA++oGz{b%qJ# zvbE>w(CRM7y_qU)NFR5MGj{k0tAgP%-`~ znd3Nj+IAiYVo5YyE&p&}(4nnWXWsD4{vlEe)L8oa!;=&;#7ZaGJ2ed+HWTTUR_a+* zrlO;@?Q<`Xat`i{=G9xe=5*bVK)RFR138|A-|$zr7};ltC7H5>XUe)oA9(aj5rco~ z=A4WmKoP%_{I@fo=c;L=M@5uKiFvoqf)vIhB%@<=exJTi?@4thvsyNu%N~G`-u1Bx zFu?!)5ODln4JqDde&>#1Hud^$93L zx14NOFaOQs>b@&^kO0#|mz29>CvyxXkFgVQ(>l^zIF3JB`I9@j!E$IM#o|i>9RI$9 zU8ea&Hc9&)T4=93D+M@E1<%6Do(U-0U-G@rNGp}^$$vHd#taDke!(j8E_W6UPMNk~ zw=JMPw1e}UmE1P%?l5a$1799M2cIUYVtvi-GYm4J3WY9<75CG5f_i{CU$D3*Mxud@ zulZh2UAO8#FmZGQ(6(M>bUa)xxHMPlI9jx{I$?>#o*`VU>4J(_C7DeFHJC#Wk0Jm9 z^Gf5tCq8|9eS;x}5_vHu^Sx^Z zIK*>p{5As~LXv8ddGzJ7Z;*{T42CPd?*1(Yn>8o;etCTU$z4^IX5VAozxDQ)P~x55 zR}eibTVVNiRT;T6+=eoFF72>K__z$bmz+ zJq0H`8!#D9hQ5t4chGv@ulj+a(H16TWSvYz*&Uj6@#;9dOWVPIhv<$)MIkM=Qg`?aX>IhU#?IVypJ}AuC*mHGOp&Td`b) z37*(m*l91VG_(T&iJ0Q(ysbj~^X~-ve}I(ld~30Ha|{JBRWwZ3bM#+CV2+XbB6YYa zCZQ>#ix?Hr4I$CIA+pEtRs;8a={qP0-6`!xtVJ@Gi#CCAwSpZf8Kd5maPfH^<&ZcC z50;L+@A0v?yxA=!p=c?aLrVt}QGH5+h7!Nn6>_ztFyZ|?s!LIA(86AD-pG0wj(#s_ zzB5JC7hBf`E@s->YgFZHM6mHH#rAxrgT;-)+!lH@J~(`^Zx5$bV#Q3@(ucL*yYE?Q ziqaN4aC)g5S`!`jzXP0t9;irr%~**UCHSMq7=>A<=%6+$9eJd<9!(GjT}%|*Fs7JZ zKIB%^n@gsKl9T=n)zGmq?8cP7$=5U}kW-!rSsf(2G_}^3whogG3|>U6W+6sps>bNB zYAJ%l;kC>shdLPCw7R;&k_UCzKd#%Nzv+By7u#kD7MLh{*!6+1vB5sw)fBQmV1x!} zNKY9Xnb?anQ61XV>ECW#LhjDW!dD^7TmDh>J(X+^kqZft;NG>fvnTqCmg0W^U7)pc z!1Q`I=U78SkK4h%b#TILFqR%>8X={UiSNtAII(4YQ|N5$T8Z}*op#p;o>BCf&8Wn$ z#cxAddb9`KQU@J@0suUGqjw$Y0=&cnwyQrJlEPT-`@TswZQumyKe8Zd(9Dk zaw%Jw)|4PUKaa1peFOnB;0#9E{z4OlOcF*9lXF&N0 zt}WWv)V8%s{lw=Kd%@3yA*_QV;I#MyP61jM-VuHru8b>e3@!aPVmY!!WO>@CL0`PN zQbPc_VLkKfsBd*!Vp4dewOlN0xr626zc01nqKW~h*##$?j(T0<0qKm@Z7h77S-$s& zCErOAhlU_IzPeXR!xgj3j_U8I#!g<2jasL*N>+A$1a4C`9?w}_)Exo3>v7%rY8BNc1uo_01@ z>Omz@7o2qx{dz@u%k@~Y#SW3>^@Z+SaJ`q*FY$I}{%9;MLIO>D3D1L+LQwF!jXHwD^L!N+ z4D>g1&IB1<6R=kgwP6x;Bz#7=Krj<=;6C?q%6XFfBlY86BW8Po8i`a3B()UN=l~Rn z->IAbl2;n{NOR5`XOL$@e&q`0k#>Bj)Et1OG?er5!nyTV#T#N!Hit)=bIG+ARncO! zSgn{cifqwnbx7%uw_I`S>EQNDrl?F8zF2S~d0!!)Iq}V@!%yojO`$(K`h>mpwqIgDZCt;Kr84ZID$dr6e_4s$3Plewgq{th_ec?R!C z{*>0teuBon!ycqJ57F_ES$D*nO_ArP`_vgQl`v(?u#bfYc|;cawV3Ji8(gtAD)8C8 zb!aq|$c$qpN>*QPrC|d%?v`|+ClfWCIhi(oqAUw6AGkZm$&Vi?OtNZxpp#}#Ug=Z` zMNGD2ZjfX@3Y3}`=b`zE%@bo%!(c3LBv<=vg`Vwt6bYOXLicpWQst{~ReGkQ1MyFZ zpZf)mbj!pNJR@}ass*0;)#ymzox=&p`iO=D`kdbJHa0~q%3-qQUp=67Q5~`{LP0bn zTC{YX9K+Eabf(A&s;RrGFp^US_0+2cH1=qOq3_y}GRhlEXz2fcBm zYXeoP?*q+du1!l4n)%+%I7JGw@FB6xe?_(+RYrDM`*LQnVXaFh;vae^<1_M^-K@U) z&Dw@()86=r!)KBdqDGSlQB}J$6EQQHTTx_MfAyxteY=ZrR57}@%6`k|Z&wj+r+w$D z8)eCw+^@6OpN+3{OaftzH7JqBxB>oNatuU zJYX=9w^dE_;vx#(uk0&=?CDU;>srBxqY;_2gNMXJ@J9!a`TPB6!%kzfKAWMx|IQn) z*K%D_vi}mH{Y{*IhXto@oQ2^0JWTuk^L_@05H(U7FLETgLNh4NA*YKm9^-~E=4$z_ zfoqjl75TFb8aGw`DLca`R%g9Y&}^FR&kLa!H=!H!b-!y7^^X74+n<_TP3m}sQke5_ zVr{>}Obf`l>{V!DE6Qr9fr7C|bd}7&oG0zb-vJOIl#iAz7Z$7Le5}52RHL<3uTo~{ zTdY`%C$o7j@IrVQ`IMRr+1yr3nHO-q%U^DAU$Rtw<=UM=!_f68d`*sL`Nixjrt1IgoSn z3fEJ#_o!{=oBpkvM_rCb)k%q$N@af&mi zu)T_7xg@cP@*V6>H=#axTfA}6Cloblw|@-ecM-ft*LDz}YJQ4NaaP5(GlZo^C*)zfhre4Na#%oQz% zw4o5kKrG72JG-uYKq%LN+5e<@i12&brK>k<>B3a@t);p8aFQEO=90^qvKAW-Z_Sy$ zR-Ar5#kG;wD`4(ia~-#18QXvKLIqfPFxzW#vV#{$C(2%hbL}I{wvK5b0fR@x5>WM3 zy`8`Zm^V48cltKD9U+E+3qa!rg1D&;GKXEH{l10WxpQqydvRS8S*T)swT4k=Z2c}1 zi2Aq&W;GS@OQ#u|1rB{Q)JUx4Y}LlSq1tiLmy4XpLC62u<}ri(&N*CTD$8fuq?5Km z|Mo1Z-h`7klr|yF$L8`K>ytnRmmYZ=_;oU3nb_^|@^Pxq+md_4)4bY<&Yp==uRsGX zUmWq_!z~Sy_vlM2Ax~n&m>gR9t!|N@o|n(|i^dJ+q%lQ1Sm3sk1gZ$~@Yk1oyfB}x z3+ecC(bEq8rEGTeEu2Mg#?XsR;~+V~K!GEOLU*(3oy~H&?fvK9;{6uRWz_(7%Hn`N zSU8U5iXjGM3ModcAWpfkICgP2{FP@Q#(-&<^jl~x>q5yqYRQK3i)y#z(fO^p=*&H-xO^|T5cyc~t zxDBsKXAXDSbiRJs^!kGmXL=8n+w)Gq`mki8hc3dxx2r!}h~;-n zh#!-}p@QC;ab4w4_OWHHd9@FCiYi%QcK`@g=!DkNq*A#z#UQ=q8|{u4#63Zu^B%pU zUZ%2p(;nX1sw@-GiV4b`l#nfrEe!MQ2^X-$9PFkYio@F&l?F)4gjUKUEXL81^yg>~ zH_7v;P{pHhoOEiWfs&qai%hSU=w#MC|7pEFWiXr?(lTgwRm@s3TL{dnmNF7G$%@^z=s=5dTqF|i;Gs=&k?N}i`#r~EBHO~NfpH2(X4-G2-=#^E29ycQ@{|ed zJYUkes>~b>W+e8pKAcF++8ARPU)<*{$i0N?_lh@d)X)tW$s4*$X-_>(`Q%nIR*eiluE~WIU6f}rAKR$t zAP)`l@nfgJ?I`Q}RGtori9AnxieUyugV(Sj>U39^gGI$r!7>Iz)n4+`-6?V84V+%#r_3^(E4mLa{ZUi+@i94!Yg{?8&xMmChNek! z&F!(z_CDrwT?e&ej0tMlSll&QYndLBwQDIzk!YOrYx)u=uiNNJ!=tBi)fK(h{yM&C zt*~wvtHoc$-d;)bdej`E%%{e?+A+bR{c|G8u^vIpyFeY6k;pH7MtxYGgA%SgVtVA+ z9-R2T=}4nxFCw(YoDv7Y*VzmY>2Mb9WO{dS7XCS%e|dlkYACHQ0z!H+>{hUorwdt6 zz`#|JjqKcY8dLJF@ZdxVrV|M=ZxE)%MjrA2)g51=H#{j|^!GoLFsNkMV6sp(Xmbw@J+7F2om!qRCfZ)YXzh3uH_I1ne`vvRX%LNYGU9*&T$7_ zdgfY8gH-B-4teRcxY97vALA1XDa<2d@La@u5ojsGOhXD8_|WZL+znPcS~P6GIryol zK_1(-ck$+CbgyvEsg1yT5uSLv@2VIuZQnt}Y94_yzrAE3m8t;~Sm7f*^OU&QmRw={}APAC^`qe4b;lQ z3QNpXP@sk%9Bj-Buxx=(phCiLm5tl9ykAE?ZDXOdXCSGfHU)Hf@Epmj!!ghjDq6S& zm+aL4bukM*hr$Y7$sv6J&gR~4gMD1WwGDv`xwa3mN@uzmcq6N-mP_|;JG#|PNqlHz z?58nXOeGZ02DKjz+UTugNS{dN%F@Z28o=dB&mnuNP0Z{^Lo{Q)FU>j55%IG_hx z1p0+|S|G?S5jX=UyMYP{dTM`*7*SJeOx@~1;q)|IG3RzERtBY$JJu2PbJafv?-!d9 zP%q?c!%OaljN5=Bm?aE(mn3Z7ltu+npl(`n)%fxp4q6CuW8hI4E#B<*0pG~)mvU8%6ev_jjHuH@}i|N2LeaAb4deOzO(<0?t}T?i;F8kngrb1}im30BDIB z9?dAcd@oi$@SgA!w|!WsCHxwHA>oksl#a5ClUkRPd0)xLDcV99UxFY{)if!bmFO{~ zmFV-o*fN`xvr@?{Jhmz=mVHNo!}X?`9ZiZi-`a#M7Pt6y9V409?z2{(#ZteVn>y5a zu0qNHZa6lqmuL38;NEH5JXz#lAlyBikvZFuXCNu>8BHzrs2@{PYHb)}#qT>!&8|1&ZGVn8NB>^{1r7T0J2xNS{WBoghof*! z@;YB3s3r?{7z$^NDb!iR2}}_bR)4=drB}C+Sf0?g`*7^*KVj^XHTsSl)stg&0Gp{E zqzGiNalTNoB0b!T(UBtZX3grH&oSz^9mi^O(4t7Rgg=L2JNhH=oLHeNLKYM8oWkp* zk@It`9omlCogqcqoG5J;+Rh$D?Cdxw;J^69yHuqa)gJ+~(u; z_)F;!QQ#0v!0W+LY2UJNMz|b~Zsp(8w{y0og&hKdUia978#o+jZRWW|`g*ht#!EwBb{K9ySKum~^cJj4hX%&hmnsuVxdc~u!Ch$6R`;;Ia+xF5@Ap>>0exx+R z{@AR*ioXnk@1W4{z~Sh_mYC_2PPbjsrsjn4UnPfs5dHoE+@QFmnAJm|A?Jq-z&ORd zCmYi*d$W=Vk$*OsubSm5;D)Cl2)53~*QI;?6WCa1_8U+r*D9Pa82Y%J_QRSYDmnaV zG9-oUUC?OobgTVyR<%*&FXs60@Yo9jwIXS#bNqlw3{D38ydxJet`YfnH9#;L0F{xb zO8cleD;Kd-q<2{cjF*6~az?;c8Sqr1@^1j}BvKVz&^9C@@yJ`9`iO+p`DjEU%4rSw znEp8wk@der5&t6)fyy70-^bG#jaG#*A#NR~J`G+UhnNrRVIPpZ;(hFit3W2`0}|Zg zs~QB_UKRc!1mXC95`y^h|2_hNUi-g^K;ZJ91^%PNZi}r$xXD?0^&ch~EB2-;4Vl`& z2I+=UHQXpY+-Z@iMX}RjwnM?@5w79!JL9!2;poaitwm|B6J;zscB}xEX-R*XixqNqr_2#uSd%?ekNj{q$sTr=S1yK=%KujQaW_k@g zjp9x<=slq_rq>A}`hD(X(`~A9tuW!l<2LCmp&#aJ6bS1`R!l#4+hU2W2~WZDsLD|aHs@AcdY-2t2p zfk#mv)%3OK_Bk`r>8F1Yw-l}K0J9>PZf4fNgDA#aleS+n?TBVYC!(>|b2D_7IE4V? z4pH30I<9DO6Uc;X$*r(rrgSB61pwok3(1=n>0rD;|02EtP)0?%&8E=?Vr*FRquNVaan_Sibh5gphK0Ex(qd2S1fse;w^vis;qir4)ry*- zbHgy68*qg$Ry9XGI7U4%KkqKXj5K}Qpnnnb*aJnn<;alH24t`Yuls#fCTpE#p93qf zLPe_F>Ffv10OG9mQc)|>IJrxb(U_cxMq~pQ4EC2QX`U5`SZ7Hj^jV=%`h9T*z0W$s zv?ITj(l@s=$#e5`t|b7$T->T}>aFVFR#mUli^zzp)UbzdQOD0y$IbV8Dwm;u5$Zb~ zKUF4U12Wk05B$E`2;X&P*L@KrTT=vamLoc_QEwA4&jPsC1@roVs<_Nm@J%-z;ePrT z@g4wOQ?gCQ24t{`PuRx`X!0U_XW8e#R-L2r)p>3v=BU?NVAM}2YB2zv1JbpLn6t## z;CzZ6MO1lis`9)70?s()0C)jS$%g>~Fc3n~$ni=2B000000C)joU}Rum&-us0z`!Z?%i>=drw<1M<7NhAa2Ei6w+1o* z0C)jy(qq8pN(=?yGnusS^?gj`MpS;|+D(Fu!IPIP4Cma3Hg zmqdGK1Ts<_(gq?g> zPVq|2;5Y;?F zQgcf}+4qR%eYsy)HhG$Ip;$O9waYyKOuNCN}4zAJ))OjHWd*isoV(RY6rncDOv%wN%#(6zBF>$YoHD zTcDMeHKZGIUwu^1yc~MDaUKpScJ`GvSw)3Gd#60C)jC!2=AHVE_QYXWRU3eaNp4O;UwYIQMw(hY$u{mscTX|bE+fLgHdnNk`N7ymg@xe(s zSGsstaaSEzH`hGZR=4PW;9)#7JRiK}y<@z)e3GxTZ=7$pKkhH?pXfgt&;x@5Pl8o~ zJA+R{dZ<-sUDy#W67C+J8(tN@82%ASL<&WAM1|<6=*w7(*v5G2`1ttFggenbF(mOZ zSs}SJ6-W(8ZAmNXQRy@3-2U&j9udWsdqjgmzg zC%uwg@@%D+GDz91{7~&`P&L$=YA3ayI!fKBUQ<755slZ1X?wIAdTD*0zTXHNBaMUq zo&+U91JDtS0Q13GZ~&YEkHJ?MgbXYOYryuf51b5_!A5XTGg<&L*%zoCW3<*O+4yY@QcyS}ecMuFZ=+UgC%go0s*Uwt1U>ru@<& zFB{5U)x$%}5%=VxL$ZW2FpYanz*;SW1Cd zoFT4eYT_UkS6PC$nJkFK-JIeFQO9$0Q&+MLh{Y=+$jiwFV)5A+smln09J5J)iyi1# w1=re4371U5b_;_(00bZff+hzb8;wM>qO9-Y zE{c*cN>NlVjq#;RJi_r33n?2Z&d&f3vW8;+nLltVd{Q~Asxer|vFZqY2rfk;@0phOE2Ez!~? zqpBsP6ecp1)CMb1zQ|YX_-R-;rtNm2&xH%bYEDeKCO9L&{oB;+c19Q^9nVywhh&G8V#0Dtq?Shje0%pUYu7F5#60|W-}u&! z0S*p+x0da-@(L8tSTTN%K6au6JK3|hCG&{K-oz~8MI%LIF(M+R$CaU@7Y zf%0cn4_9fM)32(o&YG&x!qtg7eVt3RWXiZ)YPLe_TSa$-V0!(x(=ClDp9e&z?;QQ9 zP#fc2aEiXV`IV0a6fN{r=mqSQ!S>+Z1 zuPixuI0-Vd!}y7<;#4b3FC02yMp)ePL;y~Y5Sq7JM!?&1$Z5-V7$Me$J5^p-tV7gV z`JCgPkG%4T>mV-%`8MgTG1TM(ue<@}S?&y!JPCGT}FfzM)~j$ZNkj*CyTsg$ynLXnQPS}Z+PYvpK4X!YKo}VG!i$X#vF0fcsiFq zop-@SOP1r(v&*iy>Y6)o7gpSJKdt7CKRmFO9_E$xCV1Lep_^y)@{WGion?VD;K%!( zo8?Ue%K1QtEIQ@1GdT+Z6E#`n6-!q3Z(Y+GBQ;=Z)T||4$}5*$an-f&LBeo=MUI0= znVLa(_S|{#(}>Ce`9GnY-hzmAD7@a~x(0u{CL(a__wJ&O7hQ zcPMPgum^|IIk^s`)*TghVZ}Z7ZSpreww?$FtZ(cjQpAB=&-Z*xX})DHIr)y3k@OLI zp3BwoDwkaOQ+3-s!^R5jdz0#r|Dc(ee>W*|1pnk|ZK^Z+@9g_S?@1RFbj=ut9c&FfsvYCh#eF1mOG&S=G{rRk9sAVmf}=fNKtwdciE zV)2xcpMvynQ)Qp0i*JEgjQQ@AP?cn;ltU-#B=gthmsrl9R?NpI_3S>S&JIS}(_&nQ zG*w`k4V=0B)AP=?Ptmv5{IY6EO*3hjVazj)J0(pyr}NU6iVFi=B-g`V4RIqv0|%jn zz)28dLJWIXkgXKp?4piLn*la679?0PD85?nUW!G@rjuv*u zeInTtMS(iN0i40W0$@Xit&EmK1EUC%Hzt-PlzWLoj208l6(9lxD1ZRyXQomS9;lN`jcGZl*f**#kJh062qT2+?dK#?f*} z@&+(~096#B*Eq@;;6&rCT0m zC}0@bh|nOAnOzYmB+xE($2dJOw#MOXv6ne`J{)VPPpbFA1M5Re4XDegd;VDHI1Lfc z!mm)`K=u&;TmkU-C)is62;}DmegQAv+Xs*VKMv3jE4xHsnB zqJUFm>lw=&%2O`7;f0TWLzQwK7srF~@N!`pu8g#doQ$rFsZ65Gkxl*m8}MN=qe}^P z<4#+0(@US2!|6nhjJS-{nRQ->%3pbgkhA$OXMnr{@&t%ybpOBnf5FeG$JsKZOA)}G z!lN&LzN-w0;zMvf;7-7Ev7|BD4f6~;IX?UK^A%Wh%4uhuRj9~0=Us5ol4Zq8#%+U@ zDzoYj53G5pyn3d@kYM@!XUv}b0-(MM_ziH%qk#)f1z^4x7&kNP`az4@8VFyCl(1q7 zbt($4jJi4Wvm%$2FP^|N*?O@cR=7^`ooT;xFbamnl@1r8%#}wd7B7+A0uL<7^VxnQZwA*4r1=8T1&KWsM$=;9*d!B9Fb#LP{54&7wm6zZsk2? zLuBeCEqgaA$(?O8jZQ4=fzSNfH?Av3cDP`J1O}{Isf~r@Y~fQ4}ni4 zXR$0q=R9#B@5E@2-g2m-iE+&Q%ZW&I_q&%l;r+x)C5CZZ#E}DwXDS+l1BMuz(cUAa z62B?`hDVZ`|3bUE&4?QfFw8Ii_2F;#2Tt8|e_BFy<^-0w_v^U4EYt*FxbI#5>H)gT_Oxbn*=2Km!(EEtZw_N8j z$+IjV0=*Y)(f8!?6%_f3W}T zY`Qv+Ey}qzCyu+3Z@3H@qq+~P%mXcrmr+SE`WsA^joT*nsF8rA`u{c1crG`(*tO21 zUQ)xnn7x)|Why0+ecV$&mJkH}Ve!FzZ3OOr8i4!H(Ga1(xPvaCQ%(;SEC(xT)lOF( zqe^rh6?q9!$&$9XJYqn>ee6@tFbazCk@%>B1*e?z{&nBnLkHE!Dq2mucVh?j0Oi_< zQLlv3)Hq7M@PrLf@BRGeObE9$gT{Vj<=Ieot#dqKkgoy2uL`)Le>hrPkje|D}h z54r=VR^35o+Szwkd)@dnbjV5x7|y`a;t1MU`xH3ERv1agu6f0{Vs?$tM4rTq`7T3G zJ~&>Z%T@K&|Dbz&^D0=*?PnS#1hG11)bktZ^2@K|;Sj_cL&RC&_vi_F6A! zc{wF>G+|oKu&8Pc^URa4kY;UBVu@(s;Tf0+ZlKNB&5&g|%%)!D%a>|?S#^ec22r&R zda&=lUN~y&;o0@WVH8De8=XO#H3Fgw$lm_7!mStviZ*`LO(T zo}@O)S=2os_he@0A4Dred1*nHTYi_n2)rbNK09`(O<`%X@^Zbn8uN ze(Rb*A5~=zFCsclf{?f|ob`n*S!txiGyHMFktaJ^&3j-#Ansc;f1zan4QH5xI?!cN zYW-TDMY*xi)6E^6zpV85Nnqz@gQGpGV?YB%jT*Vl^y{Z{jtB{IAGyLp7wzDnQ*;Al zDT;$^X;Y9uprE*>!zeCZ*kb(4a_8iV=r8ZL)#~`JUQjUBsA7@1HgIw$IMc?z{j>3$&*}xq;VHixt2sR$tcjQ;m_kC2IMU_PY!0=QEssh0Df7}GSWb>Xc zZXjCgc?b+C)|G{VT-vPL-s(Nk{6^0_!A1!*T7C==XafO8GJ9-Ctw5@=FB>c*1$cx( zan2A8>l}d7gKcoWNsjhWMLDX%Xs$=Bj4f0o1GZn(ZHtOBq&CLn*>{L())f@)s7~%W zic}!>qq^SsE=&w_gAC0PPgvBG@X*kxE%~A^^Z&8@U|hnEZ$IFV<`zSE>%`e>te+6` zfLmKeS$6v;>>u?d^pL-XVjt_nxfH zYyWNI&UvbtTe-s&_fWw85W0b}gzAL(7|&bW+O6W0va71afJlz9wiJXhgJoka)iu@m zQqyaf&5cB(VY@RGt+qXg(R}LlC(IGVh)D>Hx@+RqCZly+%pf?c8iJt2d@~s=<>}G(EW|2!SenpdZN!!>XSSxoOW9B=Av< z>>|&)6M%|_gQAkK*z5k3wSw8p3y;=Zca%t}^ zbzolZV8kS}i=tJUx~}(K9?5HMEW3jah!71n&|<{4A8-mY*MDJm$YwWiIK zNQ^j0)QAm%>fS#mO|_gyD2e1!1J1;#S(`(#nqQN$qMheDJ>+LIffl&18S5{hzVK!y zUqe<%x)~)Y8pC#+2YCK@6ym+y43U*@mi&>L^0XI0pVGy_L10h&0Hsl6QBuT>(fRq- zobv8jA2b5Qn_`^24g&kXN=P4S*Htn0-e=P3R6?(s#pJ*eNl z-XK-`iE-*Uu|Bjj2#baF`P3Mat9J$~x+>YQjSxs1eRgY}BfD59ce-C}=rv_VK*>++ zNP^jLv=GRwTuepP!^B*?4WnpkBon2=x-nvwAFXEkh;cT~!PNJ&2@DRVIFM`!`;9`3 zp(zXrp*TFiXP~N4Viw+*Ryj4EgHmAqi1(Z(wDMy|^|NvI#{Ndo3c}AJXvu(#L-OvflpXv(4(VDP_NsUOXs#mkw0p%!m zx2|VBJLf>Y?7CQ70NB}2FP9!Kv%fOEK!?AgR>RYPBo}6#P%T+0(R@s}SpF&aD!s;S zUIYENz)u+P!w)?O)HejGnFE>xrG9Xqa{`_CL3|IbNEY&6c5BjA9^z)u^k0NGm^H~l z?v1)7bvMkwPm*GPDA>2OJ?L2%Q)IxQu4e`XeHL z3gCGurEw?+jkHm7Dam<-xu_ffjk?$8xy|Qv9jEcPw@^4)6}`N;=gty8@5&|c;Ni*J z_qe0FysCqSIdBS|p|NhTABhRwL`UJu8h(0&kdjsq26NE(f>0a1IBh%$S;E-enLtl4 zDby*ygd{)OzAh;dpm^AyZnH|w=R6dazJ%{ZH=Z+26T@XDO%t2TbaiU{;Yfm#2f-LR zIH|M+*c*XV+>r%lJJ~~_$=?lF3>v5;8C+D+5dTN4WgZw8>XV{N$CI>uG(4w>k&M%u zUR^@-Xl;WrPRVSWE!45quv749r3k z?F4yQN^p3YKjOi*dRhV{EV9TSM#J`6pcbENWjko&2;*U2mh~Dnk5*Ii@j-q;P_M8H zUx`<-NXc%aq{8$)cqO5Zt@jZ7)yhAfXedU*hiHj8p!Ue2Ae4a{U#2%lv$7^M`~e|H z{fEr#AL$Zx8n@EruL1*k<(-l}ioyG2(Hv3)du~^|VlsmN(~3Rg-$pg!Fo|K zj6FnYKfgVviV~*|Nk(*fV_IwdY9Bwnb4OhF*a^1rDOV}Aqbg16w>PEib z!>MEXxY0x`66f9cjZ*lpo_{&+w3zHWpnWUT?qbFzl_dTk8_%EFC-ErtFwhfP;g5nx z>r3=W*3EAb0bBh~kYX6;H@$eeH0(*;0ZLEQF*4{$2MdyrVmkxmjOQ`pXc5s-S-4FA zSg~#@Y?u}@m4az`Ez`8uBf)={ zD;tnLEmIgtGmTuhkfyK3Mjp+DHwPRz<=EAnq<`@3_*A2y-c1Rvoe9h6F8VG_`i8<) zP4Y#8eJ1*uPh0Tkn^qf85xU({tjv0e8RE~itk+&|nMzgrgY&hO@_?&%#Qp&$kuf7pVTL!N=p!Py5Gl!9xS5=7Q0MNXZB64WX>WD$Bd?EW2Ikj%) zQ*a4ZfL-TBE#tH10lBE6J`a|{69x1*PUB^pMs@4W5_!VECB0_yuYfA76g-JfS|Vi6 z0a9Lft1Oz!19mIy3k(tV-1=>BL9)vXIN|w}fF`SL)3iD2d8*F#evf1`$ zDHsz(Q3FZ)-GjkCCvnbT75P$5I(82ER&U7~Vorxpoceh+GpGX{UB{gjiaP3y)rGZ3 zqG6PH)Zw1qzyOLs-9?U{z{@;;*pVpaI|>*fg+rHoBCujOTYBIdz14`_QS<#}X$2ZV zSJp;`0gQ;t_pe<4glF%Io>A~aCWOSK65u4w8K@%PD9FU7kbh2?x`25Y46+k)D&|lV zI`)LHxKkj4RY!G&!A?Tjfa_PihAtF|^%c8(0be+m&{J8~hBdRNle|%!j~zw}E2L@6 zkYGr0I>)LnyjFk?p^}EM1116YVj$-l4?Enor-Kgm31!6|1}PMiu_5v5!>k;Mz96q~ zzdopD%M@w;7y2e9(*1=ZAB$H%rl^epXK68hHSTI=8a9Xg%H&fIQ%&Wiu8aJ01%D7O z2kE$l#st*%pjKIt`d;_K1;-^|-U zj5A%;eiF67`m5}dN#_O0OAc1diUw>Dr5qy#;RK?84S=Up)bqMi+sbcU-oqI4K{L>& z3rGa(((cZ2S_cjlLL(!VP=n>IJc%~iw>fD^M%CwASCtua8)xP~-m~f7lV^Uo0kBHo9c)3Madh&L)?G}fhd~qsi+1Zm_(v1be zo@~+3^y||pOSBm8lz>WP3hE*?hzSz(DS>#foaN89_&zM1j~o=+_CmW7 zc&5ht2ct=Z-PQE#eN`1IhG%O${-!lDhFYi}>K|Fe5KPEPsTIMP2iD>nc8ZZm^s=L- zrd0%^3hdm5=rq`;D$W@wBVNhR$o*{vrTdcwOtT05fRkEOGYicEcnNUM^)cT;{ZBDgdBiA&}8>JvL($YXQ!w5%lSFrD@4778`?)&ZG7z;FWMN zBoNlPfz2z1O85)n)#qb-6hsKNcCr!lW0>2@kGCX6K(n?Wl2u zeKKKIkhrj40cWw_(F8k#kLV*62*>UqjDeva;z9bS884qz@Qh1H0aJr-_>m( zB31Dq)n!q;=pMz%Zxct`>cPi}tz~~6+f0VFqbN{Ll~_2@43h7as9$?GM5ge|Ej z3e~QXH@}g7s_Wz%%uT#wwu>VBQD*6wPpA#KN>Nw(3pAHzb{DCGNqRl=#bP~3_;1yG zCsTSu`o>xBSW{ZPj*awpXpWs|)Y%o=pREW zL!tMbU9EswSUPXU!q~V3Q#_p5feH1Vy;+Hpu_$kMCzHMV_J<#2g@DPiK}w_WBKN!f z?k+!cR7q%bLK@954W>Z z`iJ-xk?*JQL+I2^B7YVTA_CHa(LvPKFO<9aKTU2YFffdnEm}YqQAt*3Npwwj(IywN z8@tI}CM+?rvobrbVKPmC=3r^^cuP#(k^0SURCiX5gG69Td{cF{%9D6ToYjr)^eB{w z?q$`k|BO0F@s`)RQln53x}R0E2DUvFy4$nCx}hMFnJ6`oB$AP+Z8WcC#9Nie>`Kx$ zQ&arL6+ohs`o*T##Y`z!o-X)44NN|tU@hME3k{_W(~oYxvJO|#=jW7*QvmN`kd*sjRTl$Gxp@9*!L1I+Vk!0oc-Ieef}mqo;lozYSE$l^uy!;&iwTUov;eE_u(6=6IXPm0Upp7 zX4gvnqO%D$b{;0!2tjV~wuH!aL|A~c$mY-KOwNMH)!*h6TkaR1e!|XWZ zF4lXBEQ?-w9_V@L6q-b0i}gMQO4R(^wW~>4*etSIo5^6Gr5EPjznqYTokUhE^O^H8 z>W<|kXGZ|aagDizI0X|w2PGRtl0S{&CcT?k?!qBhxDt$Zo0_18+-hI}gH6l24fWlz zN}$suJ1ts04H)N7pqQSXQ0Nb{8(}cwb$5io0GMB!8S1dtQbp6n{(zsBow}x*3s89K z79iH_Z`d`kI3gvBHzyf(_7jD_DvGrzg5Gv>PC}qUpflBqXZFbm*jul+0ZQW0#vGUe z%d>DH#PsIOFXw7AfJkD9Eii)KdqW&VurcT$48Q?s(LswA90A-TmUX(!6X#Z2WE z!erQ(5#6F{q^WD@xi6R&Qi*c|K=S*q7b;u3fy6W2P#)P?fjnJ@P2>GLNylZU(aye) z9UoKH3rp;+-B+ft{V)ZDJ&B)gV~>Avmg!Xue|$`=6$U~V_+VfK>@{S4{;3Ln!83-s zV8}dI3Kd}?N8_3>6g7w!3Z|NeQCE}-!Mon}FqbtgvErau5wKKs$^V#|R@i5JRk@EubUhCD4O_#V|G6sV6+h-!nO$ z);0zBBzOzBs0(9RKF0z3@Ylazwg_9bmQ|;CC2Qno68_7 z7I-N8OX2)qnQi6waa+0#?ip~KwanQ^?POD@{BD8mj_Gzd`eu_Q*{EjBr zr`rQt;X#yWpV8hj|1x3}_Z;}|QB1~;o!s!x#;&2d&)`+TW(1}$f_rIJyB6t5A<1BSsBdlX#NO>T|HC!{YzG-i=ueFxHp{KTQ z8rgAwlmiOKN}7dhfdvpwg(tmLU4~C^P#qjTLarnq`g#114M26JhPkGCpfFey$#9)y z3pM{gF$1GvpPQ^r@9-Iv4UcA7J!F=#k`_rOHMGdw%rM{qJN2xT)l17#4ERlEu-no| zd*}PhAayX7>PfQlaML@kaS$8nRPUnr6$eo4L%e{_a}Ix-N<7U|>~JUfabX@dhaR!n z%k-MEFY6@*s13!$AVEayhX&oK>scYL$JER^*R+~SZszGkzgX7F8o|||bC=n}jPjgW z9+r(0Jdi#G44=4PmN{`rOj8A*Q@#&CYn8vjmGE;2u7d5)973Vz&XC3eP;>oY9^ry0 z(UslNP54++1>K>y+{1!bUQNm%T$S?LEKkr-ooFN%sCr(WiT>P)ZnE9jn3c5Y(s9we z3T$~zdY0x3_MNr%Z7Rr@b2G3R6r5pC4WWou&s2nFe(4nILPwrr^RyX#oO2zoBMcrw zycQ3_-s(yeEUV_jK==7NH72ddXX|yr z`W_cdIy#L&J(yYH4J98(7{VU6&9Q(h$_cXKRd9>Mil$gR`E|g!D;i{#R4-O0nm@@- zm46Iy+(7I28nJR#gn;2Ew+4{X|Ip0M+~!TAQ{o-lK7}-g?oMcvXb=Sl>m%s-f%i#_ zb#n}lc9+0=#2)l?3XO0D6v<=xS&#EMo`tP|6(m@T!f_TY{6gTs3;3ffy+2z(^~t7q zk`=+6no?90hxuX|vbdf&sbsi;-fL|BejJEo91$-)Dv~*WcwrJ?R^ux zeM#v|y3JrOR+kqa35xd}hvu+Q&P+_PD^@iIK0~rk zX>Rw$tM55cwUK#?(?I8YNUn%pP)ZELmleP99aSNyZ+(;55{K{448mx5LcxzC^n6tS z(s1`W+08CX?CIss^pu_9qIqGPhT9k4(I^^k@&AFv*Eevo>X7mtNlBvwuJXVEFD>D z<`ZiwyNtm06VvK!{^kn78??%pBv{Wtf^`Wr5(q%a-83KElccy;C)*jBlUy}MpuyD! zZYVEpa!(q7Mv*I?n(8*z1lZtWGQofumu3K8dGaoCpadl zLe|<;zh>G{`#Lx*9cj@0#2TMaxkZkFL8+DQv=g_2*IJVUTb^iiMk)st4W=K-c3jdm zD7$m*%8LXR3e73Dl2>!*0l_7Qv)7qqSf2GfSM7`3osk;2hqv{bCc%3EGAz$CIwQ4k z9~ZAQ@7_c{AN=Dt5m}lL@REj)gcbS+#eAuOHc!W4y{g)rhn87Aj}y{5-KM|{ucQ=&$*x}F!MOijm*}zOeQGx(hq0N=3K$na#+Z4rZ~VrFbb11x zl^(F(w987#%SGSs<&OJHuR3lEc*TXu?CPbOG22hWz`7HWYI!wptX~+@l$Lp81G-ao zy{-FuEtzt8Gd~#57wyC>Z{}lH#2p{&9&do+mnZ}E&Gi#w$9J6XUB6?$xGvfZ^!cF$ zGrc$aCK3*TbdL=#@e-wzd2j=C#ia}$%;vlG3w-IGhRgoynAE@!Hgm0QjX8VmRQ3Xf zxsSHBZL1ST`GU;V^(60$UZY3%bYt@&FpjpNxq9#YzA-)I2^+ex_U4kXT|LI^-uAtZ zUi7t}sOjjaXCK9a1^H04mcTboB1+K7EFo4&B=8rZ8w3pC+ABWy_@%vn2a-ns;A?+k zDFeWderorBw12J~+Z-jpkpBlGQvv&H4>SOd&$W#FmAnpspTXmQKAQ!j0Nt4S$Fn+) znT#UKeT!3vvR*UhdYx_s8y&|S91E$LfucH=P1UAmD3cf>G^T!PTxmGOe?>7-UBrv= zVyxID8re10TZ%QFj`>5UHs)Our#q(%?ika>%|t(% zgwlT`L2Kl8Q#M5{e<}S@QC{4I)9pdqd(7}+3+w+3Z10@wm$}==4fjOe4vG9mI!>W5 z>C=+^EKlBub)!wFb%@Q)W!{nY_cmr@USfY>TtCs~dS`b%i}3uH%+|EsC*4l2_9@Id zB=X#rF29(OW~F&~K38N6 zros9v%clGu%{r&&Q9|oWW;P*H8%K8>#dT-jpTbtMWBHTm9@;%bdTYVyX5O93w0U&8 zAdl-i#u*~Sbg4@oF1eM-n>PXdC}4gvyxp_V8&c&$H91qS#!gjwv)69W4fbu?fq zVh-A=2$%Soai`+#qIxO;m#-azi&Rc{0y{C0TFE;P5G_KGsjtk;>?TCKgslV`GpkXh zd^?(QxDg1fti;2zxFf(O^2fdozN{jTn+u5P+| z`k80Cdj8D(nC`at0088O0|21^1Rn4|_WuqbAQ|{SSV`?4Dqt^!3ZO>yf3}K%0LuS? zjp`(v|A+d23_3sq-~urJPd)!r008s9wH3ey;0165m;v1XV^{$n|6|+%9ss-lJe>av z#tmQxaQ-J;|H=Q%BLAEFAH@5g|NkEm0Fcy_Rr`OA{NE4`U}_2AAO&!21E{%iX3yg% zEH-seY`MAwIt5d33b+YaG6_A#JF4~vofCo7XauxS{_>0}y`~IVQ)AwCYT2He(!)v` z`tKC33ZET$c}`uDIP7{T^Xv!UHMe}@Zd5NebE01RDu+kZx^8)uV1+H$!C;cd zeCM6q`Fto+8C>M|v1}|sJSVFe092W&V{pQv&Q+fF8KSrudSaw>xy^v{_>ArBUXM1% z7`{H0Iix$i*~={H+s2oxqCp-6PL3Rnj&3rb&yj zNtO^2T4>7F)3&kteCCTHGTnj5=q@g%(+*uasXPPLk+5Txe!Q=dj+ zgjX`C)>x;$gmpP@4zW>uUPL@c>mbKDwW-}N_S}JbE962##(Hg|0VJv_l4mrY0SkhtqX;nj8Xy&L=KtKYr>S&EdU5Q%N*)5c{+PFze0I^5QVa zXpvsW@auNB4B_hi?_R0K={Kt3x6qu*lFTt)J8A15t=^AvaYnhs{$%^53k>FXgl1A^ z!SkFCBY3NJ?*Gud`@b!GyRuyrwtRT^oR+qg8~iRxW*m^O6g&ETsT}o1f*^T#yNt0p z3B$t}zjTj#TRS4fqM?4!aeAXv8C#2Z;|j+^y3zEROD#E$@&;_1e}LBV%^LZWKt=^S z#d?ayrK35k`9Qg0)FPtcfZYTQJUBTXi}DA_q3QYl_u-DLV3VhpyFU^4<5zLa1pRB` zzuA96)rLyPPFx3Axdjv4kj&0&x73u4y~#xi8Ql80ihn^WKjhPUamQH%SyI?M7PWIt zf-I>uvX?*;^(h;)EitSGauX%D0we`DvtnUbt?F7$GCU4jhhyWQsn~{>_}Bq ziLG3cMm8I!k}zf9o*8s1N5P$uOp{A#g(q2^2B-VUr;HLL&Gp}Nk0jRDaMy<#Fj8ws zY$495Lz;O;EWk-pkc3nhvAtGt$@ufiwzM71jJq~DD_mU+SDNvyBxlcb4uxw}Kk6+u zoG3$empbAy{N9S)d@+k&L?)u$gKnDeQY3EU?;4&fX-8;x)l4U)(5)P@HYX8s)6{si zct&@DhURZ@n5ZGeE0?xDikT8GtEuF+e?O6hhS}ms&9@&T;un;+YI7E!voP@y^h+~y z^R~T3Dt(mn-J4QdkfYm7p_@GDL2ldieP*QUQui1#oG^~hx<=PG9>ZQS?#y6Kt#keP z15_m5(kuUaMoP#UEmt0e5Y9nv6xkH}8ke4UkF^?(84$cz`eX0!oG1A2?x4|02n1lzz7k%v?SdkNg+2lJ?bmDcam~fJC=L@7V zn_j{cwC7V15~;J^g9Gt6$gF4%;`S_OEYV+?N-KV}sqTw>o?N}Fru;&g09px5^bfHI zL>Wi-h&{$#8XgHxu%Tt5p>1^6&6UeZ$;!Kz`eZ6!=%S0H+a%a5OVON{D^GE?N*~uH zH29@kiH|Nq(UqoW{yF;iY`ny!`@`93*+KbzZ>;aRuy2ed+keXb-S}i)>y&rQo47Jt znY5*eV22++j8meoith74a_Awc*P{BXUy}HePbHpkB(e0fPvrJF;iy?#}tRZ>~;+-uU;3M$6z9Zt6HSoE~2NTKCncNXW8 zo=fL;VOvu>*|BJXOaE^yOh!vnM<>S#=~Xk$VlA$cLt$KsAk*EUR@QIxpDT?X*(!LH z^~sdJ2vhIT>esknyu6%|FQGn2BXs&p5ac7JFp?yTGSUnWC~j)ay|Wy@d{jKpX*?W>eWo*R@d=>@8UZtF7=uL_{GN5V4^^S+Zfd)cQ@=Wz zeyfT##(FH9(xKL`ZaF-XdJCp{n23V{9eDP8!{o6Cy>w^_UaInK8t*uz3oKem~C=)mF04$cIiQBkw3A@_{_)VQ3onhg-(+WdUA^EjA{ zc5q#fStE7P<>kY)UUHv>DQnuN9(MxFMjEt1nV$(0Ix&+z&*@;08Gs0vCM-7_k7f1$ zJ95CQgpKCytn7a!G6^X#Jq&qmn1{&tpSt?FG0n<%j|$~hQLJ*(>*dqFds$_FD&4x7 zCvAe)s`=@YV4np5maiQs2nSm?a$RUC17Zp5+G{VIN&r!xHZ14l4G{Y)A8wp|&MTv=p>j(97Z#nIL?8OOaYtGSE zA$>4`S1-v=evc!7E2dF+V+>VUlx;+C7@YEP6hSJ&8N9W~&idHQ7G9l6YiTeXIZ-gu zvf36u^>sok0n^u=d8+)Ts-q zNCOXo=_9w}dK#m^3r&`D;K| zR1oo2R_U7MGj4X*G=jZ7>EQ6WR%WXmDSO~Q5m1u|WVEK*6Wbioc7{^Jo83fr>S`uD zO!u6(Q3K6Js&Vi97??K@-lizt57YvCY7%6v(YEuuhlrS}{?+D`y_jtVcqI&Yq62U5 zvSfr@rrHW0M^cN^Y<@pAk<_clJTBc)@s(|%-g6deA1|eU`-n(&H*mJ--ZLiv7tvHK z)||pPLB2eKfah|)jiUUjv`wb3bk(35)WqhIUw2&6Vc$ss#i>~0>{9zOS+N#hvSda* z2ne7`Vbyf}MNWD#Y#q0a#wgJgisXI+IY@!Om0$3qo}mjGv^4iF*D&kOL+V zGp+KqFLl!Wm$odMvsRK9b;Av(6%pkAck{3PNmhM8x+rsj>t!_E-wJzxA}A zMW5AYQ_Bl?E@aWPHTB#1o_`6EVil~F-}){)8T`Z*zPN{jHgtmV0s847+))To@+>|& zv`-dnLAp(gjvdNUU;&?D5?2;@hdQ%>T}C{>-h@g5`L%6&ZhA*##9P>2fm6@PD&ZEw zv^}US?JoJzM}o(4zz89`Y2aLrs1TomT%UAq!gQSo z&#hMaOQ`A;^q~gZ47(1IO;Qb=4W8a+{g>M689GxgDhljrU?AA65$@^?5=P2;?y?NohMqzU! z%>=vU#BtHmBCb;!tx)kSW^CyJEF;4zOf77)3L*1^L9Xt0c*WA|%H?F9qL{rWdVLlU z8l5==34N3gCDI%%6e+4N1SD$kcd>Mza;4-_don{^O4e8DS&y*vYNur0_;15UE%`x~ z0JEGXWD^nWFy z^^~2vhD4NMaZA79sggzY1_6vY9lO#Mu(J@ndJa|dwcTRNJ2;*BgV3(%H6TG6Jg2%E zPFb2WjR=@AnD4&gQ3%Oau}$e9G#nFKaf6{q7?KSzedfDN9y8bPwJRWR6EkxO0es88 zP+JG~rl>_vi54y|OS)T6P0|0O9(fNfJRGY5U%7VcTANCu;+rf-OnsRweS{#1`-;t& zBZ=Hs`Xb`fLY3=#2ZI6_<6oUXH`84j0c04H&S51gnaYaSS}`qv7TTToC0bear*VrGB$7)*5FTiNIVf zg&7}qsAr}RCfh6|u>LIJ{MJp*5%so_wKLUh$Is~<=%NzOkOCv$>{nSLsq6JG-XuZ> z(YK@JUx3oZ;s@Ug8roL(9{Qcb2lxHuBO>C`+|S+{PF40UEL|diOI{<3)ARqX_5|qa z7AEoVd+B~PAzMwi^`Nl?U@M0kwXLE*am*@`lfLU=<0(s(HivShU4Xw(Qk#-3!lExV z7u20tyKg<|l z)F(Bqr|jO>@)%_b^NXgv7*p>Y7!yNzUNv^|KUAv-lt#;@%%(TWwL~^eJ@l@_kMf`M z$>~h7vnzqU^qg^=Buz09JeeoMMErGCIHy$yd3m390-*4vaCw%O>$PAAPUL8vIWChP zw2cF|8MM)b&1NyX4i>Alzp{>`Y+fvdE`b9sOSTwM6Nzc4Kn8>mVYJuYH@G1@1q_Q_FAKy-a&obKD@N7U%Q^W(#c zZHA9$_{mA5jLOx`1woZwuk`ny9;4@+6ON9#t7%pGW}Qu&zub?nAEi=JuK1Mv6poHX zPD_h>0i|t5$aP|%gYLVUaVqPtBMPV@4ZTE6Ew7r^QPjmJI7X1?ua6Te$HvI=)SmqJ z73i*!MZo2L7O~~@BsG53w-8}0f?F#g_D&=O3j!|X=<4iJ5)GQ%ed8^~1)4emiI-HN z4i|(Zz^ef70z#e@13h|Rh(THmsqesb5M_k zm_mG>PbYCShe57(If8-#gEYN+SO)%3o&6`|tX?N}`bhXyK+a0HoP^vauL%=Yanw4_ zb~+o)PUF2`*+C64sqiI<> zL++RKw1P3Wt_#s8!bdMgnt~imjD~yXydLbAv@gDQ+o(Vx+0fC7975NMhoL4t))}RT zLAP)QkR}-sf=?3M>fn=NzY?|rLxs{Aa$1e2{XnUdh&iGQ`zAga=*hDOzMsfN zmxOKxlbWxF-8L|s{lxBP9*qw+v zhV>L2IGPgIKwU-ul39RszCvy@OHH-opW#?cE zuZdZJ>+F)clZ?#{L^(7Z;Rq!fFW)rH2c#TCt8vCqZy9s=#otPgl#C({>u;|t$fnT8 zp-Q76+>z}GVXO?MANf+^mr|1F7g$Jl@j?T6=54hKg(9o%Og4Tur2A_#1?2g1*%Des z&ugI~c*-K^2l060b>%>dH+K5A!5CO6lhEvRMy_-c0?tn|nHZ6C;Yof(HmBgdz#EIY)I^AC2^=MJ)WL3M zksNLFbXg>rSyduXvabL+)5vdK(sDURDqBl#pygtwlWplEbqOXe#P|wEeKn#wU9Ach zu!;JTgOzww-8Y%{hZL2@6h_p>i6aMT{}JzLd(RVqBEcirz^QOfKUS=eJUJ#QGV!3H zQF^xtcjgyBjq$D&QcEKaX@G2o0zb)C-*=2e8hVnOkh*CaU74v%AzD6_Ez6Pb;!WZl zd*MMojKs5T9wJWIMq}v-=#O8d$zo*(&qgoUSTtr z*GLZ$;Gw)=O&g zOJOh1mP`aE=aqlkiwG{98|H6xqD=;*2vX9nl7mI*QN;fyk^y2Sj9wa(49=d~xtxo& zsEb5zvc1hf9|ZqZl(<%cY|`JZkD*=yqiQDBzXu}(OQYc5&66bdV*4!jZgoY@@>NtP zh7hv0Lp2_Kse8A;Kph35kXyX`in64rR9UPe!o5!qK3o@iWa4@@(mls$9= z5e>nkQhuAp>&z28aMRDnL|ziQbkYXw#rr0u)ZG_ zoanp?B7rT^6?#}d3Y!i!otHIKr(BWFo)$2&_Od$Z=CVaP$?Ll@fSQcZ&X2Btf^5OJ z%!>hSvuy7*l7`INdJED=hx^slT&=E8mpdCzCXR!51mj!>5bs?ywNfl(1eya*3>(ws zA++J)(Yyt}i9Vule%WUKV96)9o;fLBG@NgiMyqBaD{tAo&k<(%&gUilrf?<&iL<$Vj(bYn7%vUsF@U$@6Yz9DFHi!F`JcyC&3Gh#qv0?Q#md{7%>E? zfx6+rVymc(>c15zEi^4m*IdY_glaK2@vfeGNuR<+Qocl7=5VO4dW3g7YYCTuXO7LV+=^a2nR36xuWUgi#K1esBZV`xFz+rEn?_d8!0y zp4lfE#XFOQ_m+<0dV>`}#eU#%al+Oh?+9 zQ{g0LrN)guQ0*_GCRi(|ld9-W+)@?{9^8O>Tb5sBSQWmDINB~=HuSX!r*;F7txE-V z$&!0Nl%h!1vR-^0{kVH4dDq1n;cxy_EUWPr`Wc3U?lov!Kt#Tsn?sb)s`JdUFSBUI z8vBPXPGN1bSe_nED(fxRR)B`d1R3G7tfjA8z*fs*PJk{;Z-KTlLOoopO^7Yf;&lBe zSjw0&a>X4r4ypk`!#al`Kx@408Ni3T*_t;QHeZVyAn?N7ai~z zu}SDBJ@n^34)V6fnuLr1RWH%Wl@+J5i8xjyKUNM$qlNZk*tElC0-i)DJXfekG{9Xe z9bz2HWW;=}m8M-z2g=V=#`|LcXRJYsv?7ld$0X>;PLa`Gx=gRIwf+nLw|QQ0(uz;J0me66U?7F1*1ul6+yD!VX=Tr1h`V?gu1F>ll_j~O=n62Fk6K~}F( zsmnr6fd)6l4LXiAF5YXYjN1CQIp5q?m2B{;)QXJ>`X6~CrFae-b$b6b9;UApHXaaB zK$GUvDmUA{iNhu6$f1GozWBunJw#`q0*99Lk3V_;0FM6kx5j6uXx7477avRW0CCc2 z@0>JqF8qjr7^4zCj*pWCSH(Jv5`x1jl@KvP2bjrfq}9@#PW1auaO!EqPlLsc(XZ12 zB@GVV1rA_A)4Cs6Z!#i+2Y(Jb3yQK9nT{v{SOn{-hB)Rt{~X2r*6l&s`ODoK_ux}u zw6d5BbbQ-{v*+1VSQ_(4wsWBl=$H0vxQ5<6Snad0I>N(bk4 zii+(yHQY48?G2+;t0o`nIb>8<3=Dhg-Z5K82U8gF=PkfT%MCe6M)E2xXufq{|}$bb% z$IRbz2pLcen=(AdC*StBCA9=g&wm<`8^HcfQUAc@u1aBD{?Io&v8@rHh!yEBC0uA< ztoV@)03g2u>__&6-${gwUz2J3G9@gi7=%|_Z$|3y>@W&8bqS?hpD8h&NMlJCl#^SO zJ0iVCMvr?AM8nH48)qB*E%4lC3X3iI0xxd~ZzGWHr62D=!V2(WpRhW~zZauhAvk0H z{Btlf7UOOb1J64P_{WtWmoCATG|%pj5s3Rdaa-gg<^&6URu-7-s1hBsn&Xt$p-}>5 z!vxGAM4N6->54o<5;7JEH!5ml&@%T5UZ8k%xyRc*Z68c8f$y8f)RnM4Bs9*pUGAc* zOFU06;gi1j-5ev;>}_6WWoZ8z4LAqUnMSR`o;C&I6wR}LUK zymYDAdizOAc^P;?D-pPIw{ZEc+t3^3(2eIC=JSbxlAeHG!MRuPS1coFk2$}Dh5s`P zi#U~6_s+kfnKsytmP~55-t9YK)F+WMb2506x-gKa9*&iCWaqa-?Rg0q=ApYEoC1IR zYf~OuqECNcl-Ug+Qki3iHv)ER1Y-dnBUB_u1Qd2w()HXyse$B|V+G%az5t=VC2GMi zS-CnbQYrmg?{+j?gr5gP44V^vaPKt3M0|3w;hFFb$7eQ-Wd_~2 zSZn{~j&-evi?3oa>j<~#{dM#=tRcwUl9Ix5Hcv;?+OS~uSTkm(LTyPEr$Jaj%!=)M zS=4^rB^cNzxZjp7B-$Q0C|nqO_U-~1I&%Gt+hM{qHt@}qi7029n{tU@ro@0K?AU3} zn!V_iF*ZFqfJevC-XkClNL;jHBcQeKTU_?qWL-tZUVg2@r6t3t0IrnaqQBpnK0Og9 z6}Rk>4jYa81Kl*-Q6@b}g_j33_HP%4khb9$N2{*vI(<)kB_QqM_5ih)yCQreA!j5c z*k}4x*kLcoFCaPQzd(h8fWDJF!-@!srw^S|(f*v)A($;g)4x)H_lb#*$c&ej;fty~ z3XZT1dY=Mwu+I^hy%A~nSGvDbvLi|>2)E8ZvOJV{{gZ2+NCn$CgTuNo)8gzTROM!H z(5U~bHxVlTavaF5&;1$c9!4vUnmzAw>%#6X`IsIrsxg~k5mMd(_lO>`$_k2gBIZ@L zGZMU}EliO)Hc`xXOyB`l!f>a*QV@ozSd5GNp|A?I-d9?25C7v%L@L4HIf*3x*%+FE#nai3ZqT6zf_Q zd8uB?K{*1U;cR>Ii#QK$FJ(Mlr0EBC{_r>3WAHXF@9SF@Yp!IJbE6=fE1n1z%Fn=V z!2y3sHId&DZaFEMupwc=60nQk9=_U+LiM)H*56|=%7&&CHMizKV3`;?dh`onhMda8 zt@VB7;?r%U7(vPobCB*5AZ;=8u{#1dm@Ukskl9`TBMvRwRcrgtd4>R<57d2I~JvcCBAyG;Rb(RDwA<-@>|fg`_dBb9PmFf#<);hBhQTW{hM%}fIgrUJ&M9)Eo+Is_dcnGKYN zxFw8_H`0BD$mz?vq3;Bzb?g@4_D{6ACWWcRkq`UxF{@}d2eEm&@~~bBFHNQp@({uklK$VD;CXlGZYpCZNdm#SaBdsKR;@&#M7G z^^al1X30y8xLKv9I7rk22XukB9q8n#Gu@B^{Kwn5>zC>>j0ref=>e-LS2#yM*&2ud zxZP2=4%#_(S;%~tXnxRrp&vEyK*2GvL@sx1R^p}yyAFcm!|gIyguUsOJN>pxD;ney z>2|(IU4Xsx4}nW}zxL0p3l4M9?E=`a7=Er>`0gS2=?qReQWN~+D)hw`m$}Eoy4_^e zurN&rlWNUpB0+;U?W~QfKZ}#Vr2W(u^(L_nb5#}w2}~wZT2N;wenJwCJq>B_$S7Cw z*!hE-_DRR_lY6)Mh2nd^EtA+`HXEq&TJgfDlp&NTsLQIn9UouLc&}=?5_%0hthsQ3 zr2S2p3hvHLHyM@q_-M&rM8jO~7vI})VNefDFd+RFriiT-h=M-7H1!6VWm?am5UcuS zG%**Le?fBZg6E^4YB!eH3(f7)#q;2PStW))93dQgHOODw~3toXiZ z&VhqL&-Je7@ljBLDGlyf6z$~S1gIQ`3=vG|mP=fc>A-Q7W;1P>;YR9n1RN`hyl>^& z;;)F$k8fb*jGqr}w}RwrnU>SW`2Q2wA}B?Dgyd88!iIaylI**|tOsp2&l~j9TZDzC;UulTR@+ zMgFfW*}IZhr7Cr5IW_yhr0u8_vf?xglyko1eZ}~$?R}f)z~ArQiI|q4JdCM2c?ZNs z97{Gh7fpYWf78XhxZa&p&8vI|&NiJs$Eg?91W29fSqA~R_0^_@SgbYVw11dlqg9`4 zdMil>W|aP7@Ej30o)w~X^CwLB_{oXUk0FW;GzROES0ruMVpY{z!@R3*Fv)boo71;t zN1IAJnzs@dx;rlHg^w(%ghwfCpo`To{F-BL@4Y|yUw0gngh%WP*%t(kxUTv!3OU3k z?G97TCY~iK53-*^07(KZi>F9e;FP0h9}K0%-#m6b_fqwMxs;nT1=CW!=kL{~ZhX%>sz ze9V>0Q_1~@Qj5M#ZeZd-8bWphI<5D%TAHqcDPA#ZAHp+&I_PN7V$l9!p0HkjrKz&r z&BFa$5tME~B?}iP)PnYv%_RMTt9NqrwwBH?`D(x64NdpbMc$UG@wNaR^Iz?hFhhl` zd9`mw)V1`mEIVnVP}aR%xjU3JNzgPz9VWbG{uuuq56BseP%6kAZNIGpq#gNftBAz{ zEcRHiW5=gDMRdlrtIs_C?V@SwZ`LGbrKF*MD)u5i)CA!QJ-ysIZXI4yd9S6AeSWh z2Dl0QJ__;vN+fLh8sS#dOOcCb{wciTUQLU`J>yJ6X+4MbSI_92W|(dq5H+XWE4baE zLuOGTxo`+$l%Ni%v#zO5`<2hI?vFN^-=={yuB}u>Cz{z23FCb;7G+24tZ0C`c==53 z!!K6RBy%;b$ost3b+{uE5Qs_+_lOQ2dWMY|CjtKj4;~D~w*}n_V0&bTdvWt7Ro}E1{YfKul(xv3puo)nmLre}0fD zM0%(d#SZ+}oV)kVTiDrm%okf(;UYoF(s82Xpd)Ms?<g%iQpVL`)V{qAJWT7sG_))yvc6V<_=G+QV#y|<-v$!b`{LSlvUEGCY(AQ zQD6aYC|Lb6veqKzX|dDK(3D>K!=9>SSJ=b56nZqwE(bf`b|_5*hb}q$4<^#FHoix8 zQT#M9^~V1@w0GbR6z_6~*#;2YQd2iOl? zVVcd05ECJMouRSCw66_Ahie}JJ5cAdh+uUG_wY(Z_Q_d48CEkFXbGm>bl!&kb_Y#8 zJu;fYDcgIOPI4I<^7U#dRs8IxW3}ft5ckgX&?!x(c_r~lX9*fxRUjI?yFat5sl+o( z8uQyD;5d~B*tz#~gt^cqIAt1 zGM!0_P_e#|lp(qU{Gdm|b^3$1IQ`UKwD+PJ`M7wr$1x-U%Tr@ve_$>$Y6P(>GJjMJ z-}Ud$8rQ_v;EnBv)$;bg@NVnpNoTb4D|lsgRY8q3*uT*XQ=%@D+z_`_$X~PQC{R>+ zx#nXTv5e%%&dy3`&2lA95e^(gl1JhIP3AeVXQ=1!$UQy4{r&On<V5_bMzu zUcpKu8;S4)Z^p)hxXe{e$A^VI93ue~M;l6k1z@=y4lRW(w76Tr)iVQ-6V$ECeU z?_p7vCB2RE){wx&m2qKUyv}Ft$6Zm(cr@LhxA0Q<2#QXao7C+4ymXyVZm+$(yfpJ) zqgYFDL~ex_gU}{k4Lg+i$C%-EWr}-rdIjIr(}$9`G{LOGx!UMGV!o_ML)-j4um6m`^|Cug|Pfvy->F5SB7Gdz;QE;PO}+K zQA&nymjbBPzJD#OA0-H`@POKvAk}7pd3adCa0g$AM#McYpzbqD5DquziM_X7M#*uv zn0@(rgg7QPyssk2b|2IUrQ;;4{BD7I9#KC9{CGg?cwHX>GyaD6)8X4q3?LGQdv#vb zv4iBbqZy`-Dv5?KyDIYHU*YbGj}Z!Walc>kgSYsR7Mp}421q(X`-FLVCZ-eyCGOUoC^9Z*8D?c`Hh5kNBu|COYZ znzG`gZoP@Of6KsD>90q!o8t%Zok%02Y6*2x-KP| zcFtw2dg+im1`&>>T`mug)EyGV2$Y1CtZ6RrUhoUi(q2186W-exlSY3y!r~Dv2`Iy) z!>IepUTQJEaI4gW1~UEC+MO8WlyY6sq092Ss9pnpiOh2v8;0kuE(J`C=IRJ?JQI$1 zb|z+4*4@59xqYkV+zzrk1M+=E!{t)>X0MYv3*`f|kt|gi&ib%mwp{`QX3qr_Zo8Q2Rl>Y3h zVqAh$ayAPWV4czN2ziq-5w*WJ{4)!1WVJ`Br0W;BeRnOT9pyB9t7Rhn`L8e}LGgk* zUMf7Q&XZV_$M=|PFA5MPi0&W_>g)qS{h#p%X{+*VM|9QAXZ$Nl(I4(<|CkE`B16=Q zB+$W-1rl974JL)NfwHs(FrcLwJ(=~u#WF^kBp_OPUCT*%lafX88MBhMn3CiAPaJNp2>dMRjj_0N z>4_woe5g5{mFlLo9-^t~XH1rB2}LxXDwZ?7P2SKFNlKM_$AUv!lQIUUa;UDL0G{%^ zq{9f-O#L!5*Q1(i;B{Q4R+WDER5b0XLRdNgWe(TA=-7EH4vdiu5X_x48D!j*I@&U% zzoH|x%K@JKxE{llyCIQd@jJrQO#@$gK^Mz%W^2z-aCPrnVb{Ix?}1!!2fB7^$cr5J zePVwxh;+Fv=IzdB0@@`)XHH#tFQtS`S4-n$npGRdC4wH0k3z2G#Y-8ajh!+|f)r`% z6?hRdJQ97=8aT=A7P&VMBjZhA}LN8 zynI21(PG(7f_s@?H2Fc9X*geja@o7X$$4=pN-Xs8HmX73><$l%d5#*mY6w2vcXmf! z@6Oo`Q-8fJ5VdqT)6>L8c(FD1_tG7Ntk%dSs|IAu4z&^7xpEslwUHacuqY*gT%w~^ zu?R!!kNP-2ocTeVS&{^<1+%n~^JwwU3vWs6#ToToq5d3vlpwh*_b}LvDW=A|yeaG% z1RP&=PUmm$T<)G4fQ&Bn0{Nb6;Zo3y6}+L}?tmQ3#63@6Gq%&r_4G zNl?v>pwI>TX-4&Z^dJnFr!;~_!mQ*2L~^HMvVtWO zrO0n@%AJynDEgDAPTytubn`bMjbjvKcg(QC%!eseYp6@|@}W#A}VD+a@jOIEe0JN8%x41dde3}XIi8DYgIBfQ!|g|M=ou?fxan^ZB{>2 zG<}3_l@a-mYMu5)_T5sp>@S)uHnBp#Pn=H!u9OBL?y%&gGC(eb({b4jx22|2n;%{% z`IAYe8h^X%D(fL?nMl(bu4nhc`E5^wNNdyLKzt7EykGRyF8m@- zX7jktHzOlyUmwX!&70c8W(>}A+2LwBsIkK(ivGFo6`u(yuHt10AlBg?ER&rr1|_sxB0W|K!$otb;(k3Ob4K~NdC!J1TI@2J zyNtdPVPm>92&Qia!t!jHkwG|UF?FoS#Fl~ZkT66_#|B#Gt_$qJ zzBtiW%P5-q>Zpk`AtC|Wi4#RHuF^r-wvlxI^+vow(vNNfMc>gS=@^ymMzsjTPYc2} z#uH$rqg?5kgO(%H<_a<;)0ECL2=5IGuTC&2rvLKiO%ziLt)VD}t}Wb1bB~+Rm=%t8 zi?$in$UN28?ug598CFAjN^*0NhkC!wSr>gU$fyF{v+#CC&-Lj@|9M65FRaiCaIr9j zqMi@QhwQoJxvkOAK;tFI;(HV1MDE!IQ~%=2$y`b(7}=Md@Mz*R z(M+)dLZPDNevx4y_;Hx`#`r+sE>j0na=)8tZCVy>>H`~VU^|aoAF)^7AF!R2JMRta zvQ4bifD%;@G# zwipJlmixX+7!MsAwR_PhyEWsEsSflZ;A&_}>dxlD15$7mF$0-9AnYqbGzE`hV4M^8 zCEV~wc|$DFjOmj`KAmooW}peu9y7N*PF+1Ms5I>9D|rek7c5<^+I}yA*gdS03c(jrBfJ%UZtNO8ClNQN#topdhS}r`^zuH8@=nb z6+V?-sk7kkM*8&fwhpfHGi$?G0d!dQqf>CPH8cvysvl`jj@nq5>8Tu2%vBD>_fJ9$ z!pl94YmXN(M1$&WdpNV2AMF_2mqyF0@eWNSxRutI`rNUp-Z0CZ1NcO^QW?eUJGj{0 zr3Vd(>2Sgo79=+gqkTaluzs#u`+c~i5&FUGYzR4mt&)1s&Rm{?u< zreEj-2Ss_%fV%@qtYGk;^Sre`kPlcT`rVXSmITpL<@yFTab{hJa7V`~RGz-!wqeAh v#g4%>=-%`rNTT$Q3+IGsv=@uepU+g& + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/fonts/roboto-v15-latin-regular.ttf b/documentation/fonts/roboto-v15-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7b25f3ce940cbba3001420d38b7d0f12fb7f2142 GIT binary patch literal 32652 zcmbt-2YeL8+yBh&-d%d`QXv6ymm>)!At4ozF1>dGNE3*J-g~d1_uf%D!es>{K_Ms| z!61l$h@dE-QS2h*_Ws|Qy}g3GzxVff|F@snIy?K!GtWG2o|z+*5E6o&M9fVaHEyCy zk$xj&l%7N5}{>D=%lnTSMRa>HFn5YHbE9MHG_vnB_E2pN!$>&$_; z;a8}iO31*6xUM*G=$HvJySLwl=R@%QaYKgp>szbTg1Yn@gECJJ?K@$F7$p3I>rTjT z9@cm00ORn)eSi=7sd2>c(PJD#Nq@jIg*_iJYQTsw+n1FPGQ1J4za%>LOsu4{5s~PL zF9{&QWTYHmG?_wb+5(I=Qq1;xzW3$(z+z$}jk9e+a&*2>u5LGeL2yBgb-T%uK=7ul zQx699;KL93egS{T0qUJVey|C~{Gfn8QmR`lCW~mI)I>!K&7c;slD)QYCR6!YDWm}p z1yNC`V7KdR&)?A*>{EsDFHFJ&doQ6^p3sX3WV_=}I+@oXfF!>HIDY`=&w$hG{HkVK zZbkpmO{RJQaHdqJRxwRX&rFR7)5pfs9(w{mx|lVjMvWm^bdwbR{N1EFb-KUy8orSy zg$PzXqbXlfme|B(S@07Xj)Y{Jq1YxGZ9c^)O|*ul>DZ2jR~Swg(;&9jO;9${pYzxb zC5=ZR*8y!bi6P5WXafLXfQCvVE{xg*M>0U?NRGmjC{~a10Sx#lw(`kkWFl&HvPs3Z z^1Q9E_b;~jC(AzWhyF%e5bhamA;mTyqb-c*jVQJeqpb|TQ-Q&60qoWcOQ;1YO=Kx8 z92i2f;>se}m1pgiwR=i^8>30ecUabe`gB;{;gd&=AG~O{d@J>7tURL|l^nWp0ey23 z-LCXuX_2yZfs!Lw>6;))GR%=8ne>}URg$CD-WS#K)hZl|i&$1iA=a0n*VkwZC}w*j z+smQURa?O*mvvvo8f`JfHtgfsUastVf=Z>wC&b5Rq-SPjq=iRBgj>_&t+D#>um}kk zVR}QjH3N^+!XnaAGsWzg8$SQ|)SfkaPaK~&YW%dhwEBVem)~Dqc)eidyxD8%_&27d zHMq9pozKF)yc=0^Wy$Wz!*V9}8^3kXzN?|9PMIE^TeNl>`c$stN8N1QSrSO1NIXd= zHOK_Dt|F=@YIU{Z!pa&K)Z z8CFh_8Od^%Xl2ODN=~UBnx2`K8WE0)T4UogB6%${GScIL0h*p^=1o957brErDjnBqZ%ITP%Av#Eu)+D7Am94t?nST-(@j z%bV{0;PBk+H67Y2Q)g{+?EPnS!^YpV96|S$nLKOUQt`V!%R8oYt^0bn;pi!ENfu(~ zJjbYV9G#Qn09eLj?BO%%8r=$IIsF>B=PFf%HTuEC1P)~jO14S7@k2tgBK3l3Fos4% z8sZa#xf6ex8Nc#`FJ01kZ2a7bB|_V8=yuwv$)piVy7FyjWt#GEf1i;p4pE2`O5#yw z)=Op5FhMXRWQK%hqzghqRzygMkTv$#ISCt22-#cSOqla@ywLb-{t4u%yL3su`~Ez5HYLmE}?ZL-Y1I7+DLL4n=g*O$z{-UZx37FL;1BAH7k#LFv#1Gl~THN zjQFDmqA(`M(B67id)q|L?!ql5s|n1`lqPJYYn4HT${@P7Pz*e*q|;9h(|stZymF7G zLsI&XNLG?8xr7KSlrStOaMlv0pO@Q9I@(XU*KGEpJu3!WVsOL>F+!kl3^Z>dkQFj@ zLBP0ehD8We%FxF`%sS*<4mmcCTtoXstC%qWGX~BKUEfTpp2egU2sAc+dCgI;y*8?5 z-<10GQ>xXiixNT{vqdA9grO(_wf2zHDb*vbG%bId&}ZvZeG-8r8jW7)hh7+n@6}Yl z=!Y-*Y5a*ZE7k}7jIzlEH@KBt#&v~S7zJyrAZ8dt(o#c06L`Ncm^h!wlKk$KJh?C3 z`{~DfV!@ncOJ@lS7A=@73PY6>${7gyw7+QsT0^<6oD2N%i<|e9TO|)}JVZVA1H9Y1 z_o0zE;nD#vod%a%*&sUByQO4VbO9s_BD)El!fMiG#H9(h3zbDeNO|eng1zTii}Zy2 zO+&3CNo%#vUIN!ucBHFBn@}u^#z^)hqfz#C-#0SZB!@>D)$ds{sKyr{V=8hsLa9Yc zD{Vrbjp)2^^ui4VRJ?t;1ZvGB;mf%~%JglWN3Gnl_~NtA^S@BOP`UxSUXBv+A3ztc zNsK_$JW#87SzMH51VI8hUn9x#r-b&Dw-Gv0PG)Dl2_0n%^rG}YBYG6%yd3WWT@HP)AIySUk2Kt z9ca}LoS?bd5?-1BXA7*Z)K_A#Qm9<63fQ2LQl{m|K6-yVl>>Pu27I`ccWIhNEhd9F z@6x40d#jBg# zORkU0hCs?7G9=4U?wdM86uSv*n~GTrgt;Es3`}~1PlQ^+Eh5BmNO&0fOngFG1k*XV zC@~nWwh(@>zn3^T@B9zH-#Pt<>9A?}xS6ZA&6(J^x^PFhc|aLmPxQA4 zn^xv$R00;~0RD2id=f@1;CXIc{9iRd`@4A$YQWncH3)Zu382flu7JvLt6nm=z$F5goH%va3SIsd>Dhxh${#l# zD8JDL_NH_t-KVpU7}cfGk-Nv&tStccTZ0DTfPFnlRblt)=e#Kx_H{} zpi-QD*GEFP(h~8OuG#bBx-#ow(2xWTmt%1 z0(y`~lZsIZcp?WU@Ro)Aa4QkEaHAaSi7aO);aV0{O-+*!nWn|@MY+zInhCU(jDB;} zTu1R|_L-yljwm@@^wYXc&)2P*J!`e{!_fJ2@6BB(r4QYoQvHMRAKriP!MKyvQ}z!z ze(P50j!7HWKU=y?ikd%W_<{xZ7Be2+-{BCS@p@Jy*(wgXxuexG6jcsowG=~HKVgOo z5&2oD7m0c?b(jerRRtw54T#r>QG+SmNOaZ=aEZ872tG}l7VFm9(P!F;oZ+A3-TFtd zDeqQH`0g*|=bl?CZk;%3^)g{b<4#i^}TlYm2}b>hTrvc znRrM16clA3aRgl+iUUWYtL@RdJ$M6(W9kHwc&GHF*pMZ$+75fsb|!n~ku&05sihkh zZr?Fjbj3CugM~wqAx7H=i(N|h3k#`uQkl0>nOg){S~~s|$Dysups%-A>*6K5%xG&f zYwKv2x*(HiCY@x-$ou;%`udSbEXss z-yZw$`p%)vPdlyUjpG+~n%{e9?)V`+cAmeSe|Z0p_Uo08o#r!OAEdmdzo}aXuHTRh zB(_vlH}L_)KCFj}#d2_}4{M1)JsSdwf=A2&++~s0YW*3L%zQNigU`Bz6_a6?`EyBm_cR3ZeQ4b~h`O zY54j}0k@8x$jDsOV(H4z;EAVl+s|m19=dAeVtuGmpvV`M3rG9|meYi5-H+Cet9vE) zxw8JffPi~+%F};n|3fc+3u>QTdw4}!tw#N^8|YuZDUbJd?)do1E-J3BTF-v-(fuQI zE?s|K$@}Y>vg&lAb#y}N1G*$_v!?4Ye6s$c2Xgg{9DF6_E?~MVaZ#=8$8R!n6`>X~Rw{~D>{}O{6B73dNoVb? z>C3Fb-^B$3f| zlSx)LS52v&X0oW}7q`u=6qis&EOG1rPGi|e@BZ|3O#g8Ul*h_>T4&xS`%fq z?e~>9W|#|b!w9Sfx~^0_N+FR@G$ey)0@sGkFC^@vn@-Y-+vqms_L=LK?*0Abrp~rk zxpcATRprudK^O935e;*6envwDhA{?76Ap<}v)~k^NfwuW<}c|PdBNS}CNG<0^wQRh zvX2LF(9EC-sY$$VUm$!{+D}|%PZGupJM5)fbhfQZqVxO7_`WZx{~u^w_7%8(=tbV_ z`)*^8Q8`lz**C>c>|2V&dG=aDKVi0gD*ILtzBLKdaTnAPL*D$asN;XKhvW*Xbghtl zB)CFM1)=AWdKKE@AeZ;3e;i0BwxW;#h02mDMOp<53@9h%Fwr61ZK3>ala-Qn0=j0z zLmClNl&Rc1eV*PwHDqUoa#%2)8kD<-reB^;o6|v0Zc>Z#tKt~{r}A}5P1G*#ZZdwYD&}joVLdn6$$rF zqxpL4Z1$zXC`Lc;V>cc!h|sQi;jeTV^Rm+D_@W|Y#akJ$fIh)#FsY`##o^Pajw^_a z!vQ#`h3*c3Hcm6CPA=7zmnHh2esS&gZ$%4cjbBA|wio|gE4g=J>f*KYowTjfar}%? zzv88Na>HBuq?ZrYxX9Qo9Mgf zbM)i%^Ym-=yYg2GQkVc$*V^xl26=GENKXu|{hlvAGz zRHWg`kADq*p**0$b|(25FJ>LY4`WNMWxp_PviLCvgo-JS0u4Eu;UxQuTnu}&W=J!) zYy&9*Mc_iP@2yTLn_!{2MMBx9G+6ojZ)G3tw(*^JmMNQsT6V~#KQ7+*Zp(@Vvo?!> zYN*3crw9JRNi3l9u~tOOvC)OHPN+;!K};G{8X?J|5BI;Cyre3$J+lXkgqP8vGsMB} zV0`l5cr^p9blyZN%~q~7Yv;nP4Y)13a`Nak@fsb&aC=?(w96+G{|Is6cfWG_bBbRi z!|!wDz7xL~QIi-k2Ei}XSJsu`?iHQU7U8VPD?6RrEMZ;3sH#~;PdO<2^Pa)PQG{ph zxHw`+*BfAFQ&qc3un4D={io?Se^K96vuT&B_F*((*}fg?l{-Rf`+GXu{hN80QtfL4 zgdbKS&F1XbpoV1H7u^V#uh7 zr^>-Sx{R73LDwmXr<5cqM;G$^XI;ovl(`s~+K)0rNNrgc8s@^3mw55=KxwkZ16!=S z=!wA)OA;XaR6mGG+D{e7-L$95L*eA19dEy@vz5kPRh}CKDtsf}FOA=N_|R7IOI9!F z?~)xb=t&Kk7?{1I_FgXq&r1@ySR0|t`48UCmGv|MqidhpAMUq*cg-Q?KWC0KlwXGs z{ZG7(P9E>Y7Q7g!SJ&kF0F$bW#|NX+26G-S`r(tZUOfcz0}v3I1rQ>$Fve-62?p%a z=(pu6Q}a$*wo=SDrZz*XH#92Z$do_EkP{V#fxF>wZa2gCqPXJOM zP$kEYS7Ui;3L2!KN(P+zJthd#gaLHQ9mTIm@w+R0E__)!-2Om_5m&JCyP*6@DBqVf zQp@)$QloVbLYF1N?K$`zbnb5Kt26LVGTDz2^bAWlttmEmaaXKR`c(XT%a-NRtgTDf z_f{$w1b_Vu^sQI|*E#cIdUhgDR~sq-@yWDi!T;1LWj>v#d;HIY^@iiDoJtsLr~$Y| zNF+82&RR$7OYn7qIx5+OJ~o~0AEw3lDi`Q%{#AHUkeeoB@ZSS|X3cmi?4kH*29yb3 zI!T##`m}z=vu5k{EX0D;7jBEtkkE$`y!w!v)Qe>bn+K8zAJH+U;Iwe}pFBvbPN!84 zNGFsE!WZ_+C{1$Yif|aB7S1sjj}E8#9#X37m_KKI=@4=Cx^)bOn$j(LN2lN|D`Af5 zU`l&pG)Nu3f?t|@mW~8t>_=eA9_u1^wkgWjcrBhu^P$jje~{W>{Ie37C`VRir@YIQQ;Z&1}fClF@JGd)u#2`sB!%k^SZsjy^l?#0@E4@$b6X zxVNd|0c>egV9313c9jHYnvDu>s1NgFV5(43tcB zh>4F%8BENtBbgr-T^ZrKzhDGi_@H3rg7@2XJ~DT;V0xxpUollr>>n>uZYp-&hgbJ2 ziTkgjt=~Xfm7uN4ljgFqLJS~KyD4|QX#l%)8;`C8JqW%+3=$#M0**IN@EB^-f&e1( zAE+4T{sTSy2N6Queye>B>&BfO_LcHt%r;@9Zy^iDm=jwlXS)^(uxrQZ;}zMV@2W1-(uT;27oy z1pau&TX=bh(ZSQ9+eQMv7$1k@LyauRGR4DZ*1P1?$>9b2eTSd>;HQH1^K9)q9?V-W z#Q#H+X9?-g$(THv{>*T^cq{#N130WedII*}f#GoAI9K-JIA&U;rh9SlG{7~*UykzO zF3qUqBd4N1je>>kwgq9ldbpV6P&FqsOivw57mE=Mj(m8uEqo*fo18sL~6sMFnS{_G$|*ieIiDqiFYl4ReON-8*2Gw$NhG74!4J z6OU@3Ees6z;o)om?9qV(h5PH*^GnX?{^p}c;(=wu51llv_04^A)Uwjfz<3{}i})Kb zUY1lOv*p;hct$M zLV3Fw)t*GBm2#h$0)lfC}nauL@;Gi@!&CD!a=KIrglb$x7e3o_<3ux}} z?s@SA1>*bbl&SU%;ghi=`m`x!(HsI{Vt62Qb`jBbb!B~E5W_xHbLzyt7dRTdN;`z=Q|e^Tu}Y-QY{*jRJU&T+O>(`IHk0t-SE8t_-(<%BFnJvfiDr~_x{a# z(ZC)KI~D;5_j`DmpvgUQ>g3qqu!AKHSF=UW>f! zg}Frhpbt79|Jwy~PVeV-!Z39fBD!!)K|w#-{(;hi-n>o!oT$vvlhWSfX@8}*eIcOT zj8^LmXuZ8z8njw7sZB!B63B|T7C|GQz@^7{S@Mt`UOmjKs=OqP7`3YMdWV4+!$6Gu zA{rObj54VY>vRx~yzhZecsSR~FzqK2O%n+r!ztAno?$hmTVol)(ptLlm%iRWmKg^!NCULe()u=r4$KFWN1RpHW@(US+-Q-!l7n@WF>YN1xVFQHZ@(oyzz z_9dpOc-6|QBAO8AuzOe--1Y=F@b~OhfY`fR(bx1-E_ie+saD=*&u#^v(64$x%SZ=Q z!O-PimjlX`XLJtQ4Rz8vCoc`NngH|^anP3Betst6m}n*}b`GqFXu)$Fg*~Qzz3eM$ zn)qPlUFB)vp2bUc?_0cJuaK}!S*To90=K?cOjApJkKFm{y!_Q2z_wWFBURwAMUi20 zs4AaB-ToV|KFF<54N#6bjpK3zvsTw}CCEb;@`#LlNm8r25ZXG8QG&NJRN1C1z{Kj;0tqY3M(R6o|B;E32`Pi8rBwPBN;NVTS}U}FqSM>~NpGhdCbhp)z~ zxwXJYS>zFnEc7*y$F6yFYv9Ji8(Ge1vlO!s$BLePC_TQS7K89|#48`mS7T2^VWjeC zSK9}NkAGJ<^UVRH2GQ_?9Um9Wx-hapw`f%EbQ;sLW9?33+RZ(Fa&@a=*-c+>RJY5- zt}70|v8zwdp`B4DUq^}1MOPo%PH#ELL)+m-vW86_grHq`#MD3nu_!f|e(v}!7CPe| zD}tiH!f8SnAA==ohb|0x-#HHWy%s|!iO)!dN0l~E=UpWLUh-08bJEUI<8x&^zGFmUi9rn`P#=g9yG2k z6Mt@c>C}TCKL8G9Tv*?vS!U$-t#EW2SgqmlZ`N@1(M4kAga z%b{gibQ3{%4f>)-U|5WSjbgbb5XhlWaJf$lY$YSznvt53frybvy$Mkwh$0V(6ei@q zcjJa|_`UdRd-jM|m6fUAeQ^Hw6~7g~{~&Gj>&o|+zU|iiyQ|7i4H*Q75fj!(^B(;x zQkA)#Xrnc2l;89xS?*B4JIV>K&IvDE9%T?Q@6WYaQ?eXm0=yw^cy%GHMG^IyiAd!v zz-)wF5rGl$wD4Fa(hZ@P4M&e&i_e$ojT=V~zi2@H?mp_&;mKth_4?@42L+!!UGe*+ z557rd-=9raN>9aDj14rDO?+%XC10+{L@m1RNQ-sm-#aiVWX7QVEpUD z4P0%Ghy<}@NKa2JXf|VCiz;n8?Kr-u)nZ%y@~wJ{zFTi+tgbk?m$3b6{T+V7nBI`V zi=M{3ROhg1*yf$8&3N1WEBy{5bfOxa?txln5;Q`K1@@&3K8885=Y7bUt@POE`p z4ud};QRBg{I>;o}%4vj2c&>$Nr0H@T8;U)s69L0ExIV%-@5UYzOu`Vm;~}2714OUR zy%0c7A?n-=HHt#@g0$!lFNpr!@`Cp+T*@z4TclT=Ae&}S>^ALU)RP}#X}P=B8??OT zo3A5ptkqm0lpy?DV%C*~Op(jI47WBGrHOPoCX97tTTHUtI|k$2%VH2ndnyK$Y>$cy%3E)gU(Q9oL1&B&oiy5^ty`)c027U zQ+G{KPSS=`c1;zESsSbZ2W!nam;roLi?-(y6IFm~Tdaz{28DoW-m3}=3&HXuOP`1r zgun21cf}-41eK=4>pw%bHg3XN5VL$T(1K2ns1?|-vZ5kE9!ZyVN>dV?=h7M z_AXkwqsDw1vu|WA`-AQ++qKM`OUos;>9mL*{;+fPy#9O7*Qh!2iZE;4*goBI>!u9f zG`uhyw|8Io=E~Gfqu*@Yu0gwIePzK2re%L8|_5!HSY!7o>P4kaoU8x9B1_6A@!*1!2%X**RJYhg5a<{Fq7+hv=i%T zHOU$|q1I~*jR~CQu+Mb%xN2yuY8vTg;v$o2jACXrmRm$HkQgJvN9k8Blil!3K0^GA zez+0DXA#OKH;ppG$8{w~^HDcjCPv3y6TNKJ(1Tr9PJzONGV{S`&EyQyjtdJx+X64n$rDxy8K6U(Jh<4A)II(BVcG5Tp%sWTwGa$^>tMiYp9rsG}T= zmW4q9`c^Z>&)Rcv$dtxycN|Vnm7hRz~iRV@#0C*jOZQALqdfp<}F}u zmZu>J_&6UDPZruIi}mPu>azp$OuK{fz5}*`FiMn;k==cAW?kOpGx;Ds_HY4XZ*^ji zEAAQvYJMX*)I}%E=Nj$0lFeL)x0#dWST$lT7Bm@aj0H_*m}6PXU>@PA4BGPu$uMT% zZj75KE5&563}&M(x!9JR%qCpcaXn@I%!|mfK!RzhZW`1vw#$QynKl*~ZjDb*h)+mh zvrgbzv37r%+(v^Sx9^}~Tec`AoFHk@5*oH)-;7Drv?53}j<#)XmffcRLgDsHGK@xO-lOyQEwvJ8|wODqzmpl$piyPPwQUFgSj)qrFKC2FIG4DW8q#JLdbraV-Q z>3!Ut6c#aS&7gs+Rt?Nu>&R@;A~UOHOQ~q!=1sYS)~=0cTC-NmwnJLryM19N{3-p8 z?*_B@UpB7|8kx(YhOYpM=*#omm__Xo@1YA~YTyxnU9^r5PP*hERBlvLSU`s;tM@3= z>C8Q}LFtF$>tdI6%A0iSI=baWAcjgQX(((G4(Lvx?ww>G?oC$vFE^Dm3gq6uFebg+ zm=G|LDu{`0^m^IHeIGo)zgP~7V2*H(Y)rl6XaO^0Q&hu(1&eUNzKY;>8hX$XzVXp;4!3D7F7o<+V!kj91j|$^+s^s!&d6-mX zcD;Z~u@Mbdom2u~N)~e-xMo#hQk8F~7R~B4so8SN+fx>7Zqjhg{=7N6x3+z~N%PIw z(ttWCNwv}{zd3p0z^oo+D=!-~b=u&h+O^Y03anKoOSgn_+L$zE8U_n|Od5*G5mpr_ zN>C6*j8ThxY9+JWYu{J?Sff*vJM8_9@a+8z8#IKplLKFlkJ0pfZis6a+%ckg^fV&$ zmgDs2S7?KlByj)dy1dN5D;p^!1(;QRy|z+>J5i%J3soHi1& zX!(E*+m{*IcCG)WIX!x1-;smUlM|~T#0Bxm!cO{B$7V#6TlxUx=_%=vH$EqOJsdLlzUj)dC=^>dT_)qlN>{_>zQ?{i68@ zJSMCgT}+a(xk%TQi_HOxFV8MFO!{EsrVmaipPYQVZ>NsE`*v*KN09n${rL3m7TZ4h zXqUeKsL=!3^cyv-FPjmRL)MEE#G~lTn*s^s>Lxmfu=}0iZ%jQa+gdKhMvxSs=Y#dM)@#kZ3Td@n>m#b`~^s%--R4Jru#z2%#0N+~>Hz zFlK1~sRhD=_s`tiKD428wvMoO(DZSq`^60%J+jA+PcFXq?%|PbR?<4qdXp0Qh~aNQ zbyxJfU~q%+Dke3Y-$R`6Pq>}YQY2*L)X$J!S+wCd?St!-?z686WZ91M+m2%AEp;#XkTTU&bD5u zyw3g;ogjRLKGTg{6~B`DL0Z<}^XGllz!Ai>`}uNrrX=#^1St0=GFP*%ST;y3=#9DE znXe|4(k#S^Qfi>I8|I%MACG|h=Hr#)w8ePksB#on?P%M{NdPAfk!voM;6ka!HBBS5oaG1DX6 zlX^iET&+jgOIEydUP@$Enjs=o7Z%9|DG*VcoVxev-u`-(3CHl5Gow z(!@7~^qk!YO%}sz*uU&C(G{QEVbh}`I{8noX6?w_Iv9lOkPJp z8H+GdI7lA?n=V(jaPNr+yU>PowW*U{6fgUQa?fv&jzthKuY<>YQM3BYsy>6;sFH_~ zZNZo;H_*ahYg7uz4?%^ppG=N8gM5&o;@q?`vGS~XF7G$Btg%lR26X&{;E2%lFLV-5Q$*%h>R3Q_6 zQD;`C@-aJCi&s6_Yn{ZHvsGgkc?9_Y~6)EQ*=4ib>IFpsgf*B76~5p&uI( zlNg=A2~o+3bFO%5H0B!E2rkRK>umO;iJy6d$KYizLZXOQ;v>?0d=E8`jOYG4&{AYp zq=>a{n1!p#1~L7gvA5>UzdLcnr!(K4n6l(f^P)NL*L-^T!{!48%c3_{?A$YB>IPl7 z@=STF=T`gjnfK?ddNOO&$4gfCo86=Ow#-E{`YvX(W zw+I3g>u6r#lnFe7pkU-juLvM8Y`0&U;~haj$tGw|ondEq$I-mZceFT~LN-*2IuCUG zXkasSA`x-BLZ%htSkpj@j&impcMxlm#mmt1;$&LwnE~p_u?V*TLz6vMZ2)s}#|tv` z*1hTpV^D5k3|K8_^>`t{l+I=uM>3O|CoCGoBO=*)C=c#vY0MXc23zZHevG} z+1$q$i$~@R9rEr+!pGrjY48D>agdtUg<%Th7JF%QkhC=TyHAz#*MDTR-Pciq8CPwf zQzXJCv{u$fMuFem(>d77gm+^M@bRjuR z%^9WUR8^2FZdRS->JAZ{DPv%ehgO0oGw1TZ<7nb|yk&ZP--%x?U2w5ZgEJ#O{lT7U zcxT=R6Iv|zbN-cjb&&O?>CaBD8BFC`r_)b+c$5%y)bI(T4wF-lOBqC^cEjrjCtS;;8QS(4KW7DBAvw8 zZduH|F9X+HS@?a*Fdo4i75oW!Qn(e}IRh)9={Kxhv*E81($9YT_XkiTqsocW5g|d} z4whsXsUnNv+_wQelC6;^IzJ`X!$2xiE)m872FXJixY^Ixn~t+-?iUaeru2AY^5o-_ zm7}j$Pigde_0)#C8C}PYJ2+`lm*hqb-)!83)n>AETdb>ljDAp;e*!~MKB$dPj1R;x zJ_3g~T%;He2zJ?GjC8}?R~Q$GL@RlWLUJKmL121_SaU4rW6xg@OKE6z~Ry8f&Dk-=P|txRf+6i-(9Fq?E0g{K1dYfBNrJir)F zR%0y+16fTWkU%9BmFq%(@)y2oA}P+;Q#M4Z1C@mQ``b25ZG~qKWXN0uuEnJywN<86 zfW87)g?*Ll%@%AZcxTA<`usTf8pHWQAySAHFEcG1o+>rMNlec7bIDonHQ^Qxf1}5! zVZC||7p1NvhW3o>I&640N*O{n2xeH`SXqOhf5@;N7|-P^X25rZ#hYjaDlAcM(}X2L zyfT{338i!KUN^E{2-4m|M1g4F4J@*Svareqf-@e`1m*TpDkzG0RGA#AOr}feGQ9a3 z872-wShk4%#KzOur?RjT-P;3&^8<(RrQ?9*OkufjLbnUW?gDa`v)L!i394D`9BB*- zh_=GK*)xzA^W|_ZFVu`)gN*zw#sRIqyzg2u8OG%?VV+d?sy}SV7rtE>W5IlnH^ezudqn`5xvkgqlFI!BS^s`oLp74#2=Y^S6H+TG>WlU@d}SxFN=t9A9aQX1{Wip z5{3KRG_93OQB7idMX&Rf`m`rrl9!_$m}cDQ{~Xs28!GM6fdij@IO0Ie)RE(JzxqmO zURa3u_BW1RsIbqwvKis80lWLv8jDST`YB1-M3}fvM2|CnFb_A)Z4t z%!^@gOF2G=663BwW4sl?BpZW-D0C8bPsMQbunZMOZfEgu5)d>W|7N5q>G&jGw#u2CGzEMd*zk1ZaW@{k z^XL@^Fyiz|@4QyH)--asXOVJPIMajRq-WD3U*)7{st%Spb9=J?lXw1=zIn%=!bU(B zPe!VB=DL~&mV13O?nIvgE>Py!46>YTha;ZB37VoNqtoq>Die~QqD3^~n zqdI7;|9>Amz5E}1@B+yM?oXgaUtZHptDnokV@6wm z1e5ug(}}G>f}y|jJ9m04L()|F{^GsA>64rHX_T;WoiN?K9*M9~5oyRjJ=uCBN(_^* zeEl0kx)6`Gn3xZ?5lx|)(7kv?IC5bEKiS#qa-zbT%;$oP>rO$b8 zL0G%0hSsJoxD$Yv6enKzJbd1VF$bLY;i~R_rcM0L4|Br)a_+IT(4CvhbcUC3uiOla zYS~LcVJ`mQDm&6yQ(iXjm1^!m_mAk5EZas09ttU%|y&^C5EV;y$ zcljXcU*#rxXDld*6Eyoox8vs?pN>WByaUM|^3h1>A~ayRA@fI(p(gB)Fu z+u0H>IQ#*(#-sQ=E*+zc4jk^~eO;8{f+gIE6+XL)w@yc1dLshpG+4L{W3?>rtmVtO z$5J5tU%4xI=H{)#%0}x9d_`U_I2g=o-sSyWFuS0L@yg3uQiXXCK>&+}5m#<2Fp}t` zO+HtI*Rq?lmgn7YYtaw+Ax^ko&OMfPap&gTkKrWLGdHg#D;u@!)A zH?z|5qe%A<9RsTZv25&$ML@uC6vAM?uAJ7=b@hYwUmKbjdKg9+mKly2KKDuUx#=73JI42dU!Y%WzuA62 z`X~7}^PlWr?EgnV!+>c4*8?jA&JO%Ks7272pkqPb2fr4)Jh&+MnX#NP&6sVRZro@r zG^LuBo4yTc5VAMqdFYtXg3w>X>V&NhI~*PrJ|O(Ph{%Wu5l16qB1c9Zk9=Gvv&_^o zAC-At_O-Gd%C0PXJ1QV*VAP%HI?Pn7FZZdv(^@^6g^^b1H1Ca5JWCOm56W zvt({O`n8%*wU}x(sN-h%lm*==O(t2iN|SM8mU%-cySad zCoLdt=t@#v$biifO_qzTNC@(eM%s_m6R8(c2GT~PIY_OMMj-X4zmRz}pH!Aiq?y#8 ztj8>xdE$A}(vVCB>1v?t7i6C800sCI*6lo`&Bh_^&WU(%ilrxkib?{D2=_(19E|D%m3|T2QBb9LU z6|+fwaWj#GiFn?f43(ym#Zn4+Lz+!`OLa(3;XJ&9Q{fFANEXvy$rAd+aY_op@mI3h zAd*FZXR)-L^x*F;CcTBDxHjXs1%Az3k|*9L7QINSihq;J;zbgHV>a^Cr@xcKIELy* zVvfr1D5no_y_@tveR8E+B!>P-R!NUZcfgmUZ%%rMtH>(xG-9TQk?DF&nilty34)!> zlA4gd!c#={Jw^1~EO?po$VTxAd0mKrck=}qgZq=jw~>lS4%)M`K7+K=*CfLMOC!T1 z$8T7Pw;RJBMh16FACX1+)1-}LBh#c6q$$ekA#EmW=yS5ku!9UVG$MV)GiZl*$wcuS znXIc%cIxYq<#Yq-gOq|en~K5>GEn%E)D}+TT!u$8hYUgL1{hugESaEz-qK36(J&Gt zEkZuPhor)f=bR2fSGt}^podo`&k`5OVR#$ZX1OX?Kj~+jr zPOlfRVjREVS3cMak|0SU&y78@3qI^Z#3mUeJVMbZ11lp1Oe5RLLGms+Mb1G(`kp)`4qBad6wYB4_q*mWbCkJ)Io4du z+{iq}d@wcy8XEfrqJ-^a2i`kGipY6P<$6SZ!FwH??}eJnn9Je4njY^_$6t z@!WA5t@Rk`8>H@zTJ{U}qxK{Br`?}?f71Q&_xs+@zF+z4-|j8>7nQ&f$?Q{jN&oY2 z9~QSf!0UC0%p`lsaZ*4E$qDiS`H;*av&l)+w}_l3ACWouKbMcm8FCi&KTj@T&FlH( zGjg5Wfc0~ed_nTa0&|jfjx1k>()XNBR!wW2En$X&#P`ke(u4MEb><=HvJ)(qBlQA^nZ? z3@H!kA0#^x`yM(UPYZEmbixw8O`(#p#H|gcxkI~UYcdF^7fZ}u5fIeN5_C2q+*K3P zA!V=G!hipVFn>j#I~6+nnd7*h>^ZpCXP0R!P_P0rK{D=nw7IsTE+epXkTs65%{DQn@W(Bb3yyHgT&3TX2 zGBD9rKkvAibkEL@BaNa9@DC4<8{vLHRU6`$WEvz?rC3)C`}c!urNl)WiBDDXK5h0| zHA@&y-xso*)u_bJ#15~g$3?JvQm@vvtCnSFy3EAbvcc?3KeA_&)M$2QSTX*MT2^-E zGwrQ*HKW*>Z>PqY@saGzZ(N_2ndRA;|Lp#4)O-QA<%RufvwMMIra-LahqIvCsR`vw zI3u#r&j4W6Hj-09=xEs%hF!ZbI!2zsb|b>*SUI>H?hP+T5$Rk7G&=*FX99RqfBb7k zcW|gaScflNs11I026P;z^dVuwCSn#X#2@2HVbT&}gxm|$mm%SFH!Do|uYNGE=Zs$Hw-r@q6qn-K&(Om&zH4vd54Sq!#8mBqPq3 zZPoCF5lH>8O8)>{4ab+>!qXx6T0h(whVKqQN+zw~9eEv|tv0Z&8^bHALczE+evUzI zyFk6;+*9ZcK3J2;f$<26dkiz|CqSOYA*O+%tX|kp#3n-0%*6R@Z0x@iSRDKUY;08> zCdrt*6d;ROtS>9e4|p3xq()6zbs|yyCXO0H;@=uIU@%D?(s#@-lr6Cj;ma(q`y6Wk zy6y`e=OU2?4;VF!ME!e@{HzT2rohVz!ie`usRQoJ;w99EUoej-7}wrRkI?-TqsY{V zvj}RY4QVI%Fmvc1bO@5VO`^}S;T^sm!F%p)Gu~IXBPc=L3SDn%C9osP00gyRkNaa( zJdPw_b-~J@_GC~+8fc*gTKYA_gVsgMwLtr|2R(EIHFbv%U=>*n&c6=W^py06iH+nF znY`yA?LQ)y$Yt^gx#A_&@A6g%b(jG`7svP5_kd2q_U`~k+2{>39ox|IlH(ShAI1Ii zWTkELXRgUx#jBw?fh#;&?Rm+6aousgxH6M#EE;tpF$rHA7?P=}f` zgy#}bqhNd|74yGMEC+Ca)fpWhlWfORAMNTS`M{MarleVOyvHi^t6*^^lj68Yo*ri-e&~LeMG^(48XC&wdKc*s z(#I(44ANPob4cfrE+AdRyO)qIBYlE&1?f7{4W!SJZX$hwbPM0RjdTa;OQgH_?pH`U z)aY|k3mWNbjuKMG@fG<9Ny1$l?*4>3#kf-p>Z}IL*F-vrbPA~m=`@lF&kzBQ)D-14 zLu!uH5~(xN5~Njlwi;xy0)X{_V z#{2##zXau%p!^b)UxM;WP<{!@D?xcBD6a(Nm7u&5z|;}@>qs|{K1aHV^aYZHwwi;s zngg8A0nX>}x|N`AC8%2o>Q;ifm7s1V;7zTF88DaulNlw>AYC2HQR)noIs>K7K&dlO z>I^J2*N(xjJ7@5LOn`>wxa#=R@zjy$_``9+G2QVe32^Ll>_iR!iy!(4evZcurhWbw zKgYLfCbVJ*+T(xyIm`dS0Sa;a;MmAU)&A2@EB`;{VcIi(pczPF^i{7Pzw3SHIH1MP zu>~B!=-A;n1IjQu@^L4g-F3X@DC1b=_{FizvDjh6om-9vJim&Ymmmg@AdVu>dN?LK zPB|_qHryYn{N%vW1&;O(6F9>E^b1xWIDYrc;27t4pnTx?-hCG>NgOpi^LU=4XZ;U9 zPy;X7!7K-&)*Z*ANHItZzAyO`{v1~i9LxqG=)2lp(_Pp#tFJRBdycCT$G6~d#BmA~ zU~=3BUkm}2?*#u$Vs{-+9G?J(zc}7^oMZX4AIEBt);{0`#4#5MxJHZM2QJHhj_=qv zajn9`TABR<)q{FhJ$K&ul^q=)dfxlr&lz_AyPulVO_>ho+x>m9On>)vUbLLq8 z-{fL>)bBYaX!#w?YV`R18$XK?d962cNwgZ)gC_wvxV_IwaHJZd@qj)y~->!sB1QeAa zp%S4*3n-@=qy^K+4bUM{pfgp6RwF=zOGD0dYz)>KD7z*$KWGqaJ+0TU1wr?#4K1S% zwm{UTF8E<%Y(`iXP4Mle*s%I3woqQTFs=cHK?m%J*%Ft@O*|X3|^uy013lj1l~*M7?d~$A#1S(F^S%5kLQI10tw z)6Tfx61 z$R2DV(7+F&UJQ>a?gWlIk>k#v<1QSSyModf)lv_VO zz&-8Mxq}(yYc`O2ghe(a_buqvd>?^+!fYDK6SLOz&{vo~MNv9MiRw`z+wrWm$CD7( N6K0jQ!xePm{|7p>-q!#C literal 0 HcmV?d00001 diff --git a/documentation/fonts/roboto-v15-latin-regular.woff b/documentation/fonts/roboto-v15-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..941dfa4bae83483cf1784641063ce1deceda1406 GIT binary patch literal 18520 zcmYgWV{j+k)BVNS*tV06ZQHi(Y;4<3HnwfswrwXHJ9+c`KfSl++?jLg^i+T7n(FGg zu5zNH03g865?2Qx{df0``r-dm{$u}ti3y8{0sufsKN|lJq`~Mx@5JQglzy~D003+P z0Dy&?emay8Q&JHG03dRIJla19OCrlwlvAQ({Lwysxatq|b4%)qjcg45005B6Kk-EX z00{ejAfcv_ixU9=@asRH^nV}`06#MQV`c*YK#BkOxPH)S_Mly1X5jb}3mx?1f%zXG z0mx?7?xsIl900)T000=0L1NIpnH$@<0RV!aKOW;BoPq+s?3_(ULo^635#oF9axHU@4# zxrmPb#1Z@l5IEphTLT-DAMNyqr~UX45bUVS{@6J>0RUn_KN|9XzHb|V@gE11pIEWK zKfLP)8&0{gmu^6?eRV*6@)+Q~@7YkxwIS13PqRS$^+NL|WtR!xvb7-0*q#vfPDm&1 z4psIwx8=80w=0o-rD>D(0C*rMVmF|qd5}NE(ip?H-^cUWjuz`P%{CjH8$a96#X8Yo z({S@Vsa>3U@ZfUN;-+eYgcBE1sXX+4U*l_bG)B}!m3p*e4jIMZqTuJ-A+!7Edd=_4mF-igEfch{)_AhB;q{Os- zYE!1rwn-y~3XK8H<+?N)VPqj{duua@7;#Ts8yBup)>sb$@*>N)gc?#@XcN52dM^0#$kQI zVe`OYqD#8#!df2IlVr<4)>19VwGE>QvNvMb)!QOATTxlPv3a^YD1}@I<$+ zR01uN4C|E+E|RDjnh-i0KD{;j?mAp*w3_*FNjZwOQNv#+I$UGujCyFJf*K@y137eO!rM`)r|w6swM)t)35t>n9`0sWYpSMG_>uC&K`* zw$09#Z)6X)x%^YLL_c)AR=Pa(R-@hQ9AJg$p#)f`bCb{2UoCU4;&FlMk0faB;C|P* zgpiEb9kah10ev#uK2u*fi&Xo4qrf!l@l;Zu)d7Am6#tJUdC z263T3y!mxa&I7u@6_Ev0>&~rQ2Myn{@U-=Xx9REw*E@YDKje`xiS*%XMK&e3Q|EKJ z-NTvHQJ~Jo;kxpTi12UYw&RHn`jxl#g-ccFnU5XzYimrduYC~!Th<6hHjl~7 zzASwmdNC5o2or!IHYGu(WK5>joHW4OQYYZipzc!dv-D_CeQQtvuT86hF%E^Ygb)a{^ENT>bnZ)5q~8s1GoXngbx7; z3LpsSfxDh`f?4CY3ITcc?FkFaQrP-3j|uUk$zfj&oQbDXr_&Y3P;J^m^6IVnG(e%~ zwfw^9e2I)7M1&B=+T-J!#xz18T*7bDk3!7%g!rofo9hO|GQWBt3TafVhK01`C2p?6Jk#;7?q%DNU*`pL-w&0zSgy%^i(EJ3@ z7w()-T)1#qxDcL`E((_j_{rIO0wl^-4G=u{SkSzc-41ItG&Wdyh0*j=H(bqA`qrLg zq{pW z)=SJMc!g{&7qkXW*5n3;{??xEFE=H!Gl(l=# zdw(hvDy2)$%woAxjX(hzyqkOjTGe`^=jZ^Z)A@XrSdAFB5gOpnt)J%{!f3#49pGa z1PuN-P`>m5D8Ly%Jq;lM8k7@&0vZiK0ILO{fMWnqfrQ;)^)ypz9>fnF$3O%=~3@=g&7 zyTiY4dR&Sq`o%6f+xP3`Pbq620$*M{%rB!r7rZF6NcsxNPEG2&NUG0i*Y9Imvv2fu zUvz}B4O(9oNY0va#vAnVdMch^V~fJY*Sb2M@C4?0C>AZ^0{LfcRSuai3F=|f4O0b| z6`6WDiE!6%0|An038O|ER9#13b7}&GyI<6@Sj#22mlO# z1OR`31K{0&D!m~1QAVD>Gu9k%9-;m`xQwqUl&7m3u?^`4>JYhHhIJ8yMW9xyBVnhz z*)BqoMTB=5hAS9F6?-j6e-vXMg?vv^yS0=Y@A!mUcWh;`+39{xW`O+)0fKBI;esRx z#Ov&XXGF0JoHMsHd}dwE%d|1+Ub?T6<5H@<_W6xrU< z_eTiAg&X^N!Ie1q8(zZ8ux}9q zVimEX5E1GXEoUH|>c~|2XJed(H{geqCn9(t^}iurPle?ez{f%>@|RvG>QJ|YHq;qv z)i|u%3=O;%r1o8FO*a=ibcFU@&)h&!w*>a#4b}+LzZFnkEf<*eAtc_Y~0zRcUyUWOQar&j26(i2Q4QuH}ayxjtOav53h>LtfJ#VK0rh~_USHwDHw@{L5Z1ULb8;xVrBx7 z`kI2I_JHW|;9<~9FJN84O4>Rh_?eNCk|D(bKuRWdtCz3stKS)KJ(|$%_|<>Kbu#^1 zce6z4eY;Ebxu5Pz_^vvuFhJ*Qw!(Gf$vd1DH%AtIWtwg~alxl=I?KI%B^3T_?e?*; z(H2$h_+~qK#pmlf%l!^}AoS_-VYoJr$H$IF)*KcXrpAlli#E#-vQ_|?+A9VpXfCnV zvJXC=TtJ$_u>Y?-h4X`fHTmG80hdq~Ml(}6`qVj1-#P6p#v}%!sXWn~60e9DmdczW z7EjkGW^(^vP+eqrFdV5;-mFF?Yg&DE2ue39 zapzQW$5+~F`;}VONWqqX#(gn0ayM>cr{}=-l-?N^96~3lXkg$5PN1cIAyuSMxC!ep zB0YLlylULhsT6;0++v^Ap@Kdr&#L#qB@w`fk?w3^Wwm(u2T_y@!CT7t}Rp>UK9 zr9T<6Y}&^K@WvZ)>r63WGZ=iyezRUe%V)xrzx+|xPt2p50Z9f0ZctqW;0F_z-D4q9+0XrBT7q?R z7DXd7>0XgizbI-_Vg-S+-G*3_eCYRCTYd!D>wMuC9PZx!?ZPm*EJ#mEdfJUvi`&$O z1&A<+(1Z@$C;w*q)fRYdOOtK&80gsWL*yn!NfjTt!C@hTz5x){qjsYj8<}H5Ynk7)Om6m z)udWqCOl&q zAh*P|;YUHU!($SWhtBuiP|y9X9N+feNz|iytneqtN3=vO|$W}%v zb8>h)>{B5&b`p32ZRxb(2}C^D)_#L1f>BDKB`!w(I)x0uOBAF_(!DK` z5_qh^k!lXES*FAZPy}SNx>~y|vz*#f9W=Dr#oCB4Xv+zGxu;nxu#;?*Kxl#Mx=u*t z&CrV@i@T|e0pKn)7zVl{o^uH)4Xp^-)4tQ z^XLdLrCtOdLS>OvPZ+#O1UZ)H0cR5Q1#n)iI)Us*jJe7tOt~o^#63ZSwbe2A{1DZ>BcxM8uBkYU%`?W?xb*X zwBH!44jW&S`RBz=Ecz-hO|aFDe%-Qr0takHx%PB@-trgeR(d~$e{b?I+utUYbK80%RL{-y$A}3Q!e5PA^fS9S|ZNP~g`hA(B4GM7{iyE0`tu=R~vO zysx#(h;ivS&i+Qqg6HEyjd_-CVC=0#kiBTr@YiOa^LtB*u*0ZY@Hc7*Tl`_nu>deq z(r@dr#yXz@7v@30e`@Ia7XE=W}_Ro){NL4ZFfnCtQF^by+s~_jX#xXvs3Hf zt4PyZ>o<>2b_L-ZR?Ip>*?-NWe-Nwf2~gpI{DX=@I;jE&Tv=c0DM?F0ikVx?pUjo3 z2^qv@Xsa6VJ-8s&^L0Ous_5@gaIFSm8@`#s!Q>m<=$rU*`UQM9^7wwpwm3eAS0&s* zI`ZaTpB@OkPz+Hh%?<@UiPYIqrpw z1Xmo-Xvz5CG??#g1xF4IG7Q0Dd$T_lcs}!GIy5Q_?9YYTZC9>xdVj8qP23H|i6jmm z9dGOOTffwfOYR}wn8BWcOgojdrojR0Zgp}(QwD9I ziUluU%9+uEVmj8vmS3n#Ye{Ar%BGC6EMhivH@Ninui-!69AyJ=V|I zJKJ_AX8?tJK@b*FJ#(w0@IVp~?Oe(<6D$vcY%m9)d(g{$qdV_ZRLp*>FR2j5OdX$;w_WR z0U8j$OYr)s3lei!;$FO(VKTfVL-=f<>_vnjKuK3i+;JBYqjxg=LT`o z%_cR;wspy78anIVGf~jgRctDDm>l$HBv>2r)I%~xN=YN&5*ub&Bdw(cL%gh7Gb)tO zq{mGfrJ^t$1bI!rANLVUjJao}R58Ds;7Q$ZmPqBhs|+KpNlS(~q-1jJ9(CcYRX=dO zI7}U*FW@IO-FSNLh%n)O1%`AzAF}OKd+Xw+p2=`r30Lsjk@U zwcc)ZftV9&dZr(KJcddtV^q50xp3FnPQ@w&OiJ`hi&R>@$Oius0q_qSqz69h}S z%=(izI>u&i?E$A{k4ob_5FI~Fs92)P`6$S|DgZMT1^k&)Nb-bQ*$BSKaq0}g;}v8Y z1%_&O>LYYxgRI5opWKW0BoG#qbM-9?&-U{am&)8fv7R4@1yh(r#>^B9Yb++~!?=oK zH~yVp!i*7Kjal_JcDi*sJp)e;n~@;ZOc(ZUF8QiAHMG^UeF=((R6O%u2m>s+$vo1IMSE_k5 zu#qBBB37-sQCX{gx=e=Kt|wE{=65iHgA3T*<}(jeJr4Y~#-EpQN|T9fdZ)7va&urw zT?af;Tk;sYoelA?cjL2}!*^5&fFo^AzV=f9!2FJm+cfjuMNy>f{9ssY&NweyYw?$; zWs`+vtWC#UNI~haX=B2ymH3Q+aM?vUv<#`A70i$HRR(st~9OoX1<`&LxF9iF)*S z50$Htxu?h3J3V8aIivW<7SH$kW)UkDPjsA&@gQq4C2o`%*GXfWSKxp%WzK8)v#=n- zZ;1KZeJ}BF`7SHrO`x8zQOHb>T#-R+r;?x!c_k&Zw7$AIzlfNGp@;&bT6t2AN#`(E z&iI}yD0lfV1z@NTa4^vn(!`DtxdP7-Q9CK3_u9SH(T6OG+YjqS#ORMb@CdS=gz+-p z1UhV1fh)H1&P48))yKt{EV8Ku$RtzctKNF>;l(KrW`Xd90_9Yoqcv0`3*ap>al8>+ z1{0H)YkN*F5Yi4K%E~vtS;l5U`E6l?(1n zZxr@ODgc>nL*;=QP?lGe&KSNnhl`f_O?M?V!m+QzoZs-**=cQs`iRQ6V*4Lyh0)wu z;Vr7On{~#$)KE4Sm!O~eB+{WnwRjPEDBOz4WYma>q?0~uN3x~qJPi%dPZ8l{ZbgvS@t!%YU~t|vKt3_l7{8x_L@!v_e)@v{|l-Xb0Cbz~wnP}?E zB(f2ye%UNjz|S_a=h3Rizs-H@s_yEW&69LP0`ZCX?w)sy+0Hw@vRv=RL^l@&KIiex zYJ58^M6Nrdf%P$z&M3!{e1Q;z%I<2H|{q8A;N z$<8k&=?$(>jH@PPg%7?S8ivx!xm%TV(sZ~z?4s^Lr4PD!Mr&U?6W+rwD1D(N9^?=O z#RcC!GqkADBLa#5>Y%E9^%5YV#P)ISewF zKtF0BW9SN(fosvMrwngek;hyz21@^BdvaF9!0z92tt7*R*;}9_wB?|c0>Z35;tlOD z>{-7g8{XIT-4Q$H0^^(F>9*Rcp9(f#9LhWFa|H{+Dv;aO?Wh8rH1~A6+-9lMl!uVe|t0+l?lLeYzEAI)7D@{3NlLxo_77z$I~mT(jA z?i1VDczfzd=ps5sa<}e<^d;S_2%}kl){Xzi0WiGnINfy-kAe;(<~@qu<--6 zU9h~<=K)$+YpRH`i@@E{Ekk+cyUt&qGX>nubjEr&nF<*3XO)+QLzIK9$7a9SW7D}Y zT2WPS;dd9n)E4G~wlgqsT62oRym3~tMy!VfSc&*JXIgKIRclcnUh>u#!DP{Ss<|oe z8SoK$-M2=nJ8rg;=P11)Fasgb*?)6MP5_hhT#Kqhhl3!c`7W6W0bTkD5h$i=Ia8|X zlHa6A8GA?o(&nmD1&Xq`w7=+p==jU@;)Ng9*o=8J-dWlukglQc|A2^rh{4!ivIpMm zS45Tg0QM0j%OIHN70(OBgvt`xn|O{Pk^lW+K4872CeC*KSMqWnVIT9(uBhI(y#vjk zIqj{7?PmXP&r(TPKO|%iF5y03cYZFi{6@|YLl|I5)acYCI=Ex7hz)#tHv3X$Hr?Ou5Zmhuc#OV@6Etod{{4K3j!8N(96gkbpT%B#zYhT?i zjBh-zFcAZ>M*7Z29Wj^4WX@~XMAm~nv{v`~)1?r0bqYo(uP+EshJ0-#cESya+xhdZCb|U}+IWF1Xp$*p~__+rxt4wV-ViJ!AvJXn5}Kb-4Hc9_&}N zHx5n8?zrNy)Mw7I21eG^J14C@`WM`x;Xc%(zES`&*BS*FjcOCS9M7LL=!kE7y@gSE zYemR%vK$UNQKY(EY?^9uU5WYaCis&Z-i0T-;REZgG?$KtxceQ&u?7}BaISLCc)))* zwka@s(E|+r8bbXtX-tDbc>=Ob&WtyS%UD|2$4Ch64V1CtZQZ`6Y!^Z1r9TuKF}ysa zNSqrcbRlM1F_L(g@@ei)3yG3kkHY|pTk-Hm(-H+pKSC&3U z)dL2#o3HcWAECnGqzVZWUvGqdKs&_S@RJfAcpKqo^=)2?8&S{Lm69-i@gKLhqQ(b| z+iZHBTE=?MCnXy75Xg~jX?mZk#d_nto=LG)=I~YNomU%-h7i=B)?{wn6wz_&nesTq zNG$S89{HL8_#pFe;GkfQsG$@&s7Ea16=Vo%igb}WIYQTB99KX3E%+RXqHSoBdQ{1T z)oBRC8R}(Wy#8FCwk8;UwkqL&Y1gxEY&X4cXEw1v;iIs@lkUhhS9vAYXgLm}(~U3SN{f{X~#hVCk}(GTu2t`%*c?&!FyYZd7=s+5$l7Kz1D+09RA;Lv(Q#c~W#l+F;zHOQ;>svA5V3 z{YLm|Miy+TN^OSh@FM%K%7G#!PzV`-ciWll`TZ0c?t_Fk*w%{ZgR&`k)Wlv8vlhM z_4*neQ)&}SGt59LNvZ(bNhw$<{M9aEAF`Z{9g&M(xcNFcKlG%7O>cKq*lVpX;7dlM zUSFv)yCtI1gHv`LYb1ZJ{$j0sZdI{DFPRp&?eYC%!t`bW@_Zl#2%<9q5HA_YC8otj z63PblTjlfm>`TdcWu5WfYh+iOl5r45n6zuVx=Y5cn`Q}j1tTT#R_n=HON9RuAWSPUy~%z#-$kSsIbIzTxcKx(SXtt7+Z7ILB~02RwTw+-eaKAh1Tc4VrO_>z}ov<9iiab@P>1-!I+_kR1zu^OsoDZAy@KB7Uyj> z9i%;6V6cf&qSIc#M=BmVgldw)WJ+k)R8?ba7|GS2hXRr#`(T`R!+y*L@Ges7b*C8I!SoJ+lebpl{I{r*{9UYj@ zl1jN=?ILkSZ?++e93$OVdNBSKQ8SC*`Z;8A6uChSOcXc>DXRq;r7~IW%gXd2S`j!+ ztvtZ-GZ3P1w=&E-@vxMk9u&@!2w=sCcsYL=i%Qsfi)zU6(y3=KQ;WU!M6>N5?ipK3 zi|HxaSV)Q6IIMf=dt`|ruc*0Y4}?L&Q++f_Vx4|*oymi08_Rl64?B3xn)QIJxJ~_@bD&SJ^rnntfMXNxeIcI zGM75V+z$A{GTh<;cC=n4J-90`7t+71G_3(cU$$^6RT%@y`<_0eH)ygA1Q{%5QhNd3 zXIMvEXB@D6pi(Wsw3XQ_APQ1J?|qZU(JfdG0FQ=YS}mA3Q!UG*@u<3OOjn3pE_Hmh zybAYY8g<>+Y3;fB*HYvd3X?;R1a^7#M4C*|L@=2QccX& z!dEiul&8s)Zr#n)RiNU?gR#5L5y+;Lk3wnS5V%y<6_iDb z^QFr3%jEp97)qDiDV22bK7bfOH;2Uxu380#1eP%ClP$X~P(Z|p zy3TY62e1qn8alm5cABIn1)h~jf;6vNOQ5L=@}IpF?W4Hcyx>}Gya1gsG>ug{j>?t3 zlO%kQy`Y5Ez~TR91%P@3f}SZ!HDM@DeE}er5lp|E53*xG1Pu)gVh}oQc}L_&CACS| z0tw6u{{{-V&3NyZ(zc_7h@7udr|eGV8-F>(0F#qyChjLDBxnp97pf37Mr<1QEj;!3 zesXR<`&=exaRo~mn|!q3XMcGQ*&X3;%Kd$TdYx&jd4GC;LV9guDbUA%g>7;-D55fC zP|jen8nwGqaA`@K=gN!Fl_*LTz!PXR+>R7$5S6TnpSNF`utqwnN6+DLFJfoL`$dJ@ z%9mG@k{89W7q|+QI0qYGMu0rZK;D5b_wae3ZIhPML33|N)KC2fWRki*X3b0z1vQ1_ zb}xPt&e6rS{N5wBD)e4g$IuS*>zrRe&*`^?bF>1;zZ5B&7LR=i5FjBujmY`I6}K;h zn@M~(?$`rnsw$1UfV5_M^J#0A2KlTb*rAT>YPUYm9PT*Xs&OoYLN$*$$wl?B5L>80 zb&Z@X1@kzrKb5~-gL%0*9`aQ^Z%B%*m9Yog48XaZl;5`@|yoEkKqSkD`-7IQ>c7!T6sh-mLetJdDNIluDth`ugs5X)5 zN#VHSTqqX@#LK4e>p$Y~6OeMrGlgRwwMw=dtC42rfzMRq~U z{Nue?SG9l9d8tutc(=$4&Rz9s_FVv)86xT{3!Xb{43{o+j6=Q#<1Q*Q>cg!YS-a8-wjhAeV2~b8B_b%OQ*Omfpr5x_K0mK$c}IiF2Wj?C z&o2+3AtFs#61i+Br$Bw9xd7L&!YhHD=v*6bP#5*oz@!HpD+!I(oDh_L~ zC@)!Uo`so$ayoL464o7ATKt8ING2o~&8>l-jFs}pBHHz*qDwf>$TY*vb#*$Te@HG2=&+KVH9N8(G8_klzqOj9xIs7lqY$z};G0drz3 z@k>md2R4?U4?Qn-E#{z6D_*Fzj6((hKF=hpzs1R0i&^|xBC5`$I@SM<;cSqpS!jcB zs>7BSv7}{_++*;z`D;3P_R58!P>7zb5v0j&j^G010?E5}FUE+eh?hxtx?Un)Y9ley>99w<2DbyeyJ;JjMQ7sN(b zt=Bpn^uK`$#NgeSmi(Ium@LDkwIW7mv|8dIGRW}+vgU9W&qje9{w+#4{6n~Iv%P2% zGP+vX)?jKp*{_VUi1dWft4;OlHi9T`Yrz=0+?2gW$r1XL%^~BO&LZik))w_{9o~Hg z!abBbxRv)az)y7z`~C%eUKaM1BQ zG-71vIpt=x**GXN_G{a2YGQ_r9NcxP9JL*$NgP97q0&q&RvBlUg4hkhJ@YbRDRci~qSz_|K|U(?9Yxz$K~NGwrqwDE zwiBwH$$rRYmisCdC7^w{_%xQ^P(nG`lnUG-B`gDyQJQsVLMDvE2tOMoRk0=RUL8r2 z2Ot4P;=!^|iNZ>R?A8qSsnx+#8%OKU8cfIWIToSRt(i%)EN0T*wWFaSYODrObt7b( zI##WKcDLd68J$fsMgPru)K|N8VZ1;7!X{Gj-|btD#l#0tdVTbB-E~4aE1@*QEt|&I z%!y-L6s9+LC{xCFa(CIY&R>(2s<#&zj}a`36bx`kC%emIxEVkMf5}9ktJ-+j?l^d; z&8^ylmt%~*WFw{_VD5t$xdUUO(Ln_>vEREU%32g3u!31FS_ed8FDi?$WbfcJTTBnb zR4POZ(Ur+u&yzCe+Zxna4G%&d;=#cDuQHggK88!QJQvc z+nj72vBld$cgbn@4+(;#ndLelBkkdibLRCPEOqR9Jt{Kc6n1JiRO_YW##=lWaIJCi_& z$(|W0=89ev;4Ns%cnqgM<;E?d4>b;v&%bDu}gZd#X@S&$=z7de5RaDMI;3LTYf+ z7|9rFH8H#yOXLSOr-XWlYl;FeEFOFP;=Wh?;+Ng@3GUdqIvC-2w(a2|>HkCs%TeazW;oNz{kcxi|ycT z7QFZNZFRu)@6YDT#oU}Wz8=K3Obn1o<9xl%{xX69d9JVuw&)iK3x?$daIX4^0(Wd9 z^J@}zL9?!^zH;bFJ!2~%xDnu5kFWuHb4}p&n1mtpI45$}AmMuh`8+{tie@@#g#Vc_ zv*>@M*#qWh<`KWX1ivO-`~`qH-5{{`V3%fu7tHcsnf&r#(`cj%UfmG}`Rzn%R7K9$ z%7Iu9PCIjsPV~c$#h1Try<>RNJ?vK2*z^QSl-kk>Dt^v~bPe3Uk&t!2s3?2R8qjfD zOxC86zI;KD+gf8Tv|Bd8ZL>H$B^?M^#iae6^SuaexasMjJ9tbk#fal^!LCpvI?I>sZ6`BvGa}!bI z69bLjgES0{&#rqvQo{uYv40TzoW~SzPQOOIwvw z-qj-CB;TtvQ(&tw+kktAQbD3arRJ1R-Xk$&ISE-rU@RaWDzCQ~j*}h1nIEGxX0T{M z#UTzi-#~jBO&WdtMEwRny z`>*~;Ok?XZddZGvD>L%Z1-tCw1csFN9LBU6hS9$`!9 zSDo@GrdXu8H{4XssNLAOIm0CYL8)x>g`XhN3lF;#|7Lbs)6z&8R96Ms3-&zTKPI`D zQCiCn6Su~+g4&h=yTa0Jj=)&M*^J8lf#tQR5e1BTqn=c(K5=G&FZ=P<^^lpzYskLk zkESZ2VMD!B@t;EL0M58-;gzbAreZ`}De@-U;f2X~J-xBY>D{(!^k_xjhPxdMYh|ep z!~FGIh!?S4zjH;1rN;(kEm(x8Qkk)%c@Xjwr?1+TS0Nqv;bogf3JYb?l30(E=u=0n zOP#NU_YAXayA1k2?$Z?+$sPvS`RA~wDeUG;`_{o1+D)BLwx)=n zzQKvy?nvu0DxNahM>~8hT+&tnWvou$5eCt17+dYsa^GP@2d$KT+H{>ea z&A3@VuP6o&^0>!Ct1{4WMpjXzUI?%+7TwlW>w2S>w5(7;nC)Wj@z(93S5|0#njeZu zMnUhFqLLWr$8}spXiHHK-2A0hIFzj|LnuGT4jS|&+nLmLB6s{aYO^zA)%NHxS_^{1R&vi4|3*wRu8sIbKkIJoOur%bb6JDP~m~9eHS=Go2bO zgoMhY=)Y#=ewIxv0p}W+ZGp$H}96dJF0|igE$jGX}V) zc-s@QX1egr(C^^OZp}!r?#=WO$}g+~lo#L>dY9mi^(XV_3Ax8- z`JcZU9gGIp8Uc5s&6q=iT+Q3@Ro-6pB*Zq8r>=a%IiM&6Jvr5%>IgkGwtK+6s~+q%o)yP%U&eCpX5in-vxz#pb>&S=uZ(`Ku5S-?yyTOJNXBD!FWzmA%Ivb$c$kGEY! z`YtYJeYDVRggptD3dS&p$gu0HK-U89YQ{N{Fk7;MCZMSzEpUxng_KF0N_wA*2;El7 zpb?{IDm;BT`Sn>KE4AH((yt%n9;-wgBcW@+c*&0-1k)7-ej!Uy)ez=#Z#uPd>N zP$^I{@N6`2I9asc~0O zWd^l=X3KgB-OIEN9c*9n8C?1;+6Sz9e*9fb?;44@0D%-8;KU)t0mX#j4;Aa_80rx~gJ(Y<3PwK zK0e+)Ua%bb@*uG~9w!UlDFewRT@XQijrEgB!1<^-Mot1sXAI}I_esLyYoVBjNN)n_ za|Sv1o7W-!`)}RNW$K(YD_{5kUmI2fDe#i;Hj{%H5vGW!ZA13=A5&U_)!_S}9MIt* zdGv3r(L3tH5cBWBU7bud$iGuVQ0VSU9`uuH+>5AKc$3N>IjS{WJ&PyT6Is^Z-&Iy- z41H}pp0vKqK5~bXQDtX(UjAGuDf4enZ1CAu%?v(^r9iK!)XlppFa7Y1eE$E6*MX32 zc2M$Yq!-8iQlt~#Az++FomCY~@2f4ZawOA}kteTBWp5~#A9?;_jECbwP z5gxsqcxQRCU}tmhzks@NqVFDkdBtb2KKaB>aw4bHzQR|O&J78Lq*9*VO{pmO0;@_m znITdJ&=3^27~E!6jQ*(y_H_i_NV-|0biMEe^cCEH2lN?<7iSO)_A>1-Lw}^&rSF}1 zElf(ed>3OrM$WM&`5{GdZkjBX%8;murfH1@&_$PCcW!ko)Jg*@IH{YMJfcI?!H8aa zTLOpe{Gq19ng5#UE_T%rE|bLButrk|iEOX;z?-e?NYIwSxz{jI8NYY~LTdjT>o0o= zO`;qsXSZ>Dhnetn$Y*x*746e%4<@oBu$VU)eyg(I6^ zJkz4^cLQe!X&4mJ0bZ?{5S6at}i)i-B%C zp`2QvNM6RdrSGL-9U&=LVFN(-{r2_l^?wWZ2WRl8cxWa0Mc$P0*BTOFEX;197xZbK zGdW|X>pXhbug@`+vXibxFSN8YXzL?l_A{p~nv)VH#KP#noQi6|?cTC8m&b_b2R8u{8uN>5XWhdKh%$l0vFPEZHrrZLYZ@b_ z2DvU$Q*T8}9ojC-VpC_-TuxRQUBAsvJT+S}88u8t?N~ZiU9$A?qA&uX!>WBM zs!S)Cae`mKK=dS5XLjWhKZ2&~Ehuf#l#~dKEFzR{33+OMhww`3)lxBSO_<{Muf0;Y zN-@dJYYTdR7|>V@SiB_Jz2+=U7$0>JAVt^cCeBs$b1J@rc>G@gtp`&0jIT9`))b!% zSmjs#1Y0>;D%i0(+lUlL=^+vIsL~VFm%3Tf6Hc-XSKOel)TVI7Slh+va>e$4OVbmz z_KFpnzkuDa?=ubbRXlKQeFxkpqp!?RHzliQ?m^ z|LgKvfF^s89KiX2E}yAnhD;h>>2zakCDje#q}1}ZEi@z(#?9GQB*h?m@9mRGPKxVT zo(<^1N~vI8Qq+9p2bB-|28GN7-v9vs0006205BU-u3ry4^#B_P000000L1VSE&u=k z0MOe`n))04)d?^Na{vGU2>=2B000000C)joU}Rum&-us0z`*JGOZuM|rvXp|72E{? za9agM0C)jyk^>ATO%O!i&h+m0+qP}YN+qP}nwrz)J+gE2Md6{-P)8$)H2mm0s zEQEWJey%Oe>?l>O4rRh!6t{~M4hmD$&7!ee#uvT579`Z7Ue{t-~>&A@qBGBlgtXy&3>SXUrNf@kCX`i((KC&4}Yg>7?)_z^x%PtIlk|#tT3QL!wM8)ahmykd>nbc_2>E8FXs)t*;ErR zIL%nSuZHDmD7&TQqqq$rXE;gkHa-jv)6ou)L;Dqpl9SVSq@$lt5i3L8D23u9sOGNH zz><*P9VdZ^;~G%Yn$g1_B%ynQj=E_j#cTM1Vje|w&&<*9q>KKhtaeEht8x95B_jLH z|Fanku?4h@=99+8QODYoRI_qgFFFU8=o#xzu~;JV`$Y_Qqp9wfP&16jfG95Qg6`xK zKLuU+%x$8W+sS`!zU&FKa78F3vTKKbwaXvUKwj&h83`~Lbq>0_MUgJR1)T|A03@gTP}p}Rj3>A<9c2MI1+UlLrRi{7v{D4g)v?YXgu2 zuLH#c<^%l%N(6WW#|1nEe+AzLJ_c(B-v>qqTL*9lj|a8~)d({P)(I5}bP31`4GK*P zg9_^lEel8sdkfGD^bA4_ehkwM9u0#H-wsL+bPl!-<_|j$kPpBQ_z)ZrGZ0u1e-N4w zx)CxFkP+h&K@zAE`V({$xfAgeJrtA_uN4{|<31tCu%TOoBJk0Gfd3LI6)@`;gO{v`&9JXX|OX6A!0KSzJ+j3s?6{7Gg@`PHN^D`{F$)niCa z(>4wDDs&l9k^K?CiybE+;_^Q$7IR7!AvFL10C)joU}gY=|5*$v3|IgFDjxyS0C)l0 zz@xo^L7QO{BOjAC<0gJaAi162%0N|GfPq7sVLPLTwVt8~khz^H!oxxX%wi65Hc=G= zu~_1KZL}ppELJleB}sk|i>)x$%}5%=VxL$ZW2FpYanz*;SW1CdoFT4eYT_UkS6PC$ znJkFK-JIeFQO9$0Q&+MLh{Y=+$jiwFV)5A+smln09J5J)iyi1#1=re4371U15CQjNSurBO+4DXC^kqXZgn z_I=ZQXLn~?kyfRibdr7YFRcKU#|>Zr4PXJ#goYWw4`Hs?<-4mp-Pya+DL_;sbwCde z{7s|)3pSu_RH>GX$>QOVk3|M^Mn8Q_j|KlIYqgJEW%A1 z|BbAYudjG>OLPmW3KfEI6{@8ePm;0*j%6w z3(LruyOU0l&PvfKgt#RAx8l%3)t&r7Cx3X7Oo>hNH@%Lf_6?Se$H-Lb{7-ZCCTn#& z#*C3H-Qi6BPwuWixin38t}}P6-~D^XXm^ek=FkWWZs)EmW!YD3r5Ftu}BpGt#DN=%?OOG)Vc;>9xDNv|Lv1Sx4 z?rYWNfp%0KI(4C;8!%|dxOoc}Em^f@-G)t%ZTG-UnD7BH&kGQnj5Tjw55^LQgj7R9 zWQ%!v*kp#^vLD3cn)O}ur6xyuY9X-WqKcDw4mrUXoPv$lfg|A5|KO~EW(ZDqoh5NL zI5`WjUUWGVEc1>{_PF_Zk)O}aMkmZUdCMlRKoT5t99VJ~Y=R>X1FqN2E9Ti^snX!T zf?pnp$&!TBNX?k^j4I6tKUT9v5!ql_xyqS>bk$>^unrnQV~DbMiT% zm>uK7BP>w;8-tbgD;NpqEm>li5k?uS%!v^SYoT_I=z!x+Fv}}ZSOBGvB8m&=a%7$b z7Fqgo5H1M7M1T=*F^WJK7_wx;K_OP!IiVxKaR)Q9nPZ*>7Fmjn@RBvw+3=g-ab*Nl zlA$3}l1ffE;e-=T)}LUZhmRpJT8~dWi{x5UejRME$>V=^*mMyBm_FN(oOc$;a=z5N z5c9bPayMUK3ng``Jf8oXJK`vFT<1Ua=sbtU8G7*Spy z`VIG({ycxNN~fSwn@K3z*#Sh*^1G%hXR9FZip+ad2}b3t?xTF7^GR3^mV^IZJZ<>`h)e+v?Ul9s#eXWRy`;<4JwPr2QVTtE zts)0`xjX*4iCQgJgJs~WoaDdM02#rFGf#2|4V^md5wg5wj`rhV(;a}A&6W(#lr}B0Gh7sTHV*k30FzEZKY+)A*UuSfhji)9VZfUCiHINanDqQ zCRq;k5Mr*HX)qWk0#+6TB^dOZz+qj7aEl~nGL)cc(sm9`=sZ350%N8wGM4~r_cB}d zuE=|(L|r5? z;$S4E;3U&bh>@&V$cdG_I4FpXqSz_v6iuOM2~9h2=4F_CF5aZ^c+zR60iC0rfjgnI z?8MDJoXa;KZKe3)?$tsxJfvZ%;WN>3KMq|%p z^{3?w4$2)0sPY)b7$Sxlgkq8KRtU&a8DyLW1?EvpgvlboWG|rP$uFKEjKdI-LlYLG zQ9Qs_!q&1G%;3h#X}=`Xf*EEpgDuY>seL3gcZ&{a+_N5u1$63ZCVbRB`e`5eEQVcs zm4_4HXjX6onvo4qWW=|-9VkeUTk3d(8Zi3SJT$ez$n$x0!N=Xo#Q;n%nW z;NC8$wfZhU#}Xs_cL87vfFn*Y)CMX*{v`MdTs|*rfDiO)fN@|@@!@OR-Rp%-z(MMA z7N9PKsH1>=Q{T)DSXG>wG0nFeG3}uj-uVZ;5PX}~r@Fn$wGQiP-PVumZ@v(|)(!pt zKltSH$**>H~cP0*}=oc8wPT@s1i^1#G!i=z>?fVgKUsGDKMC%7C>r zj?76m1qMw5)>%6GhOHc5=ZAG1fNNw!O;lX7vz)F*oU-!wGsvHo^bGn%u0?W2jnrMg zutWW636n$D}KWOU||4i)Ye^A>r;VI*W^>NUOZwxv7o^TtrbDv0t zOb@Br_w6ML+C**}<-z+E=8S_r5PhVrNephN`kFjFF7mr;BWxEOMA`3hjoi3s9lg3Oq}7ozxDe2{%!bx^_d-5ps_Ixu>I(0LI47T1k1ni%K!gUfch}t zm%u7-1J?cm0R3s8?F`uUUx48m6`oWf4EMQGgkcKTHaxuX=9&Zfh2b3OF%3Lu2PYyd zh!&cue0SJyZ%`6EEUmpELU_1BDwjiqHv)X&$;6eR0L?sMTozS&9B};^sir!60p24P z{nmKFyMT*!yey;BXfOoX9TrcuKTC}1j{Xp3uitvbqSCW7`7o=);sta5RPVE}0(t4)wN8u|<57w7%X+oQ#O6(dewh z_P}gSls@z(G1qAw^rJ^sodO!uD4i^J?(9M`)(%K7NQqb2U@P0S2PcIh=m8R?vb{SO zFGRZ-kG3f1)P1T~@hsmmrWvoCOK$|*m@u3L^)wzQFpxxxmWL3>rft!QMTUle98-x< z(4Uv>5CtkAJg3hEaV6q}D}rM+R5I$9Xo!wWgv`m|_dN~@hy*Vi(KFag3$QMLD65U` zX#mh<>YB=Wr81j$cNdZu%645X2LJcC)lU>ddhJ(%RXcCq^OQoOUe&EVYOndpt>vgX- zqWNWfh0i|+XEm$HDljn7#pRdPL7 z-vBods-6dX?J^;EvO2yTucnr%v;c)e1ZzHIb*!PVf2e$ptAOadkx@T_ zbL3nYdC|WDZ2=U}7i4G)YJ_S!iAy_1(c*<(fRT`Y8^Qg^=kRZt@Eo04uKI1FybDbd zelw#r)IOH1|AfDkQhuh9B9zZPDcL+rU)XNEZr}=-eUGzU$-%}qmPA#hu%t0s%(*J8 zT2ZTYlLd#tCV?$fQ0)NWT;I8b%iz}V3JfuDf4NP^5@aL+o-c#CRgafHGvvW>jKf!i z2cYnlwta_xz@B6jcodeHw|8iFo8nzgVov+y=e%|g5`;2_KtducFJTrS3pu8k zcPP6QDzwSxerUv1@La>JPDG}5X|GTqj+1oo;!5#gD*`Wd8|P`I3*M9U%IgHz#iddR z^kxJ=w8%^}a;1FEsFkv}K(6UM*)Qo5RRDL?e12Q2>%2r2Vaq%uWCf~D)LBT&3^aIl zEayFA%^5}-vc(SR_%NXZ!Qge&fP_Pu=c#%$&h5qJ6hEtH&7UaqhHZ(@>Ve(j^&OJ0 zi|LLl)j`TS{5Bbt=jM=$wW+akIMs}6SDdKnK2XaJ7Y#?U^(44r8a_qA;r z4Mh)1YH%eFx=b+D{{x#RZmc?7`fdyDF>4GtBCc(>M|8pU`DN)3jCBE#IuH2^v1kZ+ zN{fX_2=X$om9dtbF_wRCW3_6a0Il+Zn#ytDja}=`wh#jFOBVi~+2x7eU3^GBO94u{ zk4=l#f4FUn*3jutRba5YdAT+94!ft7F%h}3wKts#5y(WtnY`r7h5PfcIYsCHB2$gb zjCEKT=Bl22+IKFC%;@Tr4TQ^kg<7rTcBFRgm1j#icd4Fbp~kq{EUkDnwCgr7=;ek$ zpRR}281BAZf@Fk|xX`UsvKHb*L0%l2kcDJ~TW6fN-C&2_sH#FCRMguSD`2rl;NoKI zB>jdY(l(6S;gLi>#+bHqVYU<;@bH?ZwrTVW?#9OCD_rByM;hSFsHFbksVfdWuIYxI zr#*vZBh-qVGj(;J_*@uGA{d>C@^EpswP`oD^!kR{Tz3=~(TZ%_dwmIISv8ZiP~ztr zROWQrxQu1-!b(yQWtL^q55LTYG(U1I5XSdo@3lV=G1AF;|891mYu1K%!?c0Ch6ARW z`^qYLfzkOSwzAf-9D7E`9aZG3Rs-mo+i2zKbzcf7Y!iA0@pY1lgROU|791V#pE1%W#(f!wi9+xlZewz_GJvG zdw3EMHf1){Qr4 z6Sr74V4Vb_!HAZim&9*M$oM<=^e<1Tf>(wFQnridVo$Pwizowj*@CCbaP;eD8HIwp zACV%hg{=YKU?3n2Ow8-tyM?X3#t*>crNG;sV(-tsm0pKp5`3*ZmW-FxEg|2g^F z$3QI{vLj;a6T^e7%bLLY>2WqPUdY!s#yZN^TZGdr;(}WMc$3ARrW&97U5Yd;CAreO zbY=}FSmp)eYEoE`mfUR?Ghb>r9i;#IQxxGa6X9>S~)inc)n~+zJ<6lgnKqNsY~nO--5FibJ@kG8o3B zW9Dq8YiRC*)3$Ur{r=HY^;QU>k7p6Csa_%N^&yU-swC~kiGk*#i3cf`mWBSt-UjN4 z>Iv0N|MI4X-*+7eIMrzlj}7QxQ@0>8z`2>JF)A^vBpY`5f5%W#sEN9Wn7NX=i>024 zgMZ4YjXbV^1h7j+B^w+@RKLT=Yhokw0_Y3K^T0GQi`SGA;(!fI#znNf#xqN6?1hxP zw@T6x3@i<$zlVhRRxLa$E;t#!%}&yJYZg|{%ysXvkd;u8Pyo`Rl-c&0pHQ*5^%O_6 z9qm%r*%)iS>;JJAwHGbY7n}bV6gp1|zo)icB0Qt1C(q4!?hM<-qv9h@lA|bz&@L+6 zM#$!+##9S33RPiL>ijf!UI%$)Xldu8pTstA|XQn5w z!TytdLVpxOZ04N4AS*#n`6dz&XIf=ONY4w-D5=Pz&B4AsS$MtP@tE^kO5-#Avo7M9 zi4Zx30RE*p#2{MR@8=WC$4|x`qB^{8hGP@k?@s>vmVupKdN4UXE;Tzd>27&iK9m_D z<8(Y`Zu$@m54LPjQa;4VNb_CZJ-9*Q8A>r zu!Q{f^86}la-@bNlau6^j!J>Y@PFU(J|Ssl_>gt|;4}O3Be=>R?R@iQ6T~BuLv_$a zGmY-rXOXcvedMCtegic#9c+)zIF@{tt7J=DX;RXUKyeZY5=|ZmANsquvif^}Ff4wE zS&kwB6yN^WkH|;9ix&_gGZkO$mLSJK4LQCFwDm;pDCPq&S zOi`N!HmFmb=iYs5)}jCg>h_zr6Ql0I6)rbI-y$42@soe{j%1qI6jRGGqL?l!mkPuc z#rj5M`jXC@=_f4nytw%DElfH{I%^?Ug1Nr^=nRbe`PkXE#`2>6l~cd6-%Oq9tZB*R z?b7V_3gyF>o2sP1tljeQP=XB;5W5sQbbj|M=AYU3BlHF&s|2eJN9=`$3U!bGlr3US4ovy#(!e zy9H-;S=B=8&dy`Z4=VK8!(&9xD4()PQetYNwlX*8%RozBt9hy{Ev@Y=%_NnLVF><^ zYoK?93--n5*Xl(YeSrh^Th>!nF3>mQ+&hj>bL+_G-^?ql%I@W+C*CX1fw}4%p($%A zq7i2Bg~SN)PuiSDokpj!P)JG}BLG_D9_|tTpDUL_wyO1q_008?8s>*zk$aoO{JBIi zGcUH~yyL5+=7N~C8d5P3bTT7;)!JV!X+`gE7rhFOUx*w_ZYnCxsfr1(DvI)UTa0qP z7tn!Oe^~@4WX;?iOCB$|S5h0jNe*$sg`(F11A3$$Vry0I!nzIAU9bcgo}J=<#|uFR z`@>JG+8)&2Yi+A~rjYTM2hp+0KSgcf@1Z`DIh^Mmxz>t?f3M>#_Y93@tw5Ilr2G;2CdmqVI3)JTi2d|!rJj^xc&~jx^ptaIn7X9HP9k$1syyeSX{@Mf02VJE3M4y z<^B7l`vDJVLoF)%%;X~}YbQ@=un{d0U{Y}!8)8BXC_{r+J!bk9Z3+`&IA zzcsC>IK$5W?&$CsM@d}xzNn%p3s~X;Z4rcc1_W5AIbikS zn><)FoEc4yHgi$P&o|aO+Sf;kt6Q#5hF4Ln@SCKPiW+_ZeessRl(aqA21olG91-IY zz1BI*$mO7ZVk7iPsG0FgxPYmbLxhKA&i`lJCZ*r%5a!Adu|b;;@gl@}q(!lKEYqh> zUiPY$ant0&G2L4g$;2p!w-&69`Lml&+Cho^Wv`0(xu2Q8{S2SqG-P+KCbiC(dm(qNv4w#cbVtz7rH9$Z)?)~iwmXmZ`K z80*|7=^-sq{!4cPP0q^K;|+q1Quh1W`=1XL()Hr~oZW&fwAH=TxfJi4nM7FRy?j7R zoUsY4ccdX~GkghNai&gZLsb~(N%PgJQYxx^(M38K&6rqnM)eeFiqSzl-p42IQCs&c zm>i`Ie4Sm_ti;gdsQC9kQ4`8TXEo%q&nC+a$!OI43*qv#Vl^v51xupfl0_wst)Cr# zIlWTJB#m%Cs#xdq!I@9%dFvlnpxy`jo#I%+iW<-Se~p%nR{t-< z&`YXf>g;5|I84T%f6l8gGH<`^#&;VZFYv6WVF^^Rj(yO-`p)-#e3~EZK6oG|X7Gu* zioTVub62vt0C)L@0p8ob2CC^>%GAqLZm;<Wt4{tI-tEilbLXjihqOI1_sALpS^dUf*__F!AJelkMe7|4E@Y3{VV;fc3%4s%~V5F zJI%EjKK(p!_O_->M&J?+O6)4CAU1?JT4j5#DE5eq_}i8R(0eRYMYYmg8(C&{kKhMO zwAiMy%$yp6v*vBXRF#W{&Dw#Evhf#Ntj_527@~DuHMOJ+lT~?*srnfFN3dmvZ#<)$ zO&9}+S=4retPgxa^P^d5YfV+<;A*cwb$GSB=Kei$zKgx7jlEBLbWlX^&)(J+@AfyT zwfYLWL4~tn#Ms(W$&YTVt-;h+T_#ZG=~lYa@wn;utuQ~;Wudz=J*B(cV?p*B?J&Dz z79XAv?Gexz-s&rv7Ncn(B~iobaX%qFr8Fm1!ReflP1H?`tMr^e6JV(%Vecz{5Kc#? z)GG5>Z6VAjO!uItnp#YA1%K=P3O>xnk+C>yB(Cp|Jp28t3on z?Tt5R&n20n3f)X~wG~8#jD+O^G2UH^ll>2^q+% zYw5^K1eHUU>6od%`>a^<<kge2IewiFoYY?!dyF-k?6zCixj z++hCuf*mkWZ{}~!NQQ>U140h>g{~5we5dL_5~H`FxrE5AA5O?iDXMR4E3F>O#5;$e zRha5sss_f($_GXpb*t%Pl0#z+bqubKL8f?nf}4TMwGH0b!4Gm&K^3#^Gy$(`aSow< zqb$x`e!&Dk*O)*X8dS5t&^Ng;+tpV6z&B7;KR+x65+n)T+L&n(8VG_p93>YW4{tM2 z`%1bnn+C-?r_p0(oDs7Zx5F)UaE96jVNp5;IwgJ6FM7$BWC&Svq;Pr40(4&Z#bnh;IKrX~05*X0fvTirzihSsi7k~oLKeDic;tBhq+dk=5Rr&uq8eJ+NyE)}x_yX>Zc z*5b;;ww*mQAHOJ1uS`GVJ~Zh=_dsyFiI|C!L7TbP>Pv7Oyv5kwHcT#zxbs#ytujJ6 zut=v8clyoq5Gd0RukU3m1(ysiY(Zu4TuM&KpO(-({hg`Qt}5jBV^V6`v-pU;)PjJc z<%EQL5kVs3Sy@jCbeu;LldOA1WvbpvJ;)f0*KuJ?Vn4%{p<|m@JKU7jIFT6W?x5dP zZPoHc{|g6MsQ`0T9=1io@_`I|=XV|Tdq0EZZ+Bg%AjWNRyi}zs`p+IQ*V9Y@R~X|m zzgXBWJ?`jl-m|BZ(e%WvyVu+w-|nfF+4z*^qDJtiXUkMWlMYN8FCNv^j4nsN5SR;$ zI=BdRf5@2}phc=R1NEnBjlars6s(E( z^OTsAJ{zLoqT)6|2z+?_=XJ<3Bjw&?>R`AJE|!?|C2cW4$wkq5IxuycN#t)ovakAa zW_tDJa&OI6Mq2HL+RCO2x$bm22ag9O7m2#QWho_73Mr**Urq%|3WUa6M2FbeMuoOU zMfTTWu4^WurYc|+p=ZQrOA+v{D9imm6bSBXV4`b1>fT@H4T<-c@O zMqNk=^#bFiZ5s#6C-#T9JI?Sk7jk=Q+a|zBxqXSi#c`THi^o&PIu4c>Msr;{xcApJbb+CQA3CuKc+hTLd5s;R~T43V>;72 zV>_7{&R_iGoq7>d>nq@2Pn~BNxEmXv9-pSvnWhqQAa$F>Mb5)3ZU7`@q5pOBKHU3sH0&^prB;dVm-Fl^Cm-M0Gfl&Hw$)ES@wux1hon{O)dM+UsYwL5m-?9szAf#~HAeL>s7{SSzQc`UgPoD-Um$c0X{x zJmR(rRsdkGpwwy83RfWtOBv8(Tm@)PH%2&twk_B&4H_jX(v&{5M$+e)Tb668zKxy!)ub7?IHmm(f-hh7wri^bLG)txtH=2yp;%6-r5qqB- zY11YNr?f+$Fn{TvE>HMU!?$7*3NQ|ztH7y7GSxm%_t-X3fp(IqIR-8%o5;QZbGFCgxaSlykphLu!u6l158vVc?Jkz^8!mA)CeT4E3KI}H1^4ofQHiB(r>>?t3sYNH0&9!u2)J1qzTD1l-X12m(6b;kHNh9L-0+6J^S@d9cgzef?rJXjFyH@a?8LE_E^L>J z73F+!xu;w+S=z@0mmHU$4})tf>5D6l{|^Qu*89v5oZ=0E$Z!+aXo(7(qZQEDHQ8yw zoeql{ChMFS%_R`<3ZV5@N{A07lU!Bfag}mSZ-i#dkc{vRg9jQ|SSHEafV>4)xs8V3 z52TD*b?SRnkt=~&E8Gg(PRTHX(UYJ)Whe3MwO;ihK|kbSpXoXDJbMeEf1rSOV5`rz z;I^~jiOak#=>d4bHkZ$&1L(n|($D!|NhAD3U{R90COw2w=!-%SrCm~`nYkfXP$-ZL z5i$}4?gxR0iza*Tk#sns@#?z6gFev0n9Kj$Y!mt_=SVt zs+l~ZIJaflOX!qR-i?}npO688I#k*Y8fR)x;DeuwqI1FZ0B_H!6mZR~q0!~!VB5cY zB9dYZ8NQFNP;FFbU@~5>H))8J*DG*81wS~#K92Abj_F*gx_N*K6@s0 zYfxmwCLI!Jy4%38huN`Kv6JE)3(Ecs4{6O4NAXv+nLlW z+|{sqZ~%SBWax4Wq1iB~Rz{KtdvVX9vLx=Wb{$nQq8n7up($hUJt@zNpP1vYv0fy9 z8@{WX;5=5*tC$oMsDM6I(8Bxq@3d_`%MJm8BQc61*s>9A!~j85IA?+_7x9t75^IKg zE;uXp5kCjIX=+!l-?A*jzvSi#8HUj z^^rEfjiGDOfdLmTVp@ACwiNUehyy z!o)1K@vsY;IXHVrdr>cFxX%&ce2;(ul6Kit)r+%YL(JWBaDF0E6XOx0F|ak(>Dd?; zQPjjphH8)>A3Thssy8Ijqd+=-kc)?yGa!ni2$Qz0yiD(i!-vS@5X zg)zfn7c7rn?6Z-|Q(p6tpufiZQ>EvNe3xG`$BejJ>SXPRc7p-~u^59ltMt`qr06^n z^16el86g)PpHC72BhL#n}ZDXM z48&H7wo6;a7^}ocD_(YI$f6vApW9CFyKEM-MM6s$sT2?HOm~Rj=~T;{w76=CArD`l z#sa6#q%7E~W;z;S${fRZG5EkcFoZ$`@c<|^P;#PQJ{1HYO0Ona#^|z1LPYWNR`UtK z-2s&38%+HnWQ9X~|Ijr}F|1Su3A-L8DB4s<*NI$up81uUFUGk5aQL?>5!4kQ;-Y4W ztPPOasDc&Qfz?n2M>tj`^~{^`Dv6pl*qvNCmZ|bK#ZIWLkoqS$JOBnQd+TnuwsfiF z;6kd`g61k1tsqd&)*+N5Cy~d*Ym5DgoVwvO-Wj!K?S#Y@9fWR?Z;{hsh*qiTmpL4* zNKIH5%wbcT6gxMn)a_@4AgrS+kq$KZH!ItvHZxvexyoYJ9TPaKOn8N3I2bfY5~L&< zT9ic_Ju!#g{Ej-o&*eCluCYsj>tZIu=uku!tbj0OQ`qcG)`?fJcBYgi z^LiPR`%e?#a+1p*nmi!G(k&E&Xv;EYI2JdO6*|}3A-7q2ukA-) zU=O{CcFC#>zJfP(mZZ0V-;(iD%a3?)GN=>+Anp0dI(Qy>ccebwxrARigzSts{CML! z!$nvjK{te%cHDnq$2d{xyd^MvI`))8@NMR8jom&^*uGSb{#6PzSMJ{da}qS`CJQTV zofgiin0x#4e z`rDTOE5pc`t-XI^$#AQGcOtaVOS?JT{YEQzCOjh>{Nkp1H;(!&--J``q?#LQ*)*lo zL$=k(a$(?K0@=hzyRwb9%50LUXg8E>yO_GN<{;U)^&@X|WN=J%iiK5}YPIY>#$7`P z5go}RVNip07ks3}-}b%_@c7Nxx`<{;+#~rU)WWc=HKW|qI(T6YtJae|XH@9(*;cnp zX>_w`RM;8ugag)?$`Y0322=Hk8>Ki(r9=ji(*-MkCaGqt#kjlBc0N^;r`>DBsOub- zLR?UWf>QnWw;ff=c#TaIV$dt*oPO0n;;W}Z*7G19H!g`%0&Si&O!NN(!^A z*_LcZhsl4tQLRr0OIP*iK0Ig7o_gUC=;=w5KXM6y1p!-MZjx+eW<6(Qbb=S~f)nN3 zf`qq?f~y3xt;s7$ChmD*yi8~<8`Tqnotm1wT@?MKVkFjj6&T=BhUt(=u%O|E6NYQ` zsBCvp?#jeCH=xYjD*$IqfT(j))4qb@&%RvP+X=Bt>jG>u`M7@Kb`r)?sU=qUtC znC$H7{alY4vW61r&zV_e#SnM-Lw}aCyq+G|0T16icv8a-D0qs>mLC#eaBe#nhMPf; zOZT9vi^~$0TbMc8{coqxCS&aGoab;Q`&do#5gh&Tf0^_w2zl4#n{QA2NO16(tlDq+ ztjSAfKsq;lCq^-H2+`|tUCS%7V(VWnK{X{*Da(XAllC8#X@x$-um?prI}ruKP6|O%Hkwffnb`#e5_yuo;eHF5z7@r-`}u-=TdGFCNw*cDhu<%FqGY+H*Bv=lubRlaJjmgTEx|d5 zXo*VxaztD}PGa|Q#9|7)W3_ktt#Xc3k(i~EGeB7i@lyS&$5(PE)&o&6I+#$kw-7QQ#r?V?ahi(#06-TS+Wj*0Zd5=)~iX5iN0PLI-k0GnMlz5m<_MMtQ1L0b8--+DlNwu61Xk$sn(#)V1CrEZdgD zavCL*1Z`ybv4D^SBy-qFP$Uz%%&T_C=podtq6(-Zm+nukL9SYK?~ZJ=kE{eAuw=Zk;f39s-3&PN(q%t<2V-t(Ewq!OXqp)T*nD&@|l9S-V4Z4G}A@!216 zr&N}+;vO=!Oh)953f@mbSDE{Ut3@9*7Tz>D=MvMogfLoY!+06hkn|e2bj{sw_L@~{h zYYA&zBlW4CzVr>A^{Ki3A+k7alraCB~L*otrmbioyTtm_l+{^ zGl8+lWODqQXAEIs^k&{3H6`zJU3)OEv&jJnBEZe|5X)ud?s`NzdZC_a=RWh*9rz~fp*XyO2IOi4E15) zkL_CTNv#go2PZniRml)0wa;*8E`s+Y!};+G$|Objqzq+b3E=x7reIN1H%b$tZ+MfM z5H?^iG5ZZ;)f6vmVpEo1+CN_N7-2M~5t~HGn$B>3eh$S6f$Ui3)cAvWyF`B1aSboV z+%Hk-6%g&3%d+pW)c_0tI~xG5p<~>Dr81M6^F74lPdY9cp!aN-a_JAS&y}s5fp3 z>K7r9qxwC_qqz5FbF-NgMl)Fg(rBqMkIF~aU{$)f23_MACv!H2!Jvv8d9=frXEQ30 z>nG*&TAp(aPJI$eYZKY0iJnx{&6LTlQjWEeXcfEC*70o5P-tTdvQtKL=L=*NKOXt^ z4(SocVdQHb{w|G74oJw>KwSLyLM3F)dArAI^Sb%<40Rl`&2=G&+S-B~OTV(6ifCjb>jC%7q zYjDu$JLPP^jts*A7FxJXi@*{Fx9}`sbe>jo4yK%$2x#O0A+==U)~q9xFDC@%nlV8z zF9H1V5hqM^Viki8FK@!xo{|CfCbWw@Ep#pjBuB&^j)bi!utqKpO1Rjumd70Ra zzu*Q1AL;4AQK!iO9)eH;t{=f27Vmp1l{9?MDmP!lO`XM|+of}LNW{^%y4;@YF#&QX z`by^@;d3<)`a~^{l)1J=VJ3%2VjBwDAE$7$r*P>VTOTPR=sYcPUW&}SV?pjRMa5lV zB+En5riV!jwiFX~;T`D<>ul1cPje{l$=eK<`zfAl-ZSS4L1Eu96>aETgN14PYxs5k iW}TvF68t_Y*SW=LUda36ErCkt`%axV{Q*}%p#T635GXkS literal 0 HcmV?d00001 diff --git a/documentation/graph/dependencies.svg b/documentation/graph/dependencies.svg new file mode 100644 index 0000000000..76d71c4590 --- /dev/null +++ b/documentation/graph/dependencies.svg @@ -0,0 +1,894 @@ + + + + + + +dependencies + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports + +cluster_AdminModule + + + +cluster_AdminModule_imports + + + +cluster_AppModule + + + +cluster_AppModule_declarations + + + +cluster_AppModule_imports + + + +cluster_AppModule_bootstrap + + + +cluster_AppModule_providers + + + +cluster_CoreModule + + + +cluster_CoreModule_providers + + + +cluster_CoreTestingModule + + + +cluster_CoreTestingModule_providers + + + +cluster_DatabaseModule + + + +cluster_DatabaseModule_providers + + + +cluster_DatabaseTestingModule + + + +cluster_DemoDataModule + + + +cluster_DemoDataModule_declarations + + + +cluster_DemoDataModule_exports + + + +cluster_DemoDataModule_providers + + + +cluster_FileModule + + + +cluster_FileModule_providers + + + +cluster_ImportModule + + + +cluster_ImportModule_imports + + + +cluster_LanguageModule + + + +cluster_LanguageModule_providers + + + +cluster_LatestChangesModule + + + +cluster_LatestChangesModule_declarations + + + +cluster_LatestChangesModule_imports + + + +cluster_MockedTestingModule + + + +cluster_PermissionsModule + + + +cluster_PermissionsModule_providers + + + +cluster_SessionModule + + + +cluster_SessionModule_providers + + + +cluster_StorybookBaseModule + + + +cluster_TabStateModule + + + +cluster_TabStateModule_declarations + + + +cluster_TabStateModule_exports + + + + +ConfigSetupModule + +ConfigSetupModule + + + +AdminModule + +AdminModule + + + +ConfigSetupModule->AdminModule + + + + + +ConflictResolutionModule + +ConflictResolutionModule + + + +ConflictResolutionModule->AdminModule + + + + + +AppModule + +AppModule + + + +AdminModule->AppModule + + + + + +AppComponent + +AppComponent + + + +AppComponent->AppModule + + + + + +AppComponent + +AppComponent + + + +AppModule->AppComponent + + + + + +DatabaseTestingModule + +DatabaseTestingModule + + + +AppModule->DatabaseTestingModule + + + + + +MockedTestingModule + +MockedTestingModule + + + +AppModule->MockedTestingModule + + + + + +StorybookBaseModule + +StorybookBaseModule + + + +AppModule->StorybookBaseModule + + + + + +AttendanceModule + +AttendanceModule + + + +AttendanceModule->AppModule + + + + + +BirthdayDashboardWidgetModule + +BirthdayDashboardWidgetModule + + + +BirthdayDashboardWidgetModule->AppModule + + + + + +ChildrenModule + +ChildrenModule + + + +ChildrenModule->AppModule + + + + + +ConfigurableEnumModule + +ConfigurableEnumModule + + + +ConfigurableEnumModule->AppModule + + + + + +CoreTestingModule + +CoreTestingModule + + + +ConfigurableEnumModule->CoreTestingModule + + + + + +CoreModule + +CoreModule + + + +CoreModule->AppModule + + + + + +CoreModule->CoreTestingModule + + + + + +DatabaseModule + +DatabaseModule + + + +DatabaseModule->AppModule + + + + + +EntityCountDashboardWidgetModule + +EntityCountDashboardWidgetModule + + + +EntityCountDashboardWidgetModule->AppModule + + + + + +FileModule + +FileModule + + + +FileModule->AppModule + + + + + +HistoricalDataModule + +HistoricalDataModule + + + +HistoricalDataModule->AppModule + + + + + +ImportModule + +ImportModule + + + +ImportModule->AppModule + + + + + +LanguageModule + +LanguageModule + + + +LanguageModule->AppModule + + + + + +LatestChangesModule + +LatestChangesModule + + + +LatestChangesModule->AppModule + + + + + +LocationModule + +LocationModule + + + +LocationModule->AppModule + + + + + +MarkdownPageModule + +MarkdownPageModule + + + +MarkdownPageModule->AppModule + + + + + +MatchingEntitiesModule + +MatchingEntitiesModule + + + +MatchingEntitiesModule->AppModule + + + + + +NotesModule + +NotesModule + + + +NotesModule->AppModule + + + + + +PermissionsModule + +PermissionsModule + + + +PermissionsModule->AppModule + + + + + +ProgressDashboardWidgetModule + +ProgressDashboardWidgetModule + + + +ProgressDashboardWidgetModule->AppModule + + + + + +ReportingModule + +ReportingModule + + + +ReportingModule->AppModule + + + + + +SchoolsModule + +SchoolsModule + + + +SchoolsModule->AppModule + + + + + +SessionModule + +SessionModule + + + +SessionModule->AppModule + + + + + +ShortcutDashboardWidgetModule + +ShortcutDashboardWidgetModule + + + +ShortcutDashboardWidgetModule->AppModule + + + + + +TodosModule + +TodosModule + + + +TodosModule->AppModule + + + + + +UiComponent + +UiComponent + + + +UiComponent->AppModule + + + + + +AnalyticsService + +AnalyticsService + + + +AnalyticsService->AppModule + + + + + +CurrentUserSubject + +CurrentUserSubject + + + +CurrentUserSubject->CoreModule + + + + + +SessionSubject + +SessionSubject + + + +SessionSubject->CoreModule + + + + + +EntityAbility + +EntityAbility + + + +EntityAbility->PermissionsModule + + + + + +EntityAbility->CoreTestingModule + + + + + +EntitySchemaService + +EntitySchemaService + + + +EntitySchemaService->CoreTestingModule + + + + + +PouchDatabase + +PouchDatabase + + + +PouchDatabase->DatabaseModule + + + + + +DemoDataGeneratingProgressDialogComponent + +DemoDataGeneratingProgressDialogComponent + + + +DemoDataModule + +DemoDataModule + + + +DemoDataGeneratingProgressDialogComponent->DemoDataModule + + + + + +DemoDataGeneratingProgressDialogComponent + +DemoDataGeneratingProgressDialogComponent + + + +DemoDataModule->DemoDataGeneratingProgressDialogComponent + + + + + +DemoDataInitializerService + +DemoDataInitializerService + + + +DemoDataInitializerService->DemoDataModule + + + + + +DemoDataService + +DemoDataService + + + +DemoDataService->DemoDataModule + + + + + +CouchdbFileService + +CouchdbFileService + + + +CouchdbFileService->FileModule + + + + + +MockFileService + +MockFileService + + + +MockFileService->FileModule + + + + + +DiscreteImportConfigComponent + +DiscreteImportConfigComponent + + + +DiscreteImportConfigComponent->ImportModule + + + + + +AcceptLanguageInterceptor + +AcceptLanguageInterceptor + + + +AcceptLanguageInterceptor->LanguageModule + + + + + +ChangelogComponent + +ChangelogComponent + + + +ChangelogComponent->LatestChangesModule + + + + + +NgForOf + +NgForOf + + + +NgForOf->LatestChangesModule + + + + + +NgIf + +NgIf + + + +NgIf->LatestChangesModule + + + + + +AbilityService + +AbilityService + + + +AbilityService->PermissionsModule + + + + + +UserRoleGuard + +UserRoleGuard + + + +UserRoleGuard->PermissionsModule + + + + + +KeycloakAuthService + +KeycloakAuthService + + + +KeycloakAuthService->SessionModule + + + + + +LoginStateSubject + +LoginStateSubject + + + +LoginStateSubject->SessionModule + + + + + +SessionManagerService + +SessionManagerService + + + +SessionManagerService->SessionModule + + + + + +SyncStateSubject + +SyncStateSubject + + + +SyncStateSubject->SessionModule + + + + + +TabStateMemoDirective + +TabStateMemoDirective + + + +TabStateModule + +TabStateModule + + + +TabStateMemoDirective->TabStateModule + + + + + +TabStateMemoDirective + +TabStateMemoDirective + + + +TabStateModule->TabStateMemoDirective + + + + + diff --git a/documentation/guards/AbstractPermissionGuard.html b/documentation/guards/AbstractPermissionGuard.html new file mode 100644 index 0000000000..912eddf2f4 --- /dev/null +++ b/documentation/guards/AbstractPermissionGuard.html @@ -0,0 +1,637 @@ + + + + + + ndb-core documentation + + + + + + + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/permissions/permission-guard/abstract-permission.guard.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Abstract base class with functionality common to all guards that check configurable user permissions or roles.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + CanActivate +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(router: Router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + Abstract + canAccessRoute + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + canAccessRoute(routeData: DynamicComponentConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Implement specific permission checks here, based on the given route data (from config) +and any required services provided by Angular dependency injection.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                routeData + DynamicComponentConfig + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The route data object defined either in routing code or loaded from config by the RouterService.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + canActivate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + canActivate(route: ActivatedRouteSnapshot) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Check if current navigation is allowed. This is used by Angular Router.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                route + ActivatedRouteSnapshot + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + checkRoutePermissions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + checkRoutePermissions(path: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Pre-check if access to the given route would be allowed. +This is used by components and services to evaluate permissions without actual navigation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                path + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ActivatedRouteSnapshot,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  CanActivate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Route,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Abstract base class with functionality common to all guards that check configurable user permissions or roles.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export abstract class AbstractPermissionGuard implements CanActivate {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(private router: Router) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Check if current navigation is allowed. This is used by Angular Router.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param route
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const routeData: DynamicComponentConfig = route.data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (await this.canAccessRoute(routeData)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (route instanceof ActivatedRouteSnapshot) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // Route should only change if this is a "real" navigation check (not the check in the NavigationComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.router.navigate(["/404"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Implement specific permission checks here, based on the given route data (from config)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and any required services provided by Angular dependency injection.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param routeData The route data object defined either in routing code or loaded from config by the RouterService.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @protected
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected abstract canAccessRoute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    routeData: DynamicComponentConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Promise<boolean>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Pre-check if access to the given route would be allowed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This is used by components and services to evaluate permissions without actual navigation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param path
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public checkRoutePermissions(path: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let routeData = this.getRouteDataFromRouter(path, this.router.config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.canAccessRoute(routeData?.data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Extract the relevant route from Router, to get a merged route that contains the full trail of `permittedRoles`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param path
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param routes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private getRouteDataFromRouter(path: string, routes: Route[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    // removing leading slash
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    path = path.replace(/^\//, "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    function isPathMatch(genericPath: string, path: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const routeRegex = genericPath
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .replace(/\*/g, ".*") // allow for wildcard routes in regex
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .split("/")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // replace params with wildcard regex
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .map((part) => (part.startsWith(":") ? "[^/]*" : part))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .join("/");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return path.match("^" + routeRegex + "[/.*]*$");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const pathSections = path.split("/");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let route = routes.find((r) => isPathMatch(r.path, path));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!route && pathSections.length > 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      route = routes.find((r) => isPathMatch(r.path, pathSections[0]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (route?.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const childRoute = this.getRouteDataFromRouter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        pathSections.slice(1).join("/"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        route.children,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (childRoute) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        childRoute.data = { ...route.data, ...childRoute?.data };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        route = childRoute;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return route;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/guards/EntityPermissionGuard.html b/documentation/guards/EntityPermissionGuard.html new file mode 100644 index 0000000000..b7c2ae6e67 --- /dev/null +++ b/documentation/guards/EntityPermissionGuard.html @@ -0,0 +1,443 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/permissions/permission-guard/entity-permission.guard.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  A guard that checks the current users permission to interact with the entity of the route. +Define requiredPermissionOperation in the route data / config, to enable a check that will find the relevant entity from config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + AbstractPermissionGuard +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(router: Router, ability: EntityAbility) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + Async + canAccessRoute + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + canAccessRoute(routeData: DynamicComponentConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  routeData + DynamicComponentConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { CanActivate, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityAbility } from "../ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AbstractPermissionGuard } from "./abstract-permission.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * A guard that checks the current users permission to interact with the entity of the route.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Define `requiredPermissionOperation` in the route data / config, to enable a check that will find the relevant entity from config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EntityPermissionGuard
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  extends AbstractPermissionGuard
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements CanActivate
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super(router);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  protected async canAccessRoute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    routeData: DynamicComponentConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const operation = routeData?.["requiredPermissionOperation"] ?? "read";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const primaryEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      routeData?.["entityType"] ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      routeData?.["entity"] ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      routeData?.["config"]?.["entityType"] ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      routeData?.["config"]?.["entity"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!primaryEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // No relevant config set => all users are allowed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.ability.rules.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // wait till rules are initialised
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await new Promise((res) => this.ability.on("updated", res));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.ability.can(operation, primaryEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/images/CICD-Flow.svg b/documentation/images/CICD-Flow.svg new file mode 100644 index 0000000000..c9c10b23ec --- /dev/null +++ b/documentation/images/CICD-Flow.svg @@ -0,0 +1,3 @@ + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Pull Request
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Pull Request
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Dockerfile
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Dockerfile
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    build
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    build
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Heroku
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Heroku
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    DockerHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    DockerHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    GitHub
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    build
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    build
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    run tests
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    run tests
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    prod image
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    prod image
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    return
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    return
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    upload Dockerimage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    upload Dockerimage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    deploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    deploy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    upload Dockerimage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    upload Dockerimage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    publish
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    new tag
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    publish...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Master Update
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Master Update
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Viewer does not support full SVG 1.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \ No newline at end of file diff --git a/documentation/images/architecture_concrete-project.png b/documentation/images/architecture_concrete-project.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2258b3d016813cbf36ba24788d441a37b3512f GIT binary patch literal 68517 zcmd?RcT`i|*De|xycR@JL^_J}ru2>og7n^-g(AJTP=cZ$QbI?hO79>obWoHQiqb+4 zQlgi!Aa`hMTT^AKp-RvPh>SA zkP8|R$hpIRh`>8)<;SDo2g8denkoPIye#B|@F%@7m+O&3a4}Z z^ABmZyRY5I3?Gqv;%H>2J@5DVC=PY@JwLg&>3hxd))!S6E=HbLK2Cfk=K9OV#h5z* zjq3YYT;bzdvD)ogQEy6_cpeOZa6F9{GWhcf0*Svad*SbEj(;-F{&^WdeqQ6upO-C{ zUg!P&{OJX0?Y}R}UNf-&eW@>fjr{M+qRlGL@0FGO3Mwj0?Z)>Q7#QN9VwK_xnm13YMKe zQC+!s@gmvHo3bU7mYtoQWVdeRP}}l92j`Nen$l++6Nah3u+q_0@Z}l}jWRfkl9JLK zJcmP<){4xa6ycsoug^CLKf&>zqh)wUumZxNySE_tO3a7*bIoc;vg#aI=S{D{V8SPT z3oBu=-2zvO1eiIuFc{tg&A_7Vp&Ai`1S9B!uc;C~_jq|VoA3+N3TkQzb?z%&0cXx- zSs>%v+$E28v?xX0@(y>$9bNh)a2;u(iD%)6((~k7_<<3M3+lHmtIl zERP_&b}bzz<~SvuZ`vrzbPWO_{Z+IdiTO@p_FFWx0RAR87`geYHCrix+ng7SEK)w1 zOtxz9VU0;6uM1{Zf9M~LGpgh_O`821y?lI-eNrc!TDhtML>iv!6Kti8yB|$WOHCz4 zKfegBv>8&AJl=beZ&F{~Gh6F2|DMyNPCM0q-+Hv{S)c;LP+7#KsoqoxBSVA(*TL>u z=J~Ub={w0f^!r=w^zMG<^IdV6Z#UGQ`1&?{YilDrwI58R*6X|#`D(Y9NAa1c`oq8o zY9ZAi5^84qvC0R%TCaYRbLigA)j4M|^DRU)pg{a^vz6EX&`Sa~S?4Z@`vlEsI^JIq zeJBRqd5Pa_C3Q5A=knR^5we(Wc@--Ofr!7WSe9{icCM4mIGd-aum7Q8yH~7jo{f#I zzZnKQYAx>n{6hXH)9KTrw>y<}=PcX8DC^c;cUKK+{g3KWOP8fx7rK8+?Kf?Hy}V!Y zVS4&$lQ5XVma9#@ig|8NG!Vz>X}*{c2Vwnf^vSVaJdc?Jui6C@AKd!dkESt%qvL}o z1<;J%WD%|P<`aKKdI*HBjS_oDhhC#mor_Y$B`aCfU6E9Au{Q-PPVOb3-e^EdC;swE zbOe=v;_mun;UYPgp*D1PHJ{!rRzUbN;nuuno?;A2ed1MB5yeJ_JSKJK{o{9Sse?cuoq0q5P zYs?QB(!}!`I(>sh*wnX|DY}M>jk0A!$e{ac2y}e81@g~At2U+4`TK>ke@0l_al@RVgXPv42k>IJvn1 z!~hk^)Gn#FbfdDg1dsBC$2yMc0(RroJ?1HQWP&=TzXV#eN6vuny z4&L`%H>P~>{LK}5$%$1_o9574T+#2zIW$24*u3AHN16`}hE~`8iiq3W^I96ng*(^o zf5sIfrlP-nll8-eQuXbhD-&7Hj$aO*i(ye)UXlsExwNVQX=!QVn=R+cp;((!ll*3Yy(8l%E3t3YmnyOEarEKC?O7Lr z68{}8le)^(^|7kLFj}!;n~%%EGc`5B-iKT5?mW6WJepGX2@bamt`|g0dRvD_Se=JQ z9ahnl1wjzwNgxoEl_W5D$h2fb=il%EDGU2Qy8r)lsG{XAE-vLGTXgJm(Op&;YREL( z*|TTAq0#8fl7Un&znoLgJ;omIZ84&uB-l_)UZVB+`C}324lCsuNC%Ee(2kW_(5?gb zYVfuCUq3&_z92GqL*ULG>DRAccRT}ujAE$p0Vk(&e}BJtju1Qc4j518W|1&szk;ZFx~^e@#b#{iC2gJKFz%3mr{uJ5u(^ZlvrL5y)Nsm$R^4 z>f!If?!0*E(oB+z%)fE-6+btapAs1fu(u$oU8qS?bpiI*fr0p(33WL+qD1hnJMFRv z__68Lp#N`hEc!n`uio@>f`=VNpp8B5z+p0piW;_sQ(GnH zLV3GCJdo)V^VuyjZuU3nqZhRM(4EL9Ut(N)m#1O#_4?3t8k(X6zpd{Syk476MVzJs z-n@O=*%8G^h_7w@#rB1}2&Z3 zsZV$XSh8i2L68bU)YJDCaHQ&@S$SFmTI8-nGBP^9D+r->9(buXqLw_3O!JMYMyTn} zjK|qvYxBDOR`*^^@!Y{&r4{Wc&?$6dG81?LBHjx-64{6dnW8)?+@@9#TzmIkto z5Dw)p+OJODzVGQXHlQZOb@>)&Bn}NT>mL}f*xUS7=e)gMzhOAR%rUel;=UY97u%a6 zw&Hz*MU`KKnTi4oukTYT@DBm6+mbkIq;;Bx(y2(%ez=q(BSf!x?Q-$cm-?&)h}X+i z8X2+|x3Jhakk*Zl)JtEyawQhnsS2)4z42bTAdQ`UA*W&G6CT{|ZhVv9K^I6+?67;d z)lo+5^3cFaA%8oZo`>Fd^VMV;Y_!~BU-5MW{}>1}8YfG#>8vVR zotl)*zHg8s?EI)eJO6pIs)`CZeH!fQLX4VZ)aMuN%c*3aK7Fc7cwAxGvpS~xV8S#f zkEj&{lOj5Fwf#6Db;I4Og<=a*6C_k@K_tw2^!8GlwSfPxuNOkw!Pd)LRPO^O_fR@& zBQQ_W)Vl)hGT*f{{zH4?vg@F0;~{_^OHf-{-WmwDsZ z!^6YXDN})f2zn{*>({SC_rW6%B1XUk|6TbX^9SR2zlJsXb{(1HWK;a11s3% zP~#r3QiHCi{vtgciIUJ*^S->c#%tbjEhIEFrkx&UjI&ecd8zK0A@K5N##?^JDPtj; z_1Z-`gIbsD$?>rahcqq3r+lK&U%TRQ{%|@8w?JlbapR2_c+9*mqLZDOS*|(#liN~1 zw9Xb)0tLm(Ly2JMRba)JL`$z2k#=^)#>QsRe=R+>^jm6Ki={X?kG>8Guzg!7c^ReA z1>6q=qvqF_#7T%agai3M)f{h2>*=4KMv`@oxu2ey#x+i_HvWN37(aX%uy=3}bA8Z# z`l&?l1~CNn3=%N2D?M0Nb{{xUy(V98-ZS95f6I&Myp@(SAPb#4IMd>O8gfOMNB^e@_#ca||Nmb0m(ndT^E2^NoWrp11&Hw0emwG|X=L-Q_}=t6;0RcC z)=TbgG~yge2D;%V`2GDk8=o%v`BH`iDJY?Q_tFe*rO~ccAx9FT_T+xOxNTho4Jm{HZ9Em` zzrVz?G*z6$X;f`Y#s89FYio;)f`TPQG%6weP~(^;kIxlABoHt4Mt)*)Eh+j9mb`Q4i!>RXsbIy~=I)vX^?>HAoTv z1`>3wpKs@Qu8*<7#SbGTb69w(g${N%`0Awu;N!Gs7<89NdAP?*Gio7+SX!w=hLFzA{%RAk*+uo%4-a0LZ#4Od9yN2D#d9qJN7@mg)oWo_WLO6UU2gwNGCdDSdiu2E7HRqJvGj= z-^YU1o5Z8H_-Y5K6!mUrrqbZ;1H+lVho+#;8 zXS%*J%b}H{8be;7_bFvO38@rk1s^J8kv|sBpeS_C$cvTgLKoMh01wa-v%Dvg_f(R4 z+j-%n(QT4{<%FbRPL5O$i$Wq-;{EcvHmZw_=JS&f(Ui%;-inIx>`b649e9PT-KMw= z-#R|94M89f4~i%2Jy*PgtgBS?^$kLiado5;_ryHcqTgZ2=i2H0e>C!bMC>IT9(mTK z`hzsvQDk^^iB8Jjn2e8F$R=qYOZ{7#iw_|Mc}Qo9wv$z-lE7z)n>PC|R9QA@=W8oa ziEq8(G;Vm}nCsxJ>v>auUwYN;(W8Z`tOjR#o5Pv6mzfWCws950ek!uk4itw9QM6Aj*-j}|>-#k^*xw=Io>879RFg#&i-;*SS z%!Er=CgYk<)}mDF`h5e(7D~F}IJxz-Up$^H-!(=qW}7uP@w$(>H5$|QogEjvWJj79=ktv7y zQb(Eva0yEUmlm_ODvi_~0Cf!vEE6Nd)>$p<`mRv7$5@E^7=8~;xX<19v#GrMGAU^S zt(gB0DNRH1)GO5Z1bc5d-Q+y1-V+IHK2$`rH+lBanMyv!XC5YgSvv&Il1`_y&&kf| ztE9);1RJU3X8LzO8gZ|O1-ivHyc;Mp|6vIUk^!-5$AsYJVS&*cIV{z!gu+kGv&@+B zrX$R+I(M>LRP64K+z1cx(EY+&*(Y+KR(3%dc`&H_9ut|b*x zxUv4qjDF3fyl2xbXPB);>PlC)p-o#sS4C6A-8I$dMSY(DtkVX!D=jVUvfphTGvCzI zB-*@Q;Fhq?mEY#QAOt+6C&!X<0TOjkrH=Qh!m+pJo= z%u1O-B=Z2$+Fx6g36dRaY#c*PCbs7|v^IT=E?DeI7D3ji4m+zKv%+%zg!xKCe?eq0 zKf-5{`i$OypB=hdWw`02sk1@Qe!MHg6FoEw);1=X-h0Hn9#~puw?ReNc95)`;!w9D z7Q2F)*E|K@%u1l1tW_(6QO$gdI>k_gvx#f_ja#>vgW+@n3b^b9v-tJNx~^Af7>ehU zVK(A(6WH9QCX+4{I^G3KTG0CmInbclxqL0`QwMxp?9G^?@sIw6W@Zw?FU%Geu=K(Y zL7vg1w;_a`4inD?q5P5|o{@ltPb}6%$gP(-)S@!e? zx`2o+QIiQkgrj%^$isCJjL#^Vated|>FQBxcF;Rxem`0F*d?%hW$K@dx_1c)6p7Qi zClCzs3Z#YaZ5;Pw=9-X^5&e*e2xdk|i%79>JxV;*NnxLBl>N-HzaVPz_<&8pus?D2 z?Le2AgSy8gwX`;cqM91ZjR}Y&>H@^8e2>qn^Sn^{>ro924FKc_hZOtYhb1@OrQpe3 z-pY!#?JssFVKXRtCmVYu%7y8@{sec%3Qd9(dCn8{^n0dF(X;bT&6ou063+VA;)y%& zmb+piIDrR27(8{lpE%826Gsm*&fV}qE8#UgKXfbAc*(98t1A+T>!ChXYNsm@Scb1} zFCzzfJ|c~d_B;J>lk#${#mExrHN&cJD3rX%VdX%6yWx+(vhx}yYzZ2JXOPuhKW~I2 zzA$x}{oH0M)Yjn8{j}@+Yx&e9=!poa5NySU}jURzg;|Gj|b$(&NJ;TRhPpP zX06Q>n~F|M8(kjj78|qmNgae8E@r~#O<68z+WXPbNhh3uc@nNzJ>Hpx&%m~wAyOM- zOjUGVE%|BL3<)Z)^SJE?=1S6OMN(Ne+#H|c_8S*rNF%_7C$*usH-r( zyT&9TA){NO@2qr9pzvqrbMv3CFSuZrb-Z_L7w6U}`R=i@j@XId4>p>^x5-;cNvgZ* zSnj<02+ul6;XZRLdDZSA<0)Jhc`~|uG+gdc3me8_Vq`9cXfidJM-22zZV-INGnve= z?KIfBfw$FyvbW=s=FxG?=S+FzyJxNDyA!ogZ(K=fCvZ{&XOzhUKHe0P<{d)_<=`d} zNptlZhz?rMi94>AJ<$M*>O>_8QYJW#*Qt0M)fvHYt3PF)w};1k==NisZ3~M6_&EM( z`VK&!9d|}Pd(bA8yDqAx_^Yc&9xK}%C?$}Ef6;<|6$RU`HPJ%P4^8i1rdoZpnMns* zjS6NG90pPKualmHy8OCgkhQk5N8M z4oC2EEG{PFV|zT2Pd;5fINFxhqz+k0C3ecLs)EX@tK-9M{9Y!Od4*os=^=oJ+(>^E zy<)RyD;m{o@N#bS>oaXM$E};G#J8&?v);LL2l_7MzBDlYXU5f*SoT7sJ#7-Nq{r(A z_j8JR5jDTKYX&Hr2KWIwp&* z*r<`3kp7xZt+t)BXD?Bruoz4{z=IN3E9|^PX5DJvVK68&7$v~0B#RdLY!)Ix&28x#4N%87y|R6^DnK3n-#@OW-hP`*KXsLH)MH6@ztS9F)6YmXg;9GekV zX)LNV37alL4%?FchaYZom`>C*xFzx;IQ8Hc%5WpyYf}82-S7fwW!~JyVf`Lz7V7W9QYpN++IIpGr#o z;1K~|L}?rzIoupAIv|F$3=9?Osomu(h5!8dvn@eRzr+!QgiYm*!y4lT-&v0X5Z1_G zzus%JYss?5U%DRb_`7>%d5EJNI?tYX-#@wNpic_%&8*hf;L?TjzZtTjSLZhKSYy_v zR`GRLC`GmJ-t9ua)bf(;Tr}U$>^vkZpkUrt3{4Yl-X0s z)o!D_h2sumH5wj=n}Ihubd@a|wj=!2u{a}y;iRRua+tBAa_o&<)upA9(#C~NtJVJ6 z3QnUYV=4g$PJr0Q5x@zCf=eGQNvF<2)FV0j8YKMz^?(7$yJE3nRnZWngA)=!Tpe6& zhQ9kAzalN-!u|O9)QQIH%lLWWwVB5b;uPB0O*_n>7UqjQy+SyZK=?|pS*1R4E&*JA z_Uu`Iu9=iKtjA^+!wi%ap~Z%sQBuc|?4IaiR9_vv5l= zXm^cqRY?w{I&5;3gXK}3rA@6GET^hvcxg*(KgGz^|`@E>OeTVZsWKSb1liw+}Rk-*G=SS=?I_FcREH#3Yr5szKqm*>FR7 zC5}f@Ft(p1=C7wLizTj(`v0t?vT~9LQS`P;uAA z9-&<~?+Q=)qi$^_#5{G|P=%17Bi{7UqxZk9u>mvi;ZnrPFs$|P>)UhlfO9~xl-8v@ zU9McZDgnS*h#D5q!%Bb%buS%!@S?2)@TrbQegJkx*s6(@In4ja;LV=R6j42x=$VeJ z!cqxX-<3M58#l)nn$%OGysPK8q4yDuis%VRzVfwZy);Qn1g_7nuw6Adi`bQ5d9_Ce z_yc66r{(W2KM!*bMbsR+)=_AGt6hD1=-l;2&em>EbgrY6#E6lqPs3IaU3rOBagh(z zsS`80KKgateZ1Yz!6R*1#V6m|dS+w8(RnZI4 z`aFleF-mjFx6Hp$`L>j))OjO`NU#3b{QjM#T!~}Z^N^NX*oFc?ZFGT@4^+ecm{F^= zPOua^vtWm&OCP~kP@376ULE!d)UnOuA%C)7uoh0Cev+ekQNA?}DGmKO;V;^4GC2zB zRHnae&1$YM1m?kM#Vq~A_^i=J6*)!vwVH58{IQQUs=Am)!h_Rs8^~0I`m1d9toyS< zDmxn@^a^!VZgJ`}6a#k1C4bKFB4o2=f&b@S0ED*xS$v71dVa(K4ZqjBN{1oEF1iNH9M@V{dh^^mEUN!TipJ7YK6|W!c?Y z&Q=`rq^X7g8m`k`PZIdIP(vBv4C+_># z9GM{>9$gT}u|j;?Y-<|Pcn0!RkEs`>7eq?WeR7Ozo(IyN!A8w9kWFn*xi>Kv9qtMW z>SknSvcXuL0H9WIxwdoi&@d+V@Cm}p6v|H{P9{vH#2)_^cO>JGF1aU1NveyknZ_&pB?*OOdYS`z(X z&9-OFbsq}ic}fuUnf7vz7$zTB(*Wk)!j)#Y7GqyJ6_-G*Jt)gA)CUlUP*(w zXMKslXn``B=(N+-$iY3{ELGuTl!qEIV0;vNgj3LzaC=5f(P z3@2Uor#ddUBQ8E+o;sG}y}dxlC68R>1k8H)+OIJP$V*UQ2?`eyYQZN!OyteV4(hk0 z0psb1co{mzcgv3y6ch*pct`q`2%_eEwC`U3I<AOWfTR(9R;d93=Azc8+|k1Ly;+-Q`YV& zk&)N7c6X~+_H=%1hYL+bvZVR)wo9v7fx$*`o78nUHXkvMSKALrn*bS19i8;e%dt{( z4?vA{6SlyaI8CH|zn($zA8Lq8>u@NX^MV|YaZNfx4^dtSDS!s$T{0|S$f-4&BAJb2 z*D3e*@s)1Od?=xWB^cZ+0qhl9uW7A}R->hdOo!Aoy*lMGhTfjtu0dTo{!)AhxpaxV zlD}cn5Ae>2iA#=-PY1zmuE3D7Y>b|0KZLX4kQ^wmvv?G9zyG($;9%eIr>xp`9WaE1cgKH#2L7k-DryNhkTwxaqo9$yaa zJL1R9FuKCH8uvQLT3w|Ib&EePB3c$bmxukZcMAY&wbI_Nf5@E&oY_mYbFosww9?uM zsjkWH01TKL0#h(aSL%?aCn0-sxUF_J5wCx=kG1HCyu<4>{cw2?5^#1Tl?W`A5dmMg zuN{HGgReZ;A$oi)Xx)ErX`+^I$QPu`MY+zW!wh36P@-O(1N0%ch~JjRa5MWzM<{$c zLh|I$)f!-KCM(QLOfka=w!`{t}9|&D4bEWZt#0>A2$11Ku#NYFo`DU3$zbLd? zT=UwxK5e~AFQLj@bB4S-;{E%(jF5m`epcA#wMu@GMaa#E>$@|ISfEn)>iZzz#(AO( zQ5PLv8{yCVIf>@HhR7OZE*JJ#eCNA72#5j2(EDIZnBIN2+#eGm4!Oi@>U%yw5s2#` zkx~Q#j2hfA;PA~guzwg!9S@)U(?yTDEv>C8+LF07!w9)h`c;}hw?TU4lu`vrrsKis zkh#hx>2Sc3zCsCcI}!*jaG~kB(91lM1i8)hPCStT1YG8(w6_%g~;#UFT3b38RHo>XS(D_G_>Jg!CfGOLO>)MKG{rv7x*_n9S$XJ z?VIzY7s?N>%RYV;8y$Uju`g}$bZQ`xq+t4@FFIr}G$CFCLPHCSOOYnFHa5{iO1zfU}fBZP= zI+&~CS*=cDh?DoZKZE1GdHbd;bInDEd18o{9a9=WmAvM#;T$yo?hvqc0X~dD7yej) zUaITP2^jF{gdXn8-TK3Q#>D{Mp8y91aL|B}0m(41N|43YCMPQc>JsjXKby*8=? zsYGDwgFVHeCYk}n#M6R4S^Ja!y>`53A<2Uogzc&H2mb5W^&}2>eIS_JmK!`y#%N&fQ+MBWi4eY1aB96Z z4QGJw07zXzs#~%L7%jp6Bh032z5*ZE@c0z5tgykG1M8fFFPJE<_U$=2||CBwSvdjhO%>MSisDrzbAzR zv;w!}^v5k_>ww44n+N|ufOx%tW1Jr>GGL(TN_9h&!7P~ie5Ah!jEs;nj18Out=gMs zAn5`mU=vUhz{!zFFbm-Lkq*omPx4m_KRry>+zh01f4m&U%q_9glU^zXVuBBY2{tcY ze)}uK+GmU>GC=ZWizzUo)kA%x~z<@20J@_lxXFwBf@$Elvp>$pD-&;_FTYL-6CVcJh z{V!ja`S(Nm*LfwfdjHFH;Ch9!%zw^?;I9DSyEB~v5WwKLx{bjAhxv_d@Kjd;u2m!ONdJ!!{u#=8IP0xH zR`mCp$PSB}wm{&+%g?Upe{$r>Moq`v8gw;IHARe~#&>5M8)u6u)krA>#LhE)#s&hX>jISW zA~=*8?~4WHrQxc=&Yj3Ffhxn3W;@#!UOpR4fA4{a z!C1Ae)gg_|Z9dDe)k%a}?g{F9D4Bju89_i@vZm!oR6J-VaJyOqsWs5=Kq&;aFDvXq zEpU>5*Rx0N{K`lgtm_7LMF|S6bN=6$`_IqcDyN9*ynl1^XX{*Nj0KPdGDjsj&$fjk z5)k4CtF8oWos!S8$QgQae8jwBsDw=Q19Y(&P+xo+*qE$`1MLS-+k7YmS3J;bugo_| zHt||4^Ba7El8@Ck);4H+@9H-~UFP77(9cvX?-c<}JNbSb53EZ(;FJ(jwJ*LxCrk`c zJ@OoqJD>d%PzbZw732hdJ6kbZv41**#r)UIW2l%r($&VW0O-+@CU@N)y_SvTahwRI zYWDi|x>NG#@Q72@Y@l)Z*x;6FNwR_=EJeyOx!TI?%-geJ1Ey1^%u8wF-j53O3N4L= z1O#+^eSKG_ri@Js#C_I=^s=2ZS>`vR82htb7mb^rgn;a1`y1vDwXN^5`(brP>gMhe=GeVD9PPE;3hK713)p{J@wFXo}V zUX%G@Ns`ZwMlF76)ta2g^lOc{{6QBl4^aGhtnNtzIf4b=i`Q<>ta@Go>XvY_HpO*v zgyHZj+?$f{@xtE(%$rq7M0+CGDAOWXpP&YM5MgGitd5%BVXl{ZBX1qa=ngwq+5MRQ zLMCEfW;a>)SgoDqo6?EDU-)?S#t+kd+y+Ym8IOXdOZ1fv8a*Iesn|e|{lB4}x#s!6 zsPrO{^b!QeBc2;nN}^w_6OsC)n`XPtz#d!oV8Q)GgsFg%#7?iv9p3EL%sF~U%UY@P zaNhsNBytgI@60(1#Wr*6!Lm=uK%?4xGSJZHLpc`y$G4_46!^wl#|30i6beu|_E{n~v_$>Qz>blqId(b3P# zVMYUv*p)(Jt5xJg!|^%d-*;HXamznz9S}E_Nm&m3!W?P8(Gk^|) zORBLH?s-}BSXj638{g@S<-K;y6F%7Y8kaDi93~Geg@)P&%@uxe>Q3NhQhb@ns|&cz zo5p9(oH0Mk3Zr|UO6U%wn@#&CwG^%wfe;Xe9XDLPZK+eF|3Jibw`ek7@_6J0@6j3} zTQxCbSMTK1$_uKqCSth^`Auo7frUBHVt*h?e)Qwl{chd-kVGpZoR988W@h zVSK#ji97rrI>D?4cBeP%scai{xoO zyh|#+nLcW7$AxegCnlwflx*}t=6%rM(h8_brqvJecpEwevPK25zD3v%7B_c%(&B)2M`mk12 z=02{QuUDEnYGG|{ttrT_ExETT1JoFdgdlU1%}{%0W+uzzU>EBBL_N|J0R&*jKF41# z0~xWw*p`t(Mr-?3Bo;wG-5c6}GErqCbV zYt94c@#K*5Ra1~gL@wh48Wz`jG6T*)=uCV1o>0&`@(>RTq3^3pe}x?#pl>DQGt769 zbC_d43TW0TQ{n-%oi$(4x6Dw`+}vE`ed34jgB>#}#d9}m)S{bAY=#Q5+k3cx8myGN z{rFG|;DG75nRgj2x<@{@`AMS6vpb#hu)UMM4K1LTDGMmLG0V24ow3#fJCe+8-xUCz zI9KS{^tq;w5ZElcKW5XDq%U8jFEV1G9jl6IJix8^QAHSx*0~pUe-P1vdoKTwCPe6- zk3y(4KYY0bufw6&B?ibuyloP8{(ofU*SQ~-Ak+9X;wLExrK}qvcXZOYa5DM<&Udnr zy+Utr;yBGD1T86OUXDmyjdQ@x{*iXIg{v&2{fD&c%Xfmb3+H!oRONQ9KXQ0|vK}km zS~e5mHYDYl1GJ)Q^xL>V7%NFd{e1Y-< zG>rn=Xzoo*xOn6F{C1z@fb`G7L23ypz%Wru<^K9GwCI!ZE2hm}uf&w`^K5%(VdB!` z_OR$PfkYbroSF78nO)tBTRwiDt(+4`cIcKgHhjaOJKLn(T!Fv{W4bH)M0{z6jTM_# z2iuVrYRJ*0RuOc4X0ky%7p>U*H)j9|j+H$yd-$&`SS$s|g6HjRLFH#`KVm(;K31zm z=Q}MOYF&^Z3fkZ%%<-kohebZ#R10e(O(vE-A1#u533407*)|oR26+2l(yx`_AtV>A z+Qb`uN`9}h)Y7wgA&KGgwrM;El4*|kv5 zO_wLGuD!+{bVKZH0x5ygu_*1 ziFjpL+jK0kH4EA z5pOh`>6REUlA`j9&!xPtOUiIen<{r$Gi1}udbhJQt|oVd+Q!(ynx4JIh<~q*uZaXk zGM;DMS_56}{n7EnpvopY)nOo~I4teHH2TXkeNVu-?;Aoz??@NulyU>Vm_Q|9tC=pI z$2p!sXUp%hcVEQqcVuj5kq=2oSoAKf=mkDPAOY4ZZCuyXpsea+eqJX*(MxV znea%7#745}d{tTyUIVR=O0&7C(cZ3$T`LkkQ|0U1eG(iS-N|elTqXq@zPH7om0`C9 zl`XAGVC}Tu%>mYo>0pHab|0E`eow)}4dmMb3NI!;JaAdk%sAXye2^knnp!&E2oF{0 zbdi5jcARv?XRab8DQW62<@H33AOPv3_S-g??eauBL~k^qqrJO5JCY45vOG&oG1wfH zo5IAvfr`{~jxUFdHLlo}|DMFTMIKMoy7IC)yf&|NEKN{(N6T}7TT3u$ULSsSd<=So z@_xSzN#Y;<&eL5si-Ls2SfPbVXN@ z%#L90^sG%S%e4$ux_p+X*h1_c;Zzo?tj7f_qK``G(4YO1#1A`KnaAzB?A&^^8^s-a zsmUnWbU5^e8?CsRSkUEQ;{~NkvftkKTxclJ*$^yA!g^hz;O4}k3Yd5r4>3JKYvJy? zC8k{G4sZ#ZKX~gr;ZT|{Mu~Ap{n<)J6N?QOF3)8T^Zb?zy!6JyAFJcN^HV-MXZ>x= zGnejy>*DVFZW1NClZ{4tB48u#>+3GPU<|ti@wPbXy^+(1i+=o7aQR;?fL6A7)WdwU zV!MTFshRx5q#?0#YT|cjMLlBE(-{U<=18Te+J~^V=E`BQq&$V^lGj8l6S6lNt*&Hn z8`Wv|AsvRg$jg`Nd)g{znN_3VQu`exej_h>mUS>gLe$t7_OT_qOvKvRvRTAjb)i(WDKBDIm8z~gxZ%6ptf+!&@R>-HBZ_4 ze8WLRN}ODJP~2u@0`nM1(V2eR^?)1I0^ybGInT zy>?9X1PfZ>yJJd0V|*R1?Fff<#O2nyqeVu8f-XbS15o_Qom z-nqW0y$E`VvaQFyJ@Y$+VWY%(!+u{SHQ(qlyfE?;l&A00o6vHL6E-so6~(v_kwunnCe^NavMhR!z-VgzfzzhE9|f z|JnehCKEsMGR06$<3XAGYS0cc-^v%AtUF7=W6D3u%#a@GJcdLXNhu|-B)YEXN7T_; zh}0L&zr=p5;`P={4x^P|ui(~^dp^soILoZIWRa_y8cS?@bYonjFQU(sXvkYry$fJ2 zLLy6t$v;51w9_X-lb_wFi}jE6SL@ZKQ<~$SWBl49J=W@aU}0Refn&O-P5uDSG~{>W zPCG&`UcI16E3rf)VG2s5rV{6E$N73iVK=d6Lo_XS=JKe0smC&Fc$&@KXBJ4zHY^4)y-@_3ixI;bM2Sft@fn>!E@;0Jl>i1P*oJp`hn5t7(CaMJ>6^hklo) zUh(8x$Sj%ZdfVDB&=5F)SR1dGz;LT2>%_~nex2+1$*2jsglENdt}4cIS{oz&)#H?` z*DXaGtY48bE$sD95`>kewc1)sUC3{^ChHy?!_6pjNb@`7V`}O%!D59NW<@)@qCrP> zGagcs%W)uCPAsb5oBYn}u&S@{4h}+#O~=>oq4QHd8$-ymhllsDV^u~GdXraCg;r_? z6_(+Iq#g)_pKfKb(dg^fxo?!9lf^t%Z+pYm3};1`Yb~}x;{IxQk&ovtU~1#RuN!DI z`wqHDocU=2_rGVtPL46(7t>ZkA7{3OTWBn7#k1>lEpHurwi1DMhuA=3(&duh#8+uE z0RD)H18uyMTC&aGIzDx^h1>obNm!Xn&xl5lPxsP_b+ORH?y2$Hv7RHkI)l=H1jyug z`Wthbst(O6u%Yf9em0&4Wypg?~jj^UG29TQf71 z;}IJ_G>CRq3LRVfpewGr%MU~dg7MYb?VX*?XEL;7!F4xw2s#->sp>Z0eT~GWzAj}m zTKU20FBruI@teuz6QFe@goa-oL|Uz8esKqjoDuZ&h$u|0(Z_{w9+E?&MI1KL)X>7S7Fu~*0*P3LorDJbA~`T9NxD3QLe zi`z7;hD!TqHr;^1V3+tH!o`zzN9|Sbo*zTiBa)S(KHy-n(~tZ`RK->r;(6!m>G`oj5MDH{xtz=ten zXIy@3t~LlW?oE~~_F*9?RWpJ}gi6ML4L&Nft_lW-hJG{z~D`u;TfB9W=#c;W36(>flD;S=h-YlX|!`NvRi??e?Pfn?D1 zTD)$x-hgil8cAwA_-&PASjRMVzv(&t(rClH&qdIMlgk1MG5TUNN38BXU_Y>2-a+_K zKDDooLNFH4TJd8bCRa5^j3YK7e;~(5`2~unnX28-x4~lP!)MJLZ3Q6Hh#H#JIXDKa zKen^Du4H>d3c}F*z_^ft+n6=YQZR=gKmpOGvgUYiYZi+x>(A~G7y9%X4K!;69d@C_ zT1#D=OlVhZ1RSJFt_ft0iMa22W=Tckc?vi1OQ=cam4>mZq)v~ZdCFV;yL}B)%@VHh zbg@!!y12)e7eE$7=h*Nmxagn*^xJ$>fZoS>_xP#0Zby1LKJBzO&6XO**)_VU8b~J=+|_dP^$X5a))7?UZb^oIo{{!$IHv@ zFaLMh4}*w^fe?gbTP;=mjzED9AGeTX*oYz(Xe2-(_*M^>SZY6F?~DmX-~zEL7LP1n zXi5YaN!-MvBz)L>f$`=7m(^dW$3w`F#kafpFkKv_9a#!7ZahP)L04(nGv&gg_xL7W z{kp1sUyOa6D*+NPK9b(MuwSK}Pf6!u)bCOKA&SxbN92=9K|RFE%F|mK-M%Kr$!t<_ z^REL4CQ%nQ{&6@4V2!~m!<`)VW5OO+1nV*i#)&`+4fni*WZ3@5=NH2WWThq8Yn!&M zhnt&DqfN8KYz76feh0mSB|RLN-tNTy%B6v};FrPYFN}##`PdG}l5;pVBzhuo=xt>I z$it>AQ;5^fZw)^s7$^&~JvXKZzi0%&XAzYSlVj#4t)zLczI-uHPMX&Bhd8;oj>%-o zT%SiOtr_AJTr|u5?H*>;8O1)iJx}To^2d;AyaP+JD?w|_-D19zpIm02UJv^0Xec~+ zm!RN$!=kIwS{G3vRrK)nlyHN5$D}8~?stsRSIDQ4- zqn?(%(ct%_bp2`#wwQUNpNM$+$+RT(gwPOdSpa+>~ou67E+0?W@nj=F*TE61t z{WRL89br0pWMjfHr$o0RFIn-!1U-i*_q%vWJc! z1ai_h<<}ywu>hkv$qv5xzViHe&R7|Zt%nybkjCA$l8L?hI^gv`?_wc$Dz6#-PUp|R z%aHz$mkSF_RrUM1FEWu8&dJbQhFLOavmRplwp&W-pLteX9Gx5;?HfmZNRd2P)woeDO^s<| zF%bzhA#|EQJkgs2ouET^X5MLJe#5@S-F^E#Ix|{+(XpagJG_wd=Yt2l{0}saKb}19 z^%%{2hh%XYb(zlsRR;#4LjR<3+@XRy=Dt^%a+;tDoy{(bh}UNNgv&~Cw6NU=cYhbf z_k;NcT4oEd_u6aC7<0@q$GFEmT<2BDyLze4tYf4@)Qx7o8tNM zmYnRKqS&eVf(mWSpzGR((NFI>(Mppcz8_*|o^OmkimqYX>UzGwwINv3w?$bw>AvZf z*)i@}xS-~?ELje436_Xv>{(UMq?(lCk+@i>Jc! zp4;Lknh`r-RjIJ}X*_^wAb|`zb%~f*f%>W>)#h$1wjP^)KFMusAoy$JxBwS(fhD-J zMw(h%!@JUz=GeRY62vnY02LO?4w#cu(2~ttgrq;!x zUYnl9ouyNg0Et>MkizBQ(+{jq0ikC3}B(j zxu0QE`&l+8j6Qivs3KCQ6Kvsh$}UcMp<*{irjqUB7WdpCWR{b|YNV zAQ&jh_$?os&s-@ndX;so8xUHmkQSVKTzz&6L5h-Tsi2D%&_#!dKezBcBkED)ugLEo z_o;1eYO)hRO30ZtpM|mN_p?qEThh7#mz5#$vn(tm6c!njCzK|af*pgGo@gdx?_kd$ z=fm%P;NiM6lb)aT`#54G>+$XB8lmu=SF=(o2Czqdv1JfJw%foHI!GXDdCKvOC!|t@ zF{u3*Gg$>ngD^m8^Ww{BT)lQ})*C~C>D+*v>wqpYC|1vUSLwBGe)A#GM4hC? z;c8uxdpNTX1BGq^E0Wz+@RQVSJ@#26jFWgZi`gPu;zxW|GHOKL+DBJa$i$luX|v;( z6eAkB^q60fwie@SWu=_Ggn3>{waH$}%lFAhvDPztn|HQ+m8b zF&Lcc^Q)^9K-fZXyaN!Gb0*zG1LU}AaDM6@ipgN_{%NwBRohXySTUC+H-SmmIqfL5 zaf2U-Tpq)+?%lb-O+=i80<1eL94*Kb`iCXo;0YsC3A6kjP5;If!}ci*KprK7gL-_P zJH-S0FLWYQ=JYBYWJWI37@fWb*qSmJJj>UCfzB?`f;j27zJLEdQwvGetX!hFNZp`e z2E#F%gU@BBRjPO5#`RAjPsMTH`})QQh^rF6%(|BfIbQ@zm-7$!=h)O+*)+1cHR_Xe zo@ar{PD67(VkZ$EE(4M4p=^ugw=9UyQRfApoySz7BN-259t^4?i4kJ@xATv&5bN+) z;1742Wh4tUW>a6k{_Kn2l$DPxAR7K>4w~EvkYnQa?nMmXWGw9Y`{R2ar@?HcC-=mg zXJ}+cbh!dX{E~3S6YxJuqib{ew2JEhj*nrv&Db;Oe1AZ^h_``XA~;+fT}V7YN;hIB zVto@KspXRJUP79fK1gL}J8wk}4$P7Nc}%u7e-nZ*tDkNEt#>m%Iy&>Xg4|V|WsYqK zEA(%Wm2o}TR1lQ6;mwzi=BUtMK-~9?&LZqtR}4K=7}YbVAk!rLV1Kt6652FV zM8hL|mMzKOt`WY-sG31Wn`)KJ+G1=gdc;4+^@>cIOQnEBM@wj74 z4yu6GE+6kMi$tbsD!oTtJk$0i5WDtIL>a3LknqobOkCZ%W^#Mx*lFIZ5hdc6mp3?E zG3^-_NlE9{Ik2SGRX-mqU%PNYZ0tCSMzN6t->vanPp(r}NNA`Da2z>xb-O@9WqqU? zPr?qMF^vKI%;B+ZBRnR0?(9p^S4|%Xd`P>=$KGCirgPHql$+yUv1lH}j6d^ysWTM` z!Qd}nzR-IhzN#X>=x1g~F1>teK!h>mLbi_+CscI(k@k(leclnGr&uDXUuG41#5e}& zG$`O(K89CiXMN@d$;?cZvd0fB{xs!uy!fkGg_I1R_E-_`;RU4I=>W7A4KJ@&Qv}Q0 z$4N6iy_i9}W)=drP|f>~?%qA^OIY`?`-*((;yDaG{`0#E3YgqX;8xLorsjC2mX=o| zayehS=tnnE)zXQre8&y~Yht7#w))y5PIwWL1Q;?2qL_z4V z^AY%oW#TDo1mPifl35+qBPAAhv54<|gt0|YRyK(WsXOERtm|1#|KV|5Go-9HlO!nK z_V0erh{UTz;%9<7b9-HN4YrW=)Wrz)VxzOl7{f=v*hpq@GoLkAGxFDQA8jqx$8X*Q zq_N{~zDImSmhWWe{XUUinv|66lDO@^M$#tICgOV@^Y&Bzr51Oq=|*r4z4eH$x&|QM z6zgXb^Cx8hwC{8^Bui|_0Z5KOCE2DQc3PAG`4o10Jn-$Mm{refKd^0bBtD=Vtod1| z{XS=kc3pgVd6L7mMA6DBFATf~_s?e?>(I5X#(=aaG&3OdiFm?}=MbM;kSQWd=n?>)B$Ty$i1MDGf-hV@%*ZQQ_lK)Ur|G3qnU}xjA)m3bNehNTMnSX@TB}N z%9yN62*S9HAeXRe0oT#p=MBu%=DvrII6FdYn$2ExFIPwLYX?M7v|+Dd^;=UHNq&*| z_ctypL;-=k@Wy(0BRwPkdvW&Dj+srM>*#^;lo()ddt;mdlz6b|Qr?i15={yOo>}x` zRyjq*O+P|D*gS=$Ud^^{k+n)dH-Ihn;ra*JnWe5O`M;LTY8t2+(@YCx$bnsccMU$2 zKA*ITl5wd6T$Fv&jEvImpUt!J_8jaRi0C;=;6U<7J_#CL?gbi|S6{+GaO5{$o3DGR zU}Mk6crSB{s}DPXoC%hkdjt4QV~8gIAXIUUhPi`wPFe!UtwpsfAqxi?l_2<`gBaB-OwD5A2{&v6XGa<8fh;mc8KR(`9(R>*yuf`Kdjmq;iLQ^SJM}n}Izb2xat$k;esc;{) zlCPYq^Uf4jc{j|)IFk0yaGLrM;0(~hWgj@<$${3L-&?G`^b#k7UEuug+vB6P-Da=G ztXaQrJ^m{dt|)hyh*|lQDs^=(-}@hXPaw*wBk9;X=h{TJFQX&q2s_qaq1fg}KO_}b z&-W^TUnLa6A4juWOO1l165I%p(?$n2Hw1N#JzFEJ0m~4>Lyk`Q=+FL>QV2rN@pVM~ zO*<-&2yE@m@bjW>ZggdC3!j4zZ-9{g(Ytff*XTTKw1eD0>;?jQLgdoFr%9n5hfxF8 zPQ&%x<6x~bZg<0uleQn0d>TX}{<`EwQtZfniK`2nY}_<1M3PQ?BV|O3sU}_QDc@u491lW&ew=K z`Um1oBoFXuBuawfIrT|onaArV9asrhSyZaA-(TJwg;iAaf3BhvnTYafarK%W_{G1m z2V@NTMC;qI=_BZpg6a4>$79*htz~1A=M@0KMMlpYE!LYqQx;n<9YYctV0ULYfuNnb z@{<=mqa%k{ z$tWt`USF|Ijs9F?5o}E*dLii;`wZRgq{ta2;m~-(I1LRpp<8T+`CgYCT$?6k>z1;I zTs(8+m+aU8oR0YT+%j#s`jzsA=6jOkn!40M=+9HDm>6c2PPH{zunjM5y6s=KD#?Q^ zU$_#$4r4DFlq&nBDG9oNvSdlQj?$Tya9Kh`=^BAKgP zkn}{WR;*tTo1)uX$s{oS;B~1N%O@5ks}apyr}&v)D(`Ps8xoKUUk8&DC4O!I)Z;|E zw^z!yEsaieJdC(NUB4t$&EKfO{lH@#F(xBZ2m~&fswG+eSB3Q|oaQduxEKhi=m3u#hne+!_5I&COT=Q=C-zo8UR%d zSl6QU^{6H4?*`syQlwY=FJ}!`?lDDxUlz(w+aeY!M<*WoFqCTI{A)qa7T2t%V6ETq<9|xV#glrF43~G zD&Co}E<@=Ghr!`s(kxA>z2(|FhMwEj%(zWF$P4{XJg&znsYuZuIrCT zgr7t)>l8{hg)`B`du~Rflw@vwsFMR&7gMcL%?&o*4=4 zx7i&fEe~zHQdg!8y)olL1}E6)g}JVvawYGu(+XtKEFRzKD@4ousT}G26W+ zViiLmRSQ^Mu*h!g?*OU74e2Hzp~-0`14L**ydZ=3&?gnQ%|Fz!l@0{~bl@MZbXw|Z zb_B5Wy&Szv35}8fJRKJ5*&#?RKHgJ<9jL9*DanpY7pPBU>>8PD*Ze%YukilU#*V*& zOfaDAbT$`8*nr)wVm@YpvqGI=*at?ERwKXm<%D%pH^WZ-TG|#5X5jVPz~=lbZN*k< z++0^x6B0kGe|ULv?Djbvb#j{;1qp=v;76g!YDf4>#JrC|ExoCDZw##0&P0h*(VWhC zj=GEU7N5WPatx=bd<{AF?pinD*4Zc5&bAaiW*#-)UuHT-{Uwj;vj)pm>ZH#cz4PFBn{&3RT0E)n-tg0`{b>+kKPmD^a! z-oUIVe7L1H+>}ox@bjD7e^`M2JWj7KlGO|K6yD-!%qaf3iN{EdXOD?o_?wW!J+oRe zJ`YJaBGYr4wiULy@5YuuCVQepdncCoN1lFMS2OV>Z<>5`R&zOheqjINJfHo#)7LLw zHtcOnm0()JjP{4$jftD4Rdr|gY6O;fY$q0b?mSMPdsp!IQNqjO5wEVUCzUuQTql$r z#W3gVobjW50Vyxthyix& zU}C20qDEGjKN(+V?gq;_Du9P;^{A{B6&B^Y$wy}R2-QsDuv^kL|IWSd?c`qF7Rtky zOO`P+*#u~8w{<}OrOB>FU8?l-tg%n`C%dKREorlIsn7xc>G(EBvep`Q8N#y_1imGo`!?> zttq=``j41zX4jfwU;w#5L%ptu<1TNv#bXlZtqnfAiI4i&a<@eo-Gl3Ve0{Zy+XQ<% zb8MZ9GwG>b`#Y<1Y>||`+0Gvf*o1`izkK}?YbC+WrL1{9Jb)#)K3(BMns<(p!v4N_ zE~KK#+9-b%JlH038vqP`S%9Xy$j zaLYt>l?5e5)Og{lF#i?aigM}_62UaSd&t>pFj4^Ma}ra)Y^`xK>%=zA{9 ztlh1A$F)|w!}tT5w~?$r=Q8CMLF8xz2W|J~?IfN_nmDQVIvgU_SxI+QmW9+ z73_~aripF?vZa*REXT*Ty^dT$G+gR;0u*~#Xe`s?1-uQ)eyguxCWT&0`2A|tjP$GR zTr%-gWAuDn@!T@|K#b_*xiH_ik$+a64bVTK1c%e=z|WBs)zl_}z#*sIS>Eo4+^s_q zIlc>XsluMX&3|RGgwNjb{2s*7o5Ex=3ypq0NFQ*%J)CVuNOH@(n1Fd>QW{HaXwm$0 zbHR8t;Y9h|V&w+gv|74+gsxRJhQF4#eynY-Yae?hWu%#{`8TcH`n%d6sVNPg&Jd9; z5`pAWWQ__e2L=j9q{o{xRU3HxTr4mT$BsTHY^reXZRE`Qo^c#TkIbQ?qwbw-_H$^s z>X4B3)D;WE+g+fE;{~2DEBoVBrw+#&`t9#z=T9tATK&`~_SkLZ(W@ln6$R65y(B06 zb?%VCoZaYq%|Ex}t+t9=qW9kqt@A{(MS6Me{CN|E_w(XO!U#+S?c^l(-I68qbbD-9 z;F5)1{MYv_uT*ZB7#$v{a_1FF)_-g0_$Jx6eXwh_bc2spYPLHk(>qu=UWB**;8hAu zrtSWu)iD5V#MQP%J-}3uEy$6#uRrdZNHq2C%zdQsF&bh_m(ox6&yM+}wmuA;MT(tb z`FF~7r>cVt%SpNIUd(ULa}FhqCQh}QEL1r5V88PbI2*(VCri()X6vSx66mV^cxPX6 zq)?3)h8?psbKSVH)0+z%RJE*@yIQ$C#z5emWvQE~lI-RcyJP@07eX_Em~uUulg<0o zpHA(Q=dRJez06kn_)$ln$((}bxVi4EsbbUU=QBzUfsppu+3K*nbm=6^Mg29sY* zurOR*>94XSLT@V9{o~y=xm@61|AJlX%DB_Gw{kuOf;s)B@w{E5(!lCOuANW*ll4+(wAg%R*1JhZC1je-=D<#&T#O>^~p>W$e0 zu@T3E%=Gw(;N&~Idr&?IF*5k;ciGS2m&cH^)4?ev8;Z$K#fjFE8}vexzAx^ zTbq;H6)m_wN=fpBK0gk4EAZ;VeluyLoFBCZ#;Op=wH1S}^=^2VukU@E>C(GN7xq&ylK9xpnK(F^>Q_ zh~9w|uH@oLyO|LaY$^Csd62V6asIA!+C(tf) zb{jz(n?!jXo`&S%Yn3WwX);^zuq>=A+35n&)$%ueso~)WLXoful^c__hx_^8ATdIM zh$z)Qa$0sm%kLcd^$!OJ&QQxHfP#&jTq+9Bg#;dnUhKt!gxvd8<0p4XJMX0X$|xU< z1SKSqx5o`trdlsW8n2LA-wnN~KnuyLrt%+dwmY##j| zFb4cU4;DT4c>H45u67Hj@SciR}D;D7DbAU~yOBNe*G{Ph8RlK$)9 z6Z$z@sPKHwd&EmQYA?v?p1DS@a?UvR52dd0N@uEKp#7ImwiVnn2TR@^_4YBof@eMQU_za|^$%p-m1FM>r(=E|OtF?w+;Se$# zy56H^a`Hr>(Hq2vVe%IHwhIi-G7*S04z_A!z*E`OvOnFg(Yx=)*~67wc`xfokJ7`S z7bo6!eGZ1$6!-z1EAq>Fb0Qkm((VElk3yABAq0~>T&R1eM6w!Ot!Ti&ZEJza&~wAO zEY7dLt^08o4ODlqc3%z4jOq3{)p3#7haniP2Z7wo8gWl}Ry!Yh*znL9(;4`1?UZ9+ zCS|8$^QNa?Y9EWnTL-~gw{C@mhc9s5g+!#0i5+uH?p$U)(36!8C`wAEI119!Yk`-4 ze(K6#x{02p0Bg+~M?IlU^=O=@{^yB(w6nEQ2M%KNzQ5XRcI)r}8#Uz8KVz?YF!e@J zH-=vz&XiD)YN@)+puc2k)CMaX&eZ(*`KgrIjmXOLyf&kno_#e7PGmyTnrkfM<^z6& zlp))UkzczcP7%5lxA=&DpWH)Qv>Tfq8ZCoI6+s?;z~sIb9Lb5G=;y8wd*7W&^Ez;Z zdguctIEc!YpO=H3TI>$6)5HTuSv{sT@#Q&^2eF6p>53s?yy__9Hh`)_xEwMZTH^0r z>@M}2wAQuMJa?9*^tW^+@ zeh}*&#Mxq`e3lS*Fli* zwsqbq>1JQ)JF>H3nW&=OjxN%)>~hlij4g!$%WsR$J~bH`?;Sz=_OjhA5#=xF#&(ey zb)EU()l{-h8Ou~>6?pCXK5Y4;!a-vjRYQVlNTG49Y7O;ZI3|1bKZU?$6*8eyGK)zS z+aI94AtcdXY{~TXC1HAt&qdTf6a$>XD7iNxFX8*#CePC^!0ls0V|kQ_OIk}|Q4y`6 zV2rqQ-I2zWL`TubT|GYI&eD~QALbgaiTKyKxiM^3cTR?Jfi|Clm^0k+i5C2y%hcem zB3uzCK_MOCKyih44Cgh-6~oU%)T3rZp`!8=5DPX8BFBjTr>WOu5Y$(XOywA>)T7=! zdG*ifrx9=*Ga{iq1sNuvw;-Ki{)fh?J=|SVwec)U4kgy^5V+0>$RY@n!5*WmVOe0gKf1bUC0Q+!%p;;C!+uw#_qjf}b&oMClBtx79JL zCbaET3Q3;WX!Er8wGc1XZbyWQeR;{Vv3n_yOhiWPs;GzW9KKpTZq@!0Ckr|ql&J63 zCwg`Z{KiME?7CM3pCHQBr+h+C8!xQ0i#yG~>?kDTqm)S{!ocwQ8GJ{7#yA6kI5do*l$5mE>194v)ICN| zQVjef0Lp+{KwJN6P{!FtC*QuOU^T-8UBYRZBWfp(eu;!Lqc{D?8|k`x%m;uY$JigU zygk~7z(Mi+XnIxz;SQsu9Uyv>ocN3Nke?$iqAfRg^i@lVx?3NmOE^L)_Jw|%SSPvRZoZA6SPP%W+1hXmk}-T-R0iEr+W0RY4NRTjhP$dd0vMDdzbSeT z;u9i+yd>-vz_=ccf{L9JUY+ zqbGrW%g>;p2_zo%DFQYS4~B8{8u+k}7C>6}pNM`iPgo&08ug2xhK5+&@yDwJ>;+C# zXWP;N>Vj4eiVq8u6oXfXAy%$P9mD}~qEs_89^v5#*Qf5m=d`|;h<&V&=9&1d>}B}G z=>3im#{FL(OPK%m0wOKw?Ee#wllh}+Ur&wdLL*yrnv>w&2x7j4C|^e(Ulbz6g7zcf z+5hgj&X00?m;_@pGdUL*UficX5~%F2Zl_*@TiM_3&W_yq8)$*>nA-WHd6$2E8XY$F zzyMj?;03T4wwl(_%B6`Ln zZ*}rr1p(sIejgECxw>QLCHx4wWB4~Pb&V$iolx}p|5KO$zZ-LLh&2Ozu>o{PP7X8P z7X_%bbP*j2__S{BX!1NnaWhzSOT&PbQ1z-6Fug@T8Lo<^Lf4#u^bzm*@hsddJmoHM z74q}HKgJ+==gv#0`!%;5eWcHZK?{OPl3)~l_xg1r6<%;;q%<}9c(YIcQ(5#AY;o`r zda*(n>hIrt&i<1_`1P@)@nw%9b+4Uq7*<-VR27Ard?G<3fxZk%{@AVYX;vQPNG1iQ zcfgOK33)(aCXoVuLSa{fS(nw-RhOqAi=&!Hy~1zMHqwc?mle^mx`$mW^uXGosWs5E zJ~}Z*98`1cT|gCx4^A~tg+g$IHRoovc%%x8ilN&K?HK}s2q=-&w6ig{vEI@mPr~&m zh(IfRI?i3uv?Yof0#I&xB@|FvD@i_zT@2_?OrZSODp=1b!eMPZ}ix1Yy;xOX$}k? z0rK|7#scBtf`@+iq_^dvs3R>TEOc~b%=q6=(sem)z>Q&>@hNn=AxfhoX#x^1Q>l~Gh< zKP~G(4V@luX*pCa9ybS}xj1l7xnuHXF1RxRdo~Gg>*nz&L|I>IuxgNry6ys%!i@K} zSHAa0nossauEEgz67cATK=wJ4X5IuYs8Sz5p2GjwqvEHWSqdyCCnt$3{LT4x`YrNj zKF3;qx~3VqatMGYr?uU6h_`7=*H5*rpsQ%u^v`*20Rdfb$Ge0NUb=9>7NY=NJG%5p zLCHa@c?5q|I5Opjd_XlK#6@r3{inQTgYHYHV~%OyW&k(CMRM|1CXLgMM6ZDEhg_KG zzeP%0zYJMJ2=~pKFEz8yuT!GNCtNNkj~47QwIlZ#k(U*kig=m~0E*FtU>28?geYvf zaOS1PkP{99-i!qg292^}>?Nr&tOf_#SLm*fs*K_shxplDAv!w0XD}bq-Qm=b?LFbe zeEO~zY0~hoU4`^DulFP2ny|xd0JOZd9GGcjz@6G|ts0=sYsK&^La z?$V0>8x#Mp`4Zh*cgh$#S1o_kX#U~IqMemvtEPc^M;uP`TG~)RI4&+angMWbojBR6 zgZAyfqsoaE%L~lzNru9JVGxS=BYD})LOQ_QLcZW3rEM>l3l&-GwX9nz=DXFov>MPu}ljRZ3*!!9)%WgeU* zE_W6avW|i9FW}qf?t{OuVj}}h5S+Q31BHu&0kk|9kr}bFRI}SwF~~FGaRWF9de(p( zbi)o-g1s9vTJmvqvUzUu6#i8zLoX~X8+xpPYm_z-x^i7yut*;x+ijOwlcW>ZlcDmJ zKaV1w-?7Om7VO;gaXvo2o_a_f47&gIWh1Q031IJa)4BUa1Q8~n1>fX>FeaDfJ$7a2*`q9oz1Mko24LpteInpQc)THK7<;|AU;`!Xf?dH zJAa#0=d*WUcMxQ>b;>zISQeO09Z9&&k79BB)es)vF;&hARKv)E7YS9Li;~&Gq{MVvSa8-Z&S}3^gc|tq;^QRcVEWlcfns zM7%r-HdA%VH)k<&Wu_pCSrEN%f_CzeqACWiMCRB!X;)v9YmB;GPEjU+9=bHz);z)aw~geA^e8E4p&DIs2+y zImOIhTvmgii#3 zhYS(|02IRq0$0b3Px+sAf$D(|5{UJDY8H?DNysa6wuIR)RPS^uh8klOB?CO%_d8(EIGSlz0Q`o%^z9U z)=9}X;fCh`v;IIGaAQj~5B#^EgzmB)*#j-;*#M~6>L^o9caoNi=GVgK z(E8txPMrLbhEj1sg2Y+ve)}^9kM1g8=>4>#r5M9Y zZ5z%spa6P41}LFh7IJTwF9}C)%w~6fye~0V9P{={?yfx-rH`u#9Ek4SyNr7w;rjLK zG~i2l2K<3X-SIMlS_7SV`T~!kCS{I(DoTL-M=Qk%jjq26ow?Ld({33bQvsez@c8&FX>2qJ2|bMu4c zYO}rh`IG|h^HDrD#Gz~N0t@=O3rrizjibm|Cz*6zPR4|OuVV{DC%b$OlbM2?$?9)&B9nZ>xx;e?nx|T$6kGXyk1F_&L)&m3%f^H zR;s%cf4G-E=sx1v^B6SbJBNjyR{p%6^317LXoSN1+u;iXWz9sEai|bA_(vDL*t^6Y z-ORu^dHz-YZg?%rwF4E?tr?jhygGnfj$QdQa1*(t1gD7&>o~&qgIKr2J6^1`1wsQ} zsu~$ttoM8U)q8LQOxhQRR_g^0|EyoFJv^vgUH+Q8Fm>p@6j@=CY0^I};M@f2ICmVk zmx0&N^-tndq4CcL+J}pk7b&mMIS)BTcHk4UU%}voM`S$3Rt(e}uq^E)x6JHb7i09f z2?m<<8N_Nc9;&IH1cF_C=0I9aQB|zp)0V3uqzO;`~)KZD=-mvXX{t)RwD#2$S{TLO~v2te@#(reUBOQx;J}LLQJpCn&k3lrgNYHq`HEt);C>Rm2#wSih*^ z;N(<`TiS^c>`p3&aG5x%dR@w1Caw7%(ZXbd;qa{|djLg znL7{j{w?=KJt6w6LoIHEoz9Hqg8k~@0-4~n zW8X)|4`BfTA;OmNK?QP=a{Y$A+L1E)HL?+&AGKMHO&XK8xI;48YH5DL@zr23S*g)q zbEjb)v()et6f_}sR&)08-9{FkZX5Ug*K8X>+Sav9bZs%=5=;4*t|wa}UVXCKHIIuX zrluN~^V*x%0{Iucb#l|EvMs-dG17MJZba6%uxWpWoRI}KG&3O`u zv+U_Sc$3p$k+xlM%^xik-e3Iq1{ft(w#cV{p)uT5{Lw9IO8m|l8QF~$Y^)&i0n zulgYCyF-1J3I^EHl=w=j-Fs}2gH?JYycTVfB$^SirL&ggl8btRN)M8gXlxgcMQ=|r zMlW|RvFw+5ZoGREEhNzd1w+4V-Io1gv1ZcM!eEtOyR}PcQlEsqs1H!-&cee?Ce3DN zk;CipY_9sJ5<@j}oVEp-6=P%~DTno0J~$u9?XQAjEGiH3>tfi;xj>rfmPp?M5q=mmWWAgVO-mZgEvELM~s)r>tCwoFTWqe!9JOyl;^s zQAug;wkd&!_Vv7C9gl*AagO_atJibmSAVbd><^IV>l`lWPUPR73-lP{i&Ro;B_uc# z(F0PoI8N8Nyr`cu&ZhX@d}y(f(lVUTR3Z3R)FUC`&D1LsV+YSo90IK(r@i-Hd$4zT z9h?$yx;*2`$7n6Rh9?jqUN$MN<8YwU53sv8gy@Qs;wHWrke(yDTX0 z%F8SecIgq89g3n9*T6M<&zlZ>xwD_}y zGGdYy_p_ZrRE`XLsn>J8^`kim0ySj>Y*n)~^5!?!@Cna4^IN&=&AJX)X$lF42H!6O z23f|wRyOnU6XlPD%mwm4K4f^JyBH?(+0NG1$SFP=8D%|kiay_+7CB@9Y?-Y$?qci- zs`Gr0U+c_N*x5}?$h^*1HVC8?cG}yTl=96YHg4Y2Rvi}WcwA;l*OlkE|7o?i@iVw? zcACNmz2mI>v!^|`zn#fcEqF#DvOSueia@bsjS!ToyGKc%uef;c|E_twNv z-1t@9;A844B#eh7V?)&xl%`E-qo@WEhjT-`GR~E(YoJYP(9yvo0pF=h0 z$Idoo+lfOJcYj;hr#cM;?EFwX&hHqe5Wi5&IH9r}DT1$!I zml(eql(0n}GQGC5Wk+YoL6_Du4zg;FjG8EUig#2vC#cN8b8!GPEFlRHAiW`N+-P{a zpJlg+lYD)&p&;<~75)XCUdpcQbP7B*8zIf{S=aPUpb3?}{^g6w)aX;UkADUdhq#5< z%s@sjYYwb_b3KN9KiXrAIP_!*sHpg6h%{teJ%jNV`?W`09(Pyyu1Xf|&X95jwG)Al z`AABNs3maE`^1z;YGl>d%Y9YUrybwJbzS{z8nQ0#tV45h-W9?`2`+zqmR4{wk*X-a zM8fFfGm)aCK8Y>0Tt_~wtXO!Iy=e>ka` zKCt}5$lXIqdw9}~wdp(2*O!69!D;%2L7z-nCTdvQn>W3^C)fEd>-A($oBEOddsBaUOmPP}&#)SYhL!hQ-A9TjR!atEn~K1mCrXF>VG=;3zjx z+T3~OVd}kivxTm^W~&cYd9hC8ZhrM@Hrn~*bPy-IM0B(%Qf4S8KJ(Zf^FxbPl&`f3 zn1JR(Pf>o&Q$O)9iXwK74;h*r2CxzJ_Y*&JjFz*8RM@;8+FQwI3rn55-Qe3I?>hh4 zl*9g)@@rNN+4jmj6(W+6Llaj=tghYd8xnEmed1|!1QD;6ZG=Ra1a$ATyl1hvZP__a zu3Hvy=J<~GboK@v9e&tM^DtV>syTH~PpH~se0O6cRG@68_V5?BoTfdFPUK)GTfOa& z?CPpGkL%`7X+7cmXT$y5Pvy0DUhX;Vz38r>Gxy=G3{xp~alI!QGZ9=_ex*qd|3jc+3wyuEg0YP1dm!oV1PA){t8 zxaZ69cv*CARsg6r5rB`k>&@n~G^!?Iu z^=uvJ6mcwk;`*>)puK3+wxXyl7}VbDntd9_4xenp&|~8fCWj?X@0{C+09>Fv=q-E{ zgFWmlw>LY=@a$G%M56QoS~~DNNnDOw-F#4ecyRfOHuu9fjt6gQpM)_;5T$sO7hb%4 znK9H4Ka895NujQ{>Opa5!7aC_D0b0%hYMR+Ywu-m=rC0!*5Y9E>Cg_*#T_}QRykDs ztX`XuL%im2LzB;K^@TdKq2f(Ka`lO6K04PIUKG@c)SZ=T(r_;Ee!DJsmcs1*T*g?Y z*Kw2I2?w2}8fPnKR8nR29sMIr-mX^VIYM?}0xcR+pv;1t=`JtT@)$}{QB@X|w>FuZ znM3h&wbDv)VZzC36WRMBcQKz_gcg>6CU=fDZuXd9Cb86?HwVg?v(>Xzr4(cN9>#jF ze>)@8>U1zuG~+a9s972_K5g`{HHU=5az&Ly#QLc^tD%AFDZ((nMN7Su2d`hfDi$Vy z{rJeIU_0%4Sy0ir2itylK*#c)t9(}LK~hqlTR>aH#vfFTq45~shPM2xrY0sT=a=P3 zNJx5WYfkrgRD0hLi46G_XDO1&s6GT072_0N;8C5|Z&QB$=HuR^36my0n|*yiglTL= z({tGR8D%^b4={4JCb{OSzu4!tE2-{4&($h?9SsGwAJjlYD$kq3g$0t8z z;mtLO)hT>pp5;~bu-#zhHkZt%b)Wh-JKGvc=Qy*^8$;UD>yd|cy!*8T0YiO-6aq>R zMe=!oI+U-d`}BjmA82ctd~s?oL$+(jF3+lcdCx*792iG3mTC`c(DaZMdvF$9@UTql<)G5oP$i}YKzY88sppuENcqdXo{0XIB5Z+%`D~IDK zZQvzhQK&;i&?BJ|QHGgpq@w|xb7%EX7ss;iB8SBc$74*cA6e6(bA?szdybUpvrcn^ zYKH{n8)MQN%4)g|YbIgXh}vJIi6o!-f%F+lbUu zuyAW1DxA!n>{-EKbLf4}neVWa1>5qC8^*G#Nfd)a-tnyMv!CyMxW}@gtQWAUX7fIK zdghU*bJLGLw?(o*&9?v9eMO3)%r$w!ZE(J)DaM*#`DSOxfIQ8}U{R5K;Jw_A&IJl* z0MdaRy>eC9Fw?(wQ3$!|amNE$%ZU{5dR5=MFg8~FXnh*J_pgUgDWiGQ51-^ZIKK0q z^cTwjCEkRK7>7FgV4jGIll2GHeyf}R>j(cGR3i7|LlQwUhihUe58T0AvHk0Vc?yv< zf%(JkTMyI`oV!Dgu>$#DWBQ?B6ataeo@K_@bhOTQq>Z8)ct-7wZIsBnCtkjdU7%r}5i+{M9w-y&8_+nxuW(zlnl13%b9qN}~Bq3oC z?*Bf3^P5ogRs&{cG}0|`s*wS zsHW!djH2c_ao5=ZBJXdM$W}PFd5v+Vs>4a2-_oS_8=UDU4x~N^BSCC5DvqxT%%~2) zEcU7TX{upcEjJNx6(>l9MrETxMmuL^P9*rbAKN2Co^BaV4oVE?*H-QmNOSIASX<49RuJ-yHGSHT${ zc@z;U%Iy&cx4ogzv6!Tl)%A~+6J?eLad89#JZz49N#3tSw%%}S{s>5(JLPlCGh$8p ziZ{Z`$Kzx{!{{5Li{rCrM3bfHy~E3b2%aN&tgEUT^5W%-hIWxdW=xi5nW6MR z{rtv(X1TnPPr-h@?SU7a{Y9j|^+WL1WbczL%ISjw>OtO`w}IIdB0>DvN~tH{TK(i7 zL3Tszr2Fp^$m&y?ECN3JOYh6lrJoLLPDUCw0n4cg5My_O-ybc))@N(G`oMbEK&^j+ z)O5h!ec!*+zJ1$XGRJYQUjzK-H>Cs8Ud6}9zp4K8Ny~LMlb~W7eG7fS2rVMY6V*oO zKK}PL6yDps7F@bhY|Kl7{si($WrEx+!d|7IHtu$rDquE!>X2w2kancgH^Nw3rz z0B898&gk*3)#N}S#(c{G)6)Fgcy5@c@My=BX8)EbQvN4V`nE1Wj2+E&{~4ON#WL&=?X0o3n|Ay~LJrb$gkR!^ zAMrOHSk5u!H?7a8bf(A<@i}kiILvlyKN$Z_L&dIaX;^8Rd)3*S1_}YHH*=aveZV|q zBH*!V@h=maTGNEp`bgJ9C_i2+5KNqNm)#CYG z=X+DQ$>*f+S?KOK)%H3v4~{H^?r$RE^Ql`hAT<-6wk~-_UU(%amQD)`pu27CIbq*gt4CD!|CfmIlUzVoA zIhY^y&5(70UOy{LQc|*MaNDIQ3cD64k^(#!t^r@OG>%)nEra5R1J$v=PSi>BA)g{{ ze`u_O&PxC5>^LDMU7Q^0ie^WtLJXJo0S00NS^Bzhk2)m-$mN2!KlO3&P=B7XEq^Du zFr1w3Pswu+1U)^XWV&sU^0$&eK!#e?2 zsk3`?RCsQDxIj$HY1&%IMBu(ToBH6%-albs~QESOzfjQQU5A{Bzjia;YxQ-7ha_b8PGBqtFbwhC3w+}J_VMmxZ~ia?Gi%-Jj;pWpM9$pd@XQmcbO~Ozs!^V3 zAiI3k66ex;4Yq|R{a`%csQ9LqI5+BQ?i9rC7W~l2NE|c{J-90Gyihr&whx;u z?NX@)iZ=sjS=D#V7iBeI_(xlF#=H=aEzNKG%pSdTA?bZUK=}Lje@&A@ zI`6BB2J8m}6bu2pRK)WwUHJ7lkmAg3So7_O93cP)1?kZUhiS&7kEe8b?lLmI-8r>E z{CPD@l1L@-dCMnIO5NAa{y908KH%KVVwtq%l{fn8rB0SY4=vWuZV*p{>S~FJiG-as zfNr1w)aCmr21t(*;aM$&#KB3KQ~`h7`R31Y4d`x(S7H!s2JAi=m@$~|ty^e!-xzL# zG+yvG7%`-@+dqT5!N>&g^bS(}plDGD zjO(%>$0Z+t#o1iT>l_e~xd@>#e0~M~aq0LUuYoGG1Slj&H%~g)IswK5qniVN@D&3h zWM-Y#d&hU@6pVbfEb$1t;Km0=;D$+rKcs?+*z6g>G2a{drXm5|1?bg2sEXZ}Asl>_ zl&%&A<{J9(wGD%cR#=T=HKDinugPk7??C?~ujq29h5lsE3bx_zqq{?IsiC3k91Z=o zXB2P#-yd<`n|gTdJosX&L<%%W*o}ar;Q->gqv3$702AOFDIGMN*Pe*TBQ7&&%;KIf zXjQ<^=QH3#k4TQLa+7Y(69JVslRPHV1QyBS$v@BW|28S%pgs)ya$}lF=%MsFz-c3e z7Ti~l-XCO0j-HJsAS6U96uX`yYq9u9K_Li;v`ao%_8Z@{3h`?-wt#@slJm~ra>OWcm z)9JtrATb`BcV3@pG}5iKVFSfK82my?8an$beH{A+Anx%L^w=)Ybs+}0bXVSdxd{sFtlYl5CQ_@iHLx5mXR`x44tC=;w9>FB zfV(OO!4rUnZ?z(Q!8kr^#M+36Mdyv78prH9P-Hi~u#i0niaJ^#fQY70I&B6GC|&#- zI!MEr?W{%I-|76I+do&|0Wrb+WB}2igj3(004bs9#R0M$Krv)K!mgRe2ojUYwGC(h z-Q?y7E}?Q0JV3yCNe5NA>Cls~&S<`9aSjdzK!-Mvo}9g9Ef7J)WBMNGS9uUV<6PVP ze2TOgl+Brf>Nlu<5yK1?=;j1;_R@b}KP$7R3i~`%nuQUt>X!+UN_X!^M;)wyYutJ2 z+u`MbUH%cA1)f*sDRj#9mhDaGrbESHlQu)y7>ge8(L{lW){6r1z`T@r5Po#J=1Z05 zx|BlIcR9yo*ab$PL+eE}_n2alRNd{t-U(PD8$sh>rBr!o0+64yjpUBqw3_}NuC=W~kO0tNP;*2=0sfO{Tz_9ut`Ql7KVj|B>`y1Dx0CS?KVL*&Cqh|Opu1% z_z6Dz`C~P69*LQX6WB@THi%R2f8vi8m)~aFU-La$>vN|Vz=V^Z1N+R^aW=8lE+9E; zYvJ9W|A8SI^YcOfD-+r3eh4aWZ5`?0a)&LEEMwEymoHy7gPN(ACeY6NwI1j6>flav z+*1E{IwDx&97ycOfM(a&!t*2~{Ca~~TkFFWZJdUr3{b_j%Ju63dD0h%P6L^1PoLhi zSP5qd0F&wa75HBMGS7g%f!*{eU)n)sl;nB_2LH#7N2vM`*RsU-6J3i6zZXbrK%qti(@(7OkvC6_qtmu z)#_~jAy*s=lb6@hrTahTtWmR5muE5orAVpUra6SyxkL`@rU$y}(K$$veU1h#Iir=U z3Jd-WQCpjlYTk^hQyJ?M?-D{CcN-H**DliKkmZ7sgN1b_SlA;!KaOjUN&R-xf%N>q_V?0D-?=WLuVv-r zRw9%5ZD>y1qcM#5Oo;sm%A9j;SOoKlgI4VQBX-y#Ojg6;3Aw|Q?{r{79xt?U_Ti`g z5~2=&5~j9~Pc9Pl561ebX4RKJs8l44VJL=k@Gz(xzAI4A`nOr zV}bLzbI~Ic2qwEaCW<2cXeGr2nU%?dY4j@GN_ypIA;zIssU|+2nTAT7xy+v=OwHT- z+DLxxfxavDKH!1Y=gp=qwZQu(CPdhPH@=$N+g&O%-=ERoMqU^6^`+N(j|fQ-`miGE`5+B~YFREbWm1^iZxTgr?>)8|?mN$lij*0%R43 zk;=$Neh*FQXkx!D1yan$C~~)Wr1-FzP;kd^b-Yn%Q{{$78JvA#)o9yiV%quXL8m9g_|<((;ZkRZ=fUR3Z6lP9ug@d!|q$boN9&Y+Su5>lp)?tPm(gRvJ&sv*G#20qpZ;igAs_cU_QA=ht0e24MT@W z&pMliACHPMQIw5%O+lCW0?&H$nq0aHXLS$Ur+g&~40a=&g^DkXc=uujA(jF__PE>mj%1d%aA0M)iJsq^ZXOE6uecZnlYhPFT- zW^xCgH6x~fALSHODVm|}nv1G0W(=ZYK9%e(C*&v9+}+vrUV8q(Zhc?>;Oc0*(@M|@ zuS|v9h-Ej8!*NWPtonc(UxJG_>&T3`jGND)9$`D2m_QO9cZx9VEh^YfeOJTN%QmF- z#*PAUfYPYxaF^;rb3?=1;^IA**_=^zWR?b}(RcxuM<>P5`eQcDv`1^}Bb>#Qu5BSh zydAq6xo4m8R48}V4J@4=A0IDe;!)^b*`t$)0TfNdJOm4XXS!!V1heplB!@paWR$}& z($oQRKoXk4g&KddjFj&twxM`UxY5257oYcSm!naN*kN~3K|KCI z^x`P5qsMlo@bZnJP}xKwo%u#g?RWSndvsfjdO+_yspwN2o_$pA)BJXWnc$1<#AW2l z{>y{jOcB%)hwhEJphEr7XY7EI`s&esCZ_~iz~s8^RqGK4Biehy52oLdXaq=db8;Q- z%3HatSq+O7Y?hJLIt0tD@zoT6e0lw#VPU;T-6BIb^TRTJ>I#dU;%1|p{?i{HN_n4E zYH*-anouT(wROo1sgiE^nO|pfX;cQvm8@|cGj@YRlOe*Ua~Us|@fHN{_LUSjOk<4J z+?3}#k@`;dxwf&v(BaJU?dZGJFFXO;cE=m8ZaTOS-w*7ujGgqp9&oN{HfN>oO>OYp z?OfD%6iV8_czVk(kjH#Vt!(uodQde$eN{L2@Ei$GzRB{kvx6X?X0)ZX5rT{Jwc-e2 zzpOq;uTH^WU0qMier2blwy?Y=Bc(V|#77J#{KY~q2IW}SU0S1HP@xo(A`JZfnXg)f z(YA%UvD-Z%;+~lPLPyH};FJ}yltSG1Rx#Za%l(%d%X|Z&Q*m9$@(Z1MN$$Y!$u?ok zqm6vx1UV?a=OJ~n>a1Gv_9}y_>eEUxO+l2Njv@cE0tMYt$zb0LIZqx)?d3<>^sSMn zzpeF<7XHsS7-fqU+7^5-##4zmas-U7X* za?e@%C0agtlB|qo13s&qgO)!0itG*Z5erFN5zkEKBg_8$6y3F+tZ0RnL0Tlb-x^ww zL!fZF=}VtLP9&GtH00QO*P+SsI%5h4HNG@yFItD%SM|Vmu zxm{46CW7f>z(|3#mQeiyBH@?(JjYseyTpoVEiO{BYTnjLZ4Afl0E!LBaGg%(fgY!s z&d$y*B8T;kbswH)u3N9Tr-fAodgf3Ng1wtW^^e&E9yugyGjg$e$ThKUFU6Q;{6xJK z(qeW8X}57^sgBMWE4DFo5>|vymZezSpr$o|JjqER0F`Y!;!+>{XpUKXcXDbfyz10B zwgBCV)jkIiOXS?jGQOaw4ot55%9S^Ii=*I+Tdn$r&$g3dZm3G6K`bfEd41P2)u&B&(SSIAX&*Jd= zH<7Aqj5fv6-BC~T>KZ9NHob)9epUuY4?cQ(hw8Y8^`ffL4$I|lISuHMVuz9kySEME zMYnu8lJ6<8BRKObwJpaUD6Q;;4&Bv3mrE-S@E>Y~4&g?&)|BFq&mwP#13sQHRlRG9 zH*Q~C9=r<=HB4aTh98FN%PK}^CmcMS52B>cl#9AEkaEYi{KrgT60e1@MS&p;_xele zUfy1&0wcSn!VAB!usEPtTLFh_ix2l*vtA#Yc=3Xlxz~0y?CjaVSuAO=!_KNe5?zWUu(I`` zi24f?$m562ZnhP!Nu>$l=mt;ub2Wc`(6KV^Gb_h{dRXYdek$UQZB#+>wY+H# zbAz-;g}N-~Swi^42PM5&TPpR=p0uR@-@H*uE2k=1U zQC9K&4S!EWwQegY%Zt3mfzYwO!sPxvOh2^BxwF8f)7$OMim<&(!;?lSxo8fy7u%RHY zVCPe9gY9xAl2177y1aFG2YqXq7a=|6r`^*Is}myt@eEn{9} z=3z8fgIKZ)h3tY6O<-w6j$rE=U)x;xyNmsNS`}}-e)%?(n&43(%RE5;2Ntjjx@dsNI8YnhW!bLdTsnE8x2MnyDuW6&SJS!G!MaF_$!gepjMX*TC} zgKP2H-px&~>uJj+gM*Tw)*q6qTxCx@L;SS7?3?HKbmd7})I-<_=L z0a+oY)D;7x*(a2%0ynJ?-$Q9K$y`DD$zi6rk@3@jdX`tk>GW$}v{j%ts(#niYY1KG zBz7AO3gsB-3iR2pwnbNr8S0^JY)C;}I!V%fHoknVmQ8d=p)F^R+w3e`u3=`Wu9y=b z(dIM|^4Sm1{gUKtrZ}sC^<1x-kUz|c!+fjcB(an?90!9gMa@M(!tf9pGdHl~jz-*o z-`OE2gy)QtPzA)Ju#Z1PGcE&~dPw6c!o|JT>fUne9N-S(sK%VL3*2TnmnN2UfYtK) zEvKP*Wqn3UN}`CX5_=4{4*}0nK_97wTHJ9X6Ss{zt(C_}9C9Pt4K2`;#&%^zNUX|n zd(XlnF7}fO;;n*OU*F7NJ;&6W-4U$2V?NRv$)87hO)-v@miEk9y>bpm1GFcLs`Ss! za9J-8*^WHT0kPp6eGhbNA!kj!>rjfT<%k^Ih)k%(=?!;w6ASF~k_^?9YKo(n z9VkFYn(N*-dmZ#XK)Xc>PFSQJGaV@+RTz0lycJDcyQR_682K}4exa=YokF_1Q?y?~ zrJVm|6F^iOsaCv3!&9V9ij4HHNpf^(94D*rj27vyh^a+9e=^9Yy85!dW%% zCb}QJQ>VLz?b;^eNi}MS%qdKHsb8yfPCZ~2X*Hm+T2@swIvg?LVKHvuWs2GJbHMd= zwe;X7UOe!`=#av=AWa2yN=SA2G$5Qjl1R^-+ z0MIL$s5OEuK*;gug`q0Dl)c|Gp=y;jI+TK*)o+!P*w1b*B!nCSI(svtc^A=A7sY-= zs5r9`T*t0biMl2>bIQQA)!!PCfKvykfnEMiZc5QBN?zsY%FS7Qfm&&8O^%k;mmZyz zf=*%VZeHLS3k}lmxwQYKiRs%;Oor2D$aydSS!*eS&L-O zJKtIJqE+2xeS~)nSn%cL<9&U7<=!I+c5*gO<&UHkB0*qJZg14B7x=OjtIgrxdOvx4 z^}PVdSmsSut=a{w`oRFtxcWRuU4ytc&lW$~0O#6Q(~rTgUcGXd#7#h?2l#A_ zJdL69LoYyL^;0pSe=`)f5>7jYZ2Qvgb#EYFJElIxiz}L4yV9GB1{eJ0Tk5$~)W35B z#+uN%{@T$hUH<&=Pebl)#0$__-8v`VK83MvT5sKpt1T>t(Gca`L)K>yO!0}ah&;A>^8rYQfNdofVB%~qKyP? z3i(UBq8``?%kaxt`(PPaXi^Tc<-*1t*XuD3#%Y!#AXjd>mMGZEb63mwpDy&<|pS{V%UI|tt=%!bF zzty4ydRUJGZ{|T#IK_AnJ!z`Ad&{bpeQv=KrEfgyx3R$lZ85?_C`!=`O^@vh=wgso>dsx^3BFwr8bmVp_C0uEmLXr>dpc zbISMl^eP8vwLfLUiIz;dU15_-$5N^JHx@gf>5-VkQg@W|T0m_t%qv~HenB9Rh*v5& z%=QY4ynm`W$QeHKR>*q${UVv5ajb~@gqIb5O6nq$=i<|fgSpr^L|1fRre0<1>+iu1 zQ@u=XMT*vO!fvm3c6VYcyYw5>25mha78xR$m8P6o9RX=>WFh6yF6Q$dRpwuN=dpGDfl z(nO;1eMLqwFG@B_SL>6ejcUvDn#NHVsW;BT?1lbpsM`e8#fcNJW<%U?N# zsU#mI^ZoZnD?wYVE`AAj$_k0dxIrf%ZO)-b4@j|}6t4HzIARuv*IR^<;)u(<7P2Uk zRmHZc^Av5;)P_9PM*YptdIj$3Z`*k4Fojg0FcFAL{IlK%v6}gFU+3g8^1USLgjKJx zPnZAMw7$0<+A*kt#9?zn+7-~0&E8^5M=gM8)fayzA#OR4-MHmB52$!c-&)qs_eS52 zd$DNY@;)@QIKw=7!Z^uAp(BJ+T&p#TD?Pc3N?1x4N6mVf;a&b5_HdkD)>=!(&tY!B z!DhYzo8m5I%o0?lYxMp7v+1cNCYsl8GEfsl|=(+>Hg{y$ZXNv&`>zy=J(kcO9vHsro63gAGfi{YBxJ^jxNt0qn+b|wRsTb1Rpvd7;0s9rS(%qi zCnv}}*M{Ju(Jqv`de>GVN^Y)gZWTL(^hDz^oO)(5RTQ(ujlE_qSsgsCt&GS{I+dDU z_-Yl-`CBIrcxL2`M^Sv!MYxbpOK+x|y3^N#+&yD$vVpcX`K$|+th_OWcl5+-y8?Ti z+wa#Pm1x{DR3G9o1Ug2C9wmMlTJeI%AnO zC7JV0H`e`0+D7@%rn08ht0;?ghxtwJhJ7WaL_vmnAu+&Vy*{MpEoQH>R;b5<+H_t0 z9i>CaZcnnnq2DE~gLpmLA92wv2aJ~NgbBeh&1#ECz1p~k6=F%^ZI1AfW{jd<`=B+7 z#DGjtQA#O=jc~Z5zSb~9qH~>=nUp^##oB97E|vY3<8lV#E}o4I7#EDRf-JX;r-KFC-pfc#F-Fh={Ik_O{ zkthyJQB^n+SG`v0438Jfm9ym-uz;t8*L&!UStv}5=lx<>5QKADi27L1@sxSd5*i6} z13%8M2sQGbd^uH~n`c^r)qQFKx#l59xt(^9m4^Z>Wm0LhA}>{1tx&zu3fWi=2088N9lYHS!S}hYiPq44!CpbKH-As0Sy$t9aHscx#4&n9IqmNbXULOXklA#k0%A7Huaq)`5K%#8s*pHP3rnm%Fv+l$?{+x6N^#`0vXRA zGl9FFspf}q_}%?%>E84Ap8K678+P`M`oD06?)^Igd*T3Npe-3r(NR-UA{r<3~)wfVnl=WflMA>q2|v z1jzwC;4F_|`}R(zONnMxC`PL*@zbRMqY^o#BvA&7M#6mMrjfj2ba(a3p{?~*s~SR? zvi#O;!1Myzx{Ne&NV+xr~k?eBeAiOLvi#b14G*Ex55P55$;Ck z?;JYJ;%gJ!6O8-Pdw?LIB%GJg;XpEg^nA&Fd|?6geL;=E&Lqx`l;<4Tpa-wotS!^R z;?3B??lOU{-^KcDt4?5yTx&}t1}#mOGe=LaK2S?}<>%1Kscc+$^7Iwhq?7&?D7(kX z2&ym1X`ficZxRtr%Xs+E#INXPlA=tXNDJgrqgcE`; zm?(`rl?T(`BscB3!eb$Y-=e0~)i?+IZI|coqu30jqJM?8lrDAnEcA+5;KIkxf!s0( ztwP(A%zP8cB9D3mAD=x-dG#`rPiA(Te~KqN^|j8JlYKCA+L-CZ63j>w-H=a_euTHK@%HbM88wDG z5}b!_TRBm;(J3C{LM5S26p&?La#W4eemz)9=*xpxx%I3*d>IIt$c;?i3;+N^Ov)8z zoN-iwb`9knwX{~1)@fFmrU7IQ(_56A?i>SlGl}?I6Z@`Y9u5xukmUOx5k7~TVHeJx zEprbcpiz-msReQ$E$5b5nDv*-lnhbJn;!yhp2~vWdPnKFd$)DD3>!E= zDx$-amSIfTxfDrau@$}sR&eR>70iNGun*5S+>tKjCoL1`b5C`oqDhuFJ=0+GX`p%+ z!_VOGGhaCSH8$iM51dA}6Bo)E#hrtwMO5Ys^_k$c+hO0DLS)|{*AamF?}=zrY3y@K z5y3~2#?u+P1MEEB%}?FT2qb+6tH4&-^nCy{p-;1@>tM9==KTDUevP6yDK(#3R%b|z zQ1IbLgomq}VZE&f+Fpu|>Eu|{-?acsoMIl4v=VH=BJlCr5|xNW1$=Mm)GSAbQt~%02WSQQ{j1{9U0FKN6ys_I$;@M*cbt z)4qA^uz+B#)9W{;cP@eNkX=3gj$1cWXCpDyJQ>P$Fq^dRD$A|8z=f+x_oyVRe;U3; z!`o@L;EM9@Q#^4LSOy(#syP050;N(dHaz?^x{zdxq9vNmTT zai|LnGWGehqur$<6Wg(#e8H`bIq!Cns@q)GDZH4=CbgX$DugD}A@c(X=o|K$B|&X- zta!Ir*kNMGVfx4Q4}Xq{KYj2rqWng*-)SQd)Z%e)cwdKEulhdG7!*Xqvom-gfU8Hu zvqz?zH)p|%^XJyOoDtRU?SW;f*~Vl&POlot(z5b6Fw-elt<=e-V1+P85n%91hO<~F z>?S8r*W04*E3pdi-$!JSibVlr3YpDzZ2pyb*~|}D6`TzOow~O?Ej<&zw;SDT3P}k& z10B`Pc{#9X91V2_bgPJ|{oVNbpDS1$GC^TOEoR%WeC=YnrtIOiv|rB$=0~4n^O|&> z`%ShT>&mfL6X2a~g09TeOio%sd)tI{GL_5^Z-Zz!xn11Gi*S#x&|YE5AG8Y#3Ub2I zUR>%URC@1k7ELNse-|B>esytQ0fi<za!m(_=BgU(7k9}hO?gt+L-@(qPaBF(n zY%M59ABkz563;LV9$wz4?4qKEccKLe!L+xzxpguky0d{gkHw#VY`AEQBJl8T;$6iL zSP5c7oSE`52+9q|4#M=Hqx^b+JXt*0W}lgkOi7qu#sLlA(&@kJ9Ff}<{7FXCEjdj1 z*4-G@whh&A%pg)W%WGhJ)h-V1Q~FJu$=xb8Hze*E{q)ijTUWUq3-^WVjC~KYVi6uB zl;(NpM!Gc~nsj&yEsxI0Wr2w3vyL6Zac1~B!L0CT24a%1--}Q3`{pXb;~K7!wGM9k zSZ-dE^+sRJeKIxA`h+uF2lqwVbi94Z1=pBa3$G9?Uf|G4d%IWa(|E7IwHU-8y&6Zy zW1JJp9qTQHVzy~@tdNX5J(}(5lJk?VeF?No#{5q}3M>Rq0uSVb3nBQtZ*N1fGL&{XKA| z)oOFb#BXc4dsJ_lIwBrEmCzJSbWpI;$j?F?ig@m<@AGOFs?7llwiUr!eA}X43*m8r ziv9eIvF5FApac!xlqqx!528!E4Fl0UqC-0`WDj;C+iMd>Dtxe?C5Di^vh11#v4;Ym z$G69HL7H}zeZB@5bQ!8g5CQYbZ{=+?5NkIv*W= z04Th#*$~=JJD}O>IqOR_c8KMs6nBo-ul3Z4K0DRdUWr@5)D3%2O+W72POh@GjnW3X zR#knh!ZgVxxa)z*Pr()E^7cL9ePT1I3fbMNa6$G5D`4=%eNCt=;HN=rTvC)qAv$>yR5Qf z>FhWn0TaD%o~C1=-Ph)D9*YfQ%MAr-&_|tfuRvRwIg~O9jW2to6n6_Jf{Bff@L7HG z!2n*lkT_IfJs_97I<5}FYpl3&=a^-2kBJz|NaoyCEUh&MEiEmNXg|iod`a|f^;3Cnbz8&@PfssXov-?!%$nwI`_^dj+m!aexXcesD5V=^9yN;j*Dxme zUG0^mYbexogCM%3k}J?h$A?nP-d7<`%)n5$vcG7TIfyFvgJ|*X?C^(YawA6W3ZjOD zER?!L2|?_L+3kksX$;x9#`%hf@hdSu{)wQ&K(Q0M6T6d$dd~@1^Kqn7g1!Yfb%+AR z1>!9-U?45b^g)4Sb5P^Bbei1m%qhRLb>J`^M}r^_Z0R&{&)V(BFT7fKSy;Y%-qv(^ z?p1&0Vnp1=1|yX$SjZdikGvO^=RB;ntZuU(-o~Cn2d41JBMJ=}D7Xx64atCmK6&#W zi&`H9N+~a#(M8vl%9{R;WbPv8Ysmi-J95_~=%;?F*|vUt-Y69+ z#(X$l`*^KDPa6mWdcO4AS|qREno?(O^A+>zueIbg zZ~nk%J=Z#r-@6o-ZML+BR|Cva3D^qjKHX~oQZD`7#hHDM5C3seLDc3EOX|zAut)HT ztO`%e(1OE4l56XT?7D0;z)2bdaS&~sZ5&!$eWb!9%{XmtvBU(^#4Vmbvr9^oH~2## z#WoM!R(yDy&~Pvu^;d_`LMOnxJOM!4TA2bf;rUut*q~oe@Kf0-Jh;Q+C@e1K^2|@! zoh{0UJHnmjUJn!#O zyMrJ!ekVlN+YUwOZGh`xJ!cSw5qCT)NQ6j>NXml zA))57vmIk!<>`v9fEyU6alB7qh-TL!2U&Pc91uO|z7L?_USD3ZVn>&C%?JkTY?6WM zuTsPA#7!vbTn`v7b#tT?vML|lL36tSXh|~=Wm3y^zbM<)tiqsbq+2gXSH==ik1~ap=K4fQG6k#(nGXqkJ zxzn!&TKyYiPNk8o^t9*8M7NK707=C~ob}IKAv7wZ&g+= zcpXfl&pk`YuZ1~3p+g5+v%u4mM?ld6L(1Z>ih)ict~PCs|Tb@mUz_ zxgP-2ax|mGVWXD`1S~$d7ZtXNT^#A{w^^mi|7jp>HZbhWV>cz)SNZJWnYPqt-{zjn zeb600B%GkUW17>kTV6V|S~bA*SL|-5lQ+!Qa&_|&?qZ@mUp<|yJ8SI<^Yv>= z>r%FgY)0!Ir&%=RJ4gNujbT<6p?^@Q8(8e4v(%gJUv7sQH1}%a9VvH1-|j_fa|af` znVx?PY!u(ycarEJVG<<800evcysJ8J|EvKhE}KA+;ayIF=PDC6Iy2g7Z`)G@w6DrL ztfe?6A!PQ~7gFNjDfgb$v2PCwFxlh<(ekP7we4;iUTfLOI1l@L^^g7Y_C{U;$lEzn zpa%=)MLCxLJ%tj_p0VcX@r>@CTIBnWkHVOtG8W|zDpt3sAYbrLY6DcgJDvO>Adu1- zYJBNGfB)NqNSffhn?!fyL2MoeFwUK2)4(|`Va&#bK|twWABYiZ;<(~;3($N3;47Q8 z88rGfNSvq@N?jDXP@DC`(sttl%%0% z`xM8fZ;#ad7X}(lzmV$`LJx?`O zEw5C1xRU*)EC^tp{Ng`~5nL(t`LW+dey#NAR>x+4YM5!*@#T-vkB?0ka6t+FAgBV~ zHx8640!JQDUPE{N^N@@R5VZm;)t@2x-GGMl_Y5!|&%l}Eo(m|i<@EX+o_hxr zHb9O&R&zkxfH#j%9j!uYSQtcm`tLyP^hZK~I&Oz)h7o~;@5 zP=HH?89){ecmXqgcr<&^OPk{_Kri`^)&Y72wZj~lME3S~{`-ZalLY<$f4RWR9>~Eh za$M?VYH4onHb8Pg*$*(;wuJGMt%<3i%x1b2_RMpeaxU;j< zeVNte=+4!?+cOMcH}>}SLLEetS`*J?($enVg0#u!&?DecevoW~h5~**y*g6)(92)P zYhYeZEd{;Zq5ju>1Gj;NK|Nx}KmX4!L4W@<9S{z!(|^7IWgPzOq~lcuAN4)nK+w0K z4j9^E~5tEB=4I0Knq>&lir(Q|J!=%iRC}SiG6Xkd0L>1<*Y+ zva*&-;S}74PHkdXEcPnEVR#Mg70{jpcFt#_^3zrc{BS4X<-UoD2~L70lKcT+SqgwA z@jm&{Tv8l24}k6%*<7_ur-4cyv)1Z4nSS{gF4?C~Q{_}5k4_5c&;onIo}TlSZmpB0 zK?NHttBfnWR9Z^v%n9fuNqz~=1Q$I%@!$ol6m+^lzroLcH)b_6I8DBt{gk_<18`yl z)+G@2^v?BaDQGWzxNx)#LZ)mwR<~=cf)VZgFFicuTOyb;L31?Ei|I#hldp&iXs_J3 zVdG+;L6!!-!@A~_@~GZviOgsiuq=OWOt)7aB+J56X2xR;mH~h(gzO9-sf4&p@&h!| zdzt~mHdur75ym`VTu>2RzJ9$K2_WZBJU>j{g?6y*e1|2?X1Pz(lHGi5C_kAq05%8N zSNgtedjO|!$OQ~7g_pYw4q8X@pDDIwR#2zS=SSC!CTlQtxO*CZH0$gkj zFN@AZdI%&{Wzi|&(SY}gB?BWkNiSo-<4!i_GOCWLNAsAS&m2z{^=N&2_KHH=aC5&V zsQsu{1B0lR^*(S-w>&ADcY{urQXUB)MlmhroJQig%unAylWlT*ozW@9= z?Ce==SZ@lj_t|Umn4Cai^E0_LsmG67NX7S_=0S7CYEzrs*%c}VUN-efWf&q|I?DGz zI}B*jN!Q>5{ZPE}@8_d7V?nDSK>AJ`x_kZ_Xv6dI!HUq+KcEt@wUJAkcc~lvnF3&M zsQ7Jiq|&(btGmk&L6g*6q_S8z09?kHgQNPH?MO!ZD&gI)Db){GIFw}#SVI^apzZpD z=f)2T2kf$Dg%Z*`j}sBHv31YRz9XJbu?zH&aYFP+gdGU(5-_a}{51e7c;du;8p=VN z7F^hK=hLVcZfx0Y+w=}JrB9B|?_yN;NBiY50O$v1{%84UraXnSmnx_1(%f8Tk!qge zQq_-S6A~IBQ@Me%7gfOS6e{3a z{izZUFrDQ=&#~D;XOdNh#WlF;GJu^2Q0(s5WeERu2%yGTBKZpq6GDoac*<<=M1z_I zX2p0Jutzm8T1eIYt);$Iu?2Ny(ad4MpWG-5SStGubjrPErl)5CK4sJ?Vvs^K zN**vvISErC-}%!+^~%^E(juVP`plW-QUj2{vmMC>*zUJJfuS=FUu2Dph>*!h`*kFi zCM7{jN2FS&T+d~aqyAw0Gh&$UjAfZv`QeFzeUG-r3Rc^rjZz(kkl-|^y$5=Wdih5iwLcdKg5LfXIFe+?mH>EvlluQwFwm#|tHLIaWIFjpkeQEh zKJi!+$kim+!9Fa7Q{wJXgedhd5LwK=0%Q68`>7h;4(^m^CG5x9KkD#<;7_rWzVM?3 z+PS!h#x!3p}{bFj)I#lxy5 z{u(<{{y&OfAEpD$Trrpg#nD8N=hA)I-KR|a8&bpffM_ zX`=lUEr3lyMn!f@{BW;KBj3>AtK`E>*A%fIMRfJ`b+fy{)ThZ+$Qzq_A&cYjqVy+_ z2yk9PCvt<5C+aIxun_`b(Gf$iF5bJux;FpQ4au;@-CJ-L#NCff@Xa2 z;zch~!0T-4;<5ddz2VX=qan>Qdroa4PqT_e)uJ=Dh=5DeLlpr4B6Y!d2Zg=8y;*Rj zuo?DCUQuucGE$LQDfTA7Fji>;G!Icb zf{y(bp+B2O^vv56*-GM^quA7?5S&I_;NV6s>Xh|kYGVu|0LFa$b`lL8wmXHI=u=%WN$E1}yW1jm~c}{aafXsEeC+(fwI!MRnLy z0&|0;qX60?m#%uaGJ!C91IX7o9_wAR&Q*)9q)6m?t-SZa9K{9>*Emq*lxtWR?+JWv zs~YEo!BWdUDTwky*BdnG&b=b0BTw&nZnXf&G)zZ-m0&uB*PDaeH=nn_3KaqLJAab6 zn3&Wuc()Sn00xktXm|1A#pvkUS~(5< z=@T1XXwL1kFl`E1<+1+^TN=ubv2+70rU2j-VEm8|jQ`wVIV=0u$Et2DJNxUoJaWt4 zt5a0rx1MGS$S#su{T24MJ0ZtOL*g{~)$@uHrypFZyT#t{UjHn;)9I5-gtZIi9g?L( zZ(%L-xH-pPae|JWiGs+X7Q994n&`yH;MhTj3(XFmLeBsgW}45R$M%g3?+uu*4r7ym z!pzd)wa5d+A-m=T5?(uiB{R5Qn$ocwNY0k#+fZyd+Z+yXU)vkGXx&6!!FDl#|_MCW4gvH!0UM#E{FD*o3(Z!nRjV8^yM*;b#oX}5w zdcOx$?x_xbaRG+K%J9(iQuct)q(l+{&Asoukw)veNKZsWGz33PSRKJ`7B?>c+L$p< z?f>iC{RBG&>JthK6TjXmzdAXeD(;LQ^Vp8XYfn$Nn@M%|KmXQ~F5S1%)IO+F@LUx> zQSuGZxSC+6k@oV1X0Gl)5x1nIWcgte9TsiZxU>^+<%5Vz`x1OUzo@-P2ebT=xc+ zOp=(FE@;p$>wt<{UC=^#ZE^5=Q5-y)RduvL{N^1A@x9+~IDMwR62*&|)W)T7r}$?n zB;{q!>lAiIE9Y|ui$P?&2Rk#L;;a=mS5MB0B|@h0q?O6!jdq`QmchfZcJr(QaleEj zLp7_q+M1e7q_`oz=#YX&BEU`%!$xC0iF&pRV>8$(s#~ zhJx1(L~!`-(>eCwi)U4nhAW)cMg=z`2Hw99VArd(K`h^+y;;^>EADKCy1RLeTi*%$ zk>?sg%;3}0R|fU-VtYvo?ffT3GrmcmX$t*0xco9Y-e+@Wqw^NSP@s41& zJM9u&9UZIkC#oG%m-lfagTaA;k^cVveRF-w^66c*E~{xkJD_pjd~zHYlmriG=V3+C zM_6OgXTAuEe5k#b7@agR!oNPh=Hl#|z%E|s-q*%$RPx#i zm0L(Eu3yLxAF=xO4jUi8Z0Ped|ApXg>WNeBcvmn)Vw} zMrBD+_z$icy_5{BlconH%`#&?KGA66{oGaxZq-p+0H+lZFX(}Y<1(l<9XI;)kg!lO zhb}JDuxO$%>`r}kiVyyCz;~fFnl82vwf$owhqY|qvYxop=E~;|A@BQ@8~GhpsH_UW z9P&&6e)=zJKHCCN3Y`D2DZ~>cxFJ|MAJHd|$xxv=L<&7TJ##)N+NDSPIhsJZk2@*QuU zIz@c3*VlXBsVT`d4^V>4Q|9J^TXxlE@?a|r7k{Y&fXu;2U{`wLF>&bK-JM^B zS3pGtyGFrF=kCMC!;jJLBmb@i7_z09RPe^1yIPJ$uG`?Aba2chr<+JhYS{N?aG-Qj zB~EOf;QskdpQEM43Q#b_<9ImrfU|KR=Q{erU_5w@*q3_het~wb+GF@ggTa2`gkNrU zumd1(uN^M8EfikM$ryHCW(5Fgk+*K$GaJ5Fwj$5nm;sD}=i__$dED$%ba{z_&V_U; zXG&5>o(q&B%|%58aCC}UJz?wan`GX?iJ`fI32lIRkHmM^*KE!UYL0_A2#a#E3Lr-~ zJX`mq5f^;G)7j4#aknFrAhGuFcz3<~Ea<6Vo@fwHLx}A0&WcVcZNEO5{JxUJet$2q z(`WIc|C~8ZQ0Q3_z+3d`9{0#-nd^k}h*Dg`jVmUG2TN1o%GpZEy?|P)NY8cB_m%Fa z=i!2)FT0=C1HVye0k<|LEsDf-7YGDB@NskO7N-|c*i;+inj99hoG417yiufDmgUyi z5ODeO{KIP7j81J~XMVb`#-{=BQcAeFk<(J|V}QCb@S5nnX0^=a;ER;$8$J_=&vEdR z)m}}cGh_sT`8vy@1oz#ZrabGlIy@j^NC8!f64C6Mz3)}iZJa}{3(7IPBUR6A>>^nO z_Q&g{xA*H#kM{tMcN9O}uIn7e%-M75aWEB)=fe@XdYe=%!TEz(DV2atPII%2W`#F5 z2@Tb(lbeYiPItsSQPxM0zf+&zdYih^Sxxy=v%z0b9BUHcX1CayRkQ@bur zB%AFyS&9jk1O9a5DoH;npMwJ0c_;UM)6>H5NYD3r;l@qQ=rx5<`#c;u9cEz5k%wAo zF*ldX@7%-JcM#vBWGmcjD=Bdq>3ZI9=zCz^8UoL(u<4$BVBRW+Z#d!A5k=#5?xqF( z5mLU|!>565>s?njExVVBt!It&xUi)SuTGfD6)WiC-!+?rFYinTy0rBUYw5amB)hAL z(}_HfnMl`GMwadqliX2vC#0wzq|(3Xn6*i{4(EwT7wfV~dKb0t)UW(;YRbHI1xViS z>w4$mL@?>2S*`A8y}!U;h%sQ|aTaVW@m3m2`St5bJ)cF0*#1gc0*YCF&CBjY_17r| zSI-s@huQSM3acVII{q=hZqR>5V?E!x&!$x!h8HqhzK4%y^H3jl;$scNdcy3NPRX!a zbS5o?%E4^UzlMTqT(i?Z0-YrJ37b#)71xbSs6&=JS?OT5{lVXvB01J}rbsVOoAUe)>$;ivKO(Ueo0=E}BtNDWov zC%Y2{?`zrJB1&w06JCO=R zY9}VmZyoIrNsdRVCvGao-!*v$c%3S2$Aszu{3yF_`SYxkd2yoNPF7DIODh?AO&Zup zrgiEEsh3C+Y2XeVS{IV>@Jx<2qtDVwAc>iPOkh^{3+2&g}w#Kns_=Yh~oD*x*LsqH(%nrgasgQ$Rt zU`3FoC_I3GQYAn@Q4o}%^dg`ly(0ms!Gb7NrAbFRfe?BLkf=zJ-b+H2-UUK0Ig{Y` zUe9-(bDcluJNY$`oxNvf&zg15x>q4s&5~vs66Nul6H@klN$ot!vm1*36R0|a_9JDbLXe}d$1(mJYP zNJ^a}0GH(15ap7acXiBcf#}v&KU!_qnCQ8#-yA1r7&z>%3r>D)@~$~bp%=2G9jek+ zSwyldzrLQdnZ>e4s4OppI23Q-mep&tqj(g*8xzi-1SsSrsG>p_pKsNff*t!XXp$ zs;BE(^aC4QXctMu=Z5CbI!_6=PMW(p{b&xl&|lR?GwDSo5j_RFM~?j?EZibVUT~|> zPB9lMFRy6iF@XiMi76#|Rn|V`XbF$L?v#A&yukDHJccu%LY78GU&VSL$o%fF*%bs^F$7L>iPjG6Nz4dh;Pw3t?*^R8aygsz4 z>B%?rWe}>&K|UU_w_jIpwE_^O#J2xgX%0XFpv;!wT)uILLF-LL1UN!cREAED-lvJg zS7c6UGbt`_n9|inVKbRAl2Q)H1Sw(N@l$emt6LYSWfuu6f)>ctr1|VwvMP(nWZp@O z2KK-pt*v9a4r-31>BPzCl$J=$`ZrpGqH&HF+e8kTrZwaqUU9PWRNP>}!o`Xm%%S?h z1JPq{Q9NQl+8TStV$tYg*E6}EiugHJi)2s{W~efi4C+u$+JNJCbD@TqC+{o?zUBhs zZHdEOh)o)s5}vci|G*Y%U2-oo+qd8|>j$S+(*BBB4DfwcjV(gA1T|cE{SKEaHJo4rXJR_0Q5Pa|v#J^A?O`*WH;U5B zPcFYURJQkR*nQB0^l-$+TiktCJVHn}MC8G@Bg|Ag`&A(7kgU|h@ZkHKnujuaVb2@r zlg)K%o*A2q?m9trOksWK*IROh11+cT9*f1)3LTA+v`J@@-`DF#?X5EBlpjBD{RHm= z^&n+7fT--J#OPqjdrhZ{0C&~lQTIr2bq&uR&Q`2uJ z>A9jJ2b>S~Z+hu%40vM7eFA*;=qzhVR@Td1VT4jLAME{KksdkNlUiT!I(iH)j~zY9 z714OMJzRJ8CNc+WZkW+(Qtwz*s}^J3$|O&iaGN0vmcUzwyqm(YkCn_cN_Gqsp2QHF zGb_o3tHi6MPJPEs%Pa98X)k=A2kW~1l)}k7R8Z%~ z45+;4cWF#apqKnXp<`|f>i!J2H{&{!QOLJT)Fm}~t~H1i9O>hxmZk?xBdC~An?u#r~9z=s#| zyj*$l$$k!2dttn9v)wjw%hUIyWY*>hHS=Kul}x2FH12csw|^6lKqy+=SN8f*9|Qqz zH&CWyqPCbODx_?+{N6r5?c@0)beT;^rMc{^SKH3jY*n&$t>}w9L&@8%@zU9TtCQA` z_1<<)G@ccTvs;iy{7&^i%p_MdL_Dg|xY~uP=_LG_h-z^V44ab}vts;a8i-cd%0)#g&IY{xpvWcKPA1Dlv&5>&A0C&=8pb!* z6x|sh>)n&9R!a(xE)+*RdkY6%>N|^g6S2w4G*mY#jX0T~qTF94uNEVhRqoIN7UZ{| zZ_*&&ZXAe}1U=42e~PuD*uInR*j%SR%d<0U3+g*Lg1lBkQ^VPHof1Vpz@YSK;gsLT zEUIAtyGOx{m;w7kIbum-JNArX^;r%MH1L5nZ`nYiOUrGa*XzB&DbDr8$eN}P8JFDw z5Fmh_Bg5%?iiF)dyO{jtYg&}jwEM$8r4i~z`faexxs@vR0;EYf*8 zD5Ij%F;nQI3Ws+ki>zDO=-D(Im1-`k*h5`m@DD2I{SXT|YjeE=9qVX=Wn8VFGAN~S z+x!>bE{MhzZR=VARNn>SZiyb=qUq z|I^|b@S!~Qyc*j~OF`P2L8v{{=`yt1*|gR_nx>2NAYQ_-CV)k1C(RQB+qNQymQ(_4 zDJcFdS%1iKwT$6ZZ-mtL&*_Vh>rRRq_5sJfU236fp0pc|Y*VM@2IuA3U}TOp%RzX} zif4T@R&^>e6xIHxdzMg;{(0i-@f*ufj;KucY#mg;=01Gbv(Rff*>$y6KY~9bUT#Ut zP(4BR>&iL7zRBR3)u~qEWN_nX_3hd(7Us3JwK0vdva+^Ye958Nwp-4w6PmqCV`C|s zn@w~Y@#x_`b>%&?fj|k{m9t_sKYvaKvvzjxb?cIrqvqIg4j}Dng}wW%J8-)qRst-0 z`t<4f?JkV1KC$wKx1IagXXKI=0&KH&OdxOO!5->$Ru=Do_!ZM2FJll-EcxuYA5id9 zIm@PzO*JxhTw9|(f7zhGx;VsJlvgul#?)e;Av{v#QI|ce8oJ*iVnk4X^r_A^3aiX1 zhf2O1Kv?l~T})*N%RoI1OP`F+{P5uewi=TvG>mx=J=c(ti`R+APNppd=S&oKL;GMu`LdrEo<22kPU{q&SOPoa9c_eTo|?S!wQl3P6)RM zb))}CSNrXpLGUMJU?ddDui_jSR*_cpc_3I;Ots1 zPH0X^S$5rvm9)M7CQrXVDrgq-Fgf#bYbvtGu2k1pW64)xbttoTPsKt#5hbuO>>y|Y z%rWt@2tc1jwB(7z2UnyoYE~C}o9mHlSbAVqw+9aUQYuEe+&+1Vi%SG^v5b+?H}(xT zg`K;vB6CFtf6LT+Wy`|4D>J&p-Z%rRE*_ELpK(mxqV#KJgPm-fO$g zi1dDs8uZR^XKM4Mp)FnvY_;23fZ~#{p>ofRU& zJVV%7lf0YDk#cO`v};}kDKxud8Cm+23*zEqG=__-eG}T@vH9uyO+)9pjh*>OK!<1B z5z2aJQfI`P!jpA}A;hBPCuzcR9@g{IpJMjbD<71Kq-={398&g_RMo+T-yHtPB;7dj z5w1NW%%Vj!Y_yd}x#;qZ=1ecMRW7x9y737t`~ubHuFzk3UiLi>ZOluSAF!sRNPuUv@gWUAe{XyO%=7#$1~}DGSNM^ z_$bpwcm~AL7mxanz*^HcabM7_8b}L_-UP;k+0F00w2+$z=qpX>y9*7(x0(*}T#Bl5 z+#Q(*7J}snc~0mUsr6nWO=yP`3?05fB-s98l&GR;pa(^dj`I&V-03r@ROj6yv9HGn!jf)v*Jn==Cvt2Ep zp(A+&GPpdT=Pe=e(8OLZ#l8^f*blo2auQBnYh|#aqd{x+ww*srPGD)ja5rt3aqOp zH*Ah~vW(IMd{FPmIE9&sPLeLDT+h3|-t5nn^Dw)_P8-Cvxa`d6RPrgq6Y>os?vY-D}?JMjq?G>CV)jt7F;*xp7AyP@&n#AOG(wOfhMK`HNVuej_eW zMj+9a49_lEY_I9NQ}fe+WZTBhk)Io-?G`CKO2QiA38|BevvWhoCbX9Fm5ZFWL=BBe z%VV>HX<;ZW0ZhY0W2R=^I@EKrXn%9hO(Iuw4vS@zGgc(K{YjFR69__xAaPE z!7|5YB8HcW&97JvS$K|Ll0pv`DlhAPK0B11y=W^2mmAu>)X2gOt*|G8XR6IK<^B;IA|B? zIcejTU}}ltkMMij*^)~HbYkdk)-DVda{;=Th`(#Y`y0ldUvJiR(%T4_`vmR9sDD%8@=h;IF z60MthQJT6HZVThD4Y{Sb6z+MIL-PJw62agTHS+B{4g3&GSFWmLwAS)VOFs(4^<|)+ zq9xo0;pKegGkse(ukz}j?I|wo!I*@tWjwuEo*Nn(>O%&JvVuY+MKD}v*!I;aA-16~ z9iv5i`;|X`+CGl*kZK6(&6TbkCT#&5L&fNw?*(a-qNdw>X-fiEyj};K6EcrH&dFtN z{3Efz{_*2DSvfheVs+MTtM^|dtDB?<#584fjz0XbQ(~&ItD4W$qFj;7^0TXaSEE-= za`*0_i6t*`k?4JG>`%l@Nl|x95KeMCE&~rKAOCaf@;iW17OC9Xvo|9)|2sy}_`hNl zrt!rUK`SXTMr+kyJq}(vu)7gyyV z!eWQMD8(k&5#grFCwsr-F-)!$+rUIKf-9#p|B=Yit}Y1%)wm6%-#DGO^159qD_0e_ z*cvn|{?gr(I5{{l81d!flPHH@Bi^cVM(K~;f}J$E`6@%R?M2+VrTeE4tZDqcS={W8ROMP zwH1M^>Asgj`o#wR^6b%BSWUWxAYW9U@UgS5aZ4zsF;+>ATxN7@wj5CgGwHD`YRsQusxwAoqQ(-{Vy`7;P z;BU|qVn-B3m~;irR__{YLAn#?|gzL-oZ)>5bnvl zrWuU}=jXAChiK2blcu}fZOS*xUK$QXd}##Kb!3GyEMD4MNpbr~U-w{c^>G92^L(9a z-nw=&I7`EQ)hK&5g8akwM|I6xJpSbCrD2~<@V9vEhRSYe?u0*zw_12HYj)(=*|w~( z4ABTAvY4)^aUlav-&<&xNS=}-3A!s%MJqMf#3u{nI-Ruk;qGOZzn04W5i3uL~MuucaBud^1HWlmoL+2*kl1T3wKEHzIi+}1KtNQ($E*Qmq2Sw-V_?;Y%rRFp!m*pedo#5g zODZjfAysn36cpJi)f9z-rGz?6Qx$ew-{}-b(g;R2rNuZX~~G8#P+;#SlcIU zj@`)lr>l|>ymF#56mOxB^!kl)DN){Hdt*`bD#kFf$JN2rP(2ZvrVe|I#%#==o1)Z; z*Ht($Y^1W}8g!MG7{6C*1DV}jEVc6lN;xuS5s7U>n9`XxWghMF=9dzl9VQOzUjH;+ z!YH<9#0l?^#P$K_u>hjKdnS!M=U0s9yJ~V5!*^{;ds7^eqB~H%r4KJv5zziW6kkgq zS`6V!Q7O<)!cN$sAAQ1tY$qU)~>eVg-Bs5!`DOQ z6Pw@F1tB+YQ+rvg^nJ!aa++a|to~(A++igSH$cituw8U$;WCgAtzOAZTJpUm?IRz| zN5EG&;?4`1M2`)Jk_b?%+IiV!_d_cU%d`;cfVtH}URkVpD2SdOn`BQTa7;A!KKeQ; zFfkRCG8{Y5r32}A+Xcq^019%2R6iMKrrT$Uwi#-qd7^JWaCTc z@nwHUMaajUTrSVrtgc&+)iOfMo@Gkf8f4oQ9?kR_rq}n7OWh&(q1?rg&C}nxp*)2d z4>|zTEU^_VH4_wT`D7^po9%42#v%T;1!DhdL4H2t|A6koi>fnUIgoWP;tjGfyc=S) z>4C}!P21N+|J+pAkmE|nq#s2sf18=Laq65;=$@{1iIaDOF9{hWwU+v%7$QKOw}!2m zCtV+0qS7LeJVe#N!ZiyEL;qlgb}=v;<$%HfN}#iK|ru;hE#lXMnqinRol~OD{;-h^m~EDcRv0otQfK&8o%B z<)R;rQM)#mi7fsn>ck&+&m|QD^P0*j+qX`loE@l zvOJ2{YJXfsc`a3)B>rjcH6%Gl*+(y?1g+cbj$3({5}wCHoisLdvXcMIh#`jew3}tC zy^;8Il7p&=Ni2S&wAy;*CBm+6IeuZj`T1Pzjt16>aSd^;2*sEiTGmnRE?^hV<@5&C%A1))bzd=fma{0yuQl$^*DxuyC;L;|L*MWzSw6kMtttqKWU|Vq#h17_REQfa3yBh zkwV?|PEQ3iioOiUtysORf4RD{)nx{($u}rmp%ud*c1{{t4eB&tvxiO0g8t9NXm1+87d))q94r^3 z(ptxwfd?+P!>BVQ$cAOZrI2j7x$D-If{;1axO7P>u&aC`#ai5}7+aE)_1t~>_Jc}z z-Bs%$RD|_g8LfS+-s4So55lWmK8ylMd#8PPp2%^KTe)zyp zVg-cV`J4d7283@Ro56QV?X&-kJTiaM`KN}Di zQBg67d#)4hJVB~Al_=U@ZSC5XZ?)X%L9^YE?8@5s8I7>lHe^&X@toS2^uJJcEWjR;kis-vaJ2DBkYN)i(7&Xr@7K{g>3%OxBslG za<{J5<`=4a+x_lC>{{x?lom}X>Rdx#v!Q6e4!*#wc)KxJz&QC1c1~Y3lgAAB=yX6i z&zT*aIq~SzCxORB@1vI%#!}9s6FOtG1)Dt`VGHCO5S!av8ANzk)iX9ZF~7zp>AEfV ztHEc`(kE)jTimCMJ_4insCc#ukgyeRvHn|%lCoxYY#uoiz^Ji}Oo=;ZCT zX{(ZC@qP#wIKbcht;O7ZVKc|Dw55^+hR7`zG|WSvJhXqqaqnpG+OMg^ ztVb#41gv}fEUaBCfipoh@252}Qpma^@0Fz8U{1Q4;XvC>f-@~hGSsPie6p$Me(RRt z_RDaAVcolOwA*Gg54vEqbT+EfH@iJIXR8TgdVCZje`1qx0Vc5*+wC#MwvA%e z)rGC4x~tgGY|mjx1i({WKIUe44UyyQr&D>0QL*?yu6ySo&HoJdEpDEwo?mZ`-l(T9 zG8RNH49%A$NPDZ=^m=77%D9~&(%Ao6ev>E;as1i*V{HqF7AyAUa`G`2VO!k!YkJq~ zx-IsfO--7!e8K8WvC5DJTkN2DUYRJw3EefUy5&+Yv55SJTYK*Mt>y$$FG*P2y-@5= zPmmSVYx*N^iwBQ#>5GYujk6qx2Q-TBCO2Vf+30Gz!>EpUvIfS7*7q@luq6R&9i*sAhJwKG6QsEibZ$(RVHNdCfBE{YVE;#{=`jC2`1K@J(Db?$(;xEZI&~x%%U*3Drbd?gk z2dOtdxcc56-4gKB2S*=Ur2}AXOC%qUhYTFr{SJ1gO1}f3x6D6sAJBaeNPiPmFH@Sn zBqwTs)bV`1X-at}?!S-Zze90P@tyyBKjzz%c`4x9I3PPgn~p*xg0e1-n$(^W|Mv7P zC0^5azK&WV99#yb;IA7&?j#_mz%8i5jk*okMKA#Sg8|TkDFx5oIk*Xxiw0vkaG0dB zpa1&dg@6C>z25~2R{pr~Umg_@$UUyV4}??u`uBmlKh^+Q`=2*^oBk`s1EW9mU}mzA zOV$vUvTA@sblpmF(1T6?;hRSDBnE$IG58kPB_Yych9q zE)MuhhhYXSc%dzL>NJ*&Y>GLS?`xOT@SqVsCH^nOW1;wcj z4{p@UMbW;c{mew8{PX5xX{oFaO!ZP?t4!$&9n}rBTbnSQNafN+v_}dea^0$9eG(~X z)-BA-%8UfoFIX zn*BoS!!Xf{uY2ob>YFtv_SzO5DOp*?#r7D}=3r9$3G1qA&#j@nSBj}3h=n)}($ z>axT6TE--Nl|oD76_#91YcJq~pCi^Ms|Qw5*3)%b$A^A{ z$=0lA#py><3A=ywOn#mrBk$>1cjG~x#QU3VnetKj9q8j_>eb3u+b@2sZuCZ9a9NLY6Ha=atmY_JI&>%TkFEWi0n_&Ah#DtUdo;6pro(c#zHpA)?h?D-_XK!;k<)UrOO59RW2&c7X|NtC zw|O{)u>0WT3)FBy7lO>Zve#-+*yBLc@4IBc?HEcy=lE0ma4oRGB>fXOupTJ6hRxj_su>##VvkQ* zk1R$CHyn|}+`~6E%7xys5Qv@?*BwrK^yh0qb2{*dS(yTEQ$~{8*7cnsW}B|GMKOj= z^t>oHe?C^@l!qK8_%}gU-}khuOTF{(-t~`l?5%0S!nyV4_(Ae(o0GlO?4_i*;V*$kJ0S`|E8?v<}l(H-@XY$KS7PrNiR}0_{hCD6rk<-b(wnL0z%7#*K zdZP~}Y#Cht$2b^~&HDj}=!evW@=*+2hTq@aKeQ|`${K436FK>uuUD(F`E~wwPFP@Y zaP&>0$E~$n4X7Q&<5z{Oz&dyyu~yp7*tDzOBIWv7qw5VeS=@c5XH92QmDW0>oJQ{^ zdZue#Y}NJW8%{T&TI~ruQ;puBYv{rgk=hpUkAf=rfR78CCxfp;`3r;+ZmE z-oLky*W$eo{=I)K{l9!0!^T4(0-Td8r!AFQiO5R{iMKz0{w$XG_bHPPqobN_NNCQh zFy)uMU!SE*SV`;%1;5KD-C~=gwkBKJLHg zkV>#nML&Mo{*x9##Xam(QpMc)?}|@;9GKr1!YTh>T;BhyPy9dQhB3`+V3yu6u(Afn z+@X(*jMTgVe*Z%zZVX<&I&O^fXh`_r5tzMs2!2-!NW%mmU0P8h@PaFRIR&%h-WknP z%ieUS1gXjwY@L(H=(B+{;)5;WrSzwFm+na$n_2~VXnKQBh(Z3w%ecr3a-M0Im3$=& zgCD5ndZArKlmo`sV-vq^1}}eB#)mBLQ4&RbWW4hPgEFoX{q2v5jy*a#q7OMb=nNKwtGMex83P>A@jmTBORCq-F{6GNEMyNg@ydB?n(cki{fLY66ZyR1 z0?Ez9pw3ujc7y8g3?PvEy!aah;;hQv(;=eab?^a(z>mS)z%8F^JixjE<97O z)|t!u;%e^m41WqiXQkh=A(62KM;D+Y5Zk+#9Z?)^TaS#S=ORKjj}$(tPQtbQ_V&2H z^kv>ci*8iabOIyMV~t|=pwQsxqrMDN$DNIJB(y(Mo)CFO(Kz_z?I`se1rT_IMMO^;#g9MB)trKX$<@Enz^sdqyh07b-8n=3nMmEtuNG-X z=ZDi#*~*Ct6ThW{IuVsmtww1CT{a?r$cD8e%gjuViVgKS(2g70ZZ*&8;?OO<4<#2? zN{ma{B*>bg&)*Ba_Q+aVCslO5rPk!(An9gS_+aH{{ zxm9XG-AW{{qe}1o2uSqV4_z2RqxRr!5yG{%D4sOsEgRH$j%_l6E{2o+wZ_P1FShNO z9Di2D2DUiHDBH?LQFy(oH#@ZBJ9ibYyxL?ehXH#`-iwH{Yc}EJH;E%}60x*{_^~l< zw*J-b9(iKNq)Zqo-R^SFq5Cl=%yDtGuX><1KpZ(ZI-!$kcx-4mx3i$WzX0Mmm(>w2 zYNpnCW9OvIbyt7DtTVdKZ5KJ>y}H<4YCZ83wZmVw+flKoKR`H)VwIibT3&qhaI>RTUigE1nQc~|mdR)%_XA`zum4E5vT8Q)FRiW;~ zjyR4e;;sa(tr4-6w)vLDle6QlnE(RH$WPKi2{Qy#Lgrj>YlDudorDUDw#dVoIJD*X z;HqrRoc~+q6m%+jp#+^DiY`lRoI=EM*T;1sq(9z|*m`PHT1b-9W4C+e=#6m-xLW@f z&bsw^S-`-FZpELe_dA{wm0WiHCbg#qYlF{;+4Sit1?x>NHm3{nIuoEHXVYb}E>R&? zr`nsbhwDQ+WIR?(zdn-0tsPF%-MGx%vJ=gn^IJc`ln zNVM*p74F6{ajL&E`dq-#oFgi`j{Q9zN$iX_TJN_(P!y?c=g!(O0M$D!+oGc%fc=MC z{Ow{h`g&K!bd(70QA_fyi##LT%F(Fy-q;+xGMVb zum9%AJT;RghP`(S22S%{Hny;qO`;Xz3YV7FDumd)k0QpGmaNwl1lUDz+Ba8*HXL;&rrBW>&M}y4aR#%%7ToHOjpC&;JI>$JX#0d}&u-nUCr} zPJ!#C5TUMP7LnmUv0y+$mb+T8t4BFxWyQRzXSZAkdOTo;aU!09f1`(h%cgF2!_0+b zz*Iv{&f>+M*15dVr6HGy1B}?j^7m0{=~s`nZiv&cv#a0`P<4I;Pw;t#i%D&ovW#0) zi|<`c!nrs-*yy;tGV<>V1;0b-y|<7oW^ns|Tmso{9j5(<|Du-ytpz53dzbXrw}H2i zrngF$@h)2G6DGjjvH$zDNA2pEtLgtfNC&(89K~gfdJ`Cbd8_;1Tk*eR0+-n5hnE>e zTs$rYFX9T%<^KaQ5T9#E%pGr-17Bd8qFMMGycFLBgTDFnO1fe4Ys`-i2p{0(P2kRb z@FKSI?}@miVC4U!D}RUZuPe-fpZ|9IZ?oV&$ZP5B%TR4Zg-N+-_WrdNorAe3LGX7u zWjZm?4VVA#gx}-5?AX6s$=_j;LZ4@nmza({SylAB*M&R(Z6S!+SWvX zOTT~rHu*FA?Glf zJ%rfg?-GLy@)7{vG5WU_5|P$+%#UUS9J5++@z?*Z#NRRE zJii>{;J>b4w)J0=YDD{YuAbbbx_kt%i;sWpLh5pL{%aP0{#&!lsVR*3Z)*`4{{LVW zpH(mu_m1j+WkEb@mlGcTZ^G|#;ecBuRR3qB{dY+fJ_%tk+kYA9f18*%_9W3BFtLGw zf%k}re*L#yV^I}j_z2tg>sLNfA=f7?7|YcEXI%{w$1MMwg-W6G2dm4ZjIoBnztl%u zWcN?e+q_;OCFS0spA?OTm#_D71b(O_L`7lVk|A^~bq01oxW{pGeO z+3sXPMngkG`=dXGgi_OA?J{&5JhcFHgB?zaUK~lwnh`zwewM81v+LT0bVMgWt#BISr>~P znBA16MwnRKN)`6d5IOrJS-YssE)loblWLH_Yim>LL+y1mcfUxz&eg6hS+FXYT2vp_ z8E^RZ*NB04J%x~Kuc>?>hWK!A?h!@T?TZu`uNTIa;Cv7^CFZpllv7C+VH+zmi_@*P zmtXDAQpSO1v4Q4iw=O*yjXEC-V>)T=%P%iDE8bNkN%>yAwgA`yg>7B@Stn!ITO4hQ&$+wG)h5!yhtqj7H@GoDK}7{)7UsAYAC(>(rjF+x5+1WjKwL zaQP6At@^kfV$j+j^1mL>A;Ivp35%dLkdUzx+ku2#_sO9_t#j9=9T}6doSdA)K|w>9 z@o~V*JdLa`^zU$DuHSkvyKRRWDdMdNmkoaK5CFyf$E|tjI2@$jwS@g$0>IUry-0}A z{UmjRa1UeMrGLRe=EvB`QILXo9*mhSE&F0!Ul>pot>{=8O0y27;8*f5R-t%R@9v~N zGlCq%3En?%4yCkgS9li?kn`Cx={e84ee`IBWgJqd2(XB1wa(UVhf^*C`(Bk!NT>Sd zmX?mW9|7t@DweD$^x3F!n0&qaeqH-VO#A&GFAXZGzf-&52kOBfn@(kZ+k?=+zzATG z@^jzcCySsbY#aAim;3r}YuEff+MWkSZTYqeJfeNj$p|TC3*y#25)wws;rs{&<%Fa4 z3cy}1IwEl*o%)57lePfOa1T&lT*-*~P>cir%X7#~)i^0L6vPI}DJgLu)^9hH_XBFB zwuMsIom-K?VPJjyHl;u-p{h{C;=VWFmL3B#sH;5KpzF!-Ez2xX5;koUwqrxZvZCd# zL^BI|%L3TB{N+|u3&IRYEPSAC6i_(q28jI_tI=ZdP)b3D4B4=!zH&O+s;|mE=v3KQ zw{uK7^a!gca+o+axdKu(yW19c0JXuZ!>d_NAUYdczOxYQuvwAQ*dln2M~D1Y;QADT2C+X}0t<8l7jSbbz_^(m#5M*-Bd!5jp__`o_7z!v#5KY{9UnV~%X?XMTVBI7 zuvsc}Wy@e)o+k+j1$jK_Jev7eJn?BQpG?k-!suDLHboqkls>ks(g&FJr0_iA{PL>E zW=-C5!*Y!tpcHK0%T~3-IyeDGt^VoLC$+%=Nx?bMp-g zv;Dk%bT19M(t4t^2l%57R8eD!QSCs@n6G^wCitgZ(iW}s+uPe*7K2Pt)w#X{AWwph zB^mc>b}+24X_{Alfz1#zJrmP+ox27VPb`C&!uk(I-S^D>aRhjnQeu4V40^2xoKFV@ z+T0xuC}pLj;`g-*b@|m9YXApnayd?>%W91jRobKt-yWtZE))Axs8`!5^)c1! zB)3gr7+nS)$4r$MMW8kfM%0A99MPY*v9FGn5^Wd2PUiwVeyyqY+t+~G$WHocT{Xo3 zTwM$>`b<~+1Z`4H4}`n)NWp;+I{~^TawK{Ha>YMIdDi^q+da+MY-yF z88Y}$h{T~q0WLq4d#-DP%uvqRFE8^trNXppCpgXX_aiEVf+};LwKanT><=%-+l#gK zCFCdEJwDxP>^Rt%SOg4({oMC!>H^u2EInASd;O(5U^l5><~7z2XHH$T`{U6$5JN;8!RBeKP8kV zW>%9TdukQ`+X%y1b6ujGJJC;Vr&-CLT7^&5x^!SRZ7f`PXmub*5v)L#RNy@rmp}pM zx}0Acs6^l&JLMu%CH-%4`WjAXmyDN!mto61%_9>v{ zvhR~PM#oC^E$*)kK~32~le2=C!+zGMox9wV%Gu})MfcLB~+_8wxx-`t9iIn zg^e(cbgZwhZwKuB>z>N6`Kr`yQ0a&^z0Pk6O6#t0FMJ5f#1T+~Ri4L-aoH+g3IGIy!B>4>r&l;T^;hcH z*1v>xC&7okpTu*Ser$VkIFgocGs8RMSvKi)x{%KVlDo0| z3JiW!SOw)LBP*+}@SOmj=6ZIty|djyoft_&_RLYEmdJObjWIPE1dMioBN71NlnPFWdl@y zsRe-2KYaLY(=JCf^{KBpS2LJ{M$EPq3-7h!#aH2jQHDO?l)%9!qX#KXB-BiWS-VqE}qBJJrej?Y)H zqf!`!XGLi>l3?~NG7jbbniz$6pVX~kXk3xduns9p;}QYcKR_uMwYI-eIi z8$4PbBr=$^rqpd0hRJr;C#pE4m%eUp5iNqWLJWo(rw?_4sCNUVE&&#gq48`dNVmq3 zS=!pLOKCtGsVcl5-Ig{ekkjoiPbhcm_KDsWsET{0l9>SS{UA%CjvJH@cGVfL-6GP? zr~~A&;|JS;rp9JT&I2@q4e+s8%9hU;~Qx3%qcrICaMzG zIa``SVbTCRjbmTuexm#31v4m~7=0Y+iLR3dyhXDELZ%zaLLahJOFi?1LhNd+ZFGl?bi z5FQ>muMKww!557Ji>s{w`(WS2N>VAziPEcq0`ITBM9a$Bi5=#2zkQ`Iqk0qwCe$uD zE0JRRMFmVPINzXA|6pszmLY2(EhJ@O!hIn^mLAk^)$%mh-2QyK&P;iwtiW7M(=x$A z*n-l%Q0vzp%6cY3i!34TT0UT`ri%^z23p{7 zysn0knxp7ykZE*dykC=|wt@tdn4H`EHJ86NJX{q@y1UfH0^Ie}Mf&pccXY{nxW!I? zX2pT6gtXlRDLG3P_N=;{ogJ6!pVy_qk{`TAQr29&&$e4&M#@vm<{G6`Mdkht^Cci^ zzhlRsv#-xVW)>x$6d!M{AP@8z9m>2@(Z7G5{0t<_XLZfomjP2|MbcDe^6o0>dmm1U zjj3ATb%W9YgOHJnTxXsCsu1&7tw5V6_f-+qBM_N!IWd0dp*+;9@#4gC3?z2IYI~xu zt@LLFwY8UJjcH>0DTs)*UN`K(1Tu)0ODASR!*?HV3&G)Rt0e}lHKV2Aj9fPGsH zyvvmeqmq%9E}?~pj`LEAdQC=09)U(OL1G9i<<|kz2pxL~GWoa!9?SL+-f5;Dq1|AR zc64vrft4w_@H*Zxb;vmXp_7o66Q!mH(k4tSTOBQ-yV9w|4KOqG3I(BJHusxZG4&CR zLtg;uoXEH{ZOO+G+6C1`Ezj_#;`s9->TIS2;3I{}lWxn&Fh>>OGQK|X54UaHBe;T% z^|o2u@fkq1m2E~6O9O5B zARgMWzk@g$o*+Nf7-ZQhraonB;l`&&agIxLXj{!R2>+Uw0Tjc0OITdwBSi%u6zQ_l zmc7Dx^7ew-`Ud2TP<);ye-I z0liOG+hYCUw55Ne1#!SU>Z$d3^g-CIL%`3-fwT!=z7z^n@jAeeB}Qi-^iBHhxj;SF z)YLVNg!gR!>UG3K6KcRhE9i8ymgCpCd*{W)>6S8_sbIg5&~L5l>Flj;Ww;__RuseF zaCK38pGDASm;+2QoTg%8k_m!b!t8tFUe_j{D@!;>SY5pUHwTZYIMoi)+&Jq<5%#!@ zzg(v6#a#WbL4O$Vkmu~4(pYVw-%K`0`1)seK)}cZ?otitO`_V)zTR;x`c7= zt#=amCv(*qcWZC=)w*tfYJ1uzmRJCSS$tY3>^4-2=t2gI3@99;-S^kBT7S|Db~oCk zGb0*~m&gIpTihAXDXEdKDXwQ@f@{`t4q!zaK&hq-Qv*SwC+f2J!K6@zUl&L(;9p5G zl@1!^a_79;=;;#UfTaK8#{@jRm%EdfTne;YNAz5frT0R)9X_l-JR+QO=HUa>hixlB zW{+rTC2rnl5dM*hWA2O z;>dbNM+}SE8UwTj;NBS;a|&98I=-I8QpAAv@sJrl9-f2F_4WaKNW(m9kSycZK0on_|X&alfdF2P@fX-R~s3{JtYXYkT#8+x8>HtJHgLyT8luq|A#U`Xv zY7(ew@&3fVabZ2vC+eE(ClYZAtnZivm-p(grpB|9!2pgh>Y*<$6`$KQle7>RQ28a* zYka1j-}~eb`-$qJWaDrIn--O64JA0bZ9tPb^y^*g{h|sZn0^KF?%( z`QCjMxRbMJQM5Rl%cH=9m#2~}u(T%PYuqFXM;NjZrHfWsjnM)giVGSyk@5tN(+wm} zU3YpwPT4LD>ZX7U$r%{Q12oOdMjXTzj#H2GzT)iNh1cH7^V&+WV!l7{f<2&g<5Uv% zgCjrXKjv8In3n}|yslrp{`ll4dr+8Tap3D%mvX977}3<8C~fStj`w~ z6a-x?|2#vfx#0o;F(^)$dZEEC>!JWT7G~8YM989RXjFmv&doCzMuxI#o|~KFvKoCd zFsG4_d(_TS6n{HGe{96v72~#(?X!}fcHQiS#HxhznD^4Cv-B7ptdA}2V^}iawQ4c2 z(wP$I?wXNN;>pkQz}Clz>`>v*jXfvSa2Iyj%Z^yKu6ec&VZ_t=PeLH{L$~`dEU7Ul za%F+!v=juKfi}md1JGFlObP*=_-fp%h&o%X%-;~3NWy6?FW_rm53J`hYFzl3bFPBE zIPYqZ;_zRU&rrEAVa_$IHRwIRcQp=1xBA9|t>6=hEUYU*x>Bon-$mr4b<+PfWqW(8 z*f>cI=xNur=KR+2y~S-w)UwF_p!(9=&j)bI>NUX>0jG8$Rlo4cJ)`$Fe(viP*v^!v zkpc>;wy}$wCpodty<$^imq%gZ?rZ2ZV<+$BLT}1WDvxze2Zu#aM~FQ-axL?6ByUX- zu8rm}NV%bkm3H2pDr%q&$U~WCc%mH%_d#V*&a#idc(+#V?qDjm&ufWZzMuC$bR|D5 zny7Pgz|j5swp~KQw+aE`O2qnl8$RfVnyhx{+5u5GUZu?W!+x5O=h2&5zYVig1OuQY zW58^-zPmw)(abD8F8u{4x-R*~ewFXxKnGGWq7U^(`RbH4@4>VR58<-Ci9OkXGqBR1 z=@0B(w)8mxw2hV29~Q7mG2j76>w$aNR6tzlxZ3|~(=LF3`e33-Q)VNMqIzP>{Ea;0 z-hguvGlKA=b3w>%J5*1h$ zm@@CVOl_emH`afvTAa97`kJ&jFRuy_L*B}R0$)QKX-lP6kozoPJ8Sq~TOx8_86aMY zfV8-_#nMa(O3Cf_{or*0_kgD0!!wUfcv$XI`)&AbSdurIhY>bENIl5ae zj#C!SftxOljcFTGkp+tujS#er=(uyzwPNlca#);6E7v*L;$8v*R6~lPcfQNO``lE4 z6b{+J@D-zI)7d6p*i6y>8D%v}(4x5Y;7G`TTr^4< zO@n=`l`%}r$e*s zEP4B-LC=62D+HU6D@0PsQL4GF(7D)JwaJO;6_5^h4r$k06ge^#{{rkom(pZ{^z-7^ z;ttZ9MZ-Fy4YAHv6~xE_jJC7T;Sg*KZS-&&(i$Ort`|VyemWNI%wPo{_TTWh+VJUH z0jPLneXiBQ@NaXUCNSIot;%xmFD>?X6EpQ2sWtO|Co2UWh&R>4#HN~toa=rYJU-K#zW}Hb z# z#<$F0>j$ili%|JW2j~H*(5O=D7s-IF+AR?c1>F8LrNpP!o=>$H>*9z|lOyNjpuU%= z-6&uXzy`Kp{nxx*OY`PWx5I4vGXn=`J{_o5*pxidT-Q9IVLMlE8F3jwzu#KD=8aDw zkU{sYJS?4rhPzs(gW_xkeQxkfcl|K#AWvQrptKTJy_&&%9TZAND!%k?C_(^CPQM2g z9>n)un%!s0B!q6b6yx1qmC}^Ys5j4o@JQI>33)g6*2Hxfmx{A~9F*TKc|<2sw3qF# za^HwlWw65XmBY(13Gb0b_ZY1*rahO5#T1c5sQa~v17Xrnw`F6=T*pa=tR8l4x`Cun z?H2w}6n__AU;2Q1C$E zGOoKzV9HgAkWZLe!w=#f2@<3$9_Dr{9Mf2?c#;5#($ZVFjEUAs zjX@qlvcO~Q0q)+Q%b;<{uawJ1VWaZ1uY%V&eGmB1-HAByl zJ{aez6Lv5iKA%OZq$2A(?c{~MN`rc_{0yvYm1GN-M$_-|Ehh``RTRIa%c^kLH6Jk$ z7~XwNbb4CBTGncT^CKfn_(k_h(=st1tzO%?16`oa>g!Z6Xz~ zrg&DeqYBM?wXtdh21?#j{jAV81x3%!8SMeJfIDudV@Z7@TZ6e#ZDhSZCASgMD}9C^ z1Pp_nPbi^Z97{>3Lb>PV%JeFPSFlMpRcL2x&m)~roMhI4%T0J#lVF#{*ik7NJhkEC zD4Hf2$s_m@TERV_WI%8+biv(P3Q{jZis8EqC&^d;7`R_~L5Nr0y#=z3P7~vc(V~hh zisS24 zYcC^fu{qN?Ekld^jNk{UZ*;n}6+%p0#a? zyAGWt`PoV0+PS=cmiKQ#qbWLLb8Cq%qu#9%E|2Ql-XpA z0KP03k_Vq#YO{=`mPJY;bUv|N!Hqp91j-_bO5;LOA%W8p=U%5$$&EBiHbb3+jf@|& zc`x%|3^{bqu9-9dV53`2%oE7&?`t)?r^ed!)8kHcb8m|;kEF4ZL1+pKZ6vlZG$0pGxRN=3s$~tB6p8?7I18NOapi* zb*jfC{_!J_hTm4-P3nQ)YJl$lXgvCjcf6KYqy%Sdu~rGIcgM?;kGleagQ}01SZ{X$ zjOiR8+ET=+Gr!wTCeo3Cle2Hr4wOLSL=Y!(xoTNT8&a>zg0WiN6CPy|P7dX3se>xG z;xS3)7>G@V7TqIxufk&PifI(;GOG%0zvI_OWxl!4P9?&ikP)SZ(cv)9!4dc-zcbad)aXc!;#p2Iyd_Ow8cndyVF~0ol2*l@FKZ90Ht*l zqL~b3kSqAUb`*Vc2imDG{m#LCF#y>ol;ZDMmmS1AgYwj{+nqeMtdA4|j&d0O+(!GJ z0>}6*N`b+`^ELX|mN4qW2k(|9qc0xbQCco2CW&46r5`*ddY-x{C^6hi=5%_vWhPCN zCVVvO2YZmgLC}<540?nmb`nY_kRZqSeju=31VkG`rEFU~6YEnzITi(z@w5m326K-g z+d+@?hZu4&q{h{aI-VDqPa71o?ZV~dn>EJtHT9oSB0MXkD&go== zS|Br3jw$^feIIA-1F-QP?wN>nAWVLKi$kcdxLq7CV_1bK400G`qvAHdBiR#S$i4D; zwE5~T-=~=gfHst?$y&I0C`7s9vero$f0rAuz2XGC8-~+khNthh9IlT={jS!AEde?a zl-x4zJ4M19A)t>$2Y`Da6=sUU5A75XHvnax>hC#G1o+eD2hLl1KG+@UdoqWK{^!`kx#hJ-)~Qn zKypxOb1P2WCZ`9Q>aANa(?2KL@6^t(>b4ve$KN21d;C%X934vj?X-zOFAR6Sb3e=HX>~ec{$^xi(ZZwiR9$eu2;`({X<}Du zJDs~62Z9n)J$G)fu;QBMCO(w(k8fz93llP0%j!ws2_nM6e!ymFmhKc@k^c*@;7Pyj zwEbJTM&tpz&g5_nqBV91BZ7SUrDffRslxyg`;m~4ZYikB9q%kU2(T&z#9r|+HTX1! z!03OX=8B7aL_Y)vb4#YNVRAYJdiX(tX)R*2db#ucb8G^98n{*@&`u8h(`>$z3)uE$zJO!NBSBB<460=#zNPvuVdQcMQ4xi(T%wHfQv*>n7x)$v8 zR+!S%9;km3A?5l^Mtg*iBcM%dB7n~>0qFkphYhdIq`82S_8|%*F!D$m#;biZ_m;F~ z2pneuKKA3lEu+FttaNd#x`Ys*&Pd=EHV6oH1}T4ZYCNa0KWP@^h>((P7d$Ir#>sUT z96rnfEWy&&_IyiX0#e{c6i(<}vhuKUhh>%8n$MU*&pA^U-*lC2DmY&Gf#@1G4V!Xb z-YbrrWd&^o)t;zWRxMi02}IK8xh>cbpDn=ImxepLR$7fkev&DMoj7fb4>@`{e$W8X zXK~tNOL^OKgLM^O%zR)j5fDGnE70WVZgNpjF8dgyMCN!5_^1alkj5;eX-&xEsbQWD zC1^*vMk5X}(5A8TSPq*=zrRypAdFFLJkKW$j6IKwWo1^&{4nV>qPJv}5Sj$JL*dwH ztMgc~Cl?&d2nPm+K6_81|Drr|_d@T1;e3UZ969D;`z?vJysG5*B zmw@jCNcY+n__7R&``*_pvu%JgQ+kFuv9<%Gd9{=u3m9L5LvK%C%>kAW4{qnb*MXTe3OVrxl9-2CTJw;Jrtg zz!+hB#6Gi`;wCK@!N6ri(1T+PWNq$L+2>UCttO-;Msrpw4-EQl2<@L^vf(n(s~8aa zKztQ&e$jw!Q!Fw1WdaHw$ek1cA+@rzy>n1w=N%C5OGv9MS9%wV>_xr>@<=amnAAfF z-^h%T+QRqiktWY~am#z_$S6ls>iDaq$VTLR8cs<|JmGXp^c>=A9+N@XF> zS&aVKvl=$b8&_N0FK{UZj1>L2dPGk19ann4tMJkr~&$`IEBj^H&`Wls7CnN%O7?DovE$u(bvvOrL(w?5Z_wt!s1Ors)}G84g147 z%4|Z(Z`hfc+e}vBU91zggoTfw+gE)$Kao0MqLI+yqyrbgeyDSd9|qQz5OJGKu2TBk z0oxB0YT7`h0dzg!eC^E)V6!xC-!dclg*h?_{$5|*tI^=;mb!oU3ifs3xB)BU`sxe> zbN!p#WxoV^M{p)qq0#HSj;uOM+^D`Ox2O*saYQ~beA^~4oW=z?VtLz)YrcAe7?qC# ztQC)V?D^?oB1_YWXG>uEo-O6DW{wJ_I$_V)5FFBatCDb9IYnqJfiuT9{BXv51|S~7 zRG`64hGij_upLcd7?9&nMQ1aqW#Y0hyz2tk5V!!Ce~jf+KR~MS z4aqompgS-In&I_tfD*+V3{xiMoQhjx;!-t5K$;>pb%acbEst;1^AQmf!z{KflNUhs zQLBe{e^Q;p)#4Zr(^0d%=sVBq!1NO7)vtMgv&7ZT8wvcHDETZLb*p4PySGF)X=pSV z>IMjJBwG#G8O35Ys5d{PUBqE#;-T%=7^cg4ULLd#k(oaai|9s zp9WvrTy!wbgJezKMjG9E5*a>ySZe27Pass!PcrB0-=*GO6^gOJu5CFMWaV`;EuFOU zvE&t#4hG;vczG2)2CQW}&Y2466v(lyqvx|kdpk{nKp^e_I@E7CDjry+4IIB7`!Kry zg66@e_%}vT;XhKnFUHOa%5rqpq~Ll?1J9v~5Pyl&A+-Bz=h5Dwb)TMy$B*1_Z!Ws*RT8}AE z6xozUR-8qKW@DtexwT$EC6w4^APzbM2JE^(FfwqHgqfDZWz))r7$YAgV$o>Lu^dTw z=r2(BtSo3Bl7HQR^7|Jkd<4KV_3XES_K*WbUnT}K6$fKPi7-}L{gv{Wrau@>DL=E7 z-*;_AJ-_cR(@t^6dRxZc*P2rAa?8Y0C)f6%We%u^?FkK+x*{V%^#6WQ-{Og#*z@d@ zd4909UD!fviX<7Yg_TVurgo-PZT}v5OVyGJg^k@2%O0aDs@LLj1AEMix!{z*XM;4& zAW;jU0l9F~Pl&KSiBcU-xW}*MmVysi1^QrpibUvvdF58G7ILt`eOlYB_&K^-^Ugrig??zpIr573fmZT{Ce*vyMr zMSNPHb6M@nPe8_*#1gZWv2b~$`e!3SpZ zUh3RmBYd)92^dkK29L(<0Wkx8Ya0h(ZwGNnldF(i5&=t*}|Q+pVNUa$!%@zrzop7cD>qQOCO^a$w&rjFuSR z6SasgxBBHAGCRg`Y=MrryYcE!e!78uV@UKc=Ub()*@F8NplPL~WfEopV8{bW3?~if zEA44)=SrD=s%WF<*9FPknKWNjQ3H!mLHO}mgC}BKdxh%o3{H9cMcG3DC;PB0XX&_{ zZJc-(oMD@DV@&LOH5_^PJ7SonDn+k0c3}sqwb_$GS6gm5qyPQ;57VC?=1Pz14?E9g z!zdy^JZ)P8XNB8iSkzGI0VW4Y{E?#7^MxWn`*(7%O6PH~9`W`Xo&q>7nDsIbO{urs znM_9~8yx;_0m~MAk%WoHjstLZwt6Cl-(5+C-OH1N9b^)?;j~c(-g=mm5@qXPqetiq zySIYJbj|>O5qHFCoDb?>l`9J>t?vQ}AAz%WDk*#qNumrmI60pS)E|9f)h?H_U+iWB z0)Q$Vf(+S~#FiO@c`pZpZxYu`b$86lSr7M+d%^*X=*FT)jWXS%nn)2u4MxzcPs!hZ zb`E5?2|aK(E6*Kt$}rj>RTQzLRE2VRwsXko(0t3`d7AhS|DBV;T#P2GC^d{`lEbv= z;zw-G#;_Lo`ao@!E;!#?qc?uBX+xe>e{p)Yf=+oOEe$jFIM_b0@@UMNPtMuu*>=s` zGqUbj80l>@n{l^HdGT5E+h+agA&SwK-g~P?w`zz)(0T7`XQFjqe=}>HwM*zk!Xkh9 zuUQf2>^uY1kEa5UMfAyri#Sw=J=$$H@jK@A_VH9xMXXZ}cS9+ii(VC4X}Ni~-K$20 z3g%Cg<`_rUHss_T7)~_w*CP6d*AJzY5@N3{XNg!1q=fob_9%979so(b%EYJIc|Pl) z%4o(L^S;6I-z zV{>T{v~3V=nU6@JZ$yLd-6)5vJLuGzM^yJ1jrOMR?DmLu6i(GDdth?SR~>a@#KPM! zowBKE^B@XAXhujZyPmeiNG{z#wu)2D|RG@Zhn;)jv=vBYa5vSS?isD8( zPA;c~^sjb^gvF<&GJhs&gj576J9^o4^mP3_twC!ofF) z^lom0lTkXMl)?-n2B`+kA*rtqPyTZZe7SMY-fXPWI&o^JWWHJ6%8K1#!0+hnc(DRBy(zLbeX_!i}-g0rN+g&k)lSW6mDj>M8Q-e562M> ztFbRmJ1&9~C!@UJ>qidx8~njW;YFyr0J-=CqqTKn%lXsu-e6&l{g;Ucj~~Qp=(0aNzggr>CN5vkuYl!iYlU-HR4CcuEsa0I6h*LYNCwph1!|d>|#8_6nE@#92Lr6%B;^hg- zMMs3&iPB@P_+E0 z-Y%YOwpGu^QKoUIkc~0kiL$DHrr&qwW{X^>>Ogeqls`Ef%A09&uPdF({yC?)WC7;b zC^7&oS}{Rpy=~vC>bJ~+(6E-Z9hhZdQ&r-yFFm zdoJ8I=e_3`ypz4PT8PMUIn6A1ziHQ#+O3G_%NC}@vKIBw4lU`vaB*p|8z;8L`$P1$ z`Ooi_r2BlSZF3jW-~gc{fv8n|qt*aAN*;U}!^XH1y-uZ7wwI2T(rwhvPSp&%ZR2j} zG2#a}e!^O@OuFc?xlrlBOeW?8LBqt?HYJMron6->uO=^Mo>KzbN*%pIo`;|ucVYeidkL;Hc=*+M|4Ri!zCNqUR;7&2t(}9oF?3>p zaW{)zja=4E7kTi74*wTp?;Y3VvbBLmQE{t)1qJDD5l{rAcY+%gk*Wxh8U<<6L~3Y3 z*@_@VL7H@FN{jTKSb%_ZkQyLD=q-j$LXtbdT|DPI_jj-VDDuAZPFXXv%CnxewCp_~ z@ojvl6I`IKooNyS(M4LBO%dnpbacWpxKbl;I?VYgp#yy@^oLCk@^9|luKPAF?c;u= z?K!pNpFt!2nh$fk=i>FBQFOyIo$VVP-9_mx!uV9?%ibdw@P zm{=mA2RnAPQZI@S8?JEa(bW6V8XTBv7r?e#`H&Gd9@OPw6|9~!x9am|cf zDnh!rGmnbi6MP`a=`xO@x_-Ev=ju#6TnhK}blmb}xhij_N_|M_#`yetZwcdO9*_lD z9f}gVu1OoyoC#yjjV5Lu-r%_Du7JSL*oR+KQo)&ZQMzyQ4W=M-c)IDVpSJZ=Rc-;h z-=z3K_K1tEC3TauI_9fwsi*d1_N1QbtOwv?IQ2%fj4qBctStJ5T=~uY(gk;r!bXY? z``}hS-(fqw8Udw~`lujy@7FDL5FSmHMwgV1- zR8ds1byKqjo7!C|n_V`Dq!!a#C;BxnEyw%U(?3-C%td3DjN`pM?Sot6#k36v6E?^g z3i#|UTf|0k(-NZjLx$A-E`j%!*7MxMk z@@R~Hf^tjHWu|sHqm4MJ=`6R|ALISlS~IYpk|o`964P_NJ5#3zhe}}*CTq*J@5lN* zs`4uk!@u7nw9S_ekKy0BolTTNM2}Ka$xr);@5MPJ%r9Z^e)xJljG;bOM4vcb5TNjL zL%pG*pQ}0cC&%Yh>iW4K(IHk$6o}O*NA_0On+2i%Jcp26uQ+w9GgdTyJ5jp&%N}~n zP5jL}cM{CEW^O$T+z>()>8*eAy@{#up9>V4u9-c8H{Ky3^$tak>zyuVYk59UJ}R+| zqgmt80V_VEN+s@_s502_osX`a2bU@mhBsywr~%jbp??&2a*1F?$nO)8;YXfsv?4^D zU#K}e6i`d7UWn4M_Icf1+jL8QM!WBWK!8f^Lf42f1nb<+zroK$UXMjn$w^xBgWkVwX;rUG4Y&v1!7z&Uw{L!`459$J@aSG6Lv_BqH~o_T%L2o^-)bbgtI} z<_t8)eR5z6Xsq$Y$#`7r*aM;OzJN>T^reR{@s<0BMRC&hFV-A2GCR4RV?~C!r1DkW zMzWpvJd8@0G`|7zQK7QVyg%;KGrl;9(mTfjKAPN2eZdsy{r=YNw<33}>LiPWyYIMI zdB|@h*f$(Mmig|kM)5tS+gHw?YT!D&A%5Y(w}zuQ7pri|xSg1HB;Wd`1J7j-UdPir zKJt0Tm)6=H2B6kXg6oL%R9oA2$7UeDt+kEERM#xek;;7JddP*AKJyjC$w_!TqaNM?}3e{y5z2N8Ri0?dp43%)Ms`N;vDAn{vpV+Rs)%v*=oUCCtSa8 z>7Rj={jOy_FJsm4oKw};Lnm$f)n^EE(eATWPFp|5=cS)RNe3b|8YL!JOcS#tJ@aaK zi<974`-VA}ZjG;B{pYs>Af&?vmjokPGFHK?>Qj9BBbT_3G7xe4*!L((2ANXYefAnw$ zNT*xuT|eExEfBb;`K8RY%_ILb0+AAoc;5@m%^nQgU-GY&{y=^U;*R;90<;Eh1)AYO zNa6LK1SMcKh*N9lPc@cF7N=SRTO}mzW?v%I3<6-7RASlqEl3#?qM~@v4h2K z82mB*rO)mta)N~?Bn;lbT_y!Y=eDP^Rps*N$pc+E_VI^M61UPW?}W-f++kKzV=qdkC?h%16U@4o4 zERg?Ln;7lQ|5!-@!3c*c$A0-=1n}p2FTy?k6(NI5J4b(Vk(@4)$+_&pw6{zL8y^Or{;ry0YQUHC^L2PVj}D81a91 z&LMDGuy}WbL4Mg>UkD5uBM7AVA&}BX+(&x~ z`APb^+u(}dujAv{75ZA1gTH(qNV&PM-7oteNNx8oBFi{YJUaiKB*wOQR%`p~f$+bE z#n?Q)cBB8XdBAYU-8uN%2mfu2ah`t5|BRX5JDhE7WNOM~V`GE1UpJvX-n#&8keJlp z34^5{Wt`gf%3oVsPwt&(dk$Bx+gorux(U+N#6XuG+5`DW;`(^wEZ_oiZcB1Szds6r z@Sye-$bd%}f54(KsdL`~sU;xlihh#bvd(-I6GV^=nx21m5R$(1Lwn>M6r5|MLmx`2 zdv=K~8H3(^7o2SjG6)Em=mSA=S#V4sX|c5P!ofFLWo5U|fC~Y9NG2&u5>j?1N_FE- z-PXj5Lr;XxOGv;Df)=rkkai(Px2^*=kCS^LjE~0N0G}9s2_PyLK-w92LNpe<&iDiN zD5UGzBFGgiZkNM}fNx}FUHRu5%p{09_aj1t{DpmQ3JMBz{`rOIzddBM0@ml>A=qmG zS}h(B^ff*zqvhc6{ts|3Dp)ev%Yot9Yvkx89%n$1o}_E-&h2wJm`L?fEyi?#q}ccb zS;x31fTgPLz=xjQIRwlE!29l=^UHrSKKZiy<}rvm&h6tK=7wQMRH1-9$VNT>6f(g9 zUhQ()9TtOM(G=TA@eOCo9h`@1_BL3BWLRv^ImhUw!hNrb2tXS_dAnY6RuDiZGH@`Xh{ zTw9`E24LfJFWGMj>8J95`MxsZLx?yOd`(nLY~B3!Pf@gukr8q|2jdj}jS!EjzF6Zq z_f~!Qz2fS0<7O08mQ{7Fs|tj-t%&uT#v)~oEx$Dbr+o6CU4m0nQ~%5-xVQaAYl@DK z*52T%gq^&4bq@bqFmn?iTAl!?mNW!bKxUG{kYbO%Ctm7@bLXou9v_z6~#gNbj2 z?%bh0D<76RPho}w86qa7#T7%3#&U2DZyGH4jXC3p*gj#Nvu--IKY%D;fq!3`03~-v z#Zhj?0=Z}qMb*9iU~gbzlK4lEiW8-@5mmv@*!DVn`j^K2qmUnWDcs}KUxYYyqpu^W$@w!?CXb)KxTQzK(nFFii)uU z4PN}J3(oZfM#Y)fJqXs4Hw`T!2XFZ_zDEOj8 z;d{->y$BVMJN@uV@+DH9&k~;at=iu@gj|u*y3@~t9afAQU-QEUa16p&!QHr z5ND`>?H<$MEXi$&?Tj)fjqJH7m7_#88AX~Gj-?oQ=C9IkS`+#z@r4xCh|}{pFY#3~ z$2%4Ll-NbiP1V(qwlxf9-K#A{9!fQnbzU)?a#Nqvn_I|QG+kQlGaVqpea;J|C|;y4 zKN{*^#yN9il(zSUTCW(doACkP_R#DA3T|sD6#&jYgX@#K`&6B;f?7_1;n*SvAjWc? zGD5_2oppu2%gz;uP?vm;vti2Y*oKx(Z2Q^H>$&>$$zBD!9$nHT93I)IeF__i zr?{AVe(kzrU2fF7t&dr|Vg9g{m(&zAzK_>1&v1{>Da)$WZYVd6Q6Jz-weO!6{V$EdAhvuLibr3o{m0g=DbsQ=hn?*n7|Ev$@LZOo~fAi zP9LWmHBJEwg^sjsd3-7YX|=QDjV;8aaKSs$_@TIQ3?ceNWW=&XZ4ORrZFDAR&2=T! zQ4fl!CO&kTqP%^#?EB%1cjfa?VV)Bpb>iWO|7v?N5ly)Ubg2CY5ofAnNesx5tFu3; zk%Lf-<qp-Oej}&j+NQvpd)2K0bN81#msjkY+ zH^trLg{wn&8eg^V>FcY@aG7BS1SDxt2cLU5JA%_}4g9I~z-cP;YpLF{f>7kjdEt zcwpD>K;f-*@`-7MJ6xu&C3wO!o|I*6DWuNSOr9Ej`MrL_)){P;O{{<1q&uGeO?o{L z*3v~^T+MXP?Qp|ab(4^6dL0g1*wMN&i9_A1$DsK1epHD&5j}1Fw?ci-+ z+w}PyUg_kk(V?YwGj*<^maTk7H*K1P)5I&==chhw>OsRwQMHnKs#(YaxT3@morSy> zTAADV98a6uPIx%+n{2Do(89C+B>yCt?(v82yOX8(2$7&^dBEAx5-DHt!KY9*nTn1MFu916~2l)@&~P~{FS zL_{|l-I~KMyD?FYMY=N4w@+YfkTr$29D z>%G5K(}sI<&b9R0MEUv9za(}$_8Cd94veZEvNcrk^B#}EDf4DKGVShuv92|%tUP;HF`UA5LV{g?(4mo{`$lYbxq)A7c! zDQ3X(m}5bODHU%m#!sUa=kzf*YZz6kFj!GQDmGZuH-hh#)oJC_mZjz0Te>T*x#;C) z9POwj>Cu-Sgf_g>tm={ry`4Dm*^C%&h(tWJC68>czIBWjpED{*3nX1l_Lw^4sL%+uznK4IN^ORAF61Q6x?$Z_#t3BW!^Q+v$l}PSOYqzv=*O@334N*=pyzvRMuR=UR+VS)FJt#&=|U2F8IUT-+S$n~r+pVHmL; zyfLb*m*`_dJ~DHE2j6R#m6rP;5O}f)1bUn4@@hdnrL!cka-H?+8`%}uqgDbxeG4lh zD(aqpRyX<^uK<0RmeoG+Q;-`Ng6zwuU)*2hmyLuGht7Hpx!`=hN4pgdA)ONvk)zGh z)`K>%Y*>d-)NRgT`bVGdExFPQI8TamCjE!|#F9gAFMp_Zoa^kXLw&icmcW)25+pS@V=%g zjI}V4vBXqAbkifs>t*&_y*jBImDE5b)oolR?n3cEr1C{NA}&I{Y;3YL8DZ1D9Yvq( zOx)IBqg^%kBvMJGG5RkYq@iKDay!?OA6=)n?Tl-(>a?EM`r7F~Pf}`?o*_dJc|f!Q z>DpjnBxE>Hy=^bUkeaNYhcy{*c1s&_`xC`+t{f6$^%fBhnj1LbRq_l}Tr0$>q!2?c z%NxLMLN6^)Ky-zRps%9F`=-Qor~;quK2x>0X4sQ)V`<4d?_$0;AKf#8REb=DSf7@i zu`ZN06(;>GTVo<+u9uJlhnf=n6x}{vo_pC|%)A`Ws=Liv3M3N-Bs0~cN6W=?U)Khc z)v3GLuPn~c&qbZRRIqk$ZC$=G8L>)O9daim!*#>b;^PXk0)XddTdaDD1n~V}b$@Dm zq7kA%QPxg#xOlUwB%t0kZP51PJxRai_-@yk9!|BbAF(U-?+))jy1IXbjj6>sszrU( z==N>)HajtfzHZ%2plRTuXkwTNSX-F9eJAjbFl!!dExKfrt@H>J(3_$Ajd{2paCM68 zdvweEZd3s<1~;>VX-w3lt^K3}z#h~YbI+D6Utof$%N3nqA{|zD0h&7!_)@$AK5A*O zJ{zT(?@*{FTG?6ycW!RW2N;!k+^9);z&-r1KGkjR9`yDWWPi`&Bej{oQ5!PIzuEUP z2eqpPeiMi6ztWRX2fJ;a%xYl7FB0Vb?37Q=Adc7`CK@$%er75}@51Iq=^%e1lux>d}Zrr%RzIRp_ zvb2|B9mW8&0r)n`$?4+kf5z2(ue1)Ch%K?Wb92{rD!Z#(loqt%y%W!djY?7Sdj9mq zDN4`d*c)C?cVO!}*1?}v3mw)jBX4$SSO8kiFI!V*n5@?Oj3XGzVG44Gu+{DwSo(QW zRWZ^2eBt(K(?^&+Z(e#mXy|$!XtljAxHJ~!wRNw5E&`VpcCsXr++Y5-A0NHoy!c~0 zMEb!xB0Dx<%v$umndpXl7(Q0IOsCdB)(O3BOBy9QnP4|@zMd#*!&9H&Q>t*|eUr$J zs^-3Iez?QGWX_cf}AV{t5*06@w!VJx zvLmN1ntrpI>Uxuwac+}4y_>3eHYrU{%;W0#n|eQxsG!D9*;p7TpqdovT2#Heib5CE z7oDu8#d`M5exg#ak;=v!h~B()1c%WE!jD=uMX5U_4kh8_HZrq^0gT({jFR{KYjhwW z=(YxCm`isjE@AVy?sn`FP=2R4wPbHv6h0Ny+oU5$Hmj&uY7TrhXdQ zZ9~xx`|)vzyaLKSH*)T>w-q3Fbt60EHl}!wy^5r-#D_GUJ0XX?nZ8Eqgux4M>LoeXIOrfA-tga4 z#xt-T z*noM=oMZInIqH?3fwkEoX#mEm@mVS#uo@XGp4%z}l_3Ii8i>8L)dCx;T^grJ^%!7J zwI$aHrv)mNwmVni<1lo_(us z$GKoEKFSFP!Upxq%xhorRPq{|NW_pI0&?L-V>4HynHguD6m!7e+0S``L*07UsAh77 zaT(SFnGt3Yb8Ev0DzS6OT5T_e?BJX$Es~885J0($#rgvG*vO6~M>0POz3~7j$QY~g zuQ6L0v8^e<)N>n}iqBn*Qt-b!;x=P37wQuIP**RI&CGYll2|uC^>7R^(^xjwJAo&n z<0IMlJnkzwgMZ_FL9EA)EYgJEY$F}_(Sz6y=aHMMQK(b*z zN{jqC3QCpX^IPjyc<|%<7NC)|ZR%7Zgl{cqONcE%*-(p6VnH|3_#8G`&DEzq!14>_ z)fxh2)Bzu!p^D@Zh38gjq$uR=4TS4`avixsi{io&&FTN0Mj^yvsA2(BYGGxhwy<6S zDe8u9VN9r#q>y;fwOknco^5gJ8I|BO(p5cG>a0VV=TdbmIuTK~S)-c9Vl~zW{Ooeh zA^EjtPWBb2w!|{;xZ5IcA`Etd@04q9a{3HrNLrK2+IGO!Ruo66r0YfJ09v`{+7d~e z-r2By5-FG)l`en}hJFLzTe}I&7JU4a49Zs#B&VcE7Oz~f?lbbs`2te$CL)zxP{mG< zvfWD98e@f(H1t&@X~u}?o?B^W+(_r*Z>I`+=wsRPRnAvW<#0={y4Frjdzda!0Wvpf z0_0%o4d4LTFsHJMQ@^wC0gGkerIckeaNR4snQ@+a#bQB=1{mL@bh83Ujf-5pG2>Gh zDrPW{Lf4D3QSzAOoPl2w;`5!&@EE(t#1@t0T64a1v9NL^S}(sI5KL8_)&1^496Rf~ zVJ@qyK2;Mjyzo_S3GCY&1BnI7r^U6v_J45EZ*)Co!VzwEcC_g?jra}Oq5fEBGkLs+ zdkwvX5<^Y8L@N1;p6=ixo|g79uUW3&+(!6=%`|8CjtekJ4M?{ZmE5S@8o-P_pX<%R zzH!`$42`!)O_bk8Q>+1(iG!45AD^n#_l%J2R#{u9IC?9(ESYcgvZY0d5Cytjbi3y423r_YW6)rJ;-a`pvK?Bz2)cvS(1q1Qves5A%X% zBJZJBK+i$8VAf7)v)?LIGdK!1|9Da9Bcv@+Lc&*N!7C6Iy=T`26&+G@+e(By=(e{b1*NFmr=LZYtLa3C!=j zz{O4J9q7|%Ki-?Gn_rCYGr~_J(Fuh;Ok%yrg4w{gsY@HC))AaCTkjGKhMFRkTsMq2#s1?a$Ry?@#OhJKl(W0V&EB~TD=)8|u!?_8VfeefEtkw$IZe|W!>G{O6- zL#WqyB+eyjPY6$RV!XL*nhs?fO^u_}MHI$(#>Q7cxU?C{ndj5>>gR=Jf=`X;_^zJIw_cnsvi+;OeX zt~>$g*OiNXQI>@pryl?cakHI?^xz&*gJ?5xHiaJ_+m@pH)|YDaYEW>LipjgeV%)yw zmN4}Ff}(Yaq`;mQVeDol*^&?;4=YUoxr;}%SsNPHogS(J_ z(b1~QgL+@y`Gr>RqeERnjwkO!*oTB!xoOw=G5+yCBEB;qyFr=~zx*X4X?$#T{xzt{ZvSm#yUIiDp@nX(AL!GH~shK85- zn<_7$!JRWakZjsF@QuD*+TK}FXdQAS)H+g8si=;ekDi`5jK!|YkKCCdFK|Jp-+hu? zNzS85ThX3u!!7n~zhEM~Hp~aQC~O^}i;pr#r=5-Dxt-Zrn_kjcd)Fi_-Z`m-EwsCC z%i`u6ocM@4QPu7Kl;qe+n5B_5`8Ox5;*E&*@Hu9uW2%@ib97N$lUwsL|4h&fMimn{f6omdM zuk=VY#&y}Qxq`;O^F2foq$;khvnub1ER@XLPOS=mH$v1!Qr9fiR?Z6fBhC~6+fFW2Tr1r?<)7dA|kYc^+(*(D=vRmja}6cq?b|Z`0d$ZWd@R4H<^fqA zx0GGr|8$GjC}8?D((inY_d?F`mv1Z(cYD0^oy%a(Su7^U7IbO%?k?}_Z@27}Xi^)S z4W?19(XQCENRQTdL>{V?`eSVUtY{uRLE1I2qm^G~**jucSSV_+wB29W6+`vf@#s{Y zD3_;c?spEU@m}fyKw7_W{K<28+Fu<3GA~f-53ujuF>J zEfX%{y?Ps0@qAp;zoB_ebG$=|ur^ysr}>KWP|MT(oj4$GZh(N* zOk&fwBDOMm%(GJpWIh}c2dq@cN+#23_bxfn+~5b#SkUOpPQ`OVk|6J5kRHS|vFP5> zhZu)^*gs`m3+Vze=1I)Ngh;f={nMTqmjo+&Awjgv92(PsERER7Fv5KhO=W1)Fentf9U6ly$U55aJ15ZB^Lm^#dtXGbKn6v-~qvL|wB8J!3$w8$DAkD*mvrqtW zdU+T$XnE7kO-bD-ApNKwSCG@LX%B%gqO_Bkw{NqV!1Xi?HL-5aW5k%%14ct=0Ehxn zd?h19KL?Aesd+uW{&)k~Bj9)>X!kdw;kzAqC&HVarv^f;=Vtaza0Dd-lnNa<36{v} z6sX<99*DXjne8fw2=D#|I1s{m_vFnp>2aqU#Ky(>7D?{*?`JP2e)b|+O8xO}2*UtQ z&tTdE=1-3?e}DN&0Ffc2%L8;8+R1R7fC&BD&lsgAVDQ4=KkMI4Vt$VjylWC*z>zEi zQMaIm{LWYbMhnO}=?DvpuTs%X>U%`bpT7xeBK-7fsPr;qZlg0+=%vMORFO<(^Uh<; zC!d2oIHDhSz}+y^nxcv^7cIUMo`_+7?sL_Yxuxe)*&BXT4zpF6r~X(#Iw z;k-cpB!9cg00`#WGvwgSqyWS}yROdsjJoPh(pkpK0P&zcwr#cH^c13=SzXTydQ<&M z=70dvsccN?(4L^C827zD2fe3RnNFd}JXP1*VPY~!N#6bT?(1_PN%@bUi@Rd*O?&t^ zMjHU@AVAkUoh+?xyc@5d2VteuP&Tl5<^Trp()$th%C4nl+rmbmGQUFV=6*DH&37R zTdvR_ky)b@mLx3{75n=CXqgeselBF`e{TnG=GxddfPWdurue|XX|2$;@x5JgHVv|W zVI7IdJ!;Q!Nb>P6(5D7~G@6w?r^1;nw*OGsUb7~x{Tb7tjlRxnSSav zg0$9f!g|I~BI=81*hJikO3U|@;X4b3#lCfE)_cjN`p^h7m%1~lh-Hbyr6?|GIj>Q- z5KjLQQa7l_5PMMM`l!kYe#U|`aAlKeVFenGY)IAw{jlo87bfI6c)1-th^JQ3=IjB+ zbDU9ta?btK#YjyFCG?}}kOgziR@QE-1z&nh=Oat6uK}CaFifoBvi;^~rJW1Q2lR4v z(F>8rMzpE0Oewk|hEy1lDz&bqq z$DizXoBm)pF<_X}ke6S?g=OXCvc8s*G-SNKB!rTv-uYVP|GAL?m1q)5a^gCHLJP@_ z`mcHfZcFQ9Uup8zj@XSL21X~E7ElqFu{^oQ%MEvd2=mS{)aVNg(Hy^F4Hx4d zz&0}M3T+fklvnMIqI3%Ik&ka}S@joeQIcF6`RU|ab>`KW_3d7M`q3z;1)pocrL!B# zKRDc)&I{X2Q>UtDtU`Fb&6ic7gX5Z{ftfUzNzfCcdzb#C*f*d)35+pLNXX>4)|VB! zZoqsor}wwe)vq-g?Pn@Tr+HxrcUT(=%{$ym5>BkyUYG6$eSZS zK2nQue3VK5qg(4^@O(w!ogxqe*BtaHZ_G{VmVFoOfN@0M?wpaG-kj@|mrg|&QBCse zmwT$UZR@JuDV!2BPdE*?i8Zns-`U^&-hGCvHd z=R@7XGbi4gicVd`I)#a#fXu1|^3CGArbozg6~%&Kzbm0mOHYeE$MGc`C#v|nq%5>d zr#uK9XYoZAHu+qQqzwBNmQMr&f1YQ*g*-3)d;O+Wd7m*#5(zk;x^sy=_eo`6Z5&aU zw~wXXy{Q;w3*-a{46Mi~BA#nCjnbQDm9#|1orftK-@5e{;J$)vSA7mah9g)ul%X3# z3%R82#YWQHjs#)#oMWRVIA4s5ZT)NR-t$+QX&v-N)lYC!EV||?Uh4Edq(isB8AfH*1 z^RtF=BSZSr@A2vHQLlBwhAKBmOpAqsdJPw7)bF!fO@W!#NxWWR@$?_qtxZ&CgzK6z z)C(7oRyAHlltpmUQ@6EZ;+6n5ELnc}vq!T~B9b%(%h8w^^``Mw;yn!eJ#BCy^S!=n zi>E{QJw3uzi6d1L!wbC*1kI>0a8kr~Fp1oziS6DpjGKzC$2AXpA>ln=>G3(Oi`Ckg ztx?0MCg7@ziNsJ12&pzB!%b0Y5_(EYYj>(1-ZOvLF;qOD26bIQv+{bGMszBT&pQt5 zjxUt`jRjb}+(#F``LgzZsG`=zuGS z=j~Fbjvbb{0q}7%jEaLlA$tuHQ3_JL>F;-uao@gRzB~qsfIK)h6dWMwm;O~|n7Ul_ zxg+bBV|^xCuvVQZo1t))?IJ5Ck*#HopVz4f%a^BR%u;b|U=-E(CXXnZv*qPN~tfqQbfYP(5+vQwPsaJHjXAVtovpCfW*)j&%tbYo9e z%8{Ns69adTx^_7+WX3X8>VAy5$!A|uY7OtBh^fAO~S0xy9?(y;D$ z(ny-Uip7rES)4eDb*a9!SuXY(r@=PDPgz8&uK~YKTiuu=Dn+lBK2}Tkkr{b&Xhr9z zzBPP#hW3|k3)%J=e(5>Sy_v?#&95LN6s07oTADzf(7wt3!m1_uxoQPo=mNbVsC%Fx zDYjKsHic4%c5F=QwUhIO1AYyD!nKqWY@LCH9%Z8!cv{O;4 zYj@YoJ^MISCjYFO-C32wJ(#5qZR9^NUGbjtAp%U+qs}x(zq|J!N9u|+}4y4@Tp~g59 zHi64Z*%@sV4)rqdU*I5EZCY$b=0^>eG*;ldO5)-E_u7&r&(hYuLVHNk`h0KnlnIMB zwP)ZSH~l3Yjq85Qa~Fd`6`Xjw8rp786 z2c+;3wVsoz>i0YZKsWCyrZR-&()xR>)yT~d&5My+TfN($wYODMB-mU3kw8g@`PG|s zRU&Fz{(%=w&5scd@E*g^sb30fkeI;lG)}~)s#%}{DTQ;Y3h~vrKC-20Z0bk4VK)vXD= zt#+Tjh(VTbc;c3jM?2}HsA58tcabDj0!cRXN7gP`n7#`6dG-tl*6!-|iX?Eg0g20q zyhorBtkdcPxzaiRQMP=0 zjb(g?PCQFF6(6n$4ctm;?;$ZU^BfmWLl{SF&qOJRR^Xfnv;FmEJbn{eq)8%Q=Qfof zWO?d~zS?4zB(x3*L?R1)dlL?8iR1pbGss@Z&!YjRn%@@H|mHaO7>cuYL zH}BDW=npClk!CdvC+0A9vzJcWdryPpgnw-pJqvGPJtePNP6gL{DywaVByznSHiwFB zlv7@0m!OYFk;v39*1f?^SeIJj2^i~eT?_Ohl}wR-6zIwzyI4Mcwv#`Jbw~{WtlIu; z?Kwjlt0gvARE|ZjQZV%`wvtoc`ri_~yCj%xr}^c!WhL>wKHP&Ht9nDuu{1DKVqN*HNve{`p`$5{q)!}tXiPTfb z`kibuZwBH!h-cSCyfEw_R8GIg)SGcsO%yl^K(C$S8K`Un&dFqkg?M83^i2Mw#RSov zgR<{o7!9{T_DpkU?}6Ym@fjb$E`7kKPQTZM355q=uDe{ykgGZs8%P|?(z57iI+~`z zy!WR+f$3$49SfrhF2tCf(QG8V^FX>5HAMU5<-fiJNf)@T`1b`qiPs7)J%D%ZXN;UzMH?Yn<7WysDsGs_2F^zkdF{T3q z_8D9I@-awP7EObVF|b`*8w^a33u1qRo^kLm{|zKr8j?HNQTy&`jn6k>t>v6b(J9x5cQKVhR5Q<&s+mzPR38j3rC*ugzPmmHO&hE zPNC``Di1`nR(?)u93vrTf7V8<?=Qre zRDK0MLok`{yX*44MoK8n2y+$Oi|i|f8AE(SvvQy7F;B-?*wjs9;~W*Rg@FhRftS*Q1Yu2O%tn>Z zgEPgygvTDzNa9RaJ&qgZXh2=|gG@HX zGGqYgCaZ*k4<}h_3DsMhl+p|EliA#;cRNYw3#LlvMzbGK%EoL`sKyTW)8vtV|^6Bg^hm; zGM)m-aOpu{Sth?Y+$-DA|KPD`@Osr?Kut*4BO-A**CD;IQbKG%ZsgIbZmX_@s9%l| zFko?}+e^nMzmP63l%FvA0@!Cx;i(;Qo((#!4HyE801RleL3?i*8~1PM{|5WKt&w}G z=El3?-p3WA=(5{5Kusdw0D?Rw*24*h#qHNOGRPHW+GU$t?UmNg{};APV)}7YG-Fo! zweC5>J#QgS^__QL*Z&fC@%=k@e(pCk%6miWEfc#&0LVBU03gh-W|B_;9=*1U-Y!#H zSqrGBztLTA3wPbM+3vF`1KBHAR#rrdo&&;DY%Q@q_wC0p7r5yM=RwcPQARpYSTM-p z#-;_%zu#KkL~~3{$s*bFGvvP4XvJ79CP)GR$l4%CGaxi2xkidrjz~!(X`i3UR+#yj zmK2J&M&C+N7E?W0poYm>Ow1sq@o0QsN(`Y+0TR2hF{poWsUZLL-7>FA+>dxwH#n%gN z9Yb~lK6Fr!iWA^ym{;QqfexA{c>P~4~@Jh&L6&26yJCQXXxu)L0Y2_p8# zvApg&nNXO~XOV3)RmAJo4JhDZ1cs760iaMKGcN#AHNM2jwJ|R)7B2Ao5a*14l($1ha%4K^N)Xc?523m#3=i?qX+J0*(0u!s+9o&^#Wi|Uk zuL)3xGXkK}#C=iaUP|b{Atr;~_`ucxS`MGYbN%$<-E$1+X%*WuT&QsOH?1Nn81`3mtJAd*^Nq@NkjZ;whZ9#9~b)VldlSRJ;7B%qki%{|xxJ zz8&Cl+-l*pZ`{Z}hkHhdgsMGD@x7rG*z%{g<4&1Tk+XVy5rCFlZEP$C#pAeEMY*=x z*2R)qH&1Za;0v>NX^zSlVYT&ILO&wD;kR`^408^TRSkH1hYbA>#J=xj^P#Bz$ zL)TY!+A5I7cV5L)1}k0hJ`_4lLJm+0wUsdnZuFa%dfRS`RSy2XTtiu2TTe?3kYfd? z1)4>*j@78=K*S7v<&T1)TJKTZqr{_SOB>m#I2NzLdm(q~>~FGjZ~%1Y@>X9-D^0GN z<&K<~7MGYwoq`3DQMzaygXyn%Q$~H(l+hK*_U4D88g(*eYsnRPA_|Zj@%T2MNu1Nt zL8`b5il(OC&fQxZ!m2K(E6pM_Xr`vRCs#Dy@?nYkx{*ii&P;hZ0W-Du2!Qnwid1#E{^n05YS}$cmwdpaOB!!u zvo5r${4DQDDY~Ck&(B|WP1&upezW0KFf;c5U;?@pD}Fa?W0C>7G(=>p_p@^6j@DUy z)_6R2wS%8`CdJQX=WgxN#1}TG4nOqOh^6l`B2%iBSUi(jOdNx1>;FK5n(J=3rAoVL z7Ud;C$n^P7hS><9Fw{XOa6Gk@c7)mgn0CK=wOm51TTZ5Kbh=`XcCG~gsFDdDcBz5B zZ>}p*!=Njlz=Of zMA^MBR?Q@=d~IR#sZ|IIP)5PweE!~5+A`r?_e`#aMe8QcmG1G*(IS^sS&X-&Jx$sb zt*o69Q7JLh4~H-Irw$CtrIX9rD+i@g{b&-h(`-ufvjs#b?az$4u4K7)8EzsCgy0zUEIJ>C2qNz)Bj?Ybcc2Ix7S`4O41t@zxk&Usykcl=1;as} z2Ka-E@K6d++t^Q$y(F`9@AT#|d+Ns3f1Vk=q0J?62N0N~>SfFW->t{; zhzZNSAXDH9IQ+EhnjqFO64r%I54gPZRyF8z>86!!NS-DFf%tUFA1DDjDN06P z4noRzBiZ(6|4z$4Y7g&13j}uasXsP3uSJ+VL=e2EV%-!Dh>!g~og@P`X@(P<2G~$b z64X}Df^X?{fYMGy0{?t%Z`rLhhh)KUKTv<{;Zw`;)7Kycf-NcH&eZCr(L+B5(+gLk zaAoqt97~5MIF|Oj!7$|u%CeC&_W{UhxD|xv~bY#9+dOx0U&|-%Ar;izP4=CC?*@>(xr7j2uRA))3X(N|PB)UVdXb9L2~~_7U=SX80Z7pU zs+Yof6s3ylH--~HQFBJxxElZ*YJ!Rn-!4HO>K)wu{!7^KBHMUjpL=<72$?5ft=p~p zDu+!|%;YjC)Ait@JD`wn0`6)p-NKJC~RCrnjFL6Kjv!_4R+~DI3ai3wax726AVX zIYAlBu!)I@0t^=(R2lXG%C%JJI4B1tT>pFZS0!+Gj_k~X>X`LDprTJEpxb`H4skXG z+k~Md#{<2T18DdKx1Bdg?7U&_{EtYR7`iHLqY`72BLDFF$F&;_0_E&ZK|M?1-aH#fb z(Fleh8IJLQdOf@3mL`ueE3qTYBR-?$a(gW;vf_C#MFQ@7|w3cu~aFVQ8UDbz&%YP-^(q z@_;95d0_J39}A4^moD%qN8Qvzp(*PUYdxl>O=8_aP#8R!xtP3~g)!6vtrC~a+|Lf0 zSKk@;+@?!PLPcODgUhw^mVr6tljf83_uk>;^&3_9$~{&C_%n-sjf>XM&|reZN*l>e zB)gD3BWzb~{R$epmu|$FskMSG#MtLXyWu{%Q&Q3F{gtDt`>9cMa|cG&cTe5AY6|rk zt|pG8AFdOeJ0OAHVa}8&On39nOu*Z>elsj)A&!>|sSDmwf&SkO64EM2K!@65r z4`=gT7twAOk1_}6v;0YgbE}()-aBfA63Q)8p!cl0hDK6K)6|z%x7LI!uLLNysI_cm z42{ky#0zCiB(Ra!&pR20Z*6IjcZL|tdFE3#+Q#a`cGqrS0_C6EaB5t#yM4lMEivE5 zoJzY;W0JjuedBm_Do5)Jne5_8ZLRPjFt-{BbQ^Vcb?pz1X?vGwzeGO|txvE!Kip_I zEG@zN$XZu@VWEF!RsQ=!#=Y`wO89rs-PA2}rw5)#U``O(2YN!lMbCl*=d|{7b;^_f zTH9SK)JI>(12b{=55dT^^~v?=(2Rw>nx}bGqK`rUXU$)<*bur3G0xj7*Z)iKj#Kjc zA78DJt))@BmC!ejJ2;>`R?HvYe*4xa*a_tY{&vb>oZXKID(8qkT z(wy;BOltV{^!j*sfFI=e+sx+9wx2T(zsUKGEpIf)o)^`u-o<~WwgASKrHI@w9uFQ9 zm=de+{IXU^4tE5(fs5)?`r+@3-h3Cl-pJ?13P@qTfSCc+LT8kec7Z)33^2eUo zyt3o_k59LMe0()=No`*o)6VZdzJnj-?!_JZrnn23BJz-qYJIt$xpZ_2*gLbwYa&pzJBTTK?OB-cty>GnnWZAGEZ}IXi zPPiA{-KMI#*}Fh6?l2Q5)jYlsT%ox-l#xoBc*8h6LX@o-O0_3`>|cLHHk)y&J{?!($UA}7`FvZWW-G?cCrKvEbnMV(f2Wn!F$r#oEGJ2w3F&1 zjeOHuO~k5&&Np$r4m=@b+rb$&7inDhwQM4Sp1;sQFp}8Cx;W4HfU>idEm64FyQ8gn zLDC~VAs(L}cmk6$SwShO-(qWCX7;R$xSE*oa8KEeT`=~Sni;$9uE{7!Z7B`4u1sll zPFPI0pIGZ?SWcgAlRyju3?lDBOcC8~e&TZ+@xCurqoJYy%GM_B@vgfC=3Nn{pperuNu zMJ@f|buTUBHHNl@PC?e3^^V*Ai)rPugL$OhO5HV#Cg{w5v~H#A(yAVPJjQ9Msd`>0 z8P65-i*{G$F!Cc@M&2rjG%NQW@PBT<86}*-Alufy1pSTuPfN`nPEwUV52OPr-1C3< znqzm-OBQ%{P5q$OSC8;_Nh%6b3p8fjT-$_mrSn#~01CU2AJ~8*#g}`8&ueRH*Fqx+ zHi0awaZfupNId8Y1p}D}y_zOvGMu%*%!pc)Gw_i*1K~jcieH)(j6+{cz)r&IK)sW2}@}2-mI0DH$2T z(a~(M%M<^#%cDM9F0hDB%ar{ZuQs^1ClhT1?H5NoyN!Z((0AD`FSVezmZw{fK_^g` zSdTu7t=EiBMH#5v>|byBLqFgeDAjR%=ij`+6y98ij8Bx6btYZPA{%`epe#=h=1vQmy={>CzB3B=0^hZ+r`I`bywNUP{rKunEI{{zq3qh=KX4HR7Pjst04O0g(KCwj?QT7< zH9e?sgzr&kz-z?iMF7?EZdfb4b&Ir9lG+N!xJu*fjP?ywDYQ~p|Ej57leJKxz-6kl zZ``3+uoY$H{bSaZzt1{#$Vpk^_Huv+%BB+&+}V-EY~-bQ(7@A%`Garx&BU8i`^_Hz zAOqk}ce_B3I)3Le&BMY2_ocSeVaMbnpS9hv_ii!3>xh|uP&k%&wMb8JB<}|cY=CW? zYvexXd@Y4e(QU!9ST0H9>d%Xu_>eg$wKKk!a@a4~CnT(8vJ_v0R6cS-w(_`8r`(?7 zfi(?w@y^^kzY7bEeZlqfF%0j7H+`cuMUgy*})# zOE3`Z-rWcFqP~mOtEOc$+rl@&drujS9^nbxqIgdRI=*!8uB*U@5KfKI{-(`$1t1Eh z*@0s>-JHmG_9w~>zO;k&lgr0tGqXdnKR7n^VXvO&K@OUU1uw%Z|*$h>rfoK#=5wLaJici ztt<UqO_%=Ace!8&a$%5k@=sHr0MYdhcD|iISo9yzp!-(P4K@HZ$6h9O zW}(IAL5rUP8O_D;{mT2l1lKRJGm6nAAgvHWOtM*^^UQH1Ch+P{;E|efnBzpoDV+^3 zqa&~~=ake;bCits-M!iFcmn=!IKmdDd(jlWL8!-E+3)FgNvGTHh)9Ck)B!h7TUuEq zB`04;;#G8fJ}`%yE45wPkM=_b+qVRJOW#`R|2?>(Vkan{VytAlrkRW20s_95**Zer~>XL_^=u z?dxOv>LUv4HIEt3V_UW>Dc)o4h?-5+_$w23%5M9WHicTia;31m-+3(X8WMp?xF8c; zpDsz`8#TTRExWw{N3TkRz(EbPs`wg-yn6!ul*PeYZ;+%pcSahEbG&v5x{YHDgbF>o)#$&_=g4ErDd^(&kMbP)A9wWFiRWWbv= zX#Z&+Z=MBZR2#~*ek^%**>U2HF{p}&%T@hw$xEbPFRY%A@=-SWI9qUY2G|r1Udk-_ zma5flXcp&uEd9Xd7_aQRUz`-dknxjsg9p4i16%i?n)+qiqOX47g)tpXNeT&o&PLLZ z4%sgr&KC58f~LEEbGG{!PLeX?>)$J$}R2ihS$*c#@`mpTJ4=ZUp6{0){r$p91Rr0gXM1; zrgG^iIE*$p9=qJUaN;;T#U}@LjaJ;dUz7b_+&K@9RoU9sMEMS*+HPY^x$&*-dA<)~ z@-yA>aK7SGMoULFs~Ds%KxD7)n?x-frc0Lq3Tb@2$k)GP@5#f)lu>5(U`Gfx(#erU zq<6o%XYSv?9&h5_80vV?%dOZz_4@_@rKk88!)u1WWN{y=y}Soi25JQ$vFTpkgNHRv z9WzwA*i4M9q}+RqJj2`!v`9nz`#V*~5TZ?po3;R|C_cJfH&HYZC;V#sSEq2yY3bWF zjg!mYDcu8>-*NJ@`lJ2o`ugl*Vq*Jua3ttl;M)l|xCb0C{eMa<=cxoNt zlRG*Drmx;<_?eFH5zvX=TUV}aCX4)%a&miL-0Sf<*znKB%Tc<2@GfwCh#CJNz>B6+ z63|}kX^Er)$A^Z2W=|?zZ5DxfDq!w-6BAq5ouLnMo-+`71qB%_z-K0O>0>X}(ANxc zA7=J~cGp)5ZOehdkB1JmZoOb$hIZ}>HZ~b1baxY)jMaJVjbsr9J2ZEE91MWP*YT(8 zjVFSw4!Tk45LS#3Ur^TWyXx6GPyp@6h<^RfXHxa{A@4z#f`i$ENk_gT%;)~opobU! z-4?fe$T7OuAysv3G@Aem0tH{<2bV7+f*8vi3d@(fA@F3f{4m( z9*vxTLBU*^r*rxqLUwdbsanVy)6so{IXNW{8vBo}&H@bopCKTGM0XA`H{f&gS1>N% zlkhvRde#^JJQYlg$5$aNk1%aG1RuGlUkkkV59v*HQz@B#%|r~)KtD}K7y&4ncLeYfdipifN=BebQ13D zM4dv;oI`JA?4o&VZWNKRMy-MM29zBR2~z1N*Tx8zW4$*tJ!JY;+W1S6nz^1`Tp_*<`Fr%0mx* z`@#eVZgZa&-4kthvV?W%B>a0S5O_&M+c7woQyyzmLtb{{*8(H+EU@)!jamH< zj2s&q=Vqdg^JvTys^vPV`sR|%WUmtHez8Gh=GPtgAyY#!$JH2uA72}gfS7k z&63NXi#DIg20>%fn(nnharA>u%{GWgw68@PqTOS~E&eQnj&D#!>S|>u@|sUBnxF60 zG_$lwP19!^Oik;P?&LPr5G~B=`d0QCoaiS*Ww(C+94{iyAU&19f*yN5ozr)1;c<0+ z_sW_B*#PZ6jPfRo_*TaGWv|Yl{`5Lqk<+QwhH2WGE~#SRI>Bu8;EKhDu3796sHJMR zB2DV?Cb5Wpt9B#Dxe^9-a|yXvszDHHHSc;Tt;aO9W_XLVAWRt7Zoj=AYftDeqr?&k z1n9G;7|9#j<{3U@KQV14+J}ZlZqrK}2Tp8yThF^9jK*9WVa`jqr8N{;ym2e*#>|&R znun&vp_%q9Fv|tHa+4K0?%)6Vn#Q1Ozbe)p;qf(u#oa3wbzeEnS1m7(Qgq~uNiBzq zKa-l|Yk7Vr*!5Jg|LLR>!(*Xmh5ftKXWVvV^dX%V$$`u zBta-7YCga%X#(x}?D0{;7IwoBBf~A1IL~yA*?(KWIQfR+_3bKpC&opR)k0gmJi=&Q zW?w(?kQatADwWv07%!Ba0m7!YwIJt<#SHJvtekCa-K*ReTsKmf)B@CbPjYb$j+j1g zoJ>khEy+_|a_+a;i!(jWEAzat-eh!ySwYTSy5jNRe3!6muP$0E;o5kMutmPV zK!miv$}PiUOFUz`Rd!B9eCth1RtR%nwqg#aUjEV|*O< z#GNt!p8JaYc+0#X zj)&3E&8Z-I{X}1B{IZo*V!Z7y>e+1S{8`SRr)A|&#_=lUvtP0#B5PNyqjJSqXug73cT zGKiUe7Y_ikf8;tV&!s&%xSQwB{S1nakMq*{^cUqCf3EFS&n>?|%8>k}~KE6NH(AL2XG2{M++?1{MbT=5oP- zx>jVmS}S1Uqm;fPs>p{WWD)ew5PXGV*cheVTxSaiL-tiq_4!V=zWw6Y9+$ra8U z3#KDRg!X<$QG9NU4zXu^`U1x>u~YxQwC2#`fi;Jc@n10J!~}U41>@h7kd59 zwDj%qo9B-Gt;J~@8s>JKj#Lfa%T*@DSz_+Sc6j)~=6jv@=SDZP&zOv8w*)*9WMw7E zJTN=yHJx{YlzkO93x|;RqIvBqhVE<1ur94 zicFxhfU;uCXeloT*RtizX#DaM1sbZ{^dqH4_(Ax*{lc3g!i6r11I}C7ja{X=HQwoU z=OrJ|3Wq3->ziA{{$kyFX`*%?`sh2{#iwK6_s*@suij|geH006+-i37ODHn z1DlO8?PM~>(L5+dLKvFRh7Vyk8XE2K7C8J%GM7I$ls|PT_A;>VWK5#zS-ov!?(D*! zPg37xY=$fA)VKyk-oL50*<_Zeg_?Im?3fO`5X)XF^bTA!Mt3xS@)u;Kgbc zyr#z)`({2zJ@}j`Z1r(8ih|>f6wo==JtQJfa!qqU)<*A3v+>a|KQ2z+HBR;?2ErMG z3bE!z^SdWigOCuQ290bj3E@Sn>9Wo7;Q`lS7WAyYo9$*JkrMQZIISWc?1+!o)I)Do zJDPT->k_-ou%WfdGRM`Vx7?DbYE-Ie_T0!^jP#R?LXMN6YE<90Bg)rtI{U_!-G8dR ztX(Tr3t_kc4yMp`)#?}i;zN2YN|AygGYj5)0ZgP|D;~ArZ`_*pi$>Ux1NBIZydmZAK-klP<-z~u?mBb#4AMJ1_L%`bndHy2mO04sZn9=58s$i6A(S{u%6YdsRCIY6G& z&ztI*!R4GURQuJ__DFXS>U~>Dt@oYWqNNr!Tw(Wgp+^}-YeP7|tZZZWw%g#Am1xPZ zB^wz#PQNFeLr4vKWG21T)&sMtBviwemZh$T{*pNSbXlf4&x>m@RX>McN%{Tdy?=dQu&mQe3l1g+-I$lmq; zctm**4ra>d;9)SWn`-~;A9o2FrmV%gnSK3heHB0|R?8FB=^L~`zUe!$%8kSG{=&g( zlB;FX@KM#XGu2|NCbNW7ghrpbLexUjzr zUFB?L>49HYoWyB34lCK#o+kF>;n)PoYj>VRMz}7hGcg-@xI^glThEcVWdLpQD^k>OXm_c;$vOJ8i{u2JTR{Mh*VU-CB3 zq=$s7p=TW8D4i>EHINxq+P~Au;&1V$W@?WAD(fbFsfRSMvPQ2lAEHnx&Nm<9pzne4 z^~Tqz4`VFfW_`TJ9M5&;372k(>}VYbALNl*w#aBRGc$Xq>-ce?aSw4Y8j4CE^0$-l z*14c_%%0kFB>Q7GzE(amD2U8iB;sedF?oX2)`^3vFd}G&L1$r?PsMND&4RGc5Rub$ zgX|r{he1R_AGVbxB5dVCg=afaIIBQ#{xZgGWuZgr#AoA^^xD&$BvrN}j#iP?hLc>S z*5y*#eQcC(5&9-rsKh5m&eDt)zde`V;a)hfexUL!GE{zHQ;=W+tGZrWA=%kqD+r?# z*=NG$>xA9=u&?<})V9ApQi{H}th2_=aFXQfcBj{aD{q)kyLTm&*~l|jW#$A|^wBVU z9EXrJ&5LayM0(?84-n>b&a14lqXacB4o2B^xeG=)XZP4)0|T=t=rVG1sqpLwy=lV& zt;gJ0$~ym=!EzY3mREN5U6J|dqxFqL-L(|=Wm6KkJD)Ne9xW%YD0X|kS$yC%>3=51 z3$qdD62fInt&&(t`HFs+5cs#}2rN9qdWFHr7(Wc{-THb3!Q_+h6MXvaK&W6CZ*U2t zZs6IHH+4eOo|b2!E`?E4W<$GqQD!Eq)wQX`z0^F({KfSql_aQP(|i)6N+G;uCC=0{ zR*PV$N*2ARhkJzlIJ}jmmp=s(Ntp6uF8yChHEeR?iF_z)VIl1k#4(< z<4z9}5qf$qdejReNx^uy>L?W}2^zNMMfOzIBX|dGETQxzh zC-9@(&ceh+dBPTX!P-SOLxqUyGK6gE(PGS&2m+*;>aN5D$+-S$(d!*b5v(ZMIH9g- z$k7R`w%)Ya-*cgY-w?6_=?N3Yl(M{e0deZDaghUC<2f5EPnZlsA zZ36e3GJ?fV2!>eMm5R9xIWJsVATxoQK1!u|t_GhdES;aM^ye2UKP!l`Gx56n!AD{_ z*6~as;h9r!SVz470iK}HO6k>G7XYFZ*PWqXxH5wx&v8x03iC9_yBT@V=A|&2B{Iw7 zk)}_wtkpe&`uh6XU7i}Hr5_DE(Fvx2Sa7`3#VkNtpw*ELpk;#W)nc_0WA`u2zecFA z&x@lN2JNsZ^ZDp6ofRiR@LszRoa!H)Z!+;$-+H}GVeN7uwrvz0y-fK`+f&8PV35{E zbs(>Q!HEYi7%nHRxLg#i_CLcA_ztt7??EfN^Q87Nv%#@q4woRvU#xur(v7gXCz-6| z7uz#qWgOaXS9}@Tkg|DhwRD?=4|%uWqu-msU0kBPb6n|q)cs=fH8(t78r zpLq!;AL9y%bLk_M}yj0oIY(Ld%hp(iqUbQZ2yKXR zT(SS+f5d*$rZ6G`W6>yJ3YA2s=b9>WG%cVme{c|t^w)}PQarH%`a0latdG{lJ}|M^ zr~ujSvfeNu>@~Jec$+WUm2G)YCPMm?B<2*`IGpbMEejxekpIlf2s7JdKl0Z#;$oG? zXt91R9ww71#;(*`dZR9hIKW{Bv#a7C=h`ckDY@jxRYV{-W|a+1*tpWZ4NZR;a2!TI z;UIi{*TE(rIrXfHZLT!WtGE^<=yN!TCa)QaF|fMajTN`GHdvwpJhPcgR**r)(yc_< z5;6VWFCoUpxI>F^Y#ud-R;bq9`$K@%2$s&p4bdiT%<@X84I@43ykeUup`y_SWv^j` zN_2U_UDS61gSJ~wK2pDeDnP`gPbT7g@2tl>{3oD*fR=jIe;Q9KU|#n1wXGLfZJqqv zQrlQ;Igj{W>G;JU()PaO1kN5zC!T^=_!iu zyF2)hNMaS~FPneG#Dmw=HaKBdxp5z=iw8Mvy`5AGh(SBZUx<>Gb?IGB6W*d6NP_t3 zTN_nr8|4xe@LrgHddyra3kkgIAMZuJAtCGBbH8-1!Z{d9#uH0711cDIw{Ry58ujGhPo$dn;i_rQtTFyNLC*5WPN1X4%0 zEIMAhY`usQr7ZT0#Z1=J&BR+E;z&RStu(VW-hv6K58XN)zeNgi8VYANKGs4da0zd? zY7pwpXhI&VdfbAqM6=s2*+K1OWir{(eyw`hbR~sA$k;;?Vv)_vn?DYkR#v&B2?sge__0lp7md$)2tTc=X030~@e zDe*-~l-qiuJ&o$>QnxH=Gh6g0<50B?h{-YTL@CpXRRc>GD4i^hgKC62Z&E0_yyRME zPWb<)fMvW%e6_mgQVDH(4~cfEoO1Jc8fm6`%Km=E(hZ=8w00^8$tkGonB)v4<=RH6 zHG$0Gww1(9D`E5U)f=R+{)LKVu-US_Nr8%{EkPYEuc8D?N#d2NcHQ}3FR$p`3r{i3 zOHq7KX5L!{*djLUcA)(#xT-Smqh`>=J2A-}W`3&w%X(Bw;(L8RBdR#z6564Ej#y|M z--ig+!bqd@gIk|Bec1->oVgmo5Nu5-q7LmfY1*Rd8`*7m7d*gZgdX&N1vPsRoJt67SPl4IsInI z%vEW|6$?A$2@_bVsBP&qe!WlpNx{Zt>s)Ur0i(93L?Z^A;T)FYGb!$jR~@ibS=w%oXD& zo!nf}6=RTe(lKyrUYDQ+EZ~*}qaUbxdG@GJUrf?~QPAB25GrezgXIR{xxT{LjvQwf z_N9Dq9vWsh+Ir$h*ox^dT7{D`RiUzp>KQyn9>sl#K)fY^_$|A7mOfR#0a=V&R{5OC7o`iVP$%jbRv z>25>nRpbA!?(r#On)Z=|K*g;d5d?ILJkJGze{2KQ5)NDxt$FgdYa0RV>rk3?$T4!kjb+dt@<0Hu^l-7ISPcO zD&Y{%;5H7yWg}e*`7Vlh)qlAD5mZ3mJOa#mcKKi744zKb=-00SL2>TbegJuV$cFWj zvw~@wvi_klA^?v67PP;6&>kLfPQm=3QwidtX}uD38eDC1RuHtp@qfom(cL`#U!(Ud z@}PJ5bo~}$dmU&=0@FP3Q;$%uDI?up`3J%YwGzm9u^uV*w}8mkBF$_y_Zk};8r zL!u0=i7$fwG#@CNN1v19Mi6Mf%I*DQ>xJ$2V4wYI>4Xl%YwyGGV*5?##*y*iy3ZiD zA3yxxzz!zcbD(!dbdRJVqEk(s!XE~#UV_+F(}a%W-(g&IDTiULkk7x745#G(HCv4c z$L6SJ8HJPbt|JrrBlJRd{OW%JPTc)5TL3AaazdaB3BLcDQ0?#FBw%3w0!$!}M{pWG z2ZjA4;ClvuDB`wZ15Src{ejL9>~ib$4`>(NtzQ5fhUTz#5(LN0S ze*Yir#AiR?8jwr2;UMsL8}o7T-!J$7Bei&pfVhY1R*BdT`@aBTq`Z5l{!2;h_kA(q z)mQwR+~cX2trG4J`|m{>?z+aW)2{Cbq+xUc$W80dW?b9>dZ$OK`+~zN{dt5Qh?q48 zp}aTO&!^KNz@sa^d*0feD!U2xX?kp|niTV%sb2=AmOq9u7Xdzc6V7sWb`GGEOM4M7 zffw83li9M7=Xl3wZS1O>9PY=WD(E7Fy}eW(GKiszAXSn1q2nIppWEk6nZo83%|1?J zm_B+fBQ^D6CK91*#_2x**cz0`=Rk6TqnFKm_J1iqioNA1bbs84qW9ua;Zsf-kKY%D z%1t5DC`d!~GIzz|W1+GvZ?_%vx9{Bny3{GoNLik)2IvGcF3v@dLS4XwLXNR`vjibX zVx?7HyKY(f>m#OiD*@}AdY1%Q7nO%ky69 z9#}w=N|8pRc;FDD>AB68E1$eJr*Sy4C(I~iPwt<8cp&U7+z}NQ+hX+KPL|iZufW7b#$$LNF5i!_IUzpqK;CQK5o@(( zPd0<_j9C6 zS`9yFCrE4rnwR6C%SOSF$4uT{2Z#lkj#fWKvg{%U74!>=VT}>Aj}lG^I(5z|4s^|h zO-2Q=hEv2YO?wY4W);^PTUL_F7p~E^sMIx}{#HS#0mA`+LIFWqZwp#$txTMl#6>+P zs!FFk=477Kvgcw~3?w*icDI}@Q^7MDZQXbefZV5m#?5al>ncz@ z%Uq)5A;#O0qMkJROrF7Fd99v0w!3f$Jflj5p#Ujf*t=`P!4hr1T;4k0nIq~>TbewhUoTXE?H>Tlmjh8R`vc17Ne#GOv>177%R*NZUW1pYrfgn8vP&N6pP5ut=GjY`r! zhM=$iLt!ZSE7W_|H2bR`;Atdzs#GqWTsq>j)@``Yr&;T}G(QI!tfuYoKj3u{*+Iu0 z*ViGzimj`0(=rfXs&`YfyrKQ_U^OUU{7LaLp4U}Wf|sXVq?xrC6aMU*48Ml+!~59AW3rihihdofDdeQEz8o>(=S_QkDi54!MnRMrJaG12(Tj`yKk zL#^7K-S09oR4O;G;nI4M#T)Wm(EMeJ4oaV=##8B9AHLvxubA*EHY=mfQEak|AUr-MA!aPr~M90{lDn62$JTfPP;Aoe?&vJb?K>_ z@_q-O0$VMam8@U7EAxSf=-jnTZ1f!8>Upt2K+}b@lEAn8VMpA^{(hJj^iK}U!alZ|nAz8z4CUam-``lR45_NM`sheJlLhO1*03+CE0yJO-ZCn5ST;Y3b zkzBtx0P;E&O`tAf7uDS#l))xz-2i?6iPiL(WfULd9Hy)@^z^(Nh@%8h9TPM}DRo|g zkxG@DDbjf~qL!>*(e`~K5Y4)6@yzn$s~;7{6MaJpA8r4R0N!vqTif^AekaJ#W0?{? zBztioX=!Bpwil60HE7Q_kUjeS+BdG*|6Ki!R!0F8zV|Io$tkxO=)%2y2$1@6xErX8 zmA60clc%E7QdKdHQdW))Rl4zRihujPCjwt_5J-0 zmHYkoj~dcn5xFUvFX^JrXUDsmQY%^U&Mn~}%S$A8t;^em*;yz*vw)WjL}syvEH z-PCP10!@e9D`JJFmgq0&UZB3<Xv%ZyO|Ay?9bGs9T?`qQHTzn^`k7o&aWNm6* zE6Fuj?OxHW@jE|#+S=(LcB&1Pi6R_c2;9_wyVA8*?+ZSiV@9YNwSwSbM9}tE%uhB#xMO zB&)^;gbD^W^FZHQ&IDQr;l80%i5ZSGD7BS0Pz;AHs{aQ9Q zF=K8>{)ic7Mn6AU7BZ!Y8>XRyc*lCbdyNq_BT9l#u>gb2cA4u#y3DqdmX(Y*|Mblx zgbZlGVBYeG`UP1A#oK5$@y(1!b!GM+Zcf+B=bLDbW8wwqF)`2>rGtB5r{Ao-P$>ZY z#%4^wDuCYPlp@HcNrDt#=l#zL3vD{P3ZPK1J|R8V>IpuKM|I$<)fTidc?x*pUxy6J z&g$h`9!FCB4cy0%Lki3)7aOlLfsANl1x&D%V(Y#i9g0&@P8&oGU*VPOc?09Wi zRhT3;(`Dlv#|Ek1Do|HKY{-)|h_sO&c+jC@!J_$jvocy%_WD6CP7LVnNC6vR%g<2~ zpdc>ybLz{W9PvRqn_c=+cd2JTE+YQ0ZlQ{GlQ{aZxm4MF&099ySJt0GI}Y(dFULHq zZb4aEPYVVGQ`0PwkD)nHoy+i@K+pMNUdh=!jf0%h5`K*A5q4D>aSAy!tE^JNWaU>!7s{wE>3Zdo z@#xLz^`!Jk)yeG>){H2UVH)NlB{(@TbPU3&i1fe_HrAL^mJjHJ$t7WzoVtA>m6|n0T)FYs~R(|uN9h(f~q{$C?sS_ z&25q7pZFXX<982Xt_CP~2UL%ehqEArZjCmvHVab);&NL0hcxt|(u#(G+t!Bg{gtVr zi9V}kGUso%q__dbJ68O`ZE4~c zjcXaQcPQ&_B&g?2Y=1jVacsGa(_%m2$f>9{`sR?;)nR%@>E8}@v}73-)B?V0tUP1p zQmDl2d$-h0FNVuw&zy!JL+nVLq;mkckURV4?=kUI9}p@#EL6F4BhPLaC4)$d{mZAM z>r(J;DIMB)*_$$y3l#=3)|Ac04U78jz3uMD6)_(Ktj#(sAT0e95ciX{7#f8Z4Apsk zp%BQ$XfZ3!NR`-QvK#ek`)!k=oHOH5GJS;$&logtDuLj^IaZE#2%=Gkv#MXzD4BE{ zO4Y7dWj3{x+N{}F+{|wTx99+UzU9ubO0cplo<;1!EBeH)$f79r88Rs%LhPS6T*`8nx4{pA}@Kqzp0vU@TOb z%cUSYDMXU5ocoHrP~@&U*$mszK*5r8CFGwk=kd;x1g(DYP|gn-S745iObPl97!s8*-!7#MU;)Np`X=d?|J`aIFfSepVK$ ztro+Ei)|O;^rj3KTEyU17P#d17$5D(8f>K}R{+B@w(HYUinyRUEMF`Hx(o3U{+Xuk zY+u1!)4sc#GLVoVT+11QMfbhKRj-N72Tb=K53Yb> z?yBTOJ8z-LfmDx{Tb=$LBO!f zTneXcq!&ukhuQ=y1U_M#BxDJa>S#UMFvo&|Y)%k*~_MaGs*31IN`RcZ6l zQsU*bnHDrLkg`Hb!||4L#)#R)4-uSuT9vFax`8xx*1B@mdumI@3XAidk1DEt)`h}b z6%|f(BN9+@DPU;wgX5m+6k*ejQ|Dh5+@Fi4lr0=&J4U}Zp1ph6O#>xr#b^1~=vc%t zu`9%6lBnucLTsPq%RZ0QPHjRee{yw@zM1z}ES5UBAnRaIEEy}GDd%ZxLml%9yA*ZV zs!AqAJPybr#lAtjf|J?!q6Eryqb5%K3x|fj^bcda={JMv@*jqT(YFU`^76M9I})<1`_5s`%Fdl`R-w4J-XZ;AH_Zq8uQ!fwL#B?m6kSb zO~#t^Fo~%VU#QYd3SiXA2+&ZI62J$s>#v|frMA}BzeUp2*p%mT7b>Qg#Fk&&%Zk4w z5OVojo!dqzX5cITyQqYs3Sb~MN)^o|t=AWOJO=bVjf5v}p1U;Ex0!?w3JDY{ zIR{;oj@tC+2PRhe)wFQB-7ak=^waODj%rI9m5uk{)5|k|zQ$5X+9DTP#q5P{Z|NX< zR#qW}s-*XxLMR7Q5)>~mBF~5UH8Sz220h4y^c#2L^S_pV!Z6((jZ3f# z-5lZ+EoQub?OIu-hl=lf((pKA=jEPKvoYdOtVe5sX5(vHwQQM7%*S{Wt-dA{p}(ow zh{+(e0KKNy2__%;F)PKpeU8$$W=Ix3)@Y2a7#aIsM<$l0%j_=zG!v)<}v2aBJ6N$ldk-$yihPx<(k+6q*B@G@t?ljr_PSM#m$Iz*c8I5d*@rLz2=yx|IZ0hsq14Np?V*$$5Kz7^%uQWJ$ zis@2hZ;Zd(qIM)+2WJs$LvLTcRR>uZ)E`mjtEP1+wp=smM{Z)CoklXg>+f^FJWSv84Mp231hFKZhUv>Wg>YDcVqJ=C-Lb-CM6G<>%97KtoO}}l z|H$q81<_>xl={L2|J~df9u0rsGByvm=eX0#@7w4}ZsaBoo^;<&+7Bb)d&TixdENn= z_2p-VRV1PQ z#@+8%+_++X@R>cLK`BRzo}Yla`Lq=^8h}zM@2`W>PRAC6+;MJ4LqGlsacR8KbTZC0 zgb*r=0zYTc7M$R-2O{@DM|;Du0=sLHt_KHz=Q%|d4kW09v|>9E^wvFuV1wUY!Y*zR2l0o2}RJ zVw@90A?`6mpwQ>+;AZDqPFwYDuFgcRiK4(SfhfEdY6K{-c_&RKSp1MTyGe0C!2a!* zzNZX}J-$Y#(vPT&S@kl(ylU~Wd+MOvpDRjEa5aN(d!Ank!PJI-&b)B;;{zW0yWcNG z3>WTPep%i9&pMG6+de6xCo|UOyc`<5hy?M5M&csL6E(OtWL0m6889(wN-*%L$o!_qp2*fvIJ>Y@L4a_T6^xGqP%;#VXF zF}a(9d}7G*(9ww@(i||CY&*6GD=LZ5M%_QOk#ocH$4bi~se7f(rVU%!N0 zzjX5AKV){{-FGrG_d=#vMn)Y2C(4~iXja<);CB)NqJtmLu^&Hvob91x{f35e!!vj} zvb-XD0^C30bUI@G-F(^5a3few7qJKHXAzH%>Ig)fiXrVnAZyAqRk-rGDf-k`+^gtGw;a3=8)U+C`4zu8G91S zi?#;N1Q>07dKK!qF8a&@M!b0MAadinidC8pmw>)#TGjr{!iUz#el3=wLpG30?9AXq z6Q2_LpuXdu{@aQSbDb5e)&Rrc7<_u~r|(R3F*jwJ0vM*P0YfOyGHOI@h;H?XT% zE}Q&bw$#9%4WM*k%dt9%<@DTd<1BlP9qgr-01v-_Lxs;*rn)b~y`EglD7Eg*`L-(b zA4ZHAqXk3X7u_un!WVcjc8x}n0N*Due12xnxb2G?N{M{UhFU&hrH9gXi3I?$c zu2P@ioi7U}+(EV?vv4#WvU-P{%Jo~c%Zd$dbtdA7o2$i5oK;`mY1h0wuQ9rKhCyx8 zb*@V+8PaUfy`VDJww{(ZnI9;gUPpW~+A1*-enn3sG&PCTS0biR_%7S2{>9W_sq5#G zxdMnr+DQtvy|$D;mUkce0qQM@JzwEO(aM%b<2~n}LVw3&zIz!%zE=5-Ps&nPI*2g} zob_BYlMEDt0aqF|zu6QiJc}53`IefoZtaTp9Zlj2r7m+zwJvkc-ESvJ&HZ+@MxJxW zh00d`%vfF+Ow%495x8n`q+!|0;osZ)H@m(q>up<8s6w!&_$;v>3evtHC^5Qz!AO0s zCO-ZEP6z#|>*N??nq-B`Qoa5_%OfHIFh$(N%}y=oy0`Yqs{a_)yPmwo0^w@QDjL zhlMn=$c5vLNh&j4h%Kepc(yz&%q9!0MW`z{=>}!emX_lo`h@hTfXYH?U6PS1QHO=f z7O$2;6lywK0NnMeMBtj799~ZHB;+*mRG;o7>u&*y z`YCVxF>M3)dros*0&$rB+5S=D@RsLnjuOtvt8c|>l*w}?Xu8`VX1H5ZTScW1YrPy} z7Oz>}JS(w2BH!*VTSQ%R(renXtgtN^R16au9xZE{W9qpCJNVnRARc6!e_(Jd_ncg0 z3NTt*;pZBd6-Layu5?3on3SGb4@gE29`u}lZY=H|x2uTVF6~~L)&?=4p#d=vGB%0@ z@~-8~*_JxDgz{#I#}7jrtD<>7_KrK_4dM2ydGG8S&QnL*YH2cYw27F&_I{-=I=S~% zM6J5gyS7~Bznqsv-=J*?-(BPuruNOW6Up=C;@)xnV?|Id+h8VETCg z`3qxOM~A1nh35ZLr!Qr5o#_%du{ACPnBkVtlM3oUHBhMF;^dx?!VVXr3viu@4@A%hY3^qscRacyJACO>Z|E_kqFY!tL@ zms?Q3JS)tiIK#RyDjqz6Qo`0#Z}TUxOTk&SHIWBHS~%QpZ_1Ut(>7!!ug=F|X>nJ4 zO-4RALXla!8@`hetr5#CF}d-%$hqqTDQ+NSw3ONCS-g^i($gl6$==~j7X!DCyM>|J z&B_jMCSGO#r(wLzQiVvZu9SjPL$93`D`TBF1~6(^W1MP z5vy=*b2a^_B=ol2N+Fmv%-H2iRGV<>X7t@qPIg-k`>tNI+M<1gGv7{MQZ4W%USqyS z$~1g!Q|cn@)boD5m!5HK665*7hegEW7Nu50?JdUJ8A;48CkXg%N36+ZKL}cGa38ic;B%vaSaP0fi zX{Vv0B+E$0k~Q1dO&uX+7ZYQPm@Gr~WrlgL`x$NL_j^B|_s`cq6x+<^t5tCUh zK#8Y0RCaCc*Bi>%Vd_0g#%D%phebKhhB_w>!hk!eD81Qh9VL3%dMP4JAH<>CHx(oKMNj{Br*q(nN<#fhD;Vb34<{1fUgug2s zByqjqR};R2q=xovwa-%-HGE4Dwq+4Y#vMf8m7X4Jrt)2lo#Enq`;e_t?6GalY5Wzp z3{AUZfoCkzCa#LPOD|D{h@(GOali)dFIm{(Qnpg>aNJI`u;XHG!s4iJ$L$X~nE%a! zjwVjrjel);g8`djeuo=R@8(1j$?I5V z(*rdt(|ySa&SE9Mg>hm9B*^K7#6tYtf2|bz5}%Cs)`9!Ixviy*lOmy4Zq>^mP)v9f zoUMRO^{W%@a$1V3vwGmWmQziFBXkeA%Oo14n+iapTT1|x&F&&j6r<~b)HR*eD@ zSL9Q#@mtt4h8HyiIz)dJpOonC-MhOXi^q|Qbby^d0NK;?rIec@hh1LIkyGtH2YNW_ ztm3sJHj)=6(-GT7Fi1TU*Z4%%UJyDhZr+l4@p7#eR0Wk^g0r&9)Vo&2vjXTNLif{K zf&st}B^)?SNi(sjrh?l-k0E*P6l9H3mau95gK(qvPVI7>D#yB8e6P#(4g(n>mHp|e zY3FQ>88ta9zNU9gzRY%c~qcXm_5U?ldd?=+uowumyI==WB2)fRI{c-NWU% zif3O;S0+lPssxHjKL;5lLei`V5|G}aBBCOK!%e1PiaUBRuX5(}a}<+ydUR0$N%V{7 zW_o_Su}SJ{!{J^^XWg&s%kca3(txnJ_S_@JaIIaFQk_k5XXpa$su`FJX0796knF1N z-c007B!qw`%h*z_fAK#^cC%g@vvoW7K*2=A(MAfyhEn5gnO|<P zU5;C}9DCF=A3(_b`jgKW69KVlSv>e-OiG^O zvTv7ub9V`P4&eJiAoP(83X z6PufD#MzRQOazSlN=*(hFc)V9X_9SOPa_9vY1iYYW|!fZe{dyo!;+OaIY_a&zB4H^ z^Z5MLS_GqlowoHElPb%GDiF`tWO=;sl~Z&8WmB=?e9|_PEr#>bKBqFyYZbI=4Eiiu zc-cE9kNZ)z+5xe68KjO(Rq8S8=~n)cvPqht{)CKJR^N) z^||!|S!fy1jBsc>y;* zh0+5Zn=RF7m&q^C4uV=@;SN)|C8uoWz-MD45tu()rA=_ROk{-T#0g@I-bF^Zn$S-B$<>J1x=c1P8+4iqV+;qM)=SG3; z6BpzNR&I2OvYH^G9r<}2R)rVWkdbRUb>JLk+g0>|ZMRoNFU8XHRA3U1vgNU}5*M|6 zTfxdO|9o$&gxheNGjpO*H#j+7I}k0+J$sXrE>st|;r zM%b6{2s^u$TY2W3H&nNAn2@M=Jv3ko`RC=8gAN5It?KNs4tidvAPq^(pP*7gMbpED z5H3Q_`xqZFMk~sh^pl1f#yl!Y3lj-=b=VHfPr5`zd-R2CCohmZ%m-XGQ>htEJ^L?J z9lrJjaslnKE12!Gf_AwYp$2S;Hd0v*35bvpzsHIvP*pV`Lu$u zw^E7EC4lKVU1V{jsN~P{3MyUHPAKP`-yIM;<<)Y1`RG3@#b3XJ@LM_+Ld4o3ZITLK ztrFwPP|@bD?`EB%p=^P~?AW`&Gpr$~h9K`mi@(}TwI>UN0mQ}K z`5-#%$jj$;P4pmxT&Tr$J1i-;xKT&3>;{b}WDb?)Y|@Hl$RkStGba1??wPHVTYhQe z@qUps@^FDdl-g5Ld+S^!V`A8Aq^vvcXyYs`+DRu>rfmkjJfcBd9}j5Q_AfbR#>-Nj z{E{`}IQe39P@I;q!%XNf?bLRkdD4rh?J-(6O%xyw9}=NUj6@6d(mEl>qr)WB_bu_c z<@{K|_6!7QBs9-OP%Wzmsg|AKo9J$iEXl+q>op-e%}j0bM`|C3*CZz<-d!oiv{Pa+ z$Cu^8<`|K^>2meV2$4k|tz~)Z75D;E)suNAq+0|(d*qev`YfHNP5_lxN-RwKk=GvG zD1OJpjlQ`tJ)dOY70S5wlQLFRC)dE<0WpAxLAu#3qd{ML3?M4r>ka&`M2WV3d= zs+=yg3uK%nIbR;?a0+I+k9p2^vP^A^^Osf>SyXnP8MIGAcB@Av@k_dKZdw<~Fzsyk zLcUKm6d&+a&yP>r4alr>VPJMKe>>j8iRKMuaLVyXxe?ieP`KQ*kUAj~?Pk)f+cEv= zC!Q>)M$Pa%C{eM<#vrY?-Cn$J&|L9GY)E6RoG@Kp&Z&7w>Q^nu&~M$`!t&?neq?MH zG!iK*N^f%SzxOJKhKfCo12B)Yy5enEwAv&?Q8_NBZN2&ru5sAgp7iAi9y$| zCN)RPk0!Nd&1_5Oyl)^~ze;|+H8nMrJj#gv;Jgq|1C!=uGwjJ(GD5-Ch}+72u{AN- ziz#DW^_fTd!l9vh^HQP*(PgSd!tS3Lrow*9n!8S%zui6`X8PpjzAz{ZKi%fz=DYAY z!@OYD# zm1A|&b>p~YnTr%w6C}-g=?b(L_%ewBlua7`PFulsF!1avT?NOg&;Em?5||zb8N4V4 zTUFmyX*n+&%?C9(^X>jfHf!|%iJW>xX9pu8)fcf)>>grN#35HU%Y@j3Q{SjGq>)Cx zUt~Z0xv&IRxONAk;8#+U%MAKJsOR2oK%S$-$R7NH9qj-ZRwwhLui z1kAd}@kRZ>i>hk`AO2Pq$WV%u!g68;^f}-vTb`D21khAUnKaD*8K3>FyLOh zMRE{`0v@wn2i)NUhglK4z48{{rC_uug}NCuyPg+w79qB_p~53+Y~TOf7X z8_`@Y1hayl8KN2=w0xJ3LI1!V1Y_W|kiNPjlYMX0tZFTl-K-oSrn`=AKhTq+U+GD# z_i54Wp8bM4vu%;;T=6s2*(Qh)61dQRGm^ZM3vVC($Y{Mkz@R?^5*E6|eyWv=yMp!%zcU3q)FJ+5K~UIUo9Ii|~JGicUc{*0O8MbNJRwwUQu&Hx))dT6_)e z1E38Z<29?Cai|*dh`B(GRbNTg<&gR~Qmd_fc>z&D8;0(SrK=LF-13r4TNtg z&VT2wS%JKggUg|<#W-vLjcpN2Ee-%@B?Xr3j1QmxZ{L{K?<2eVfM3=wQUmq$4Fsv_ zIfCFRC;$-0yBK%&qkPf#2tw3z9LA7?djf#MeS!i!F>BCIl3%0iU@E>gMV~mx9v|}w zoPiR)H4AN<8SRlqP64VKi*a>mDp2Ellp?W}>EKibN%9S_Z$2E@o^NNeegj|bl@`e$ zg@Hr}NRQZv&Hjg1+h^@isiZTc#5%c_56szdb9!senN5jqVB`dE*kfRYM&r-vlbps!T^8gj7A%jJY5!cq|a}D(2Q~#oe#h*CtuSM z@Cema8hx#4r>`#@z5xD_@$b;%hSo~eXQ(C`D#j#~udYt`)Vv;*-YVFP&PEHrRDrg= ze#WRWq5TPxTue4Pg*vej3(6rEAUYnW+P|D|RUqBQQn4*9^J&WrfvCEy?l5?pYzkHyI}H3v`6WD~1>ykDBj-Md4f7_TiO@R;sn2(u za0(3g)S1?X^ptFop0- zQKwu-j-DFt%NQ=@-XIFssk4BEJ6ST67h}DL|HXR4$-I}M`-{n3RNojI;X1 zgef|;Vs9tQ7o{u`BPz)YkmtGZx6Om(can!rok%Fp9{AYq)=BW4pDQECwug2aNHCsA zI9VP`>ga6PaWodnen~J$)L01ZnjPnbq>fdOC4>P$*&q__e7p^6rq-vK6sD#TtB#&L zWjoWH@7k_#15J^XJgljiyA1#Oc&#b9N0Ece_tT`k@BE-#|EG}LybgGA zGk%0gw|6K7Q%RnK^F5!CjI&khMIu=L?){KcslK~x6xrqwxn+>xqYSV;=8fwGYagpo z=N(Z~5*3j%J@aBq`$Fd<@n9K%wji5D;2FPa)^$h=ZINgM)tfEpt-(chDM-dKDrh$N z%osar+1#lJAY2IcWV7TeS(iyz%y2_ zS@#Pl42wLtiETFNa@}u)&6{nr8hZ}gZOs6WL#z7OGE0gHW`1W~T6i2ndB<9qK10)M zinR{x8Eh~uWGSY51q1WJppcK)7mqdsiVrM7u=3E0w&I;lQz?~2M{lhrfa^s$_$G%3i5nGc7t5dVnsw2|_e_A-eqc}gbO&L> z9>dpN1C+|_C$kaJx=%+BWu{svR_?QS({+ZLG*}`N<=PQ*;PM+rU$<=ID4sk=lcPm0 zQBUt&^aVXL9wBQVO`=45(Zi?8bxdXZybwd6M+7IMl-&n5K5omM>5H&GGF?16SnJ)F zB{AM?G+G=e77%9YxeNJ!J*&7|Db(}1-u%M*H*4z0{XALGK46&oGOybXU-tfTfU81e zxSNXG3*AO|WUjc^4~j5a6XrfV zpq}x5;i;`a2ip3rc-E*5^vPd9Up?)KrT<-@eS3CaXc}m`=rL>yu@zLO&S;tORJ8gh ziX%Yhp%bSl3n@3E0@G5Ql5r5YfvF%d*OBMcZVFfAyvwX3w;NijMYqDzd2*wD{g>dg z7nN9Zit6I5aNVJ90y_W0E5IAFGQ;>-9{q(5qXN3>?>3$?Hks--+*lEySTiPrc9)@Z z*b3KwnaS!f-SDo{ETqIV!_y?v>Db5z7uxC!MjHK@X2NRYv-ZBQtl(t|FN#$a=5Pt3K|L4$UATU8eB z=!P(d5|JIh(A20%B?5o=#mdta~!?x)B=_h|PFk#-|hER*g^08Rr1WcB7a$ zbQ_jz#?R(*#g1saa;TPsWhK}sx90AC@Q}XbH|@0yEK{5mFDNZBSwV9rix!##CME}5 zgv!kfQ|?4jbML5m(KlA_$@M7&|Bu@rVK2#kZrGcUYFezIv06xQys!OX5Yf|`mB$R& zgDv?pI`q~)H7Z|(4!^AHu{IeS1HOSE@X@Uin2BN*33WJVp7kgTJq>HaM5{e{X5nsl zeW5Nfc(d`KjBU3u2j?MpaSE7ig?&C2;TEQu^!g?ml0qHSaM=1Rv!QV&nbUov!#ks!(}|WU!TqdV0bJ6pU^{FwfV75;gyEJV@dKC z$3D6Dmu>2q-DG+f!hgzon+9!*m}LCIX(nTxt_CoVJ&zz1du1&iFX%gzvDc2l58Dw0 zj96=@dqiDt0Lc3`xLR5!8OlMQUQPjHv}}IDEzo*e$~1qcE4^;#>X97d$-3ei>fnbG zlR4>pkuS)<10SgqN7&{@`3-P%=I*ADJ>*;=7TDRF zc`>Z%iC?LpX&Ze5Mp{p!|w#30uF%@&NuBv zbSK3!o!(tzG3KZ_@la4v1wALM+S8E=;$3*)@({QDAilwXb72R!Kyd#K&fCngJl)QC#$=us)+nDDn8ddyxV7?oROO9E_}p%P6m%(UHUDs2D9 zI-~;9fhA;anCw?oFz?F77@mX%L}qhjPQOY?yzSQEBkokuROIo_ePPlqz_dg+c&ejH z@)$`D=&okVaNm z%qYS;4t?*4buXBtsOSC~2%Ks4>(u>GR@~`KBXG$D9mE)^^tegL(ZbslZ_AHq{cKpJ zS7|vg8H)qxJ&2__RP6y6@xRIB;7|THY@-evZr0yer;zDp5&B(#;F*pw+5aJ_MR_CK z=+OsEfEc{`oXCH_8+%_GkixRMDr zW#|0iJlE>4H+#))fSnbFiR{?#gsqR*QpeZx96a*v%TO9-Ha>=H{n3P-?+cxE#PEQZ zztr|j)OZXr(MDxiaH&so2ngH zzN>R@FCdKshg%(s2^Oc$hJIphW4FSsXO}GS-^KS zzV|2YpIBH}_FmOcxyi!vqcRK256!!Ff?q6)ULIj#dCYQEr%B{Ss@!C<+-hx!oYe#b_i=i8U%|5j_LqG; zWnv$-ovvj+nJSUsI|Tk7TceyAjV)fJrytPfdXCF{rnfKe$5Gvf{3j;j)St1OmgOjY zYM{yzo5E@sBmTp-8xQ#{c9#S(f8XvaeT=28J@Czl{(hG6iOa`%(}aJ>7?juecrJ1m z^UfV5q0Bo^!G2_1XgOfEm-##En(Za#kPU^$86&7%l-K$3QnlBsL<9c)%sYQFJIuUO z3$=@R;bbj0^LO@z-pAih>cu0^v|W##DaS69$RB6kdARm0^Uh@7{mcv3J*Any^Nkd4 z`+iafMi=Cn)4p%!rNX@PoTonXPHF1#eT?skU$ABV4*kVo`}dO~*l(8M(w`*g98Q-C zlznaaxq(!Hy9TeT>&R#LDQ{PFSc zy2ETVQl&rUgP@(zt@{SLfBVrcwfl;eU=5b_YWJg>}{1@&__$FmX$!8dA?1*`=f7* z$^VOOkTZ+3aOaj+)U#@tsH44)oLUYrtNg^3Wfy9_)V#yS3o}AR=Zse%2UFu=dvo33 zlP?%5cYx9+bme=kebdVMgsF?q43rta|FA`@vS*S7sn$_R5aoCsv{xN%$8Dva zlzy(`!HDq=HjuF#23ct%T2PW&M@|d97J#$acw(9Fwj&wDv*vL8Sm~ zAy_zI9h*MOb=4W8%6U@9t4+_>+3w8OontFnk*&(`A`OKVN2p?1z#9MyU8D-VqXO*y z$yy`3DAIA@3K*NesC@AQk8r2&gk;Rde0{)0k^p^8y^nTea+pr@Ah$dEV})6-gQpJH z+MX#AQ1D2yjOU7vGcc0_vo(!=zK3%i%i}TRHQA2$X{MypH!Zf7ajUIyDB5xfhogA? zCi(TeL-iOj6)lr1BHw~PTB&FL968%X#5J$Ucix6j2{AE;Z{HE5wi%$J2c6NPty;35 zV`uADhg!1*wx$Su#*T0&){zeAyynCDt(93BD2sK7de1d`bv^L0z+F0=B*U+P`2j~_ z^uqmo9B@z9J3Q6kj^UtGyxdd z*W`{@WA2*?^_wU0zLfSDh1J2bg^$%9!+xt;?@DkK#wxTeIc?5))L*aYw=E(j>VrwM{1H&};(jjl+NxS0e2c@m2Qcfh8dE3a8UUnd7a`;)hKN443 zYv71RC~Zx*8rc=a+1D-iwT8rV{pCz(Ii3d>8jc%v8!%oa!G(+>D`8>HmhMm zVv3Zc&J*wEQ9h+uZK!4TCz-)Vjf8%?l6L-$#mIovH*Y_1w?c?-Vie|`B7IDp+of@A z36(fApOdhSeq3~Rq$0!%Z9F8AD%LCz;JZ>kB|TqD>1h4zF$}LI$CYUEFJ-V=I!vt- zO9Ud=yjIH6;l8WyhWYvwMxPxl#YNX^JDPik4^ullf;yF^b7G?R%6z)(8Q>KAoK=p; z3-O`d#>>=*oqNzAxGAvPS=XreI@+b1T#g)!k00N&47OTIcjzfa=` zZNH6|n^CdAAnd$nEn2>_55tpZW`z=r!>~V=`IH?2Is2}}Y>KmXWCxy9%J*1lbCjc1 zh<`D}e!D?QmdpcpmK%ZUJrH|!tc{;1LsN;b=3R{hn9JOk$)|}}9%TerMamV-8$fiH zS>D6t+#xqgA1l_3{FPJ-8Qnhn69w$Nyv-7F`Qnv)6IgwhuoNZ z=SUu5Rq|X@np*5NfGO}a*ug@RF4Mnlwu$EIAu*bydzb#(l+MP!^vHCAIIT> zth|pdxwqZWuH=ABWt=G~`}ASy&RZ=~#lS=Sruu7!@o9ldqok_pZyC|z;;}zPl9W8{ z;SF1xOGiJ80jmJ15;a&^&sJ6uQd=5SXP*nOcofhu;-BD^R+KG!y{_ZkTn$=)yPGE` zC}KjanhwR)#Awszy_24Jhl?oxsG~kj>MSAyS2O$>nT-1cr z3n0op_^jmw58nLZi3?}91meHEA;7r>L^R(CigF?>u?^;{OX~5^9G+Z#79B(VL&d}a@(ulI)h;t2 z0#%({!s_UxQBo(_5Rq5Dx(-`jNL9V7(cCq3ejQC(X(_RIJGtiyW>+NMHE7C}OTnY5 zVJnh-PWy z7*_u$v+}qW4~EqT5wZ2j{sxAF0LKfX7xqjC0Zxt9Mfa^j*oWNOg0u@yN3da*m7Lcr zVD$9j$s6)Fwm!(BF1&^ZY0wiGVMaW;V;>c$>_y9*@QT$y4n@ZXr3+K+c8QPqP)cadOxR}+X#Uk2x)cY*7Vmph@t20S7k16lweau z)*dyxoMuh9V2xR5@n!N#Wxc{X#TOrYxUz^vQ#9z%Vnnx{WV;GIc>LnICc7Z}^mrYP zIlHCcVlHxu8U1~J%IbQyx|k-q=DByaYtW`a3EjlhMFq!3#g5RPHheLi@T%z6@h8XF zUyKhjn!eU>cHVE^r)3|fSElP zHP7^`t(=%^$UsKGVfenV`~Y5?Az^TO?lJap~926oDbXU6{Ga*tjaFbuTSvZ!NJ9nws)$U2u%k)G+J zTa~JOJG>B&#U3W(41{|QTo<`u1s8-Asm{wPZQwggr)wfK{M+}reLSKQ)oLRZGBi)y zoK&)M7+mLjH?l)5a7$e_qSwW$Eo7XvL*ar6Fn=!@hzd?n*Y6Cf<37(px1Xn^ zluZ{55GOl=N*9hd=QR21?ey*`?ko;z4Lc}uzF zO6FHMBd`2Z#1R0BSnMe2HzK?X0TCU;d>$d)-4C`a!;h&}gfXxZfQcaEJ%U2CeOjQ( zD#IPbUrbm>*YzVeA$uV#xO`r(jrIU7HP%wdFU!;lI2h)fXYWl*po0!;T%DdD9`yuk zKgWtMzX1`QVX!*QEOSrB%>8n1FWpV)q%RRrG2>>4rOG_l%+VX_?=|N|C9YY8@Vb1w zU|8%O9?a){r|*bVz*ct{zl(61=l#A+A#Vp;Vek4j@X87h$j;U+Fyg3KumPNx{FBb1 zK+upyj3yv@J~D(kFm<6$l}}`zv|}qlaYf-@s6)8s~eV#vCghW5gKSy8#z%?o$F}FZf9eo6<&Frw3v98ZfA9) z;%n%kI$FsG-%=cG!aHzMbbu&6$r`v}{CYgvEPytdJANi`nnN3Xua4%tw1)8BqKX`q z=Rfy%58)GibISs?`MCKvp6*6w3W>Sw(K~Dm6XX4McH$^K)r%8m^~x%p8xBSl+UWUi zatTuYgy^}~;{tX5!mZb_;K0nID2JV^!>{6-SJx>QPm1#7jAtQJA)aac zI0~wVC_dlcu(czw+5B%qY$iio&KCFj-`aR(R9Z{5IMw;92j@wuzy-*gX7$Bt-Yvnb zt2j+G4{Ie%($jw0EMTcQ(i^~G0W-_$aV?x!XB{JcjIrws`ufhux^i5A=(*K(p<7Fd zX~G*!CmtF1H#CO{UAcH!wVJuk}9~(t~25_3;FzL zofJ$-A3)sd!4jzOD<;yOf#nJo%U#bhqc8D^>cG#?dx@Q27Lc{aMR9xQ#BVf(c>PW2 zTf(3ZfPLPz^|*QaE;mKjZCGIrex7nkl_fg~rTJwYkLu&1jslvU(^vAmX;)?Z2F&Q( zCn2h8h+g{(iN(YSUNDjQO*6W5fxo|B)SbUOjlYk;pLjp|?>h}5!A3|hxz_cOaX>4lbs}n85^+B-RbG`6SDpMX!|T`iL)+1DdID-A9Xe<`*2-mr z)ooHaFZS~`d4*1#bGhJ{5uW@hqKlufCzJ2jF#G+X9*FUZp`MO?p92gQukMN`Z=tlX ze&ik8(E$gKdm&UmJF0|IVtrB0o+U%IPh@QGL$CO}5`X5tPrOuh*X^t5&vp5Hf?gO` zg@{LI>Y?4GPqc7;TEeiq5z-f)Hcp#w>t)s?b!LMp1*<%{p#?ieY4ImpTmd=KmS;1yE))-LvR#9Bma6=ml{?EIz4 zO|P&~2Y;~&p``*!K02Z7D1m2p|K-}2BYca?$U$t%(EhBfX>Z<9h?Hph@{8@sv>oZY z?)uWSLJoPbe4wi3*r$y_PkH;^b94s-rn)E7$qDr*QXElUw?BM}60@VYRSL1OZRf() z1Dw`&et`9plRP#Ya(W|>9deqA@AOxLhOptYgl=o2P3xxl z1kWbZ@>F$HAIFvy)5#(!#T&`ms9$*dD`i)OF1AgaQG|_}n0$niq{Q$1d~Dzaf0<;? zn|7Zq{6qDlRfOp4(crM!*=X{BXfCjEhny>0cjlcRTD0=Sxgz9EGOnK1OG(;I{b2rr zad^c8AflAL)T4gmbJ`b8YgUq4#Zz^S<3zHvCKXq!TLILj z^xBt!0g+P&9=;Q;2Jv^$s)4CnF9X(F_APkjXfcP{n6rltyWvdBRz@NXGWdRcY>&B+ zu$t>0G^IGUNJMTnk5tfR6d%hW9Ua$Y1;?N)5;MCZKKqPQVoRx^X(isj)V6R$H_x)! zfDLvzt+|O4mO2aIp;k2>hge>>9^J;&2VZ!G*VM?-3AHEQk%pIby}6@bE`{Z{b8_`897OYI&{B@2+Ba@HQh zKWf~IIOHce%dWUKA~G;GErCisK;X%|QkKD|5@e6LT!W#UTvnZw&(7Z0(X`f zTU*p6(XWF`<{JxaZ{~H;ENwbse1ZXTMhAd(Y4lZlZIZrPJ87AHE!0=8>{g}XL~E?t zC1}V`_^fQ}LMI{E-S^4;Q_0EVH_!mHgTJX9@@};)EQ%KaIRHF~f#0|d*nM6<+NHXm z_{o2R6w|D@^474}OOAxZ&P?cm@m^GN1o+0!^fmJyH+DVbApMZANAr#zkEtGIhwUQY zRH~9AL8vf8INkpWL>9dx@de*b4=;C;Ff| z23lZ}YF~(N!#Ab3yF9Bn{GG2Wr)t~rQ0+cU`I=Tl)j#;C0Go6mlyGG)E`L&^B|nk7 zG7!o`{o!C=j~cGW_eno8yQa^`?qp$6h0%%!$h2zq-7ya*yi#Ug+``+)40(PbfZQsj zRnM1bJlsZ0^O{I%1sN>s$cPVM28d;KRF`)y->+AR5%$167k%%ZwV(z4PiQ2^0O+7o z9d#llM&H0xx_aULo?vX7$V2sYMo~c8@*68E!H@zz&Soo09GPar>eO8$#E2ixeIGwy zBMRm<(1m8p1%#>W$c~5fgFOl1^?qfnqAB1W|0({a2j zRx4(&?BIDha*I$|Go#AE;`!m*8t$OBws z(W10C1KN+m`vj<0h)M4Igo~i1s_K}EF*Q`kk#Oik0?$5D-jRC!+Vz>j7-7Z57kIfz zGRV71@W_~+8jk9#e90(Zks-n8>jtIZjMGsiR0m*qEqs)jWt@I=%EOv715t__vt?yA z{ZW0ci+}a$n5r*osBM^t0*<#dg0NB&+)>P9&`G_N+;+~Yu}F0?O#mDe7z#twgx^m0718CtSu@u+=^EoQS5txUg;UWE|Va{r$HGTR1UUPR-%I+sB|q zOe;Wf!viaDVbvF235>(b4>)sRD|SxoVyN41<1WJczySZXxlu)04>}1AKNO+^mH&Fw zKg~QwsDypslO>a6$o~{@|L1}KNa;UY;~xRn|84qE*-t(7K|sAQ$^aOZE6@;5{P9D~ z<9L?pmk48$?=;(PZZBXDzX6|@jl+3BNuShQRd0s@-!V>;N0-UK*CcklT6py@Bj~?# z(&3W%rNMcir^9@{ZdKd;vm4GLOteA+z&p@($1?%!MuqM)Yw6!0(j5$RA;h<{} z(ugDb}0g-ZU} z78bgH0hezV{uh_;R`=RYUPk@J!~c(7ZOI;JQ36rcSCsdsep`mSDEM48&1NG_p869D z4kQRsHVT)o3Eu=>b{`W^&CFoHH($MA<)4hlbU*L@?FWk7Y5rOnPE_9u!nP#_oi-+l zFwI+}<$13N^ki7SZHZo|HTdb5F16nSi~)yo$|~R3zxxPIdto$KAWa^WBx-^{xQGC1 zNYdwpB7dC>lhgI7JIh1fYerfwVY6W^y5$2u%URm=<3GK$o)OYW<4hzOsAn`I1i*WK z36F8 zVmB;r8(PK@Kn<-mh`HXK==AO@iw+a3$y*^_%I_z}`DWkn*}?*?Sb>~0*4*WA;&<=; z`8Jde0?MscD^O)Qs!jGlQQ!nd_2s=vubPtyCK7V1gP=GtnBUu)JWSsjE{CyR>oqGO z@I3D)rn`3;mE+Ff?_aSN0*K%@S6*rQfb9#<%M-tLVxP zzG#uMj|&y9v-nZ_N@mDV?3}(Qf=+G}0)jbWR!sXyvSi4mauE zv?3x!W|w&?0rEU{8BENIYG-wabHvy@T)LERCem-#yb*4p@CJ7J6{u{Mk^=?Lj8ITE z!dI|uE40C3>owo6f%X`+cZhMcqEkje_!PAuctr^2+BRP2-`Ej0C&W(}aBzvIKZ>k6 zl`d{82x}?9k_7?>0P1YMDBnCzY5LT1!~uDwWO!SBgi;qV;E0@pPN#taQh=HzxuS`7 zsLO|9=|?ry*IFtECZqy}1^E*?In9M&A!J1W-qWBC{TlL}j9q`ER5gV(a85wsMxWY} zyn?{!F_?WYhx+)EK-zQe8 zI-noUzaW#<-1~q_dfySU>Jlm~-p3p3k)tmK3cpOihY$pSmE=v1*P;HpjWOau{P7<_ zM(a^ZZfE9kwY|^6K%F{g?)co$5`5}D=8HG~d$8DQG_aXM$Xh-}@vE#m!BCE~92v_k zM>4ytS;Buh9l_sabt6J|`#rGZ>|%zjq1Zn>R(DbqP2IjdxwzSebyU#!nZ@u>4`%y1 zTiXTOW4^!%Os~$&leC6k+{P>!)mue+segN6OF}n!clyPQ>0qkLkAe34e-cp0=oGxy zbBPyNId4tJ36~C#NmBi7dd?^zQR0B>XWWv$J>>o6ie0U!I@NmlEaoHfj7K~i*L5U8 zE?&s@H$j}9pT|pmM({n01WB^7scn8oz?{SgVR@!N=8{DlA*@t)9x4dG1t$^X<;*n? z*$({X2B=frv1Isb-jlUg;#uWdCByF!AByU0B0XO@Rz?K?Gn_Rj&NtWx>%S}y#MGkB zK}c7B$sMwXdfZlcbv@iTV86g`A$Ei|+9t3*WDgjYTlCQuQ@uj^xNWM%MD5nMhy3u{ z3~X7gmaSPYfP~?d>>Uxjo2tGooO&JYxzF^~M%_-2##WC|a-QjZ`6SUPZy|fn8dRGDN{;AbCUR#7x#@X z=d7t{_lFVxTP_=x>dmC!fU-v>TZ=cQllyzJTj_tt!28t|HS`DW&VR)4|Kr_|dfjn) znRDSvK*q0t7f`Ij+n{A5hZXL)0CO}SV8j8hVrPc-pW#kXln6cg7 zJuZ|^>$pE*0(~VTk?*9@Hz$ROCG{ws;#-50cK|eEwJ9Qw>ZrC4YkSYAHNFN|NZTxV zc>aZfm!oqY&~)A;#`|DP1C`D{9f2sL7Q-Fc=3$^9m%+7(P6ec?=T=&)Afal}nUdoK zRb~>Wm@I<<1~d`_17O_BOB5i9K)v1{OnbHEsKwyZ{zL1Decc<)jKXZfb=Z3Mqy9Wr z^o*-7;02Av1b(ZKE^qN*l$?SJ>C5JZL(I9 zV#M&)oJZ?zV~4ofvBM=A9SW-^0iN8$lT`qCL%4P`c~BL3fQoRytmqJaWk?ApKc zR7|9Qtb#iLeNQlXI|#+)d}hvfwsP1X@9KBne`LFWM%pGpSh%pb#+IC~<99ZtxZ@SB zZqBXM&Ww`GWEri5kC)@jQWRvcM3eh3PL|@9gJf$3Hzrg&seo^lqF}a!O{Ynvc<6m) z68&a#Ys!~si@hcO(gXaCfC^%tEFcoFF)-XQB;04>(mty&(tTaL9ktw3vDFoY+6snRvN!$=zBGo%vDWEgNO8CXNxl;cHBN zNaZn=btH#YKn#n~!abR0R1C<|79%?q9ZOK_Gxjx#d)!9g=y}+qh8=jT3Y6!apYJvx zH<}#BmAKV{or_bOQ{sg~?Nf6DJ5I|Xkk@FHpUDy$D zl!CD1YhNNeX`FQvaE~FmjjZ>pa%9YQ2E_*9o0k6Q{cgNnD-2PoTK8ezcM{q-neN(s zwRI5V z#6PtRm60JXL**iL&^K-HE(^7FK3mi}??-eY8^bQ5hwp4m{K;-|Gjg*C2V1e~c7};B zbi4voIa2G8&piCIe_vTz9IqE43h&_e^R%*N&$$wgPpObo>`I#pvlWn2OQU%lv%^4h zTBEOvC2fMU1Z?Hgg=XFuKywmrc}P^=Vw_&wjiLPvD0#&|Ab$Oq4FG?~ZEnp6bSg?o zCo97RxyKiQy%H>>2+$V=S{bGCv+ljbL!_!nD9`%OMciEEp;eTu-0aVdzU0)eMdeJI zJaGF=10Xk<8smWWVzphoO9hztbwH|8KVe|zW$6wR0!lSF`Jl2Kn;ejh;B!;Zndi)6 z?=q;H(Z`c+{OPu_^DFpr6~-N+y{$KaWqq?pb`w&yIcueq;`cU#{WPCS8-ow^F=ytn zVfJaa^WL*>n;&4e{1+b^rniFHo9;)7KC^GtSCZb~GCE0{VUYkRm-Si*6p-H(SgJzB zRsjw|40OI$lE*J6@II3YrKjrpsOWbpl#)ZbkkVbnk;mIhvDchyiuC-#01fKM@}0K~ z9?EYtD5mY%ne?xwCjz2eEIQZ;l{b^9qW78AW6j6ko6oQrLPR64p(O$*;py>!Y~A}d zb8;Nf$~!>p6cX6$Y+~e}5HG#6Q%^X=+KfBgd1Az0&$lkT2vD3k4E*#mI0_{@hko5ozl)BQpWPd$`vqH+P8XUXKv8LyYME+y4)g~4nI{Q2y$Enu>2|;hlE=fVtaF{+UQh@zh4ZDx5)+IP7jD?1?-8- zNsP?HUZt2Vl)!mn57va1wYv`*sRCS}dxn(G{cxKtlDrBN$BRM^^SlC&;Bp~!%gFmMAM$UneDk3AyvIk$ajSW7eRJ+uWGhMT0Yqlhq!*Ry%(~R*mlSP!` zV2@piqbxET?(w*G)>0fDbO%!ZKx5Irmlz8uKFG2XN6F+ICgF(LWP*_B+gB7PAcAHv zvG^8_aKyXK7%!$MU^)ua4jl5h4|uIQ51_v^t?mmyaeA(+@*8cV@Axp2&>SP46&uN4 zHJzJM>V}BOPle>TW+avvn{Hf759EHG6hIw$0J+=O(vdp6x_zRw(*k~q$T?=>J^ebE z9;mIZ?{fos69Y6Wf)NPJTk4Tz);7s*JVnqZfd*$XHmu!@s%om|=i z&jDQnP>OF_3~=75c)R$=o*2~^XV|DVqbR_RNSaNJ2gS~6Zh&64A~5LhRBtrjZRTdx zg0ZPq617{+?Qm&tppc^kjXo&U{Q^-2EfNL+VS19m`{qlF&*DIocI?v<_gB`H(zDXQ z0483P7Ov$`I2-0wXX->rM`!`ZWD?l--CS9eA%IrOt`p?G1}guMtiJr6zKFUY7rPcW zC&J@mjwr0`lXbdlv4@lJ?fJ_!pUhg80+`e#yQul&>-9`t`0LHbhKhi`tIZXa-C6vN zyM@`#?eHpqQle)-+3w(GG>&rs+^sS}rMqd}CyT z7F`z>vI&r)b~TPe13g8RL&@Pg6Q_Z#({zLX1RpE3yVIh{`myFz@Lc^DzWJkOG4}t> zUIrAzAM&`T7Xy*Cr$yD-`Eh4N08h1({b9YJ=={`j2{bExcF(xBBrJ0RcL1|sYx?rKfb&eE=LgBOC^&yM z$Mx_}U58r>6;rLe;Wua5FqLdniLjxiT-m*_fN#M{UvB!L6-O5p*3*_yqwJfXYY*nH zl{KZsVQ(0PkLe1>7jMs|_)>`Mo+i#m zs_h{tH5b@b`U2i$XI~wPrON@+VBtTKx99G}ayduFp774zZDopKZfBbqafN+Nv2+y7 zV601-1MbYNsx7qB^=uGo@J7lyaJ%V#Y4blfvg3E%9G*PQf1dcm+`2su^>pU?qT7*y zEbIFFAV1zB#`Xs5Yo!cWjG)!PnbN%y1D_adLZ?+8X^9KNIz{~gwNqJP*H)tjzVYb3 zP2Pleo^5~lY?rixYv@PE?$V~a-fuzG{zjKM1g^$+YG8RC@r$plC>k+dYev74FK`VV z*iELH)qhduH0s@9m_A6q}!8Qd-ZxE z9xC2)0!jamL5?%Y0_(qYd%dx>Uq410MR6Sy+2L+c+uozUJaG~C+iFuAO06|qopKUU)mZI!L!7Qn^iAG} zq*S{^k2E)$oscb}pZX65+jpk$7JggVRGk5gn;^7Z5k#X_^;6lf2iVJRi_?$QXyl67 z7CKIb)n9ZTbZWLVoI?IU(wrI5Wlf>ch^y*ycaOkp3O1Ly-DZmVUrv<3O%*1z5qNo-~da8e1~;BDIe0ORahU|+ljsS^!VEFt?n!{0c&vRY>v9N0CkT6BYfp8|7|k94eNcDWlVQfYuDPx7 z6soaLB^#{UJZLxGh_l>iarh%Q_C5sW_^mrkZ@=0!TmHJ2g=vXuV;|Ykw>&#D9Un8+ z@@j1PP7l}370DKE_CmV&{LwSnvI=f*81=+>zrA}p>c_bzt#(pm)lG?)=;r=STh)vZ z<4>pFlUcm_5L149iR5pb_r(N?rB=Qu1FT4JTogUa*U6MLV$R`Xk%?JCw}U0kFL*Wx2JDMZ8^fgFk30MT$_VZCQ4O)*6L?Nz0hGQ3OrNR46xe zXi3UM%wSV)!pZ-^4XoSHGH5x`Gb-1t)dd0}02YLQ-wXq-YOl^*Zk+x)*ct9eJoSsQt|$I_IGmpKTo$yVmbOqnEzQlK5htW<;-MM z@8zs>gTz6LxXpeR3E&&?)DJb6l4clBpiLF7fooq97$d{LrrQ`H^`YJuNcOn+B zQ2!@rA48!S%j{3hTXUJOd2EGObT+W?Zb1yyDil)Y9 zV_OU2kWeLKdC+-?L2|aJ9*;+B!!hD(dDfnVYQtodQtlO0kfwiV=XAvzb-R9HwHbjxve7Y!SezED7* za3#c(7>yCi!@Id|E>l`&j_OVZ=T0Nm{i$f!1Eny;o~$DjF`E6`N}>7^Ty}b!UdqiO zZxMR+FF+y|6-ttKK5D_wP*aE|dJp*-5v$NS8X=>9gTb(!tte@{^Rh-Of?PYc&K>-f zRU8%NSgo5T+u*A%ZAs(SN30r}&RaWKvyQ8I4V@-k;yNAXn`0gY?geqAVTzVd$P@n$ zKKZZXx#v=*r9J_UhxJ<3%KoM62gu{%0dgBRALOQfU?>oiL;i)iN5iz~eW*A7@EaSY zwl0}pp{(EN(N^FfjC*Y~ zrfay?Z+v#?RM;ck7G9byeNc4Z_l9&}*C681x+#3)ldw<{7B*JeKfQ_aSdwU=5z=d=$tL@*yEnj;pVq3!#b*L${|L0GJ!A<8*t5l-LO;D6|l*AWCrkkbeE zJk&y0c9W~k=+y~1mhDLSOdRZy8T*tLAD6TK=!JHA4^l)E-Cc(Q8P3}zZ<`Q|;F zf0k5H@TJ;t%9%=Eoae=O-Q{sW>Q+#0Z=Qm|1=qtp;VT*GR=paJ2N@WNeT~{qd(cX! zk$7cF*$?nzT5}7h0ww7-<)DLC&RWCSbp=~e$QzL1Y#kU{shC|qDA5+tr-`)xy+koq6NwPBWr`KGQ^KxUf3=)afb;3TDr|`@|57;o z6eshBWE44BqLYp9G0cy;G=s;fzD0^&@0H1~F+!OU)fLH6vu@*^P*5ouEEFd5*%eCw zoSyUwR6&~T!SPXsHgb`}PYvttoh<5X-NaP_CXo&6dREKoz1ZNdD}A&^C-+_^)l>GT9@-y2%#jybw)V zfLr`w$Od1BgMGSSV|Z57hkcItwwXaRlJ|JDQH6X1kN>=L)oteGY(hM1cj?TCKNdh9 zCzMq0o|<9PWqszKZPY>{jgDV3{}kH_IhH#b@4A*uFP2!Q5CdpS@@1#4lMded@; zDFySAx|OyH1wZp57io%K6molUhnCx&nJvL#8-1%h?ZR%#^7@jU8a3~NLnoDp?I?>c z$1J6IZ;XJ&w1Vx6lkqKS2uE4KvBZyF9$RS`LE+SERL1uo#Bf3oIV zNkV4e0M$l<<2oSJQ)fp|+L_d*k(Co`-aIc9H7R>ww{^jBfM+-9$LVD5n}7+-F{lIV zZ{sAfQI>xG2x-LH>Kas%ds~*HA1`AtxDD5Gp3irB+2-BH!?5(U^m^G4_B&+E zeX!UNvoN|cO)*NT#Ix=wDaR269(dB&dUV00K1Sl(^7`#(u5Y;*Qu~>E7cR&>BTB?S ztvVhws`|FP$YM&=k(y%}sAC7h$J(I7-8mi!OlzAn(`o-}pHa}U^MBS` zGI@gNa00UG>@<0BLs~hM;e(K0G8~^dgItnuu4@osX>Ws}6+CXQdT&I0kY7A0=LJmi zM19FUIPLPA4mO2~-rL5O0w}q5B|5B5^2D%V_dW~K$HVGHd1b0-ENfwC5SN{&t&`%H z?otJy3%`Rq%G_;5uq90AD;r_6#)0yfHx5@3&)Z#J-Ev#Z2kVB?%XiR(evowFNiLow zxSFBZ2a$f$m$X?uL9S{J>0s7aP;O2vL3qMAL1!9AKjq>M6S#WX{GkMg7zQ8oI-M0D z+{!h1@e{AJ92+U{nX&ccX)pb+&?oWg{}VOi(<#3zWUYer zvzKZkwsoiXgct881sqn_%cGngrr%^$bAlgEC(4O+oEB0h>%9wIwX)sQ0qCPEen7eR z3Z&;t=7{`-3;!@y%q5Wk7aZWot@Bt|eet}RDg1RePQOowI``AyC808Wl)$;rE!XOWP|>#vQ45+H>`IN#bjyUR z0`r+KQ_U#h$9LTXow4?lb{$qvnJVX`r)QP&mEyZfMVrrlw+4{ajZfy0eEg}_7JZA& z0_kubF&C#-IgarZ(ruyKC2y%z-&}{rN_?uC@ANtgw?llu^*goJ>Fk%Jyg$Np7Evg{ zzRNdh?RjR+nygnLO(kpLZ&40?^o+^rlwpJd$p-I}IW>|od(0-6p)4Zc-EJYi*)1No z8oh|O!p9oKNf~@3aNQXFGcQ^*U(&c~WdV3Yxp(R5HE+P_lMOR1#Q+t9mxsvlm24m{ z3V>uw#A|}FN?<0AAwkl2#)MXO4&7NJvYHZT9Bkt{e~m9)-EdHUvdyaJrz=K>6H z?I8n*IfR*t+|y0YYM>-sMLXD3%Zb)=Yo;6m0TZ^NUhHK-X2pz3S7&}f;3!DTxvi{$ zRY78NTyB?3<_K2QBqk}oELYBUtaL4Q@o%{0XO~0to@z9P-dnFYC!n8|KG^PYV>1v^ zUt(!DDIB1wG+JPZc53EJfFH@WoDMXA?p}vk0)OX+&V}#X%88k(IorRjJ-B1Wq-Rq) zp7g3c=xfaXTO|R1_bacxl6}%{D#|%-9e)1pDPxzTgN_rc`}-b1cAe?2DB^SAJ0Ie% zT@G*498hyg>0Pkf8*^K@a7wzcQMW{SGCF`kSjn|Bgm{<^Ki(jo8Nx-B`?H%!@fyva zTi^0JGjM9zEN8Tr>bBc;J(VU5l*bD29voy$(Y@?${xf%-{Mwgl&wdSggIi=n!Qmja zQf$Uh{`C|0t_b%G+^7)GZ&5CYeTsxg*?EoEHuTq3FTuNW^sJ-~7zjBdJF~S9nkt_J z3%iSLYp~Ax*3XbVZNQVAj77;Ow^qRg8Ga1$*D9peE3Hh%9G7$p5=oDzcyH}_X~B3l0%@PtJ{;FP20sX5*x<)fLqSg=B?#5 zVzS`6yZTbmWA}JuW7a(+_tOGBQ?g^WYaD10_vj8?Itk#{n2r?pe)8xW>hn&dijeCp}m6S@Z-!VmS}reJn<^j zS{-_EbD^ zXf=;}D__mFHXAiUhmqFaJL$(rGF3nF!dkOtV>CFGE*XGe=fxSf2X-=~OwXS})y8ZI z8hG>da?bF5FLeJR7_!e6Mp#B72czP@AQYwc|7#snTH;uq_{WH^$Kn@)!;1{iB6qab ztt}WL9E$U_K0vy=D3x_N`>a$JQUlEFWNuGVk?ugCwoSKP&vZl0gHW}nsf@g~d5!;o zHk1?_{%aj*OjwGM=01EdrQr8-@gF*q3LH!5h z0s*SXsOpfiq(QV)aHU;O9s!w1>g|O1snrLKF$DL%u)Y5@=`wDg7o(^sb?*YI!B=UdOIQ>K}W%+CC z_-`%c!EsUg`_Ag12kd{-?tR*~?hn1Q|0lrEACBPv5yRJ}_y0hV|KHmUXoEv1YbAav zQQnRCxFcN{{GSA0|2~;6dos23BF*>O#n*P5bi}t3&O_k8Px!n4Zp`$%3{j|d9p25j zGl$wN+Tsu-r!fKlQY<%0^asYMr&L(2T1k^z0f&CFlo+3JSy^8`Y*kCz1yNyKy_?p> zbtO}?!h~MPkw&dVN65vp?`K>{6m|`|aXLnHhOPR`hccyW!Mhm0emn?KJ{{W{Un}|S zkGFy5i{A$1|2m+j)h@o{Yjix6{n0wZ#+q0kV+?QP$xYXSr5l@kuVjxMdS7#B8kN zs-IQ;r0)*Kd|3LAe%$x0|90=keQeBWvpkmhQS!&k3jJuVr-IDyXX#SA8*~hG-LVY% zb#Ig`{oU|28MAFHEE$)l2dgP9Q#v90u2@g>zBO-tff+V^Ds$qTBq82x($B5I(Dcf) z{uG)QHgmKZA)v2kkQ$)!Y3rlId&~IbfFSuN+{T84#jHyTKV-)5_c{%|!orfrG2T_$ zKf5hHjw|chy|vF5pY_8Pxx9_nwg|dfwr$UFjl1VJr8oU&JX6kQJlQSL@@2>SBf=~_ zPwwZ7kZ*4Nfk6|(xP%lzW|DlTrzU_W%7kZJ#OI*?S3irg)Z zk_z9)_ZXr`HkABP`2_4oF2dpu_reac%v^e_!r!)Y!;ppL(zRISt;WJ4{=12SyUL4Z zm_sW6#gJ081>3N1FZXWW#}?(g&*D|{o@b)kEP30T4tSmBnY99vKBLQC&Qa3m|Mlgz z5#WQm*S>$bh08v#Jcr*V+M`%ywDI-h3#uRN3eqq?_}!?{?Mj5qiUxo1pN+gaFn(jB z%a-(Q2A#uoIIiREy=$^Q&%X@SwC3(_Njw%PZ+6Vy>4!^vr{nGC1Ubt0u9SiQr6l%r za6fCj{&l5a&MWV0D^cX3$)>0sGyh)5rC!aU@;#7GonRB)%;L2bxZT?m&2b*=HuAZT zuRaL19E;@KWt_@#gEjPIic7%@`5y8=?!9%@HlH~w>fr|(U-tiD`m$G#bCiqxK8@g8 zqUFDCX9Ih7^C!ui#a-X+iPni^BXBS8@AtCa(zBiWt9z4jRrqbW{vmLLlx@df-J2+N zoI_gRxAi6ko++B~W2{ar>|T%*|K*)twU<7P{rDJiLj=DWeVdRuaqrvC%=0_l{&L3a zFYXvCS1J5uDgeSe9+ zjh#8;ou>r`el*?tZ6)p>%=yUBqHQb|FUPufo;_iX=3rrwxJ3PQYRVQUKI4-Pr5v+l z=)^9TW9EkvWNrv@8T*6nv#qUJ=CZ-|Z=(P7;~5H2F;x~8uIwu0lb>2Yk+-uvX1k$S zvAc#FD8slxqF~c0jsL^mdjLh1Zf&DDDk?OB32Yd% zQIQ78AVG3QGJ-TYjDUdTjD!XOiA@fY;jUIEobNw#JXN=D-FvG(tH!d2&F;P5cfBh< z>set$`Tm8Z?(~Nw3T2s^5JnOby{Ah#@~vIJBSbG&R3a{26Rjr--7%7zH5ad##fov| zZ^K#LALM8DJc|?#Dp4kKjwp>2&mKIfl$G)RQ-L{Shv182ogSUA=Kb;Rp7Q=&L>W6k z;?L=M`%H?zH-`ubNgc_UZbWSQGtdnfH>A>|=Rw5HVkUX&t*F^|(@pQu#y*mp|GPy0 zuP>2)R?&F)LLG}=Uiy;{%wCs|m+$Rv*`Sk8#%XGt`Kj#O3}aUA;}la2p$0#-R+u{W6MvWB;<;wTtsH`4&zaTSe@ zQ(GqEulH{j!jJ_wBCjqH>V<`Q01ltBbwmm{nj5ZG%nWLn6&bcf4AYBAR_D(&Tyw^P?h39`X?Q%sg2DGRXJuw6@^KXfU*R%G=|bf&^sp)Me}yzS zeO6w(>@Z|CC$j7tUvtVwPkg)(gScTkM+d0FH1i5#vl|`%D`b;@r$xx}+d z<^&AQowgTi%{Sl?kCxcX((Xd{TJsB7l|uuYbNCYX8#8ZR9W!_IyNzOotK8k856^LZ zwMWMtp!Aa0do-W8F=E!^`m=9`UYWDQH77U*_bx#zUg0Y28s<76;rJ6|wrplTancFe zz3uN#koL2LYQW=cc$^wbAiW@eBOftdFDFH2AY=A(HKt#R%mtAv@vN9wsG_7Kjt8mF zMM*rub*T&F0;8`~nhmBB4et!eqb-T}FvOPWaEP%qFHgv^B| zNwxfsPx*o4Tr1sYJ;!Bz*xj-|=+Ycc&ga?wL#p{4d97l>sx07&WMx#$mv2=90Jgd8 zj(}g|$+97q{SrfrVN53axzKQ_nm@J8C94-p#HKy@MO4jIqUg4*DHz)wP1aN6# zCqiaHCD^$PE^{o~QlCM4X=^n6l&CWfYTCBd_6h5QFiUr}xjZ|7a zFeOFJI3V7fzY0t7B>NSt!vS^Zc&r38e0`=GO)OmGbDQ}|E%$@U7qSghWiC+TNqOY8 zOoY7`F9`szIj4B|%`uY^o>LVRvKA}hCsQpFIYw@D-4{!IGgHrI?Q5N(6~+W+3gy#H zw+}^0#oCEV6ml7OMry?Vce7RJJy}tCt7V+0<*O9)4@-FQ#9ovAR8pvbu7p8N6{W}w z>iN3)dA=d1Cu6n~0R5lvCS3$6D}E;4r7vONf$~WS_VBll6_w{0t?_wMgXO!#6C!=j zz$5Ec?NU$dGxkii+`^q*>11*IVGYI>fsaJrgXM{>UEKyUPTS9XO3FrBk zWs_*1&v*QXdA}L9ZgI!QIp;m;nHOaatB)JPgFm!XGmna%$F@G=q7{+A-|Afbk{n_F zn4pg}+6cOL$7=r7`$Yin1l`e7XgD(a4j|?wivoHK9_L<(mBNRt5--eNU$0(T7!#L? z9%eE;AI88eK-bTa8|djT2w&7h5gcf(&`4Z2ihTxOQs6ZYQA@EI<{A>e1%nPwe4QT} z%8U^}n-qe$my8lf3IEw%@O8)S6tR)^UKM#Sb_|KlsLC5+}!Ob8nR5zH->%L$ye$oDYoFwN-@JSj-fg_Cymo(Ua>@J4PG_Jo|`R@ON=PV$o`XoN6#&fFnE(f&==R1NAt zHt3>l`iz4;rQ6@hwaBW-l=8K?0V2WBT!)ri^y zu!(@_!Fuy!q}{xOqdw zvCU^mj4CF(Ya0_WYF~FgyHXBNUfmm&e*|V~?vM)I4j-FvT@WU3s$`&ZMRRu>mweSL zf(iF^zmf3@{h!XXnLaj!zr-Mr3Ky-aS=6mxLTS#FDXk`4uu=zXg_PzJ_igrNnbE`wAbik6*v6^@$pX*JJ-40A$BC2&454nGk4a8Sa7?owneE^McW&u z@;cP;t+R((+b3`Q8F%!xBNnw#CPEGE;Y=nwah!#M(-VwI39`2pcJ7IDh`KtVKWNCDZX-C%Fe-P};&8kng+lDABaO zf5bp0b7%8V5~svhgzWy5a{3_BJNWbMMFFIesLWCejr$FhvFe@Q1kI#4-AZsp=UiMC z$0lW9aczprB49BH-RbJFn?i)^R(i2UWLYp)Y5;aOXqOOd;BdvFhIquzR|tfVMyBKb zRo&$NDlXCf?s6t_gyNKoT$5*<`USyoq?ndIPhr}d?vwFWrAQ@0Z#2!nhEznYS=y;T z*87=;MZ(&nllLNpU7GsCT^i%wrF`Q4S5&zwg@!4LrXH-T7ybCOZ9~}8TFJg5zmj-j zQh4zpd@P+yqhDU#wb6RWGwLn%)&+0{16w z532k@e9UeZPyoj^@#f5<_~>9@gABTh7EYzZTXBdC~(ZGrX!{IGP}?r)f9Kp z8fyjyye!rRGEZWRYgIR(!%Hpn^*Z;!yfE69bQ$w>Q8U)J#tV zMz}`wvH;NJX?k5mkNFl*b(8G$=(v=bUP|hgqZD3`O@Ev2wgP1+)hX3k4I#p5lcJg0 z$_{Tfm<3b8Uh4?{J)2g8GrJ+KxgBTXY0C6U8b8ok?9d_4ht_(Z9(I81>>Yurb3JUg zdu*W0&i_OvMa9*?Q%QZYcqFrQ#G26E6y*}EqI$&d#@uy2`hr&Hbkj(bQo2*uFLEjA zn(jyGHOX^1b!(JS*y2PZr zKe~x8xw>VtbwqwS^KpAVIJ|ZE0t?0VGDln6t3Dn-Upq3(0GJ zfY1`t!}Sox;AMLEa_iOkTRuBTZ5iyM(m48#XA0*{*Yq^Sv!FQVC4-PdVb0fTm{d2J zb+-mvQ`C`@4vvnd-e8^bI`sBdf>+a^<=0%&Dn_nSv!u8d3_kh$(vnVn`S~7x%=V(R zp^+vrV2haRZ=vOdILQ)FT9&SCwHKJE1`#i_dsg~4y-PV0toC=gH7gN>fnyNA5Tapj zmCbuC)|(x9ny5Bc8-f-&!~?%}n9{3ZJz7^AA%Hl=ErIo(OE~t^1d3>~H$=E9D?(P> z5_ld`3R>mfWL4&_Mt@?bZYfmG*cwdK;}+)yfn*$I_x>PFVGq|qJ#!Ce53g7GBqU9b zR<>L1Qd2XK4GJ4+D^fWUYMfx4rLw4+q*Hs(iwt=HOu4SU3+~sp*MfZ(FoN+(?P}fU zR0Hg!)8f9pE>BU8>v~IdMvCM#VK;8kVb+J6GZs^lJZtEW7dP9fr!}g4HEyJeqdq;T zr(l}|_e#iZdSx90aimSHkL?2`@(ADtw-F$&0&IHX4wmA~HT;Y!SMZ9npC51h<44t; zKGsn`NsswoqFomjPEZ^`guz?CNiQVELN5(GEYN3_7qx+!PgCtg>b*C2hF@NYp3MJv za-nvnCp(6aJIud1nV@AG1gwc4(W@Q_Plg~kn8T570$g&U>P-x$53PR8A*Pwoaw&Br zlbU5Z{5Yexvg-#`ZgHNJoZ^~C5T9icd>YSE$X?ddOG)?lO*PKZ*ZYm9Az`j1#swmf ztbrK%*xsue9V{OaMCM8@_S3lY0mJtVeNNt5OKnkpC-nQ$b8D&z$GSCoUM?ygBo(#bz|| zw>+0^L91|6tdS1-lu}O|2rw>J_)fd?rg3@tF|gHIE(3^LeHN3gaUD_8nU7YSYY~?i z{zH24?7hy}bEy&DjRzrMk~`t^B%lUCWW|Zfi8H^zMVTjf|96rC4j*Lvnz5WGaPstI zs<}B2yU}FjVOu|)Frkm%C&aspef{eLvBFOey;Ka?+X_$9-c(K*DTmBTiD|&c*nPrq zh>IzGc$s->UKVdfTGb$%545hcOn+tSWR=cjxlAdt{kDWrB;TV(Vv&Ov7S5+6PW223 z2%1oaeAq*dHdFKpGl_YYf{p_s43!@JgDzlvPnSy7*6 zc*GZGl4+9r^Q>tYgkqA$0%AAmn@`{wY`O|E3 z7`M~9Wskt`w)>yeh-Zp+PD}2u9Y5w=(3yFQLz(v2Pg9pX2k<4fly|QWA1I-vB|-Nn z+J+I?wan`&Xe%V&_4Ba(G;{aAx$OU+FVRVwMjxoMk=&9HRsP@V$p03Q{#Lt&uc2@Tn9~gG$ zGvD(LIYckA*7@G>DtF~v4>hfGPr2VTO4wzy^u|p7xJlm&44%|_YGGM=jeaQ>AELUu zDeSzIQSzur9@$yaGkIfeC)@e%VDQ(i&kdulgnZ|2^LLvwiygZH!vQDeaRd$V*Gzvt zh?0A`!&oJn?9Z`O5euFDH|sj`*~9nh^9Up@bu<@Oj8Z56pff;JEonMRL zyYt#*1TNfqAk&j1{qbDureeYTY9U+X=oVeqgwHFQP0jhO*dEmu(+IZ7zH8&r`x)AD zGb7V*A2eLlw@3HYHeQpT-}zGU27h9xC7ek_-mbVGZnuZ2<8Q!x&c0pSUVcKS@S%YC zd!3$?8($sddJ>;Zg&&G3n{gMYiMVieee8l?^b+6f*4L@q-W~jy&1qh>oW0WdUfbz1 z7K`4@Y%>^d=3Q_2yq+-29kMM`8@bYl<1>o!n-iJYH_N^4xq8S*eIDIoHyg5p_7ia) z+#6Zv_1z%s^Fs(agv88jCN3N8+|?F&`XrDUU=qKfrg} zZIv;cDNCCVZss%oEZ?)S6~xcEP*_ynW{=g$9oGZ`_=+jMK9&uaHjpOyjLoN` zMg;vbdnSD(O}2o|V_vgxNrAp9;$YeWW@&xOh2E)KDFK(^X)n+HC0*@`a+1o#)^-@V zxeMW{m;7n#0ZpCs_((nMB(9`+kB{JIaxhL`rBfvgw>A!2(?zhr;%&S7UDRiERV-CR z88K4=7Ab+5TW8uF-@M722TsAVwVmjQvXrq@*ZD~#pLjXaW?qHum2I=eun=y%brBm` z*63b5E?V2P(X^#zwv;=#H-3rSIoa`5TcSSlSMlOqgT%5L+w4!D(MS>-=XU!%c`Xxb zp?U3`T@vRz#f%&p+U()gSf-Cbt@O*v~%+a%7vDEH!OBJKwsVhhRiql)UCo8<*Beii?= z9VFAStW8uZM^`t!Ff@b7WU<~P94?mlc`YyUoj2MXH05U&e?PS=vOKL6yO%-0Wz(hW zdxX^P?ku>NZj2uC+i~Q8%~YW8h@dTZtKysAEt7`-vDdU#yN6jx2u)u~525)wxQ%wU zo)^s;(c-tY*Qv-bXQkC(!3c*P4yOKvle@a&D+k&3k}ad4<%b&+*$Y`Hs>$eqoUE;# zC$4a01HaxQkaF~!Dko`;`)cVB1k+*(xH+wUsewW>5m?n~dXde@z~Ya}!UdDNxNXS_ zFZ@LITDL$2hgukdi)Tfs-7veQB}R8<=%^*ByNG+abXJmNk-nd>S}<;Cujv)dc4dS( zSE_P|KzTWffG?_geNBa1yt7?uYpNtpf2i_J>U@Mq`TY5Ngss8jl?XsQ!Jib@5FT-- zBqhAAGLv!-6$c?Z1gE_>>@u-^YN*R)ql-tPN-zUkeufLUG;Hq+0$E&cL3q!dg?*lDZw$VW>UptQ|}(ymQ57 z;#I(#vE*`#Zba&;v&E4I*zZ!+DXI~{WZvjCx%%dAqhbMyXY$)2jr}t@K;L%8pv)4>Q*8Agym-&7PMMo*|Xu zP#L(fo$;iYaQbl%@7L>tcCDYzF6tUxeswjPf6vCuapHL}R+4ru>qgpo!|7HlXRia< zm-bs&_KY@I7n^2VF$_h0C_pHBov@7*X!2j&yFQ|W`dZUf7h&U6{O$d-$eY!&HB-30 z4h1hd?`F3kIK+jW=N=+2i#KcSI&<{5@S0;woolj%15;PvzhqD!N$Z?OSwEskPF-Xg zSbh?}hyh4o|8vS&(+)u_Me3HRw64<)TT8o;_*6 z`_F8ZIuWS(3}mc@XA|_pm~iD5v>7;MYA?T@o$k%@{wLime^~=lP#|*1Bb(XfY&9ns zgm;Bip7I(cXVO6ytKG_GDxEBcZFX90gzb$`ft~0nQvD-fk?^t*yqN%N@~4rvF%7vGo?E)TR;PHo#xD$XsdpW@oq`cyE? z+*tUHqHbzXgJJ!it7jkK9&(a)#vwa#xy~AC^D*3Fib2_aZy}jJrkh`RqhKuAN=T16 zWyYEO^i>xfhl+gDUlq~Z#?#yRf&;}j);6-aX?&x{r12ddX9@@t1yfJDCejJc%U^tT z)%=L|RUU-P?>D$PjH?3WIKcO71^7nXPB7 z=LYQcRxU^!X5v|%{**IXJvo0x^h{td^6~BLC@!tD?ARQUB%{EA?zGM1~1^*5W z{X714ceqRSA5fu73fKMsLejd};XeF(Fy>3apuaGw?rNq#AgTZJ$sQdABaO~acl<{Q`8XbF0@n)udF>&UK-Ba%FfX7L z+wJ}Z^}8$|SSQZm^~e5wWm37#vH0(oJhv!01g>@e^V)q~LE&5faIJmvr2u!-pK#{c zs!KlM%l~jK|9PJ}@uu28;l%f4(;XOz*k>Z#)8}8X)YmE!PuZu~|FNegjI!Jb4&QLn z|K{3)M(;j*1{3PP7NWh;#NeOqoZXnwXZ7dRj{xAX`@Z85dghbWL;qj?gdBVQfo1l0 z&#i(dP6ftVzRFXozrD}8BDmaq!(tt9fW2KLO@Av#{{#3n)hOGb?m~>y@!geU1_6ylG_X4bVI+P{!DOFluw2g+-pjeVrdHa~%8aNfWQy*e4B( zGW3{38v0eyYPUwz#^TP}P|1_&Vp2+mnf%qsHkJVZLnik##?t;2B>mbKa69J#7|Dn? z#aX_Fst}$~h-}Z)D6j9kCB3YzZf~kNdS^Emja5g5{L_ua0|nj}Fo(e1F>@J# z&J>RN2G15}gA8OUVM%UHZkhgP(Dl2~IdPqcA5-9CY&D0h=`QrEI7eNQa2+7Da{ zW10>eeR);KZrE+k*+eV%^KhXGvF>SCf^xA1iVZz=M_kn-ZGA{ zqoKu}T+CD^3H&K0{pLaRZAIGvfP56|hmk;m@;VS^Mso{xvPyD@JN2Acgudz`b3SU^ zfdHsk-8IVa1wR#sXtSeZ2s^VWY#Kca(fVM?@4t{2UJ)soD>l`Sae&GVXZ+S8-n<%! zc}G!^B#oChcl-V`5I^>LP1$dN2g6@y;9}c_9?uu_0@jvVh9d@bAij*kP}`Zq6{n|o zeS}lWush1QXNiBPr<}6YNbC|{fD*V*Ol2IW6i+_ZZn=pMe>2T6(h93_hf7>fCPm+U zs5@QlDxXJsiayqZNNzi9fmuFdsA*@=jo1KKQl%S>b|Kd_55vkAM}{AIag56`#dZG* zM`YW2i$q!cFA&8)D9MhvE3DJganBTDFq_7P*NF@=9brtEnlRY=?k0gJP`E5v1$c#k z?c5B?$>>*=1~_k%zN{xCIV5;qc@>8k-S0XF!{?_uYMag{=%$y{yE9@YyET@puB4yw zLzPw==7*_sOCV6gfcdY|Y#S*&Dn&1`zYuYdW-&|iAKgTzH6lymUpWynx!S?=ke+6KO$+E&%Eql+V z4Ich~0^6STY>n3|ZayAQ)F*(#J*oz?Ruw0hsPQ=M*lw2%O2ObfA{! zZBCpsB9+lve$A;HF4zL3gHz{)T3;OLv-rpwnjxqC`2u6>>K|qU@6e=V|NFi}g-ab} zrdX*)|GuAhgVft`e}Tc}R@kR8Rts_N43BGSs$ZU{0*U2>vmjIjI=S1dqtORm*vm09 zj8>nz?qVCl7Y@~7V%?G-D|hfVBv-iE>j%~W~VF1L?V-`Qqn5#;OcN zn#R4EXVcZs9s0YG7$6WC$p+x3l>qrE;(8VE9I5nQbT}X_ursiQStIlO(9>N78&sN` zL4AxkQt!IM%A_SsfTVEQoO)BA|Ltf4n4Zw+541~fbG2)pHU<#!>bZA#^nVxyuKP!Y zRupP=4m%HnF)hU};FO31;s=CpO(=%OfZG?BtKA5I$!0_m z3`~qVcCx}YI0|th>@p0`G#nEG!j^*uGAI5Ep{qk|Ko>t_IXD7DHK_`@%~SSf@9Iu^ z6tsGGfs$mT%8Vv&!L6W}5U z#m1kJ^5VSD@HHdP3?{bz#vl(^h4b_cIhhw#+`WNzi7i4f%h-} z1aspnwaXle^qcBO3?Bw8o;@LMbPegl7(aJz+Tk(isiIXb@jNFWS}R=p_!-;+8rch6 zDPu3b_QF6Uyd6Ckr9|K@ra{b>Sr1+xkm|1=Tnht`n>TG3V{tOj{|Y#PZmhf$CBW~R z&}~0Q1ZA-rf)`2VxHdP7s`RG6(QUT;?&IWO576bjb=liB-|0-fR|Rm&etIZIaEc$j zG4rd7UCQ&HBFAD+`6EZT`3& zgeyH_2T%+@1r*$5S2zhetv-d_ySUz{@3W{YX|Go7!JlFv{%>^z)^zC8&@tZGwEl!3 zWYTsakb-uWg`G;bd%MCCde8H$8fYK>-oY2EQaIwtUI~-w-e=uuVsM-pPEIi6fDq}i ztuwLZDB=U_-BOqmi?)5=cA1NIO?RaFCDE0Cz}Ld#6YjqBZ()v|c9jTYdWgdrG!Ah1 zCO=lu-vOP3i%{z5GpK`(BF1R&vWM^86*@Hs;~Z?Bh;y6u1Ue3yQYlZe418b0o- z%g~r(vn)%-|mmkn?mH$itgGAm=epfz0sdDJTW?WbbiM9mYtU0yUGa1D8}-R zy>Qt^5dd$Q|N5Rdfn)$^;wl$MYfDy%j-efBXm@B`k}s^GHGSbuZ}ZzaG=V4&PV_?K zK_!fdt(bmX>q}n+k%xP~SwU2~j5aZ_+kyEQE=5n$+N~DeA95dZUW-b9LBzif6Vb1` zSISn}hfmxU9RAv){Q5$awbHkk5=M@BmoTWrh6}WS14g~O*;A3#cs6d$p%_gV&wB6! zU|F~TUusK0-;rlZGo#V64!9v~AS15p75ibTJ?XX`;1r8`pcg84%iM0H0l--Zzw09& z3ozRR!PjTRvQ~D6*CePPaM6Jy=3nXph;40iU=%~_&wX52m9{oufedr z;?-O8cQ+9xco)<7mZtx+NvqRt$)L{vnRC@(Pc#ii#6D3YyJx@7rk|sbc{O2pm1cep za~4MT*3KO&#cX>42vm7DA*0@t?N-|9kJhaj9LD%Gg6urj2na$gTMDKH-SqX z@dWrQ`*D=O8W0ZB65|fE4;eF!HT?6Z_&DQ`V2sP;?aC~59O zkNrol{~ng^sjE^q5n&;0cz_lCD&SZG*U4L){U^B&=i_ZOY_HZE5+@6-LtjW|u)AJe z{co)~!h73K3`6P`j27ww#^X{r7#RDU0X0_0~07UX*1Caz}3WS{9g(ToA9i-F%}NN422UVH{ zr~TN>6zi)H#*ZEy%e%OF$V{b?DD4wG?nH~>U`h(ZZJ0?xZ(fW}X=Wkn~h z$}?4o)}G>`Hvp*X8Y(9rVp!#`UbW$DTPDGu12|KtNtrKo>s^L3CU`30VVfikdOV;x zp@(7Y*pR1q%9yLKS`)$^5Z{r#pGSo+8AQZ`t;`y8|LSM^B<%uas)}#T#l=YI(HRC; z^s{#QqfUM4l=MK4IQ>=^!u#2 z3b(X{MrcL}K0g(Rc}fuJNh_SH2w~PDHL20iI@dZM6fkzacageFvdXqsk)1-3y_;u!n%;Imu{YTq ziP2EXID*5pZgraJx>8)TBv=pF2@*+Bv-F=!kDX_!hQ1PH8$g8L>QrEY(YH7wNXKp< zFK`L$&F}5DAQ@M`Fgcq$%w~)B*g>MG*sS;(j_X+Q+&XT`Hk|KupzsMVxp+vh^*HlE zekJ);%IYo=J!-R;>GREXiDg{gRG<<&+*BGQzUnHnS>n}{op})2?tLzVF|oK;oZj6k zCsful7UMJT6(BSH<|hs*sC^iUm#RVb}LO*e1YhPubfgrYq_0LY>mk7@ZI_*~t>FsusS&n~6X)eDoyS#*j;DRGuM!W& z0ha$0??=@RlhtKE%I1kS7v!qAR*F)h>Pg~~iC(Q5hCxbJ<5)J~@@$L}tAy^kb;h;n zgzWKYNaNI4*RHPX&zA^FzjO$L*6v z?_MWr;pw!*<+Svu#C_&voSg6MCy6aQHCW#S&A73B`$-GUj2rz?F}LV&*OX{PhB76! z(mT15Q;7>5IQKu-8ME~9!XNAG38>;6aR(a_JVkt3uijkoM*Bh^d$Z-}%N3VI<(y*} zRdN*x<$X$fkK;TeNad9aPBzuV3(sS|hFqU!$zI!oL0wNa3?ZSHg~&stk0gTb6pRu; zhnrKoC(3%vkHpKyqCAX}NqHH2eouoobI(vxiQt@seTR9ao=M}4Rv0lz_Dzd4wj#0p zye1jHsEl-OO3beXM+#EqRmge}rSz1H^P6pwG_fIeXWJDW8=&cg@;yXXhu^JYrT4Eh? z+Xp)0a91{Du2r#z;olo7DDLV#nj6_httvb2y)6r|y%%S$ACNp}^j=ox&RfaW5d@>~ z0FKnCq4zp?@p7)=#2#Vu=hxx`e%zd&zr9*!KQmr0{}i!^LzSk}jW8w`C-M_*r3)w{o?Ld^t>);)#nmwNl?YT;cNK~~KGZivgoL&rFr4DsIU#IU zbu_fi?|oNPU0mX*hVL8wjbMdbMeOmPEG(T4cB~iaFJ{@PAt9|kKGIgmT-A`hCAle_ zZ?+M;va9|6szDw9nAvi0sAFho|HVY=mQG-86eZ#bpEAly&*g-{F?!=_OFVIcabB4qoR;U$CuDQqH64kP` zhlv)UijY_R=J#kMW_QDo&nV^1rEiJBBcVE&jRgqW-@yZa|I$0;vWL_!waz9;{83X24Tr8R) z>uw;!c&kxh&Yg#t>MyYP1P0nN&W)Ok4^kKP1fb&hIJ@?Pn!}(F@=Yb^(ON%Sf-MAf z3*h^bg=#+jxB#UX@(VxWjRzCWQB^>{%TWrnB5Xaa(5n8{c7AY}n0{+^frM${DrjLt zBF}~;G(}O?dLx0Spc|${zr7nH9K0q1^yb50jYqXjRnP92Kkt@=)&;bIJ?};I%c=X_ zYwX!-YGF{OxXyFY=TdyHp0;0}ioFm~4o^vN>tgeQn4bU1kwcyG;tN9KK&u#nUZ4|s z4DzWtrfyacg*DyBdJxG*rcKN4&NBk-hQ?f5f^;F2n2LH#gmNJ)D(a>kNqlvO4EhA` z+cL;M%e<5`?=alt4`Ue99y3@$ z#OMx=R+!@sB#^&V*TZTL32r@Ns7U0)xD$E3Ey@(UUkVrySXGbVGLrJ8Q&-1^NE7=*jsum^;kZo| z;91f9uC9QZ>eGSQ?Bfr;NKl8-(!?2mYz+|k_Q{1Y^%)XVwZvMkC)B#an26cP>aGh6Oz_pcn=>e6)DJT2U>MSmiB7|41bL z@?Bp63N2jsZ-;b8MT{u2R#5lG636%HZxD|lJOi;?(t6&Hh5HNKIrB21kTw=a3x-GF zE9AAP7$5-6a=b&==->VK_v@nLPSpN4@8{DScjXf8N~f(^7?NA>NAXBCtW1*Qw%(n? zrr1cQrH{i1zBFyHKhyo2s|v7eDzVk{A_Ezrza7jz9oA~lLuY|WI*X7S-+N!r8XDPUbg_p; zBE02JHchq@+mQytnZo7AVQv(9Yl^Ox-Zqk3QX&w^%v0qZ($!vdCo_HV&NWCO)aUwh zvbahmljkw~UE(0!Ie=v5h#U12!NfPU{f)Zno9vNTPTDp>&iPk-apB89o;LPs+K!c< z0&i+jw5E2+potep{$Xh!THdP7!Y?;PfE}h<$Q;I- z4qqvm8Ijswuoe4IcH`6d-?+JAzwIi?3vn#s2;c^$EZY-r1*3-`)maFY{E{j3cm3)H zPOE=t@<1+O#N-yYM6JO1Yh8oihCEC@ZW-4j+6>R`m)LTKY*bdoI0UFC%AxSiJ>%th z0o1+c)kc4?Mnv!C7o!PckJ|9@+n0xTZ=IGN4c4^!aH=EIwOjOu@+i%$_{8iO45+3gM~TAZZji?EJ0r-f`zf(JZF?Nrij^bf$*hD=^0o+>}Kz z@=-=ZUfU8*FM2Cwj~FrxOm+y2L-u~0&E?isuW0}z3ONh>#^ptzN11Ixu2=+@*1B_v zldvxEmDqK>00ml#Z@QIOwAo6f%kv}k769&=O31F2KBnZb7a2sfRo&DdpTF&@nW~e7 za;xsSU3|B!CFCGmG#E{`a$=S4yZ`eC>)F0W|B>4)*N7bP=B>;eLqOR*{QeN*jP@QR zkjs0}tef2n=!+SHB-+nZG` zI=yR?t1dA4O!l@X5Gy3LrJys3Bu6*i&>1uZXcKmMGCx5%Wu7#((@`&eJp_5RY$cGJ zeFbGu1(SPE`9f-*!<5bg>QfaT=4&IE!pk3lK|$k9^LB^!c5S;tSb;mqjeQyHo;}tq z1=6CTDeK={fbW9(gY^tV!!z3jy3~h>eBAX*pi53=RqSpy*ZHd}WFEf)s?&M+$c0D+ z^|_vGoezk%$!;#@?Q6If*QZkw223p&Ql4j1pT@+ri0laxtA0_Jj`2~N%+gda5dT9S zG(om^?hs2Aph_3xRL?nNns(x*adMvPIe=!d?`fCF)>y(oaH3b8BDcB;q)v#fm8pC7 zeu>@ZXnQqW?|$e>7$F0{Z-o3WMf!vK4V3Mr^3JX?fXYOhN0Ck_-zEz?IL+{Ih-GyS z?^wJ>L3jP_Lu{SXC%~8B*Qo3x~`$E}wUOkDidcfte&+>7him(y9BiKTe( zIm$ZlG;I0*Np?6c@R+;lsE%pCKf2u-e?hzC%m*kRQ}a4larwmi2&S~w3qHETO|FL+ zoh*yjYEOMz!%&oF^}P7_`?>&@h|-EY1CL_-`VQo;)%nKVwF|!NR5wwD@d|texfaA1 zvEodM01FX$>7m~^OI%Cv z4*yt?C$hc3LZ|1r1lBc#_fBoa?&{UGzKBD*wZ3RwCnGYBOf^$4;P&V&>we8L{Y!j3 zCUa+GX>Acayh4KF8V$P3czTyefKj#x2c%FRNsT$%5mL%{Bf^{16c5TR>e)!oEw&!e z(dNZyqD20aSoXPhJ{Hxz57TEEvMR?8$z|$eWuUc_tf1fg24A@w+tT#Xa6#%B9|MbC z(3@K6hbb)6RtE)JO-0f@EI;ZidTEL7i5m|u&A zg0&5t+ns-weQ-2tsNnV=Xo#$c-;LiNRF2;aqz|-({DT-k3`h&jMgRE7hk3F8D9#X% znIM4jQrYR7`~Ter{a|eT=6!UY{^wnVF))5rJMt&}3E2^du3jkU{)a{X z-xvOitn)wbaI9%h7R%~>x;R0CFL`&&19~z0S4%nIuhi8eijsQlbv{ywLdeeE($~GG zAbC(3A`WTNS&yZiW`&~{T?EVvkUeouX=P(fPi

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    YG^I&&m+&}g3MP_=txfu56R8$ z1r1t~vv2%=j}!XAr}+zs&*6%seI$>`j?nd;0MQ~sJ4sqS{y%Xc=d|0sY&ADBrXZ0^ z7&E#3Hwjcb!ZUA%JT3-r_7cfT>0-~B_Ym7pZf>~^xdV>c&hFE9Cw{6PUW4|$lMDjNvdzBMxmriySAFDNcZHz=&xoIP;X#3QVhhWvN1j~b z1~WZ%kaqyb!>y*vwbGlm8>@l=)E;K0M~-^%6lnFW#H_nyt8HUnYrtHJH8yjLT2y+MZTW!s??!NS!`W zkjZk02CmB|W;190ragCjs%wcLawtiaHLAX$%vA^R{MBu!BZUvGn z?PVRLg&fWJOygR$j8-tY#H{<-B4>4R3}UokOc+^oxhR@jf`hwrTEZor!w~?7t8OTF zYrg*KhoY&b-l%se>@6>1^&&kIO%>IGC?66&tU(URqxhh`-pQ$Aso*4nf-QA`wG%{h zJFYs#G&{d(GxCXJG_*z7l3VJxe(N+dR4+N+N3Bv0KB#Hu&341bUjn43uZqa-i+y0+ zJTG3xM<+tU>%S6K>U@vtp$8m7qvoot;MPxPTKa-TQwcS~qN%uNH9HF_r?7LPqZ*yM z*c7e`hYeio^)rCxWPKjk7FW>~!W&YOD0&|H_bg=Ssd-<|*ufq+XS1G7M6%lXgE8T#)-L4khX0PeRi4P;dc` zw7kK~z^#bAJzCWG=5G`kC<3a}N8eh3)^c?+R_}1Cq-b zu2myt1=_Q#YoZ_TJ8)hMyC;x6e>9Q$S6Wwzwb;?^ilxo#v;`8}yEkj@V|k)Wzme4Y z$UVU@0txDmk5mc#lqJ6$W29Q?jqNmHW)IAgwFU~PDPDMLiJPXCGHzq*Tewc)ZwrRuJ1NuDD46ye-NN$$A;itSoV)Te8 zU$?$ras0;>vRvODUaKP#%n;8t;yqB`uOR#59{S(!kp%ZJx|d9vlxqDU<{`ll`;H~* zk(!v*d)Q;Bz7fBNr8RQMop=kVSP~^TlxO0>A+!1sQRDNcDKG->AKms!uGVVEdNJ}G z9!^&G+b?zhc;8Dt-*#cvcU*9Wta3U)+n48B`*HxlAauCF^bL~B?hl<))vmBf8li#FDA(F$=HTk+ukmCdY0+*VHuCZhfmAc{$I7dWmJ`2+cm6$gl=ghq*Fk0gGfsV z8vzlJ?r>8A($W%cK)Zp{`kh=7i`YG&b5wp z#GLb3>xvHoep9!fk&=$qi00Y~ANTh&y@D@Cr@h;64{p2d#tX=EHO7nd+T@vTHiy_y z?~WJm6@S?~l9;#)C0Oi21I>Tv>DW zW%llaABc>g<)NiJRc_I1I()6Y7i?dmuxOihn&v{^T)oTC>}Z-An@x4Li(BJ5JPVi1 z9~+SIQ1F$VLX+4?~w;*<0wR8DnM=UFo%x%uCBlcuU+TwJBFFKV|+6C1#%l&C; zaP(Gk?&M6Oo+RxT_NRyQG8YS0Cxt`xI%6Kg9Vp_dyJ>t~MdnRC{g{EB;EfPOiaBvy zkZ!)*JC$yM`OMuOl}s6#s%Z))#7?2_YTSkyJ@$nJ+WO46 zI9guNJ!yLn*k-CR>Ud+9<>Zj!O+gu+vZipwYHm& zSoH4HO&-iVC%?pnfefL_^;l0BQjwey8ws_fE}Pgnofub7L3q}+g$)R)zxVzz5==N= z>#%Us(p~xvr#w+q-I+uABUWvRl}Bs^JN9nsvhf5jN_BP%>52@tu-KC(%jAnp+fCwm zrAZ0L4Fi%zosYR7J=_pXlh5Wg)of@1?()WPg@Q3zf2Q`Q)uLXqtz#7{I!ZDLNk6<9 z3!|;p9!7&9QYjCEit!(6k@Xgw2ySk|chb$UdcQ0cky_*A8rP-UyF(@)x+Ow;C+{Bd zhH~CpeA()JI`i&`6pp^OwIWl%>f)Z$zP7hw8M>hnXVcV9S1>MgBk<@Q8G-xDtn+Uo zAOZe_OAy&s8mY~Dt!Z$R`|K#)S1Y6q7BAw2AeC&;+~_Mzmv)Ui9DWSHWq&E7zJwoB z)59uZF#6tr{)pW(BvwbjPp$>@@$Oxx`JQmqQ(Mp21i^qWccZT4&#&7`@>R|qX5~fj z+_MY*&UN(YrmhZ7t~TDnog`|V8w-2;BSWeCXAj|Na#a~T2c;L)s9Q{eVgmBnGLQjN zcn9ZRgB^GcN^Gnyyo`)6%qw714ftUb4&qf%uK;w?q<;>JmZ9Um`lm;)Eg*^%0AB6M(*!LNG#c^>eC#rZ~yM>MJ} z0>j@a6D*}VJ}nA%`gfYH>@th$u)fjakFa7xwr8z(GAO0^=W&aNA`#4%*X3dM6lp!l zy?z*+Ld+tARcyLv)xJ471J3bxN)<4JtSl8gXE-#OtX3J3yoh`vJY;FhA$G!81@dROay}<{B&_IMaIkpcG?%<*#xi#gqIl<^ELSU@c zE+*zpPCHHdW&B(Cd0f7{q@=WnP;pB87msot-nV$fYHWozdkJ-=BTgG#iJpnE4J(T; z?yM;Y&73>nrZ?GEz0j;=M`JGrwY+O&)tdx}Gzh9HU!e-sS zOW#!UKL_mHv*Dr7OxYd5A{jSi@?$f!?PcW<+j|yp%5kdQYNVCtf`2hiFy*j}x=wqn zP*nn3dGC`Er%YLc0(wdee44nhA#)T>2fb!L!|)3GH*8~%S~+d@#$3c3))&>HO9DC6 zIqe4D37%l4V)oJZ7~e&dwCbvN|ik2skuFL@u^PXjB?r^^D>d1BV%BSCac&#T# z3q<0i;C^@n+K}~Eg2UJG=mf{h&AyJj4I_$l^Tm_!xgz=*%a#+j0k%9{SNB@jMY&V# zNV5USB0D#ax)jX`6PGO#^~24%42U^jU#|SYrZA;25^we%E9}jf)4K;*2h&rtJkeq zPW_n6SFa#pH%&IuA)5H80uzVgCNb-y zFmS(ygmf@Dqj5`6;UQ>a6cT9x3=%z`#o*^z(5G4~*wg%qWZM3i)H0MxB<*o$On#B~i!UT(*${jw?|K^b4ex!?}Hy_YT0_B2j>C z*6++zOo{>1zFfO&FRjWeiA7roMbs%X)I(?DUk3G(#x42r&lSl64mZc4oYS(})|$hP zoL73+eyo(KyVTrY7`k7O?@~IF!(XE{vspNn1C9wPQ>ebbKExBcaVN=TM`Fo|CS_J^ zZpfh^A4GnQnIU?;q3spsg4%71>eg1Qg4!P|_5};iq8Uo2ex#_QQCfNDACMHdx|DX# zYR4m=nF+xHx%E8AvWfN5vDYWQ4k1D};ua-W1FI8eHiO&4zT}*3uPB9X2z%6w&u;1( zTNYe*b)3wR)Jxx5H@b(armCd$TWuAI;&n)LJHcSU2@E8=)c6iaDAZ0st7FvtXx4Uc zMsGec;GoUl;0bWO^KEgoTsS~9pD_=5sqYVDDDaIpczRZmU7}5CkV3*px$XvIL>Z#K zk|Kqq+}%Nhzu1aPkFG=x$tH%^7x_ScS20o{$Mf{qg_600lr6;c&;X+bG@xs>+y)Tr z0FP%X*o5x|&>~wr^MQc*eh7uYjPsZG0Z0(o$^zPtXuI*8*_ie)X#LQM#dq%}t_-=o zo3GY8>C9Q9nr=O2FCc%hTeCc*Pc`i?01Nh|N)q?BDsXeB-ZFU8y2qU)T!N!wT+wR! z^poH7gNNgU`}^#|qO<53S4H=GU3N^Coc2fg!)fy*%H=?sh0EkOHG1J&JT1O1e7`TJ z@ZCIx-pR7+mC%jjq-W9nvsKsQ#0e$KwO5BO77)0(&wh#{cUA4l@p|T7N4T^w6!Mv; z2hLD(T;0l#k#@n`<89T*4ZQ?dP@Jo19 z$UN5eC{nk1c8QuA=^GeyVOzwRo_7t|MpuAB#fZZTcKu^)DV;&31tYz7lb!%w%AxxL z(>+aX>Xx|PS-1nn#JJ(iYi#z}gz#EpjSbb%&pau7LEnn|hC{Zau-HfT_EU^u8?N7} zdd*QKoBJ@v?IZNVYi(#WOh_y`ay;*EPyCH6P;bRDECX=DTfrS8=+6ca@nooChVcfQ)yDD|CLC-u(6TG^h2x zcE3$5KZwDM=Mg{%6fSm@-~p#kb*wZfubo`VYy`7BoPZ^T+^V7HJ1G| znuJUE*E6m$q3wG28IBw91W}9Wbq4T?^I|RFVDp~RN}@E3>#M1)Cd!69j}Fk{Y2%F1 z?Zc9TqDZ@3c&x^G^XOk>$VM_H(4oz?tW9UBFz1A{5y*>LDwYO@{3p3;X@WtiLl9NJ z_E~p4d+{1pe4fYtC+dA2Qz$W+YmZl`bT;Ggnz}>l>*gHoDI%oRy1!Xm69F>PitXl$ z2U|Z}vvf;e6S0KJ{3+~&m>ujUc-DK9nEi=3U+eGYxyVfPe#Z{)Z@$_Ya8V>(E!s}` zroOeM@PoX!V&eCS+BsirFAiIYiG5U?$gCE9C|GLE0OkHKAHRg^S3Yu+h5*k9P{4{T zR=$XAkV3tlKB|RMxL*Gu%iEl9uBUI7SnJ48xh~OC_6CQF1^sx|r}{fP^I7voy$>*b z;z&xwg@IT4!#7Xl)uQ!W3wfwb?bSwMMGbh9HSFuN$4?w3lV|A(OafbDcP~C&`_YA0 zA{30n{L4uNw86wp0%R>O#^KI8n2ot~?+Wgo4COq~vnnhLcuVFp?SV8K!;7DO-b4#x zGEFi0RoK-yGSFi+unVe$eocdix3tS{1(6xq$WUgnB8a&O3s9LPde6j}Et)5(-qXKH zw;0McWD;uTCgIR|AI{80tCp)_xO0!!layMc@A5LM#y4coYXQ$i921lQBPj(T(-k@? zaN7DimOF78#3x+3AI5{H);?MAXl!B}m0AqlmynP+?jckC&;AJl0m#>2EVsNw)T{sL zNq`I)^$#xAQ^%e6$4BEzEULL-xe5FaLTq$X76JrXQkDzkUZF}${!?c*{%Cv47r@3)LM_w2F2xSME$ty-^Zks}3sH z&Hk1*6QCHa67eSWhEAs=k$tMk`LlI1l_Yb}`yhVg! zPRuw<34GpseRNOlpRG+U+JVn<5tQ=O--AVJD+I&nl-Wvfx6R@NMD#W-%3JxfZY~Uc zYRUwyrUSyYp>Aol1`n}8q_2RHf!;+epK%46+*yja z@}^u-v=j@JL4%eKe~bAe8i&NCV+@8EEF|1yeY|uF$OsQgWf-J@4m(l= zDWkCwYIG4+ID)U~JxD60^N3?Ft|!pjf&3@!_)MOk3S@BAAcJPZmAhpuPn6z4mV3MfCzBUwuw%J?|cCE z(ALNP>KGQ1v6ItTr6PU!W?GZKD3R7XWO0(S=ue_9?3zrQfOZL?c`#wm&vS9%`8S0E zrm>Z9#?PBm=*lK)01y$vR)f!hYqy4p2<2a{tX)+^NQzf>flT}45c0-tC(Ho7D+KZf z0`v@@z^~734Z6Y_6Tb|+4=vqz(0{=58Ra6-pCLQ%jFV~YQKS&Ts6a;|re(ZNq6$Y3 zr&U-{EnbO(4IRPXv!KD#TpAP9rh8QF9lqd1HNqw38T>_3E@R;J`@LRt9u97J1;gI> z+YXviG09Vi!<;Twy1C<1T*xA0dQ2a!z9>?w`XJ@LRI4*#07m_W%D|ZTr0j^OAJ}wA@lIs4<#0R1;2jlO~7Iuy`B>IZ-ejAmN?kW~@<*T?%;x~;cmOShgewk=QmO-8@U4Aa8|&{3c5}%a_Dj!wKD%bMUe7?zFj$T;Lfp`f5NuFJ%HuL*Pl0a+t zBHg*rwQH={^yH8#Ek%eU0c?y>y3a?nhsm$53i~&}@1r)CjD#}Q^fsQBhUPk#gueGl0jOvYWYfA=U~ zM>G3TR!T#E&8zF|MTdpQKdN1}OM(uRS=DmQcE(!gg{`Gh$Rw}=*)P>l>$#5<_mR@I z5FO0aR1szjz$)0{Xqjdj*{?W2*h94sF0aI7r!SA>52d;%V?69=7GCvsP0WTF$e{@6G#FGEULRUOJKu)eWYw8@GI>FPxl?n+GzFQ!H zAFLKXm}!1BtYI+obA3X+`^uv28zA9#h}l^kv7{Wqv`3o68UXn zz}ZvMKyXbDbnL#?I4<9;zJ=)qjFAtywMbFvy+#rw$IJax) zjkrj`X*)JU;p3Ok40cwAw!ob@TI*aG9kHAR=A2xTYe!&5^%36mH$~B;pfmZ5QMFtS zAtr{;fh#-JR4&io;J02nrnuSIbk`zyj5_06~X*f>eu()KBv(-#w0O$BN?*#dx^WtIIU z)u4;g!2+U?NzjVcd5tNAz0YSNj2GbTS;Og@fBI(q!TPB|{-khCcY#QL^lgP~w~*O_ z8_XunulqdL_moXM3*MV;{^ZZK>mX{+vz?gONZ)q{6OJJLwP%JwZi}TXCx244Q5%_~ zUSMGoP(z7NAFy!uB?9nqq}RY26qnUGuBt`RNq*1;7S6|rvHt!B{GvH4)U{uF7Q?P> z^aP4q$bdkpdeWe9L%(Q!kg%HHYx9d`GA8*ma*x{2#RoI)UW83}>PSRqt7Us3IBIZw zqx`hirN5v%AAlf9Yg#P9E01<8>tgA)-R`NKRe9VmGU+fFIs=IR@!qg(-L4yp=yVk* zk}=L<$8bJLgIfkH6QIpQUhLHHmO&5Rfb{~b{t9P6*Ij{ZkQG^nG1>oIQiAe7rFeK# z9LpV?mOGC-h_W8O^U26FFj7rRrLnq{CM`ii=lp}Ofnv%8TC|# zS$%bXxeVsP_91sXS4t9tLWI=TVms~X^#?DX3N88ziymW&j%aSp_i(t_AtND{U=U?r zm1R@Spy>RBHvJVz%(oLa4B^@-n5Lk86vU8)hFVr_Zu)OcsADpMfE&U3_zDzgtjit8 zU=U+RRUlhqvDF<n;0`B(Z7c_DIHPYL2zS@kz*F2uRO^2c0GAt_B|lTMZ3mQ*A;QI6v!s zPJ1$LE1WG;Y6vDyX3h~8i53}7=YcLQ2lieRewKH%E_9%ufWuN4IULzA0E*J(6Q z4j{tg5@?x*FxaNQRtq_;eJ+Uu0OHCD*GC*uhC5>N3~Q1QM5;M?eEOJQav_A8iH|i} zsqtG631*tcJNMyMkFnO5Z9eVvCGMc$YzH-p=jVy;u;5pj_ct339QCElzBYO+EY*+u zhdL9I5ts>8fod^hqTXSDuQXLTTZ0y2$)=r(TdL{ec`{-FYd5vM4?0MeXGCRVcmqpu zgI?(APFT2f`vj_)w3VAWXB%!V*W#9l&hL1GR7{s0^RQ;^3h&#Xo;<}e*@&jV z`J`CfoOc(|+9?|2Xm@u3uZLKWfoovkcTt*3y-EcB198b0ih*)~?fr zg|shs%3p=Z3tshObWU3XzHIha8Ff?(lh(D)*tFQN^UYWfBqseT@OL-+Qr3^4enHOL47S(x9CXLt16EM1JsHg@}b%#ArK&v9_2h7^ZNB)U9 zK&z=(d^Y8mykuoM0@aa&arYm~A?EEumvzWe{eSLG;2;r;w}bOslV@+h(OY^fIYn|> zQCH?WtAa8Q;fP2g_;s zRN1Fii0HzkiS9iPS_bcPo`i9<3oq?$iOsa0iacJ0x2opr2`P0h%`l09G+9E0Vp|Tk zRcTO_Fr5B!4gK#POTIxL9Mt!G_sVl}mY#xod^hw7eHEFH)%wu{uw(ENBy{2is5n`r zLVYP@n~GJU#?IYVegLS6Q?Y5?^*k`DE8|Q$QTvF*8pj9CVK_v68}pMKpPvB-WiY{; zrLwZaYojr+vHw5j{^6cFz#0SVJ|3KOTBE-D)*$DLwvtv`cT%eW$qsf)MZ~=w-y4sm zo*2wLObY@Nqac@I-sCGQ7B6Q0kyt<}L&^}4X2T-o#W}jgu7Wa{9j1GJOH!GVM^1Ya zJ?1E2H{6mRLb-AA6fV-E_c6aW4haRtrA0!I^P=Vik56pE$2BDT-Z z=zyfC4lBj>bpJ4{>;}AP42SkHcI3x~kG60Bp5hlEv;sCHZ2wi_bln;fOZ3CU?L1~p zxar^^ewVj*8|}h;1M!vxq@8QVR z@HI9zQVue1Okqh#@d;F2pAY~$0h(VJWgPX#7(m3eZRW}StmKYoQ8qB(m}^VW+~Wp> z*)1+d94npo>)xK6nRMieQh;?vG>V^q^qU=wJVbDTz24+Qo##RLw9C|A4$%ztQTwlX zf4HdyaCj00}>74GRF{r7tFN=~x>aS!*vv+cHP*;HlnRa)5hH6 zH0_&mo&*cKjgGMDOOhT==h{0oUem%Xc{fJF<5Mv$^+Azn@^mAAt8OB*MDKqpCdimK zHUHae&SSvQm8dd2tv6WP-_Ym8xH&vwA(Z}Ed|1YjNb8s#J;D={CQ|meFs2}BoRvj| z0XLFI<(-4Azz1vZ>4TZX|F)Q&*N_1oJ$P<4n!e-~t`M;Lf`~lrQ!?&4v~A{9CSqk% zq;Rz-{&4?4h4kGc|J%Y??e z2fp(aa7KTPR{}5#*1-Be8teSmK>a{1I|+IGfA25wl(3J#w)iCbKdS(0R9aiex&8Z% zz*kDlTn8Jm4+tLqF&yw=zb1CDTq$59|FZ<(!&rgZ|IY&-nGe%ZxAlk;dU2+|cqRZI zE%)Q0eHlLVEn%a+8~Wh6ZD=U3Anaemsr7>XgiCtL&GhRV_fPMEj|v;?x5h#5!C?LE zhy;9e>-jfo}fuDi|jdLlfaVw{Pp7U6MATT zw1xg)UY}ZRb+GM@$*q`G)mkI{7PW}CLB0w~_Kg58*!&l-|GY0R*rEq3H^{dZaG5^D=!Ns1F%E#(6zY>hrx`Pcxp? zIQAEaWWUTlS6)RV+x}}7fOJudKc61tOfdk@lxsJ-T#93i=CQa}%Q?gv6(Mn8XF0u) zK5)ES=Yg#H`Tf){CXqik>+E!YOix7bR9Jw)CV!2`{-=SJSQWF>eG<-F^cX**v{XBm zZJqtPhDAvU%s5|*m9J!#Da?&FIK{4_HBCC5XA4NfDnkR$Q!;DJ$L&!U_W~f6VhY*ySyVagE)|Ow zSHas25KWFf!KGT1+M*o6t7?%?G^td5v0C4Z^wI-L;i|Du6o->H zKuhM*oS4Wn9kF~2Nl-032C!R>fOqIVNQoVVq@JhAzEKXwSmb_9KDf%Vd|)ESt}jxk z2~gLRjP}eU(J-k%s+e^)Q}gL;m)XH5-19}D#NhyOW`HVI!E*Ckl7|jg@3j2R{@e8V zA1pZm+9X2SG224G_^^b>*2IgwH;GrL_382wM&3xCo_Mdn-7|9@E+bb*tDJdI!>k;H zVffiM25^HLbhspy)8%Oa-kZ9UDO45)NR$}G>CJN>bSb9U!c#~11Jh6E$xbXF)@^A1 zmu=r0fyM7G(Bymp1&b!{iQ~cHlJv<(e{RFW>?qExh3DI(59(j<*Rjdu3et&$Jkd)- zVg+3o_)qk!DzRjZ)W2b{Lu-^KAK0K3Vit6hUaL_mw#4GmgoQuZB{a-=k(|ZsLgQV3 zS;LS;UdiD)e$7-(`8h;r2>WBe+^L-bRbSeJ(k-jC6Bdtl-K0vD) z4Y)7vayEXTT>FUI(o4#Nbhg!0K07C1Y43s zG_@=LI6{g^GUh z%H^$v>P#}9HoVB;OIF(4avjmPfMm2KfJa#$&&tPv3T}!`L$G}PFh7ao`!-wxQWX;r{mWymdL{s&TfGk1 zAH;lVl7wlCF6>8r=n`I3EMS_tuXGU-fJ0`#zS&H;?u&&>%EiT`=e9id+?aRgO8P5H zqN_cRsU-n!)kW)rt!wL9Oj!cbhA9&1%PVnSCIC%pc!E|Bt53@td0^cqsBFtM#(Jvw zfm1%_^;ogl&wznHTI`Ppq1;eZL2!XkS#V^IN`9giDV~O@<}F_0Yk&6R=kCXM?-P0+$+evJPf>TJFql*vLs+T>d%UrgyI0^3A9aT%M0ef?Y?_0xbU;Y` zZHPXzo$q|3%WT$c@?k+kT1AigeIGj_r~Wm4+>afAuCv4EKDX>Syhu=Zm3a_P{Vfm# zhNhu^4{9ln)*4UQ-@s#rluPm34)7a3)dzfQ!-*00De}<-Z*Wb{`C);TP_F z{H9x1YY-L>GDdoO4B=VRXOnV}zs_&^mrXG8!cCxZ1m{;GU!NkWA{@bD?5fMYc%-@YtB2li=4s};e3>of&JjKRk&BZTm%92Bak89R z0~ftpscsIPDO^W)V!vEdySKo9yxM}T$!%Jqe^leg=vo*NQcU?zm2m#uP`cBrY6X?x)~HO17J>vx#S; zqEp`B<7Ys^K>#vTgwJz;i-70;%Ai2#Q&)Tv0}9OhAo4gIj4|zGYf^7%d@pqxvO5n1 z`q^<5W7P<#U?yryREc1CaEtNfT=8_|DM$I*cVvU{f9`=m2Ttd1$+*)-$~b3=H-$18tLlL64P%5~C=QykUPK)q}5!xu~Q&+KLDx^i`>^!gee}GWt=L;4KCjyvAe212la$Q z@Ag;$d&)EtAZ3Phl5~f8iy_n*#xfhz0QK!J%l3!)?uB``8z{@v3KUBcFndaM0xmA?L3BeleJ}<-;my6JQRP&5 z`RU(*Maz05_wCz>pO7yAA_k)&%)RfdHnqpq(+6t_kivYM?(@Og$n`!OV*tOL3Y5qZ#M4=zdh!OQ5g7mwntijh4x(cZ4lIg3^q zpd73RMzb*mlTOCz4z1RZh~()?!@Q27XNNb2U6_N{6am~h;|U7iUx_zJB8h>#B=Di3 zb)2B+=q7FGkS;_4my4M2OF|^D`tyqYKJq+cvF-X$+`YxBNuW^}k$w_S%Z0^N@!p;q z3)u!JYc0p1DbMb3{I0O`#tiQs(|q>Nzo!CWT$HppPg40A(CQzl0g4B$(RoSo!W8wj zajJ{VXAoaL$RcUu(zZ_W@kwTtBV8{56k*1wPhoe78tV!uhaAGx4;>=?saz2Ql4`Xg z(#$7KPVbGk`hbY$R%(^U{H?k|0pd2;Scypjxj@`&BF8RfBRW=1PXSK1>fR~== zt!ox)%Ef3oO`jZG%IsIUP!~H=G4>)LgpDD+XLAe;+Pej3l^&8O35er4+8%W|SvdoS zii-=WgVqupZD4RanKNa`zyzLQKw;Bhj0%yF=h7y0WS2xI6@cRE8$g617IN(Vov zK*Gk~qrg<+mV_kl*{U}gUu@0CL^NON0Chyk$=X{y7TxL(L8PBmEL2%CPlP0pmPrR~ zUI#BYAU0%G1L&z0Bben_#dJmq7bu|Y8ROqHNGHgh&GajIv*zCfHl~B!qD*7+fJ`Vi zv~+sqfG|xe{1^fuC>s|sM=Xwl%JpL2Dwaj{Sdq&Ccv$v8xp{89o&92~?{*iNkkrb^ z`!wTGK;-M8?G`9y1s!`XCx17llXS{YNSz>a@lvyDysaJE{dqbY;Vs;srpI@%(1l}l z2Kq<(vmEImH0V)*hSuTE8fiY65uN1IyeyUUu-9WeovXfYwhXkN{LRY6-$wV|Md^=t_Yw3dkQ_7q7G*n_+a0-tCY{6;wUx zLGw+2_U+i>`X7B36|M)_KxQI*)!Rn}Ej{1idLcN48;1;qEHWzn{T^|Hpt;0Rc z0J^(z-mIMYidp}xLZ5AbWIaDE^X|fnf}s9R)4KU`1)BfydQc@H8_n}V+B&Z6x5jA4 zn7SpvT&&zVT3R^yiQ?H!P^%Gh``{jdKAt@x+z=Z&&g8|al2W?62FmV5mgz&WqE_S; zcJ9TuULPj#T0U&F@DHD<;pHPUK$QT!=MX=rHJ68LH9u{B73Ok#_@&r2pPU$Z2Gu|2 zHaPu712FNXK#w3U4f2sZWIxXGiD{WZ|Z6hEhx;fE}7k39F zq}<(Qqc{_zDrR^rJ^}b?hqvCIqDt4(!cWWr%lvy6*@^?Y4CvyLxQI}f`?Ubi_UZLq zbZlj-1peG*XB@0>8qm=r;w`va6AM)lU9E=WhStwG6+Dkt4DP}iQZ}VPqYMT8{Qc{t z{nj+3BwSqbQ~5aTH&$$nSK=D|fXn=Cn*^AUZO)-BY-t?qlIA6iQPPq1r}vq?1k>~I zMSnA214Byap;PzD@+A39VBG>e#sVBiaBz1wgG{E5{q)HrhHfg(d{HZYs)QYu#6 zi})K&OI7w&3@R-@w}!%Zw8Sc`;vYo4qKD z?MeL#chwg!?TJ()l)+n=Ji;R8mE%g=!o5mm*uwH%KP)vnaSLp^hk!|Vs0XB5`Aoji zPr~x;z*RxO6;t=PK7$5v-koET{}D-VtOXiwo+>=PPZT40gT&&9TA#W<-3|od_xQKt z;OHZkJ;soZoB^e5{1`ATq0pD|H1 zp~$vCA7GJDk6GRB#~6D}{ZwrFL)kOaw^0BU=$I|d+26rbHYw;D2iXt zQxAxS^F5&SJ$qhG7PN!SLs_t7Ckje+#`k`s{w&Hgp;UWdt%o-u&2NRhN%RV_oLt>o z%0@oP+wAd78wzf^J?pxRjYoTfWrJDDZ6DQ-?n9vfG&a6)3wf`TD8iElC~O{AgpIjY zT_wl-tHWu2v_y_Qxxd$NZvy5$d@GKW$u$M^o)v-qN_PJ)${Y-|4nQWcLW#v-s){s*)@3GWVh@yvNnX8Yf+32n^0cm_!z?vpcJLryWpWJMOz$({jA$^K4 zqZeB*EKz=$u;u=?uU~ZMy~-6Y3(J5NvPP9yswoCXLkSKOmVBh{M%_9;Y83D9MbiNX zGyst&G4>{4>Lc!K(rbAZ4b4Izn`ISXpS3U~hP%l4>>7X8n>;7810G*Cp3WuCAqJG` zo!*XD2k-vMWs&zyy2Ahw-2pTer4&mP;Wf82$&9E;lB3TdG%{MXtB_j-{|f0eD$|z zG1ZZjqJ`^Oii^jauEDiEiE^hH?+e@CfCgAizt6{I2v&b;K9II0#EdR^F)}0Ju#?jv zFoMhu0A=i$f?!_Rd4R41Su0YdvI9`X;~qz`zxNm34J1}fZk}>&T2CEB*AI?DbbrEw zt@}yVkk-N66`PKqd@wg{`6kzOE>3@LJg%{&_w_X;$KST%BZM`T*7})Ja~atdf`&zN ze<}k8U)LPtBrbq>UE^|w)qtzuG$Or-@#iz7V}e_|IZDbQq)qR}KZeAB2)qVoU@cNq zewprwuZyoot!6Cl7hvzj`r+^4QKkJNfGYRFo=@=cL4@sWC=82s?e&2!VFj6kna_f6 z8qt)|LqKZ&~)Q<757yg5k`QzSb>jhvMMKmdg_P>)^uXOov9qYGW7DlKjOF^H1EV^i|V_+1k8bbXugp5x+ z6*B(&38#mx2fBu8MS+1qWOjyU7LWj^Co%$L5_RiF|JwMrk5R_}x`tfCTyLc0)aveM6pt1DJdaV5&MGDGVj532IJwdODd6%A|1px?{xAZ>)US*oc^X(2&=F zI01CWYqXvoY7uzme?9lxw@(;k2Nn=wD9; zT83ZjuXza*X?L9Pe<${C+T8P$eH!4(snruCjMj?FU zw}~~0>%`N7Hh4ynq$gRANio_Zn3Q}k>_B_}$EirEJ7_OWkoK8(Qt!UO40$ducMpVm ze7$lNfTRc3{|3I95Wj)%&gD033=n_=bYl)x>2MiYkc8%K%Y(-DPLNrSa6@gss~~y& zy#0>iyw~bn7Xz>ZSJAZUuajIxK@|f)_dvEgGoU3}x91_7zz~=~yKCH>{ zrk8q%hNF}#gxqv;v51b9_OD2iw@1$=rvK^BJ_-pNQwCxL_Qqe(b%8=;Ws%w8s+M#K zM%g_wbJh&XMe)ij9Z*;UzE|@|3~VGv;Y_lk)0%ejZX-Gw*FT(X`5(@f4zV`ka})m` zOG4n`t0UW5g<>r4%R!hJ`{gV)|JxjcqH#n_5{-IZ)lS5nZO6$^4{@xYjTCUc3;ZYfo%v*S-fYWDiJbdndVENb^4DwNOd?Sa4gdCg y|6j@4pT_S$?w`YduJR==vg6HpyZxlXu~;T+`?GkJglgz0H`#j+r1B*UeEtuky7WZ= literal 0 HcmV?d00001 diff --git a/documentation/images/compodoc-vectorise-inverted.png b/documentation/images/compodoc-vectorise-inverted.png new file mode 100644 index 0000000000000000000000000000000000000000..e95ccfb06cb8d81c827263438e91851ff27a2ead GIT binary patch literal 21782 zcmdqJcQl+^8#sy(B9TFegfMyyqW2b2MlV4`i$sYYy_ZO0^wAkc38M$mi5Ah@h~A0b zd++xh=X~d!-(Bn8zwf%%vc{VC-TUd!e%cnKrXojxPmYg)fk6O~f1!bafdxkY;@t+m z`E5|&2YlRqt0?yZ_ym4VrE7eFk2@dabsd2fBj{hu=gdiNz?ZmA5M>$MIegIFr*y=D zoAVeL)EJN#QZL=cH zpxlz}Yf)+Q+#~B%>+Mg&nT46tsY`f&PqhzIP>YlVN!}tLFwipa)H3rrhIPhecb65Juqzm8^-=J_yZHtdPsV9$_r!MWX>LKYmJQDs zpV^keo-{@T2*WSAzx>VEd9vem@{XkdygD@+jD-eL`*91km`|UK7(Tm>07qG!_?({^ z)i)F2N{VBog}Z0&A58IdiqWw=ZCYvvVKUQULNPGB=rcCHm=c4+Y}!=p`%QanX73s# zclrFTd$Y=trMNs@Uq!7P*6r1O9@g5l=1z!cP?5#MS?tSuBmj=JB`Z8&59 zt4 z-B639WILrni}WQ<5z1(q=(dNthE?W7RL>$Wd05PJM-&)q=e8S^660bu;`uQZxLG>N zAx_yu%⁡o2i6#7+sQ)@X@Afox|jWgz-V0+VV31+i8GVW0pdd$o|bh6LKm_1)ED$ zwf-OfF#JQfkd@9xT(63v+iT0lBrmwuX9TRD@+fYPSetps+p zomamjgsg_glYA7NBnu*E2{9xyS5th)`!t*aK{hNSPF;o1Iu=PN1)sJ}aH&N{*b`uo zw&C=B5ie`v<=>l?S$={I+pcz5)K0&J#sq115<+IK;~n+5c^BhCrUI%HjHv(>p@Kt{R)Or)oV5 z8h9Vjd<>07)bUr+NEy=8@UG8-mkCv9Wu(UWK~^9r+ixsh#z5h|FPk6snIM(!FB0cD zlJ@EPUUJKr;p#pES62}ulPS4K;$YPLgTNxop#@*u zpR5eLpF?(%$Bq#bYeT23$k226TzunDlOqxy(|i3WI%3c3J;w(Q5zkB3&fHsQY2MEI z8SSuEDAC~PyYu(sUE7@k07-oN{z5a_#FvmL`=^kM zSw}t1d^#ub&09#xN25Yf`Qr|2jGCwl)h~E|C^5G6^kVPnVIzo65 zT)T;dVM=49a)}Kdk5W9jTT#>zs!51_svi04y~ccY5WuxG+moHCcz*pV2U7|;tWGKZ zPJ;!-)ab6vLmWL#5}Dxcg#{874GH=WjZ5JKBN8f3fO0z1QQh(`^?loO$tK~}#-}Mr z8^LdGwU#YDCw!pDXHn(98JMoG+nEbngl_!skteJI550T(#Cug!6Lz{4twZU(`rzEr zbdV`rTCHJ@X7!sF$>i9hfUXAD3lUEt;fUMUA1=noyd^B_t5HB2i0@Q2vCmsuB0Tj%o)_&$01)|%DbnDW01@sNyTO0fN11vtY!cE z^u0*UKmHQ6ATEH)`s3+`&rVBZ649svCFi%It+oWu6q+aZ`A@=Qoo< z&2U~Zl2^U7SjW0j)l-m#lXg+n+mYjy9_QlVT|y8x_Nm{GhrkE%l4kPqhED^xXIx2m z(4KUP)+0}`c?sI%*H>RynE#ZIzPNLU(|ik4N*n`?C(e(B`e%qg1m2!L?c4&Jpi>$H zoN)aO);`{|CadDU`$a8TpYHnCqy1dq4UW`QczDR4^Z3*7;UAUD(5HO|kbUWN{|0%H zqk^~*)h_x8<=Y%p_kq3FDA&BGslL3p<19(dpSmXMIcr*YigIA&cWN(FY7*9@6YiJ2 z{@oZRo6)&c!k~{evF=F1$|aJ`{$A{RTz(=WHI>M7$_Vl=k)Y;x4v#QD(z-#mcotDP zlZ@G^dAi%0(CJ<1MMT=djphq3^V3lkzqw%p3BZQn1*wq_Zy74DpNmVFb)mh2^*&EgMk>61U#D%$V>qcB2vS!|Sza7?cp%x$QszMViOi9+B zCZ#jjX4S8b4<*0x33TKawrc9R4hOLF1Ne`Y);3A)Oh`ZinM8AL zMQ5ld5TqQ3?{68sdG8a!dRgWsWKTSTUcVVetk(%f4i|Kf~aOA-(ir^%@-?$A+S z1u$R6Hh{xk^B|OMXIZoVx-PcYi8WVgV{Y8!}|5Qip$|;%S8~w=i?9s9r8%bN=d0 zFSdvewz&rOgMHTAegTjyDUP-rjXz-F>y=MQ`YRBjLv_x?S;W9r*sL7-Q3MFs=Oc;R z_-aNycJkr{b2b;#2ZNc~%TD%xG5MwMaqzg{ShwjbT6-XSbo(ZDW4^Ti(JnXXCMHh= zcyTZT+sZTMIkUO)deIp@K==Q&=sNA|C(aT6%gBJi*L~`^T`;ec4{ZabItta6!Z1E& zU@O4?vQy#7_mmv2Xl4bVw4az}{AfON&bArSDNqgJ%TuauVq5O5^O;dgl>sOl6$+R3 zb9+g>wq<>ms6D!C4Ext8TQy9erWT77YC6M{9BBWp09cp(4yB|SN%LP4Izlh;`B zo*qqFa7!VmGhlrsES=R1$A(@%qxI`z(Po%&@eE5tQI(TyYonn@8+n%xnW_u(u@L() zdix-&Onf8pt&)#Y`gK2gqQR!FR_Da7Ut9@) zNLsRi*}3+XV2yEIgZz}nwCMehyGL9#RUQjm$Fsu3u#r3MeevSO5<2!WVEr_WIdxY$ zs-oRj{0~yRT6VX+KFa49dI-n+j=%J>ZTgPX8$w#?M{lWpQs{%eH&GL>eJjF;7eF>d2#5pC}lf)zZn z4y`w$uBnpO`g#FDe$><~&___)Ic7O`uW)EIcInrT)lZg$s%sH zIX@{@e(u(Zrt2@s;HZVhH)2LjPCtghT%broOA!_|=rEeZ9axU2|pi7UyajB=_Q zHa2hsqLqMkSXa&kaN@+>1H=tKK~uwPOEzd{^To?fgjoRP0wnm;Ceow%r5d_N#($y^8*Y#Jb-Cv;lxCz z$aIl0H#)3kMuem{50}65Y47y%X^+7&inouN?q9k3R)~d(DFwt1&9`>_9E^n|h?N;w ztj1mr*N90h@Ozf0T|`t%eLqa9G^){^CE^_ii`T&RhO0-kC)ll!yH{~ey(Ubjv#9YhQ zWpEAL&%)F#jW>+^Nw3PBqEwy0%19M8$g%2udJ)0bSfRIWC`vCY`RH%nMP;9#3}h*~ zB!X-pY$F+uvRE(7(}CFHZ&G;M7q8?sqRIA%02`4av`(t?StR%W_c=*UfWw;UHgEDd zLnLr&{4GKJm+yoQ9SCK%QUmY*Bc=Y;Cs(hu^i{+Neo>F|y3VsV&O%;JP@sMLZW|bXC1@@NM$;^3@O0SL^qYtI@P{}|#))K;)*;LK+7ZB&EHeKn+%%1munXvVMDpnKL9bc(GX@g4Qdh`!XmVw0%Yp-Xe^}JZKsjB}F|7VfY z*2y;M;-Hb-ivIDWv%n1G!@uZaEzx%7Hq4qm)|dV-kyCf$x3?FBz2AqZYH|=f&Oiub z`2#00+KuFf@`o}co&h<{GQf3Q8Es6EwTZO^Q8(Z{v7{MHNHe?Z=u*AzO`kJ-W&m0frvHKI;dMBK#v)DeTU;{=-sM?>g1R!ON34#g$3R&Rn{G#VD4nXfFSH z3*cAYCJ{fcSKNxEBszKld<%70l@(i{C*wExKXl{$CoI*@+;ckcNB^1L*XQ}mLH{Zx zaVz~Y@@_35sLNebWvcp*#DAV?q`5ZkeTh0celA}7`0zvD#)mVV|LC&@^lKzM3 z76&6sZDiKUS@JHfi(30#=e9}ZXhS@TC5e~K#iII2cP~`WN$2xN{B&tfile6 zx3GME;wS%t^^-vXiR_ZH(BaQj^B1@O5i`s0f$9Scp`PQf?A7h5oTIPV76<=vl=9|f zQjId{h_iJ(gPj_oO2Y>DeRSNBE zy(>^gE?$IH6AyHCrBxbhF>y+7lXgFf5tdybXKbGdL|9YPO^kngZ&hmTSd(rOM&1$T z#Rq-vIj(5Y43dZ#yVmfLq2Pw4~Unk&*p}X z@RZN`X6^n<~$n_~#s_DbmR zj|?OX#~F`Zm+z^Uq3x2|*aUgl=d}i7fyJ|aZ$^ix=Xb+XynEL?gCc~#5Jd#T{9ZaO zWK6e6e`J>urCv0@*vEeeJ5uLETv*EhwKM-#L>8hL62>#&{h+n_4{37-$`~6tM@LN> z4a*+c;MtyZmzYuOowGj;+IEjL#L)2m8BNN&I5#dk^!;S4n4FSyEAn-`SWy584!u(& z>5JQgH9(NK>AfOH=Ckw*-*7FK2xRInr+UX$aP8aotuxH#Tb<8u?3Gf$0z65WJA0zs zQQxCMYm+Trq@=gUlA}^$ZPqFAfKqK6tAA>8`rs3tYRxwdEDe{_Q4T7e$@~HORgy{# zXL@SjSPt{=%oSlN{ex4Tn=&+pj~veIWy5=5XhSG2v|VUatK@`%MO!y6Jfx){*~to? zZ+R!;OnbBLc~>s<+?8##V5Z9(?=@{X$7JGrZ7*i;_!SInERUyOiZhBjBKZuh}{_RQA7m7)-<4~X`E*Mh;2kKjDfi;EvXR;tC~}Phvn}kDYNp}R$RKDqp12% z&s0=t-dJ|lJEKU)7LYGC$D@Sett=~`MkIMb7%{kz@oG1R2vbTl&EYa@vQQ)}0O4O( zp*14T_rfwk_aYSX2wQ;ov7g@w9d&NIT<)CuB6|OpQJ2XH^TaZzc!4>wvqf(8p-sK{ z#uof&O~Mu6lp`ec#iqAEl~)kWdnpOnIP*h(mDeg$o6~x+=W%2Cs)d2w1JrniDaA)| zxHpIpMZ8#~v)IkyMkBJf$2Arc!h_>@mhW=?EBr+3Rr1{{XgdaWGbbiQNxYvJ#!5s8 zgmo&t7Xvd-$BJue|A@%u%^i*>ceWk4#lA|8=BwoO4F_a}UhqP^{~@Rs;35WRpuWqV z!`eVVo(Gu1C1m7EZFZir((oJ~5Ky2ImPUzJjH0M0DX?|zPx@s*Ktj$VaRqCa_spB0 zoZ?MY-eCG5B5EOHa&8t5$ng)s)Lk6}^;muMQBuzkJJ?oX7VVglg~nSd^#PHnNe0Kk z6oQ~k0L%Q0yuYUV3uBECY8{8)&U)U!OIG!Pa&Zt7b5~O`I0~i^BKHN2WYPDQkR;PB z>+t6FJD>jCeS!msi6mllZ#Km3r98mPo$%+Kxz|!JyS1+GlkJqK{PDkfyl(sBBbr)O z%peAEeUKa+y^+LueTSvzM!VXpp>uKq6a4j2{STCp0HqCB8sEK6SgA~j(Uc;OKQERl zzt-MKYkVW^+|^dm>K|w2LXb*>)+rrH{3y^&3!Nz-mY*|8yE&-Xm*3T2eH5@W>aej* zaf1KGNy`4#FiUhJavT$l)0~I9@(?tdVrmm_vwBICk2i;TH516dKQWobqE+47 z1XD_Of`|Is5dxNV!bvSv5G)soR%5N-Q`HyE07F%oIi{3L3VO6Ed+8eNrWSoch%Oa7 z%1c!=Vb?hHIi|aTEP!ixsp|VMyP^%-BsHf{QS{uYCcUrY?BoxJ>w1Ci|6X<8WmZEg zJ-PMnoLR@TW~XqvxroU`9@DPV&h+DGj)9e5y+Co;?I0 z5U;Nc?vioW;K`}K38M3Y+NslwYGj*-W zIai$FccFfgQ2-D{QOEQ&brYEx6vjF!qCUwp6 zNy57~&ST(Q zv=z98Am8=Ba^32%=$sO01MQx8*PM-@B1qpzqlCKd-SZAw@w0pY8`+XNq@flGhL$zu zR{${+md^vz4cLIb?@`cd=d@U5y5_SCn6lQ40gnkz_^;0#ZYJZOT%Cw0)xze~IkC76 zMGcw2=w(+?oY_8x;}ad1wu!QK6Po0mG2UR@?S%ZRn(WrZt2_SPBR~VfY&XXl6D}`G zZ}Cgu$YZ1ejOhAeh2X8+5_Zq_O|HmUp4aF2^T6P49J>pufMw!#l7pq7hoi1xQ~8$c zVF5gUQnHpT@Yb^Ia+xlhmh#u}mifbD>TEko*NQ@+mCuQ!APXjN+&k>gM1(s}ISlrK zvT95O2UiSgtPU!~NSw1Z@9>f1^L_V7@hF^NuW*yscw}NLCz=-5{BDElB?TRI4Kc6* z9eBd{W(VqrK$mk1==7;)YV)x-wtt#BC#kR2YuxzwLRR?pcJkN0o-mwc7o|b_FUA8M zr6Wc9(w`*@0^8QNrG`YXxZ!R}tT(KQ&Gu~EJMLV?2byQ(_d1+IbBt4c_%=qE;#r=G z@Kt8&(y2NzpTFHlX7=Bu!SkQ4rqFgJq*M!;Q}4mj2y~P0N9vkt3ZGML8cfs!`a&;( zLx+vc%GS8`d|8U$e|z>4;*5EI2c5(3y|@6)j( zC`WBTyWi`Fuwu{Oqa>loJi-Xz2u_Oxp%dbdoqaVsgF-@g1z0-rvRcAD7Gz_?SX1B5 zBBDbQK?$C{1gbG@JCZPPFpR8SapFst$8^0Cm-m?GA=dqJQJW zv$_-fZx$d4@D*gck7{sFlRuN|h`#MW=U9>qDSMmG!Q(`57ViCpgsSZakJUKmW^4RN zfFk%JI>Ao!I^Yo8d;f!E27OM^Stfc`M;?r2E{lfu#$Zr)Q8@QSbbomBC{ zN2wZH>f}%Np@21=aN2ZplK>`*jA(EiPzA;O=)~0lS&i4^{M?@IFTSUJpB!<{+J||_ zN>vY(8RpcZywK?>Qtmi?;GyC;&?Yt!gFD>O7vwH*KX6FDwWce|%1#Xll5NJn2QX&*@ixZ-Ei`0w(I%txMFo!r)sqzq@){&>40*k ztYj1ktoa6UYN3iS-Uh|~mq0$lV@Ir9*)#Ti&js+Zu)VwT{d18yf9>^21{K0W#-q8= z5u^CWKlQ<5Kereo$$mmu^IvS@^&m?TmQ&dV@;_Z)OHXE}Ss*Kt6zycAwg{4Ay+K#) z7s1T0eHnDlrNQB5d-j9ESJeq)PF)-mqA98oeZwExcXE43gvWv^kRV->MPdfZonq75 z?8!LJ^&%l`@CFm=R)U!^nd!0?@TuFI zqvVDS24Rd{c_YbA1}f9Y8yFp22E^@SI6xI6*kL+G(-n2e)&~GO!_rXMWlp*wcOx<7 z%Q{(CSvJU~!z1ebn*K9x$0CbsX#m~GLcbV2Q6P{-dzzX+kPy(QqjPGsbX|-ULUZi^ z8%aE;?sAGwsom&$ol^$hnwg*ejp%FvBa=q+(P`mnu^Om`Xq(+ zS=EORHGG0fvg8)HaC)pW+#e@|e%(SpZ#MDvQZah(f`Q z7$)H}!xY~}*mY(;Er=|3{FEix8x|mC8-(mRe7Fh)29o~IT)DBZ4i&b4X)epx$7mii)zLoqoXUje+?R=fGe@>1 zu@9QQ3=~8!&zJ!Xl^2T+^S?`P3REo@Ix6+KrB3bvA=Yk=!S2p;w4jhF_9z%jJo8>Q z!Xu}<0j(^9g>G(iXr5`n4p2rufk-;<_ll^CM~8SMFUE#v(J{l#I}A7P*exK?MF_cc z3&PJ0aL4rmZ#2>6Y*f=XW;=K{OA!l4cm}k)la2WC%MaF$Ij259H=BtTp1c^4OWOtk zIk;marzXej&Nne(pXX>ro0yv|xOt-|^_`KWX97zUSd#-zUG)VmlEHd6H})Ig`JyB4 zDj|^VJ)o2kve2T)p%PV!4kd10;kGM8eG(M=cqw zH)dr?pt%5K`3U!Y96bjyjNP0EyE)`&rHFWK3`AohEkIvhLuIO?gOA@Ah$@>i#G5nn z{#yCbI>tTKizPc{e}SEhOk8X}+$t5V#5thd9O0WS@+6=rpoL-^Nvmqt)d7OU$X4-x%VMJjWpT{P+ERh`9a-(2e9ccXKRn zwzmA`1fgCP1&S9o44dsG7Uq>BQ&?NKBFF`Br|8TVT*wnLeMvcBFmN_HLzqX2?2(KS_3OBJ+MHOqB(q_U6!RU}-g4>)Mw;2kWd z+==$%Cog6$c$O7BYJmOS_lSg;n6kSYZd5AUZSWgf=7F4{0U3a`ALmrGX#(Q<9(2QW z0Q`;Ds1*c7W+2W4e^Kw-p>5=ljf(FtQ9}$3$_~_oJo7;|yJmxQcn;NZvp{JDz)MGT z?JsSAt9qioqAuhtu_yK%hk_;hK7d(>+*CUnvzY4uUkEiE7~Hr__+TGJVsZsWI~(A+ z!Hp^dMQt1_)wnV!u>BHyJoTf*>g5DjxVEDp92-G+mS05hegy1^PLd3{IGH5xr`l0u)Tpwa_hQAAr{AnuK% zS)N7RMa7e7|Db$VE+z_8x_&W@Z`GdS+$Ms&*#OJpJF|KU#oY zaAr_R*_N4}Gz8uUh>;YHK)Yth$8EdStF^GYi9rf2{*D2YPB_zygL+kp!x~V2{peOZ z>(fM&kT6}oi7QwAp&aRcSh4*-m&weGP%IO4oS`bZ=e$^A{0T8VJf1F7VDox#I8Ro` zunpW3<`HSVMsNBn%eCiqLsVWCx}rNzrS#_cBTQp#`ups-_b+X9I4BhQbCf7>Zy%KF zRIFU~ie(qomB<`}2x8f9HN~rg$gn^09Iu^__Mt1{&-$9~Y+#|I7M9Nqw0R$A)!X>K9$fKr^w3ibi7P8#ud2}Ii*bS^-j;*b3Npf}_xCmkD!Unk0oAz0 z=#PM5(cpf55|O-n(EfX@<;rESbx*p!Y|->`x3o7d20W*z&IJrCozq03sr){0jt`}# zLU*r9=w<{L66k#UrhM&8I~D+*$_G~vm6!~DE9Bj!=3G9wkK+HWT|rP5?d_+Se>O6qW>_n z5QoiY1yQFOW!SNJuwE}-u(mn0Kc>DtKE8x_SXQypJZx5%SWxOn!FDePK zXNMdGz6po0fdSuuapO@wkCm)Y+F1s2_bRZivB$HIeY0KP9$~Mm^Y|LDC!P3fr+{a; z=xry?KMRnnTlz;049A)D!{tE#uj0z*&@BO6qQ{saQ_v&)HPbyFm_w;%-{&ucHw^(} z9)Ft@>t6AN4@8c>8l?{3qIfcxe0lk!)K`-3p?l@b#J;qOwT=3D)kVZJym}$?rnQDS zg?|Y&<`ApeHz?(S8$Eq*qh+OlQ=7*sfvnbj%*2z#y{vq!e~zys^dBtz|Q`w2Ft7EK&Y$-yQaCA}pWc9}+*0 z=?WdPNTq!_1=Uhc4kE^nyn8_I*JZggr#~~+IhQ(R|6#syz0+^5>kkI1Gs~{!-6;fN z!u17OisRYzdOxjjW!d`!u55l3_^P>r?z8DN2EkX2a~ey3?01%+FCJP5iadpoKO30(B>lttjT(pm7Gof-Vq-ON zkju0^7M=h22KOA=v#mrQH;!O!NTPu&7HzV~=1EHGOKH7po9i!*g;ZzRE* zloR85XaFVE$e$2rjfN%T6+>iUw(LE+P<%yit@aZWOxkEiifC=BeE=o)OtI9ou@!u?&kQRV)<}o2nC5t2#@P;ZKB#gzaAXV0{oqSNO`Av6RG3e|*rvh(Ch<0u>oV~R zSh+AJ#}niCfGh~GJUu56LSWwuZFCPU5Ey<13UQIV*PhoITVv0jeTd=QyhBgvCf2h7QFi`y# z-eDVoR0c$y(a<{qs#ONvVt;Sj7i7~jUip=V@^SRRi(x|p$J8X(Aln`XQ*_VbFYKM5 z6V(@TQK*^S8Cp0M1=ab_iOtJPa`{|89hQy0h(7-~v*f}4sP{hdf3W!Yc)g9s4FtS` z*@%Gx>y0aeeZC3WfEjW#$fk&%S+f!lUswVs!7%86&B|v}y8o0W%s3;)9@HSaE`Vs% z!cDpJH;{H!VOh^<9Yw&JrhxhF2q!noK|~dqUU<4T0QrZ?jLF(yDMw@ zKFH`T_K~9$ipN8VSB6vLBSkunSCpNPjdLX#41Mhu18hi<0;ocx=bU?~0J zU$+&sw>GyDzz%x84Y$QQK|*<%r@KX0TlKf9JAXa^09k(alUBP_THWyE#dBm*91nFP zfdXUqTx0IB)p*JGZ7ql8%uxNHqe(?@Dxantp8(5zV@6{Vd16Bk>FsDPn<)Z`$W?ER zJnvg`>eA2l)TNQ4SQ@1Og<^N(I0drTz2A3zaCsFevlc>I0DjV6gd1>h(k?$X!Nt>U z0vqMc2eMN&W)`%a^WCNc^SubBqvm6$iZVeNtjI|t+gq~?#y?5g*;x&loA>^XU+(T7 zqufl4e$#Q#A^1JlLTnDxUfu%mFF8_=PIIJ)sW5ZhcSlQBx>*SNR?Hv;v9^l*@k8&+ z_UB9@l~hAR*D5~JOz{ckG&0v6yUd6cT$VNX9Bi#ur&Dv>LE``n*M9XItOe?oBfm(& zAIxUgY)(Ndh~3&>T>lxxBpGuX0Gk0=&fF z9i^HqIc}i_lPb9U{A<3->%SX%lQLkagshCjBodXq_G0sQ zO|WW9Y9MX~&|Slm6<-U4$V#rMi2fk^=hBCXTuiCHZpBb+NSVtAwe{Q388rzc1K!4< zg{JvsPm@)pLyP3z$fSzg|14*&jJlmpdq5v`=QG*ubb?nksN=gC9lBiKK>VG9#5GreR$8WK;mA@ruqzO zjF{DTcXL$RPjjTRoQ}lEZ#U*foolz<6(bu=0xG=~eM_3&gdj+#Om%Q2%>xssmx}8= zV7C)Wi3R+RW$=ovfKX1Zg=fsky zl<1?w->=ehAxhO4z=(dt?WuiLk=N*34=qrZcxt@G1rLvcOJM-d2#_Cd%E2vQw2Usq zWJxMLw@W@Nb?YX;xOw=wxFv*#v2FyY@9cOKL~B064*nI$LWTj{u;_m?AwQtuuBI}D zEb*>$(fKUJ4Cz&Ba9pJP3)S4ogHLxa-$UKG7NhP+!w+sTf$+mHB&Vd@opam`lN)NK zvv_JFK%gvrEV6bMHNr$?=CFJ^Wvb{Nl-!M+iDo40?ZE?(kK2Nf#tXMBA9k%iU#@*0baognlzd^967p zVT;_-UGC51m#8{L4e7**E?M2MCE3deSipxu8c5Ny;zfJm5|0CwNK*w;AWv;%QiiRgmg z2Dtu{2S|OfKh~)AS4Rm48;rc?&9g?qbgU=*hi{4S1MNEVM}UH1q{<+X7lb$diAt$j zu+n|Hm9NHL7V{?=GxzQ9rAbExmG>b(wEN5Lfhz;;wSbZ0f7)?CF=Dt4H8|j5%QRMzh7U-H+7!NL5=VMFvf!))9IvbqY%j76P3+hmDLna@QZf#Yy zdDZE?=o;qW^hLVr+25ek_b2;f6t-6!=6Go3CpVk0XPf5E`P!?CB+bexcuQ94I93hR zqyX~L>PI~$CscbAy+yh8OiD@^-Jl#NhrqoIGRKEE0Hl>dcsRinK7t?4Li9-}O-crf z>RP`WuL8}IndZKmEl{hkYu(1%C3j%l$zWYxfiN3vj+NvZduLoZ3N&xrC^>t5+me#g zeaqTW-MTRePd{_izD2caE!%%aOTjO>#I!Nj{1wM}W#$r85K{0LY8d#LgBKCMzi^_) zs@9aBKrnV<{iHGeOgv~T7^|kx@is@Zfwz1jlp3!d=;&tpFSY=c{ab#^mrsC8a0YE0 zJ`*{2uhq@$W^{e<0J}p&dWpVOK=>Kforw@eyPAlH^ZU|31#!7lVA6|44tT*@nxL^G_ZFn8_=O*S{$;=aa+nqWMFJMisbp zg#oC_|Kp$NJ8XZy@c;5B`f3)?e?!0f*PqRFO*DXnjLin<`5@%>C}(@%cJJv~C5} z@-kac&kWB%Je2x{A+AEp6=BzFpKGDtIt7 za0)2?7#9+FZK9V%pG@$EwdvDGZ)KFn`Cn{U!AvlrDiT6aPRi+ zagF!$HH>3dIdE?evIdEaO58W&=`!Dlr5X5HY3!*RbKH5)1{ly2&{-rSkH|##Ra1A$ zv(ib9@u_!a0`Re!1+be-1&TBDd}@t*L$0+u4n7v&V?9MbB0t=n!d(i6k3oB^!_B?V zi_MN;W)dnsXzZ2!3> z!$ue1VqhkOeuvKNNG<5x{tKM4Bbhkro{G8Ibys)A>mT|CYY*V?@&%F4Ut=cDO5m4} z$H4N9ZP$~YAO;tYiE3kWthZ*+CA$(xzp0sG7d5z7>DjnFKA@tA6xwH7Pl~y5&||#+y_x#-boD^GINoKpC38)Y>Z(a(*WGtvUI{v z`~3%@F*o3>UqK>*|JDo_KIW}$Sjb=c7`UgCzt_dtqpHWyQpxy!V3(zHDFV)}sw@6f zV!K`}z)p$l_LcaTzHqkACvC8WeL(m4e|V8i__lY~C#K#PL3JN>!8SI{&Eyitgv^dk zFLJbaKT4{yK)n*iCb~C@4U`yW-kYUzmmV)2TxTyJS)!PpEm{GI! zdelYj2L`vn?jzPuUZUn^Y;vFEtXwnMzq9N1iGM5| z@t4kMGlzTjY*4Zs&<*r#geO0#1SgGg$%vZhCxX{zP-hn|8qu&?wS#RF{H@*|Ys>Dw z1%^|W_@I;2j;t4oqcCrm{vz|94O}yq?>`^y0r$&8(Ek@ezx$9fF*STU`On1_cnhi4 z?X^Uwt*gTNy&yZ*IMI|lg|F0GBM!EyDr>Qm0OwmsRqJxzuW@Xn*(X_;UqAIqcld4e zO==aJoSJf+ePs?0;d#pjH!nt=~q5SSgUK{N#h<6iON&i9z~K~ikeA}!*0b3C*LiSuh3~yK0;TJWg4#0>x3%?;cPe%Xc)IAT zl3f?&KH0Krbz2g&(IoJ?)w8eC$z0W{zT?B;xAVFVbAwQm1{Nqt61Et|F;UZ^L^5f&Tu?Hc9ZM#NfHao-rgo z{CpX>;J=ROVjMLRf=EOh)Ze+XSJjOv1}l3TIzc`(w%Thcq>m zHcc+$A>`M=m*&8~3}`k0c@e@G9?(0H{`z!^{N8HdOw4~2*Sc8awoc7@U=s)-9(8F| zJpKIr7L&zt@hNuI+dVdM{nkhrJHNK;+sZq`NnE9xJ=W6CRhvOe&{RFf(P1Tu{6@8I zwy$@)MEC5?ePYZzRfZen#8-=I0-Ys@To0OB*XT)j#P-;E^vd!#7qcD2ja%v-A2ty~ zkK16+Cv8~jw4%WU27Ha;-#F~+uEnGbn>$#J8f+fW_t+H^ufJb#Y-!#1-g5gB;${+@ zunq2- z7EgZxsrw4m*W*3YC*<2}#KQu<{zxklU~^ zuCRnLID_rJ7{7M%J|@q(N$5-gY;4$$?ELI?{d~BH$4(~6A{}=rtZfpSbZ4= zLus;Wh~tC2w^!U3%={rP{!^8mmjUIwOCt{2B4ozsYS4uqZE=N8v&;R2Hzxa~rfW@C zcK&9>EE32U` zp0TbIsDMMo7+8DvRbIQdn=6sP=5okm*3>_Y&&I@+LyEVm_KK&w#}x&S?aB?}uc&(8 z&`gvTdr;X&Wg2mnx-+!eOB2z0zwNg1vYOnke8{FGvtdMAG`=*0eB7HFTMSDQmh#>I z^7-sAse1mS>K>6R`FtFH#o;p7IGm@nlA&y>A;dlOD*fjnpiG{MwYyF&lh6is2R*x> z>g0LNC>ZqV$8D9-(MrL&ofNF$(>~t0T)$0@Q25AUbON3A{JV`V(+!HKC>W{t>Xu^@wRxf{ehyY&xyw`Mi|7v?@sqM1+mqO zCAxh(_zP<x7!7a@ylbUY`xrPwRLTWsx}vxxjDy{9k!A@^_A{UTC-0{UKbQVY!O!u zQM?<=)%uX!46nC}Df4}9zbmplY4;#5mj;p_9XjtNRk$lqGxO5e*X^LH0qlx8)XHI> zhs_Xap9mPW`tr1CxIMbHkU<|FTD)-=RUOaT*M3p!h&a0q%G$xUj+#>vqMRSAu6We7 zq%f&n*jm_CHGq5GR@Jx}jH@x8Do82}V*gW+-E_CgUHcZ)vkcS#m$U?N>{QxO9v|2hpB zm+C8Tej`&?ONHIIr9-ZJ_XG(i7OW)+&+9Runp1d$Sbw3b&87zbD&=Tp)*r>q%goC(4M|AmuwP(yu$h>+ZDK>k+ie zg_wi%A3&rPBhUML7DK#FWTSB@jcIt>Ub!?231~1R^S=ar;)=6Tq7Ki8h$mV}iYMN! zI*m_Cp#5IA4; zOS40eibb<#z$6`eOkpGq{@UasbSB3IwXXcofykY%2~+kPN^6NmF8U&nWIfhA}`yN zvpB-WbYg^`QfdP#?&rFm=eqCfxxUx) zxv%Gbyi@PY>^-@V!BSUG`0~LU5@B@et>IV>Kvv!nekX>7n2OlO;iVveY-c56mFzN4 zeRWB!b0kU_X1GJ&JuqFk^$SrMw!Jex-RIWqBS7GFrInRV`}0o^)+uHbtoHR!9lq#* z)pwt3b_5H9yv777yyz-N`v!UY^RdGRojQFiO9Q^>i7bdu3#N?u;L@tiJgs z64I7Aou!WMJ3nq#!;q>P*qz=ZxO~L2+oukuzH<$R-#5k8gj!q9Tju)am;8CfrtXVX zWE)*Th`RMlaYJlACDgbDs;!{ep71Vx`mx~_NhCT>ntks2kR&$=eQ>3-=z}AwFgfdYFBer~g$3XE87=w;-&aK5S_W6CI@{fjaVY`s6pu&jQd zxrFVN!A4a9uhY&_JLHWh(43ucFIBW!Z(bK2m^!}Wl^%gJ?~X_ORmJ@q$qsn$pc91j z4=xlLn6nc-(l@>`(7vg>*%L@MAS7Rmw1jl;gyoHXYlz0y{w^Nz2Y=J>(rA1ui`n*8 zAi^jFfpwN(S9%Vl1&nk@^5gVg>_gsvwpZc~RkTH(tGNi=(T0PmtVJGK~`=~^TWmL9wp^zj_`&@KV zt*QV;FMkdu{#&gP1L#E~(7&%l(%5Ys5Gx3`^CP_3$or~ zb14%tMx=l4ZcgJc1$snQzj?j+O(fz}wbA~!&{NgQdA{C^rIxFV@nB>fIw=}=qRXMI zpTS)Eq_5beXu$gXc+FXFCjt*&RL27^DZZx)E$41pw6PylEo zYmJZUUFkDIZVvC>MVdc_&q~ff{B7GG4^FG?lo=soT=Ci+$e8def-HnI1$@R#`ZQRY z5Zk6anq}*%t_!inCtY5OMzZsU@TYmAK?(7HtqzgEo25Yfv*STH1>$xXFtn8W` zaE>2`P@!uJkCU*A=+lc2_c5hq$ht6j`hwoT^!Cu<0r7kJF~K7W;As%FHlH%l+OZ@3 z#9%u6I0WEt#@PW~WnGaU8HM>lgz5VPwzOYMOd!W(pZ32})$69e-*im{R%Vx)Heky$11C`*%?r<*nA^=SQJ&))t0nY{e;bl+ zfQX4F<||wl9hb@L6*H2!mnGv2^yMF{8q~?lEEL=iI`g#o>gvr>wRgamRrPb-8ka^9iU>X+FN&Jlc205;No;S})ltio7GT_Br{59g^b$pYS zjAbc$Ts(}Nm_Eo37Z&%r2;3l17j#h<9gM96S^J8dzvanJhOIg`XFQv#fR@r)Me?;Z zZ)W5qxa5lzXo<6pdumCjzIA5p?aJPNxt(iDl|LL%rxI|XPVITX@tI(Sq@*9(A3`o2 zR9$|W)3_r!eU0~+_FMKmrA;9^jA=a(wY=uAvSpXZ zEnRq~?x|Nc^2YAeOg!1cdw3A;`4iMB@HTQfo}peQg$-Xad5b|{hvQ`ouQa@0IpamBIQ59E*aq#F4wUww) z1br*tVvO&xPuY@n$saypI~^bp9!b*W-0-EbY+qc6t+o_$_D_W@PtCL+t;3Ka;tI#r zMZw>!G(Hh?$`%TJot9s|>LXI)*X=^jjNb!^sU)-xzxjS4Vx~K$$#Ai1sJipoiiJ=Q zT5L))IK+beC+grxhQ-)w$IpLT?-4B4*4)?rrcX~Wvl0^5znPE*0vFjrN zLr!O(ST;VNYp(s`s9v@(CNbHVQ0Z7pr8b2s?qmXR5$!-LpRcsdw%`G^qSe`!4m$Oa z;3FZ>nB}wJ37h=7TdXTX5$7_;XWN^0KlUa@O+L4p@@w1*<#8_zn8I_GS?SOq+ zF|f{_lIsooRVPv^3MY{(rlwE`=XdtK?x1btH8(+U z1mwb-d`WZ_@YrLN6K4E6P|>^w+d`}E2L$J2Wqkr=(phkY%qp+V5kEZHuxS~!o%`_? z=669aD92Fv2f12&QS3+N#eWuU?ccEvD7b;Z&=ay3zb$Q}F?6Z3;0|q6{GxWVjlEY6 zl1$2QZ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/images/compodoc-vectorise.png b/documentation/images/compodoc-vectorise.png new file mode 100644 index 0000000000000000000000000000000000000000..8137403549b3c75b477151c50079e72c67be879d GIT binary patch literal 21325 zcmdqJWmJ@1^fyc?C5=+jASEE(As{d`jC83qNFzNAsB{l0DczuSqk@!3cgoPskkZdJ zc>nL)|A+Ve{H%wyW?i%9IkVSW`WLA2HoPs?RXtI0U$l@%l}E zJw`#HLjlP>eeOBEo$i&)r2U}+%EC~^Znv=sdFqZjr8&O4dAC$PmrVNEdh9duH_d$! zec8HJ&dvQ#@VS(=R za;rUkr;rR^U&<;5H90?Lc%*CVVIT%l*#8IqH1tKuDlVP&zMb~1sh~WU3Id~`^oJ{4 zgylpY`R7XW+Ldje2A{vRdm!$sOlyUSa)yEulD>PAU|Lg|Nq(4#$#nQ*aC&cGw&_^j z^>_@`3I|z&m7>WuVWB0@BRuy`obL{^-A{poqc*<17R1wjN|Xas6b=5laGlam@WU z4z>jeE%OGh0%!Cn-Iyp}-n(%bT+^HN-E=ljagL{C#?hkr`=X$1%j;f*3Bc4qwij&! z1lYq1_H+B;_G!*2%jhVZ$rIB9lYDu4|wkR+#R-(m@L5c81@s9)K^OPGVy6@1L_+?sP%4xarjB3KDs{+}t zbXizewnbOB=V{Ym;^GUvr{vw;_s%+-=F~5s5?k|zG%LDjfJz^O)*Va{0vwR$;hj&g zpvrfZ!Q8X;%I14hE+P}uU{q!XBNhd~UvI4mE=4@)qp(VwX7%+}M zd)9lG&CjpO#$LF8>W)gdB)sk6?F3o5^`S%yLs7%9eb3zh`EQHEV)_TNDDLkBwo!hm z1uv&o850tKa9#^0?&wkV_fBtruYKvcRlBrs+-Jwqyj8&o;T{!1g2U&=Y2eosp>MF^ z{=Slul0xP6MQ8FCzWGOI=UrY~T?HET$&PF9`=m3M?J< z4uxZpMwR}sZfkm72RqBgwWoMU5ud;b4Ne;%pukR*JWRZB^o%S-%1!rFbVgU)GPj+5 zE^07{vKL>w(X2M3nWe>Tvs7fu;f!+#wMIS+;B-R1-Qq@<(&9_5>O7+n&bXJ%B&_0| zia}#M8gVhscqsR~JQoAGs@vIx4i@Fsw!PGMS{#n?v(b@ktatoPP0hvu`4U+BUT|_p zf-8Zfa&$!w6Tlk<`;#k^Ysy2<=y0Yx_$m#GFe?@J-Sb5#izsp+D56l23*{S?a{iX! z0-2c$lF!95-@XX>fW$j)$j8W9*&03A+w$VhpT3wx>D1S{V_i0<2Jz0GbRPYj`E(-x z&nt&&7zvmw3ol)N1;#50M@6DUye*9AgD|CU%NQE<9LF$muRx;KZ;=V@XTjof$|G>G zN(isBA8)A>S8_v+y%?+$Uor!t=}!!M&J<)hv_xdcvBD%h0ZZrtiGB;LHJ7#0sh)l* z1)&)F(}l;>mq9>@K8j+t5>#*^W$I>Z#fGw;n9_y=vC!}D+V?JGq`087+L#0$?=>fO6{b z;NbIjV_Ya24-QsF)m^eUpY}O^g2-A%h!6aT4kMM%p_Eic!uF>9`>AnktJCr3gMN(o zcdyBfmX$I|FhDI|$Jy`629Ec3cV}k%g;+J0*;6_Ch9TwHlovnuS-bAAJlBCPPfVyU zMMw{)NvgZ z+AOLVp3cf+*aRid13Z8OAX86;^rU2PCa z8LBOb=GA#|H9Q&irn%F6&EDXUx&s~cspQAj@93xj?MB<;s3?ex4K9d70ZB5-)Z9libm`B_7NzElx-X*v9~PgnSsNu9!Zg&pY9= zpjui9Zl;quaPMrD+l{=$<*4wt`1~2Zg&Ts2_SP2#9^fyH=GN=`lC_iSy! zy?rVh*F9UW!)lf0xm>GeQ+gUK#TMCgf{vUR)+~H1xmCWMwa2Z)=DTcGuVhn86YUiD zhCW5rGPdpglK)0z@$NNt(wFk{hk;6c9o3#cF(+KKN60(O_(xHTG|A7T#q)!R2wC6S z^WNy~M)aoho)__+f1EzrU04hDWKIG{b4YcNSKUX1U@+2kV~*x|($Q%!MJFHiB+TCY zIJ=Cos8!wLuR6l3&`#%3$%@FN)k+TeopFN>sDiqTjH;2pJeIj+0_i4pOefKKeMd89#1V_QxOgNVU~SKxMv7h3#}XTkF^K}&Q!8iMo9=p z&~)qX8J3J?Ra9;Ba|%=)bB+|3lOM`Pd}eeNoIj`itJ0;~d~lj|NDVA9V`|8v?7B

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    rDyEFG=J1n~GGY}B}aNyqxGRbYf; zu6q@Oe<<(Q-CY<<%UCqTe~k{viEn632IAK(!?$&MMi0AD zs!0M@p#3MtW{N_*Xiw;V)k}xzyjK@cMyX}9>mwhe6=Dc(>HNFtMCy0&>zvz)6a9+>x)Cygw*QW1KWvypgB;8= zwmB|L|1yAhf*Q1Ore0G`BI0wc0^4uiTIY6wO!TZu-*cUy8VvpTR6y5l^y{jE zq*49SMqo+a#}vOVN>b#=^KX1WfRSrC<-A=q0x{F2F;j3W+8L2>4{o*e8OtKd>!mgc z5Ia4;fb;$WPnB<9yBN zq^Hlm#eVH5PLa>*;rm)eRRPle;i!iR=Sksw`65x$sV6|)^;qYDyd+`tK|7Wrr$md9 z@X(ErZWh<*M?cG^W89fC<=1WVu+ea1lE(!!36MNYLISIoNRh+$ni%FL#7>JFiKB%u z%*VfcObLCvndge=g_MoKWLkYbRyN9^H-2|#550`3)a6fqe^uI&>%GiVUmw-6q>ARU zeLt1p7kl~oJKX0=;+qZ~OL!T5`Iq2wQA7(j3HF$>$3@tH!TrpcCrlgo0-N3=g{B;3 zT1WH`X<~4dUl;hy|B9o6jz55RGgHko6*CyH5qxy<-d=jy1y54tzIM^B@{r~Wvr&O*gfaTolfPg2N_w~<1alNkEK1@{V}wrQ zU?SZ;w|eSv-F652L43&A(H1L7@ADVp9#ZNz&kch@{pskigUJChN{fHgXq-;E`E1_0 zBx88D>RqM#sc$sB*LhygdT{T$NUE>AVod@#8Uy@9s%`a=1e<#;u@|;fWF0moeKzb=S>it~Tp@XZ4>PcYbhx@od zQa#|BcY7?|J=iashEthN%6#F;WmU@cA`u}#(OX;US-tFg=JKj|oSpSm;Ex&pZ0^80 z11V9d+>XS){pPQG4(Dh2DL07!D)e!ht~Ct;3-n56bC=(+#ObHTHci!P#^+E=jSDgx z`U}cAJt0(oK=p3GZ+l9MY?xHOihcFCzy#+hd1r0e&>4Nn;Tio1juDp`Q%l*`OOWv$ zG_<$>D6sPFt^-qwlGeB-$8)0%@=G0*1O8*U~VQUb14!N&AO+6U#H6pBD@9u1uw9xXdY0U0Iaq6f_2;`iS=QZU`9E%0vH^b%%mK&&#)S1&DrR*3z3+R6?%*{q zu{8(1mc(Du(#YislHRDrS!v!=Vyb3-PtED*fYlSS;~11NJ++pH@3YP@|7yxyG+65S z{UoqD+QMON--6rBUI;!g#GV4vX$Ly2e#NIV)MfLjwK97Fja~4Dmo72Ie<*$F|Ndjf z;#iPunpm`|_xt43hwY^QReSMAp3A0#N`q&{X-LCTl*wQHCVxgET-^%*T;*ck`K&X! zf`t0NrloZa2R15G07kRx4;}qHRd@8<4Vr0HcKc7A4#>AGm(8p<775`EKZN=2zWbLK zc(EJ>tJ21l4*b}EPd#Vm6Bm^DR_ zHy+FFai_CsZ`yoA|H93()I7p1fCT;$9e{{x>5A;HKGBXI8+_IqMg{hWd^t3a(zXUJ z+5dk1zI^mV!(q8Sa(?h8Qs3hk<*%20%e_T2u4zOB3QAsHIBW$`|H4Y_roJZzjt4_s z6|9@TicmSWh5aQ@==F3X;;tb_$rHDn+F+{|fq1aOe}k=YCh2D-?+;^ZWkQVpG%~Yo zDdN9i9|2`@=-wK7lj7!BBz62XgYbWRM4_To=q)k?)bx>;V&whrh5zn}1!k{x7Op+E zjK};7yVSp><;}r6;35X*toM%13qPBdI?MhtnX}X!i;>#g?<|!c-Fs5DX?k2n>;=0N zH#oPWkA43T>ET8t#U5};4ITE)eSZCzy4!G&+p*ujSsz_%=97wd+GXTm_ep`dhdJqP zcejJRc74^;_OG8v7-=(jzBXU$rv5aG#v`Gxc|HH%{7-Y0_~eN)ZT<3>fb`L^$=6}6atrNN(9aL=Hx<8MHnd1c5|{g(W8}%Tf5a2PUR>Ns~Js(4k|2X z%F^-u<7`D-Rz_QNnFL5j>G>@ZOfF%4+g~f|1RkD@d5qBDc*j8=@xpw!sKrjNXK3kU zHc92B*(K4mhGL_=$q2mM+2E+yQcIb-pFFFhSRuW*_lXEV2b5^4Vy@womMl%go#cB0 z9Xb6kF>>LIbob+;ttNKse$C#ITF@JSBi_Xg_ywAv5JSGiaa#9&ua01yL&%iND+K!F zuC8#irGNDQ-Psh@?e9$%qt7T2eZBt;+WhHllD9>NEZbfvxFt18@epUz}24$z<%cEUy%S|8ZJ8H596JC)R6Op1mc*=A6;CC zWDAo_dQd^iSTQ5&Q}K_lNdYgTSoDnhhl)pOeBUu? zS~g=q6p|qOD0Sn~chAnPQ=488v|6EEIiZub%{0kd>xv78Q;_uGG`2o-LqXH>LS+m0 zRbi$P;Gzq`jE9cW?dNaHT{71G$SpnWf{C1IdpX~Ol0$PEZmx;`=>&eDS?D=hh!n{E zwSt1Ye95Dh{Q`oXg}MS!xng>acE3FC8&#iqvQT_!=~==UxfRA@&(UOLd7{Q(UMr=P zqm)DZO;|)(ikYqWwEzY9azEIr`C5O=u_0g`1)~EG6{I2=c0Zbuh_C~leZsLvv(rb2W z6+)1*6UFGQFghR#d6A7D9Po_Ahkrg;J=WeqoY@bRe4<>sO6~^aE_0SlQAS+CQ~4pk&jJX((K%o%K0b)8_7p~9F8tKG5}X9i zRNSf8tzP`JQzOk7YosM@0!fiHuqX8S8#pEAn9oDd#oYK?ie_vu=C#1$nYqE(ccNee; zZiucjoTv(^41a^mrl{mFE#3uA6IIDca(nqGDRs(cwgF!tD2mZxkBYEW6@NvH#HH)} zEA4}05AHghHN;8&{d?-I23?->js+ElE${xPtfsgUDNuH{jYwI3Jk7Lk;jUr6_6iSy zge0VQFLxOdhb#yI8r2pLLl!K4TYhq%g$#%Y7&&j)#?QqTHJZ`*m3s}}Ebu)NtMXcI zyCo+XVMXG1#%$!UlDN{3pQc%gnKLp@@;sT+31kExBj#IHqr@t2F#vSif@^+678RI` zii$8F03vjYxb~G|B`gTHUjh1Hzk;v7lZdGO{htT>dmhu#fRW_Tes=oe(C7IJk>gOj zPS%U{v|{1;Se60~^0Z5_jJ4zbNv9vcq)JCOMo(AdO%y$Z#$ehgC`^X%FYci9dHK-M z8oREVeRi1LvBJb7T42lOmk^jG#k;d9pxeKgh|uolvYsO&F;{t0OPa}x4{R(|PKF@o zq=WvtaRT;IWAaE2P}=Cf&cPw*OA4BWEGXZU;ga4B)KhBDlf!%-=WpcNF6Da?Z?(5z z;uw4l_{%DrJw~auv!d;;((1B#wJ%~n?W&xcu`?M{&K;}4 z(Z~5Ur;>{oUx&R(3C)gs%6;;ofy$`GckGl6S9r?@Ups1@d_7Z3FdmScDgN4p!x6OV zwdx~x_j#PBC*H;w>;a|Su@x0G-JXPE01pjX7P~rO%;I=d!I$U;4f}D&C>z-R;+yqNSMGe`(Kw$hv(OK+YoZ)&a&LWm zZH*fuVJ5#?GYM?>WNN~@Qum(9FGwyvG=_GA1UP7hF}M@WfCvGh(_=2x%h3Ed-etSx zc?kiR2@{+qSkZe*{PWE=NI)aBM!_5r!?d707wIX@8LF^L^PGy2E-o~f|7&*_7da{r z{CODiJt|7&RAYpLy{6a(TYh(EisR-ZmzV2>8N~*<=Zi%7T0zpZ86K0am5a!NzPV4{ zoJ43f3^b0dnA&?--Ou4XdA`Uk)bot;XB?7rIVDEcKSG39M+8fc{2)qgHM)QnW{dSXYn4d;VM%=?NR@V zg&NSS^r>M`SmS+rFT0p|-i}S=>r8t46nbt>uMZj~W~?K>gF+_1bmM#C1iR4ME!np@ zUT%fnE3`m#&%JX2KY2pI{GVKaxp%W_GLh^wvCGI!*+*javlAJzX(EG?K?8;U&@--B)MEyka$H3o zIFY_2a#h}|Fpxb$kTCX{tC|^WPH)II;Mn}6gDw~dY7z_v}q6YBJ?W;Ov z@!4a~CA%QRZ(^sY9Hv2T(k-FEc4%5*o}`?&yzF_!%*br2)jtej2!(*9J&w*$HVRSE+ zVj7$%^_CDFUHyxF7fh-iS)2iH9u2vzHAj~0JrYGhu(tVkaMFD4MeYfu#U}@ac~)MP zX|DqtKC9+T5(1jfL+=>eH@|jFz@^(;9hJO@T$7IE*aDB}`%JR@4_Rjbx7N zF=O+9(YF+{i+JYuw;`67$;hVkQQ7J||(G}3Q8vxD?r=G+-{NRGPjB(lY_he$FOCXM(Mb`~n*PrmVCOo%`9J}G|-uH?F6=^ec`(z}QU4_+Icc&WNpGSIzrb@1c~s8wxxY%LDJ^4hI>K-eJm2wWxjm z81N#B5^;DfxJ-G#9)G>N$w({XMjSYxMHCt%oMe!=Dv0}m1qDVs$B6s!QLWtxaI|XvHG@t*}FQuAP6Uu+Xf!kfEV;(`AvflfOdW#G+8><+e-|ghA8ZWD`Z(NIU?Va<|8e?N^x_yEDK}U{cM^5pd_W`ey z&p!fIpb@U@{r-EP|NIz_8)@^=V9)32w-S!s1a&rQs?7!AP#5jQ9*Ez{uK?FfxOE?6 zO08+^_;42PK0!QaDzXPZK!V%BS{(ajg0^uGe+%YIzUOya*%Yoh_NVguvAm4j zLuA^)96*FKNuGNl3hAK=W4D9rIj&j)m;g9*-p91snRCZOstgHLP`y?8`S-o$=OS-} zmfKI84Ox-i=qgm<=k2Tdz8_r~Q?K)o882V%I>dvMm=+4sMCoYWu+j+JnjFr~xv>pE zDnd^i#gua135E2x2stt!QI|p#irfw-vd{9nDhp5w3N+QyI zJHtJ&fFy&iUp_@p7G9uJQ$(Q`veOu)gL9Zg@Q=wlz}Qyu65`xgDM96QNV$L_xVJ^Z zBo>2Pfs=%}?$iAh`)s6M$DA~8{?PrJ>N+pOoEpHg^F82!xsSPl)#dH`KU7x(4nD-5 z4VwT_%MaRI8A8H7do~j!NORYDj{Y(CRDTU(ws41@%`NX!@?|O#T1>cR(ydycs^h{D zgEW9G82u^@dL#Q@fL_2kvBRyUVYx+PV#-=2BnK~%(^ACE^ekRmV@ z#x>L+_ga(A>0?oWb^~r1hIW)*{hB~TOHBgl{>jOcqf=H;y-%Sf^t4TOnjJD&-rvzQ6t|N~O zI{s9`_`Q2lUNJXY1(tYe5hq?&inax~mu1I~X`(>bpN^(!&QbWz(nwYL@!*qv$E50y z^HFn@S6dOxbD0b{IBQyOa%pC_YQFZEJ>JvGCzLSU!^tW7 zW}3f+IYBL#Itx!Ap4tVTmfI4P`E$zi2m5Vx;K&=`SMu2@`h$Tchfl6sFRXD}Gw`jg zM~BBBq|Xi)Z}|CgxCXy_$&xrp$taMY8lB;_7fC=&4_FCEyaAj{N8cKO=%QHN(eC9^ zwmfFUkXTAeb#dv8w6I?(Ny%>>jdK;6cgOl8BSIEOE{Kgh|AjlE zDQgiNH{ZqAE_+@crflyNL@sLapB4@S*p#=tBB#j=mBst-P1rx=b z)1aQ6zho(GtaV*e=lHy*GcW>6e86dMKSm!(Ve#&zg)uN5F2CTPk8H#c0Tut@b(_eq zWYw*Ui|7(JvDJJngESk!7?zy-92YWk@tKW2z*&S^z7>+P|0u?#t+4r3!jx+JURA5| z&a_neIOr!u`si$~jmepnHdRX}pQXLg6^Hj707@X|2UxYeT5Vwdq3f`|do?yaZ*t{s zJs6ub(e`wjoI1{C6sX*i!;|xzqTFpk`FLQ?!!otueAAx>6`)s-K(?M& zi8*fh-Vj;P^yETCO^bxL=U~faOngLCFaP@T>Lcoj(Zc6Mb8pwqCVno|uRbpK{SPzC z3z$b6Gj+a6%=1z9q@AhK-Oa5LdkG2ehM)skO32Mlm0;=1-aG$xSHA%y2kOGkTprF$ zC(yd+nr1dq_Yq7nCJe(?Bh+krRZ?hQMNGB67@77m+WB`pF)`2r$D(e}(`FvVj=e)i zZ!D-#KRr6On+)owJ_Sw=<5E*cMIQmlP0fx!XFM-Vo$?p~Cqjo@vJeAV3)9!F4Mn3h z;VG$OX&R^%#k~YQ=JC9h<7%m=w;72g5C4@f`D_b4s=-kfdh;2tbA3lu)nIzKIPfQD z=>2_f=G3wD772ryiGni5-Id^KuZ;f8`P$>=u8F;`W08Ox^uKk{eJan@ASr7$&ewMw zg9R;#XWB~6=xI}Ut`;OOJA#z!EB~c+=m&0Em)V7@;-=HXIEdAr+dH+_HsizNHi!rN zl;1<}YCby_>~2yGLeOPd|*VqJ=j>gAJGL}`dvza>hP_Vae#VUQiu&oVL8*#30qSEuU5S!FkVU*KL7cCjHJ$~QwcxH|zo#yfyH=5u1j;@q(xQ?&1yi`nlah$9rFlqUVlExGh z6M)XwTNPSby*!1-PZPJ})a*dY%DI;@U+z-&xslW2*C0GG}G>i@JN5Z%@FI6f(V+|??-7W^>ICQ)j2^C3A!{44SnRspHy7?sr; zjtqzsm+oVrLm=e`2%BL$T}vw9H}mtt*iQYd@_hfymJg_>lQjwNQsM`hEvWOH(HGRH zUUXVz%pN(H>tJB~@nPbxRyl&xoaXW7#GubN+>si;bd_hZ;!R0avecBxI-~!YVYM*E z>o{MK(fICvNoq>%)OSS%I9TUAiHuxyD$1k&)rbc|0!2N_s|V?irIwRbMpi2%E>i29 z0~vs*DROYZiTK>d*l!Bdn-9)6Gcq;??h%Mgw91>g$$)dzY#oM)@bC^)c#{q|0JlIv zK00^xZaVSjW<=t+`sLWjDI~oFd3JE?J)@I1984Q#d*_)zhVt@9TdgKmru%{;r`4<@ zxp9WPfcsXH?_{#?pPrbIw0>YzELLgs;Xjz?7HcbhXXPF$+|+64sN=7g?7MrIW}cI< z|I)_s$pagV#t(_5ro8$|fQTsQbXy{`ob?&8s%Jn3(2>&%BIHAvLi#w&22rPEo4zjA zKE9dt6}4<Kjaj<}upfoj( zqH1WD-Hz4v2d({PCEp)b0xQ98{6aQSQiw&tT*`OyGxb(mL8h;lHqpBP4W%VN;@`>5 z?~sKxKB)Ljr4M22x7Pvtb;DL4S;%wF9Gj2E^k2HHHm3G37ynmbnZ=%Qj<%E;5t9o9 zi3yZNc|R|d_8!Rc`WdisUjc1FNe z=7@P;9C`nmFG^dvFc=rLUqAZbGcfBjH->Ix|0@I_JCMkj*vf_GajQ z2p?P@?2M2U^oeS%JC!^iO`8&ZG*TFk9(~slWW}|H^R6iQ^L2h^_vSmTYzVNilznob zDa#~|rd0*l;GcU9K;lT&c8m;FvCzGmmoGFtP6#%O78fh)%xW`xX=*IgfPCpJ4dRCY zZ*A|%OWKBDC`j8Hh%@z2x@J+~#mc0ny4xI!x0K}RXQqlNn|=^dSgWqFHHlyzDS-d# z?8FPfl%vl=s&V(_a?agQFO1yP?`9XUQx)Z4Mnh%+-A2wSx{_EYINUs|RFEKgz5M#= zoY<3(0Z$sTX%Z%o1LxfYKrXC?w5^FaQxTAAMnGkE(-l~|o#Mjw zp2+Ua&99is}nRCG?STED)D`jiuNBF65#0+OIn+GIFN%a8?$#-sK~ZF623itD;*LvW4GyD56m3UqE~@-ikTl~>*G%7cLBTLPK| z@?7P13Th-J_@4_P30{o*sog>Pkr<5k?PaaYGVbNB$yd^zcblCW^=PA65XblsMW4S< zixxFE@Yy42T}yxT!LhDo7V;E`R5I;6>`7aF3jjuV_r9ZSukuE6{_2|4mP&xOm1ZFI4OB`@3K^I!X+Izq!K&kZuE@ z!-sr;f4BQ1jGV*ye4s;hyC}~J>;R&_;UkYvN{Q;<`0ij+mVgfg zk@Yc67?RqjQ3q}a00r5x8EG}DCZ)+Jm*kX5h4;D0KuTWMj;DHc-k1P%2|(g#p(;YJ zrdOylV@t;H?GqsWOm3{^h9aHElZIBP?OvPduJ}T0jna-g{%BmO#!OgjyF-a=AbA^z zgi=M468|yIS#^bSOMl=N8P!r5Z>I^Jjr-JzecsnnD(=YRNRNqT)w;I05F~XzrZEf; z#cn)&?OkWp7YKu7=DNWye%uZhhi-*wQyyeyekd9eL3TNhi%R`*&o#Z0@Q7-rP{=(C z%=@CBI>tRs_TEO;sW0hb0u6p4@_vx+XFXm;8^R~W6hAiD{gI?=?V>2NZ^mh+;c^(s z9pO&owTRAw-+`zA{!aRGO1%W1DIZe6641e1 zov)2Q+3e6iHvlq`H3L)DNYMLlr6pc5X7(Qb-m;&R4$Tcii;$L0ZHub z(bB34hpQ%e5J%8E`USi*#hZ=U$U47ZQ!Hc|O3O8Djs?MwUw^zVOwf6${GH3etnv^^ zMS%T~&r9z;(qn5*z*#lQrLXl#njuSbB90?F)R#C&{YU9_sEc%?Pq|Mbt{-Ey%a*=| zPnf*RG!gV^FRODpK`LM9Dk>&wdGFK*%3X3OOVzLbiZ%n`z3SN55?O@@^nubGs!P^- zL6@_?XK%egGWkSMe?JmB29ThC=^i@r+7d}6WXQ&9n(m@U3&`5fwFJVN$e#nXZ2dwU zFLhUeTOkknnNaG(y4X;hc0zweZC|R|UEA+=3Iq$(PU~l^L4NYh*S=l(P7c)cU%GmT z^88MEmq)W%$8RXN-GYFo9~Kbf21NCjOJ)Ub<6L&Ffz_x1Y)}-#KA+J8@w1TzD#w<$ zeCWWf&roDkZdL!F{{My>pv4sJY$zy&pp*FO7o%-HOcLL1P*G6)bAP{O65DhYE5I=N zxtSSv0!BKIi>0;>gi%MX*l{5WlluiKL1T9`O{>W=9^jtTr?3;mBk z=&XU^7Ur@fw~Ab9>{`3>+&cCB8$4xirQvb3+Nz4&Qze76h55A0&&P`1oY2R0 zN{wp6im~?g@keSPWoGJFspu-EnpNo5Q_z6YxxF7$2sBN6cqYoW5QUgz-{1k&ezB)! z+vxK(dYC8`Y}t1P)f$!uwe>=SsAF>6LE%i)3^q^@?m^qva$%apBX7y5%*1NYummi_ zqn^8G`69*!W^mB82i8>^cwXcs>`A6Z>dQaC7VVxAK zkSjC9Xc+wrKRa2yEtghVlyk9`E9OXuxmJK&61pPK4*K49Jc-ooMOI+baw*pAy&?3h;~NL;S`eD^nB^x- z^0CbuNt&?8m0%_SJ_+h|1xn_0#tkWE`$STe;avw%o#J`h8D>W4?{CR%O)V+})jyaa z%-pkL1?$Qgu}88XGUb#ty#>GK+_r(tx*f35#K6kMe)u7QGfL?6r7rVv;^3L8Ta_M# zt06(mQQH{{LU`u9G55!Tdgcl&+L-J@b17s@fcfE%XeI%bp;{f#LbpdsUPjZ*VVm;s z!OO#Jei~fnIokHm;;FO<<&+JWWD;#d7++K{lko@I26iF)GqY(O^O<1gD>^AS7<87* zvJvh@UjsCFY!Q~%!?bS(qv1pdm&4rn>p&qSj2kzsLdP#iE{(|AN%X<3vg9iDWfe;2 zIlR5WKc$@a;LF5fEykItkBDO04~3?L2Mh~xEi7W9*SaWn>iHjqQc5r!uVI^b&~h!_ zrG6%JEdrg3e}`)(o{tL398V=9ikFq-J;RJ?O@@ZgB&42mu&gP0(|4L-F+-qXLu~$U zlXc)DZ$<}Bh~=N+#~!_)m}yi_woCv?miIuRA6!OsoT=OEx@<;5v3plP=HAEt5&ScH zbSG>vl_VmdP4z|fQZa8AVySnfjp>=IU-hf(D=GF3yI$4c^p8f8<8Lo-XgF;WatGEF z%Dy>ccpH3JUZU<@K~d#T@U6-nP!u(6V2hAF>~bp21v6iT=HB%DK*;g_p73^^*VM{U zk2~H{UsWKGDmIFm5R<=pKl3$8N z@c`~wxG3ms^4L6H?jkcjzF#UUack8hI;^A#T_}S_z?YI5>3_DaE9xJdW{c5mFwM$SwSCNtIAKDFVZSQ4% zE0kEj6Bln7%YX9FIJNE3lDYZ{u}Rmi9mIq|sl_US`t!wuI;{{HgW>f1yBLmKPV0zd z=ZGe)%&tRqQ&6u0Eb}n_ha2~rB)6i5Wbc)J0X&?%zc>10gVRF@Psmp;Ki>Y63SHll zPRfKIJmeDIBz3-zX%x;)bsfCijjGw}BANy}HeOjL9_geu_&!)-q#D54%bbX}?AU#=%snoXXl@U7u;?lQ`#Q>BznX69u9YmBC2rg4 zRpsl`bO>FIWqy5l7qrI)f7MdkvGBN$cA)BvrBdWdfnWXLQ6Rh zZjcjc3vri9guabrr}gO|Tzh&QdiZRG_~qJiosSdtRmYuPRc5)JIKM1-5~Cy70eh#` z_i^1yrp&1>!s{V7t1d@=$@@c}&n_d3ISuj+OkJ=0Am^t{5T~>o$1)e?p>T^R7ccW1 zl0~ru<==k%0l}>$2_<7-Tb0PJglS0V)f&?kdY!maK;E=OR!PhNV=r?c;7dShrAF{6 zxe|Pt`>m94%xBfEsV>+rG1Z6qmlBlyIUcpa;k;44uXVW=otsmgl^R6Zsm#0?{Nx%I z*AP1LeLCfLWqFik$dbI4mohF{2dc4a+mc*BP~&H>eO!rhXvs?IH)0*v0{tqlS_Ghv zzn4aw`(a;oXDmg?%oZ%`jO8+y4gKa&R9b}A_?UFCVV|^dPD|MMH7Ql(e0E85Jv4Uk z_=UsvEOU>xZ{ae#UzMiVXtDhBOjGHXHmQb?{-fd$MpUixdY#et-zVG zXHz0$vo#Bb;+{pGj&ziuK05bpQ8^e&hi*o>pkKWqx)720CTY34#N2xV%`wt)BAt#` zeih;Um?dF9Uc#NZn;!er)W`bNqB*a->zgx8N2^|t-|u~A8gHc!el~-+1dR_BRWdA(BXDp@+4awRiG__-{px_hK<}cMx-|N5 z{s|hTDe3UAs*JODMK%5%chq5w?rXeUDathu<3}h8Po7118|h`$az#$|H$69!{APWk zRh`!?CV=?l$96!ZbRNzSy?FI(w%Sz7S$5^-AtE{Zc?3W~s(9sfj>I~~EwA^@-CoJpEq3<9JV;N4ho~TM5B!ejIgT zPN9V(~EJw+L5+F8P9CuSIS*E-%WFKK>1 zoDZdy7tg4|om}lA2`eblE4B7AmI@XACMek1s@2&_&vo{@R~Suu*Cxy{g6{xMhA`yY zL{&S?BofUjRWc@bQOL%<@eHDrQuG=fumT#dCbS3FzUE8HOZsx*Cb(s7Pr zv57mOzG8yW*CTOhLa}gGOb%z|6C2anTv#FsM76KWHQdDuwd(q1a9wr>$Z{jorf$oGD0*7hczN=-NPVl#Aq zZbRECU7UQe2`|O>jcR=TZ(~0UdbPXv?Uk})PWma^0-n;Wu7=r! z#puR6bcWeqkCqnSN3kdc_O}Zh7Z)(%)_duoD~P(?Yok!GCE(n5T##H{;AWfdW}%}E zb=8njhdNiaW#ef}!8F9O-KHIxn{9&%a|m$5NaI|-JClZ<2pp%TcIn{tvtJW0uly>r zfVI8)UNtx=;?&oc2`849G%~BeT7Xo(-I*1Fp9-;zMil^%mcuyM@K#o8LKZR$&$r#4 zrCNH6W-U!UJUkW>1XY0>HqvdgRhufdr%V=;tDc=q_#}|G`TH{UUt%rn6u%H#lfU#+ zm)Tj5+BXKvHGNgROKQ(v#GDkK(qoGD>@lEn34-Kf7WzsSiKfee2B`(BTY zjaq?P{Gx+I4`d#F^9Vl7v|X>x@+J@2p9>;~*QYEqg3%9R*?z5>Iy8pIM@N`-1^7DQ zxHI-@xX9j_p~&mjQu^Me=)j)c`qkq-VF^WcGovMIknsHdA7kWQwK&j)PZ4WvlM8ID z2YOmSR|*1BKWnr>ViL?r>mr=+(+lj+DH~!bW+4*+As6;#Fku=la8sOlGscwC#K#XN z=9du?i4=bnqZlvC^_8O*OiR=dGazvgs_)@{My2Z0(hv9iq_V^1VX9|yX3bIAw(GGi z97CY?)!{Y3zO(zU*TRX~q*$`t<)(H&>cMq5A!g_m@x0e!+cU#vxr(RvWs1Jsod8>LKdKY zZ*MZRt4~*%?so-$_r0?BSkE_p%(x`}cw77HNkrYAjG5K;>8djjbtxyxJD6Jx%P4$M z;OqA6wOyX0Of<2HK)WVUE0y&DPIfdisiV^R`DE5?i0UZIj%}$k-~Vad+=JOpyEwkv z(p}oEQi`Hk!U`!iy$D*-xylJf2+iw~62wnJ-k5jZKi>b}^Vc(H&hwo!bIyF{na|Agx{y1f7BQG2HhuYCI;V21 z>^lImzg!R7?m@($vb~p2f6R=-?uoqdAi>#o{s{XQhWLv4%~iP}NbJf%gEmiH#!AGe zPv8`HlE*(We5f~E_6^_m91QOXD35yxtRL8dQYT#?O{KVMI2O?L@AB}kuos9&J! zl%B8FOQXq!_kui_>2EH6M};fh4x?42Gb!E49POY?>iRvHbjq%nT5pJ?xy83$p8nV& z$`^8`-qq$|JNhr=Y|PP=8sgRwE%lqd=r_uphMo{{D*h79SP-I5lE6( zLxl+H$K@M_NQRX1ASdAv^m(HgCDbU{VRPqpjep(d@ckMsaD=d1a>F42{t7ZCIB6^y z>I}Uu{$woaY3GR_hJdWN+%JrLbpG6B<#w1kZP+WZ#nu+_dnr_{d6Zw9lMMOegJmR? zZ=)9>(m<-e{X~;l(0!)bU2oTKP7Ge4y)sY%qdPU$;BxpWrVkP>-W51erlMp%wr!x} zOXC=~OzK@O07QIaTyH-)4-i>7;QCg^XJq5jC7tS^B?9G`CuDzB6KU|-0?())t)P5g zWSHtVcs%jK9Q0)cOMmH7$eGIyXWKK+kY)N zMBOZj6ZC5KG`E(#Fhd-dV(?Q^ryTa@Iv8u>xJ&b$Q0>-$^a_a1l9?BFhfapT?XA(6 z9(jaOno-CZ95kGx$D-&}Esje#KZA%QB`Cj6Pkz><=$3jc%A>gbvLk!PO^u9;Ij2k) zX6kLk_mxH_Kq~47KyLXOkX0tNWa`izI_6kzT zcye@9q)s8LIXtTO2QP=}o5^Ro!BT+wx#9cbi8`)Nt_dj2ALag>`TK}g<2fz?PXQ32 ziyK9ioz$z3W;Smqu!IEvq%&wtV911t1#K$F{CL+w@epe(i`dA3Z|tLn?NoK%dNkd? zf`F^WJfOSS&o}Ae z=@1h6*Ca**IDO~$vN&jNQ(Uxiubv}NSd&Y)G?NmpN-@`Zl{9;(n2sHqZ_j zj}X-pz^zk!WwQnt!s}YtX&=X+VZ2+ODkUEWdE6}3wDXTlxAhvRFFgtwa7vvGtr~ew z3f^650%oshlgf_wq&#}vU6;}rvHXB~EGbfoC;AU5*JCw!btUvlvb+8V!LcTI z5dBy5UGAIG*V5+Lf*HrR(hb30$8A$32&FyOE1~Eeq{31mkUnT({v+{XO!Y*c5DGp z3szxh)ZUaNwor-@WWR8a_G-CZrV}Q2ja<61k{;_AwL@ST+3VJRZA8f!Pg?)*bfseQ zILGtlSTh*(3Jk*Od^|mm+-g?@4SvaKHIC_%Q`!ek9WnmR<_DKfm*`4c4eOuc?Dwqd z%J>Lbd;ZEXpK$qsjRE|L%$fUid4;uwcp`>F&|H7KkzEj`nSHo+94$l=u3& z#Mv30la<>hg#R%OOM45-2bO~r-enOm(8Y?w+Jij|SF!4ej1R~8r;r@)C?jD?YG|1L zcq_AfHh4*%SJ$=QD3|)PnRC1Qp;nIU>zHa@4b!-nGW%5JJc%&=*?sOzZCt`6sbuEUgS9iYWK9krnn;Fem zEdgzVKtlzOl|9BTqJQp+$dk)Y-b-~I#mzg}OATx~V_kPNvg$NatvU{DqeFWmi;>Hp zC9x7xT=pP`u$IO6B@zmCplh*sP86EJu$qot)ma`8LI8}|+q@PXR8{7DU` zhDs095h`1)!~L^X^l{Vmj}_`|zHC$7sH22(mFz|^=Se_MhP8@n-A%O~H~KXl4ll<{ ztPMc$SZ9hP1LxCn(aQ+xx8uUYJ>~if-Je>+7{c`;w`b=-qXZBP{cA`$c~GP#+&@m= zIx#@Mp#bD0p=vz`!Y)#t*2H^F@D-{9fX$mZ9f*CxYB0z{5`C!E@<9FLYo0*xbUblz zv=a3X$Co$d8WYwl>@op$BiqhVEN4#YzjEq!4tlV*(B02|%szCB-9%Wsvxh1!biwp& z85noF{n^a8-l{%Gy&^|#WPs&%TceEWx6-OJSX4U zRU&caHg#JpYEDOER^dF9%a-qswoln!0_LrlCCoVOMB(3Vic=^wo1IC!GX+r&`tc(H zQ-8^i;s+6t_$dc{qFxQ@Ru|M8*p$H@MGxiz9tA%E%-ifL2g>!){Y0(vQ&0{H4Jdak zOZw)E879? + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/images/config_service.png b/documentation/images/config_service.png new file mode 100644 index 0000000000000000000000000000000000000000..dd831f1c65353704114fc23ea9bcf115007c7b9c GIT binary patch literal 40818 zcmeFZcT|&2*Efn71Vp7Nf{l)a8X$xs5JCuq7HSeAy@nPbgch0+1r!wo0UJfd3IZx9 zy(w4_L6j;ANH0>9Ue8=`KkxgU?|HxT=Q(Sg^{jO(n9McTo|#>K`?vSp7tKud_wGKl zn}vmCFU|mC!NS7I1b=Kec7adYwWe2CSayG*>yhZbq3)hOZY+{Yy4$}=Dk@O?0_l=U z7)eD%Cx3rAS5GGonv-v!9Mz2uJ_6tS`nh_#d%C%9k5N=mRFH+kWfhgJ;A)aeI&e7n zOF>l*uBJfV9`EGgM*U|(gq#AH-~ZGO#i+mQ>UQzx#N4yMZ72ZZ6(_&?CAOnx8ND1gokdry!@SsH`9d zS5*RESUR~o(LDdxY4Bzi;GalEFiuGoj*wGQ1oA*@a-%zWY_G>Z*h&>`ZQ^Q9_pxx+ zH8Ai|3`A~^33j6ediqhfhryNP;0ki!QRr!Un7`Zh$F6R{o-RNZMM)(+u&4iQ9vI^J z&vxk|EYN|*EeCqWW|on7gE%2+c+Cz>e% zVQJ_VY>rmOnCg2Y>3WLJbYCjf%GFC39%y0Xr5oabzz0*q44s2Rd_q0-=|*7$ib|l3 znv#-PkZWL=o0W-yUWhx5;_D=-hz47M_VZLWVVEnKxHAG76kno&pO3G;i>DRXBvX$p&Vr7M=-=%=~H#Wj6wrl_5GY}lr62DZTv!l z!qlvNO?5rZ@ZKhFG>T7PZW!&fEP%o6;fq~a3H z06)R^#$i^j#&Dew0wV~n;HH2>BRwfN=U}`cLZ6QCpnKxXd@#XiLQsH`g|~MI2CHY} zZ>FM02}Tft!8*M>3_K`in7|OCDnlpGMAt-50po2=LwdOCkcpvTZfLv$j)teW(mcH= zVMw~ErIL!9iJ6{}k`WF~!c)9FOx^I7Bt0i80dGpA8(LsYLPOD1GF`zBh-PJCs)w`i zQL=W?_ptE8`eQ@Q^syFXn*bXNRUD8WK@P=}ovck%kX}0a&PryAx~5LfI=(oxo=Ttr zL)BVE*8?3CNLKLl@^LmNlN6j?{NO6YP+tp#6A4cu!KpMW1lpCRXlRJWx%mZ=T*->2 zY92&YU1e)G8ph9^5fEYmhns*udM0GJrM`KHo`->@5gyt=bGINLeG3YZ5^YY@_X+Z( z`yzDUCc#eLVRRQOoQH{pnwnW4+}~QkI>?adreg>XMKdgYLP@SzS2Khkg`#ZbMo=&y zC_DSQ5f#XxAu9T0A`*#nx6t#o@S=J;88Q&&ei(hcu_r~(LJyC&aw5X&~QNWVXbOkb1$vaGmU_sUQatn2`Qc<>K7}Gr! z1K<=lPZcK$4yZpi1h1#+<)udQ(nC;)Va|Gx7a@=^B(#koa6f1hCkw-%uwXRV)!kFi z)7seC(n1Fr?4f27Vx*_5;AN=b?&=xj;qL5&_0)0F3G<@4xl_q57$O}>(xnGcv9u5~ z8*2vLk7VP4p@x~M=(`y@g;6|0F^V48P$e%LBps*6Fi@f@DJyzXycjBUcZ``T@S0cy zxEJtSXdh)yFHfWiq_4U(8w$2y7q5!U_|jVie+KW9)0=>FkM63klYv>*!M4 zjP>*leS*xCiALrGBo3+XYmN;I4s_E~bH%$D0-vOa)phqYv@pfcb;8L0esFiZueXgW znn1!^VT0fpKSK*0@HVV7!Bh=yU>ra)_eNkmT@aoYA-cu{thox!*g4oQ(93{EXBdRg zkzQz3LugK2Bk(ufm*nrSVhMLc19L=Ub%JPgGzR#j08X8uMrbZr0z6d=ZT|YllWUz@jL6H`yODFs5hZ4-t1Z%vPF&tx| z-~(1h3($p=3CgM-md?)Zs;;3Fs)@3zRR{<-Hh3LcpkH7>09sMO0%HyLS4BDnnvz46 zf`bCl7M2LARgkqAEyP<@*)`1H0^x@XL!h0Uu&x+ye1HL3!5ccBU`s=^F3BX!TtC#z zn&20p=#8;7RdP1=HK6#aAjnqa04H}7!vOz4D??vPiy(I=6&0j~sdX?q#Mh7NfuIqB zAPo zn+Ic&!9ZfNk%g)=!-S@6K@BnX30B7FhkzlW3V!YiGzyVOFbecDb|#PlXmG;-ydu`0 z=ue^$(C$u3ZYJhFG=DW~eNduAZwqUJ+<{fTuH-PNN#o4V+X$%rL6nCPXhqH6x6v zk71~8kTMyEH8b#2g?n4$u|b|jRD_`knPH`;>Kw*EhU!_NeP}oZG|s{oA7-v-=H{)B zFjQ3bHdMC4DTKgP!`u`DodTWwuuc?fsx{e(qzd%Y(%35$8KUHdS2M$7>8{Q+BNcrL z)zsXSOjK6(F?OOEP{ZgnZ^J+*8-E;$M08Q3sp#qJxwr+`C}G?c4E^zNVFi8=Oe)-Zsw43Qh!qb0|4f z$J5v&B-A3z5{C}L;0L>*Ny0&VQ&ZWW~BYGvl@ZAGBdl@ZiXOA93;4o6ip(Ic6f0o*|{ zq?j3-=@PA6t*i)640AO@GTsRTfEC(>Y-AYh0!48Z5G}2!L_IYU#t5to862SOV+9li ztE%U0j6@iOKIkeK=X2K&P7=N+Uko#8Ui4~I`yiY@S!|B@F_7O=7^tlxFX|D>2+ zUvyQ9kYZnD&&iQbcm7O`%+`iatA!WL=ObQL+k{Um$zozq4346-ZQ>xEmR!|-jtswdCL#Vb#& za|wH8$wh*Q$d$R~cZtHBF17ck7lT^~Sy(TQZ?w$vZEK7Z&E&mC?sugy`z(7HCDTtQ8HVoe7@& zQU1E!KHRt1r%RC@*N`Y&a920Z>wS_aWA2Oo;h&6&XZtcVLN==5E)6}W#-eciXyNPo zL|L{b=H<`k6NEdKabH38e$LR~rcfxIw78?eH!4=A%3ps6&sr0S2fJD7gOvk*VKf&y zUCIWoYDk@49!&W?J~1JD1W4_cY%lkUJ3od6CITk?c8f)UqOk?+s5*FT>c$yd_ruAj8TUKUasHpV3qnpk$7+n(q; zj)j*brAke>Q*#Kcx-`eGJlOkA;Agd?tBcdZ%V$&f`7izmnRv^OzoX#Un$r=zHv8_r zL?p>GtA~4g)8a3&h$)ia$cEjfB} z?BgxL+H9V)(3_d=93rf^YpT4IA5SbFt%lEyep$^gpCUg#^O_p);+e#mpV6CpC8z}cW?N0y3#>iNOM?VPfw)cC?_cLD|)d-HLa;T1yh6c`d%@MDUnK%@E zHPtYQ7<-UzFRbML>EVIk`rrS&*NjtyRkt4JF~mpd$p7&*e5!PWL9`39_JTQP)&mLD z$HpFIMLGAB1e9NIj9Y~^8>p)jKMEFWa(&~YsJ~&BR^+~DFtxzRkzt9Ruerp6*hQdZ z7~H1uxynwCt?^^W&vFkO*XlLy-@AFU&U;!N;l;`PJ46hrEsw3 zgVKp*jjc09iFmQb*F5I@8XX8T{pnp$d9?~Co`Ba>UCw6Y>hITCOD($GrH4YTTO(_u zw)E9NYX`>hkIM}Tw|em8(&ucQ7=~}fY{SKc`+@_)j8V~}{xv(aBwpCVI|BFq^9n=o ziW6h4AunOWSo_4^P#&LhX?tLH7^^Y1N$J-m3g;)rLYGJC1x;qN=HeZdE?0hxW6?5Zdh49bB*4n9 zWtYe(vcBB-lU_agG`BU{aRF>VTN}~g3dd!c)KS4LRWKAi%OP_?paZMpNU*cZz+M*Y z*X1{#6Hd_5UY%45n*M30pYvxh2hVC#`?e*f^=TtIk~E(U*AeYKf&Koz^O8p z`s3Q}>CGe$1f`dq7~p|adyv;r(a`==t9yV5Ycz06zAu|p$Zo0D^!fwDoQ8LAxV3GC zqn7R-3mfDu_Wdrvd*jyoUmRNx0xgr$j>RpC@Gz;Ck4)R_!+%R^D-LIEu6f*BNUhBc$f+ zj*EXMT8-q}X5R_RPY2CaU)algqr~4?0ea&%aB2@#iY^9B62)55s@E63tN;C^G<2z( z^Z1?YjrG-cKkt@Ll^KBpw>PUjy*~G~xZ#lZ+DCVc!hW$L#jViu_g;8BxUu0baLkdH8nFkDw0EFM0>t%=M2x0N$w# z*BM{aIV>8h18n>K5peFq=wljjBPUt^wpY#6ah3JQ9#;16L;WtB$nOq#cXa3TA&)(T z@@1Q7fk!dB_O@y+_S}zJU-8^rUnKTcHAPD*h!u8!aX!6eAr#=8l6oE^nD;P_Ki`90 z*8!&LH)C8&v=7s}O)Yx@Oi_G(>c<&iZm-C%e1yuhfxl>JxvPtCea}<5^ecfeeAA<- zcGuze%^Tm{((Q_XL1+NwZ`QnaSTE09~(644LVxWz4q` zVxZG_zwqo@M#8pJtA6Jtb z3Zkm1lWrq^Rm)h1sAabqS*bU1+#Ti9Rfi|1&j2Ua_6VQV7k*VEWU436<%%89f3Cww zX!p*dU@#sgFX};KGRJjU){$fNi8q8)d~Rs1jNb3-|0F=`jaq$HwYjm1>I>V2H&MR+P+Gm{eQkm6r@_e_tP8W5`L<-tr>n z^;mcX1#l}T(@_+$!u>mK**=l`j^Ie_4_|=HkAhjBcKz*--v*RW5go2fC3B5Py(!xS1>)! z6uem7LjC-9>{7>B+yJxH*P6t81LKG7R@(A!B6eV7$1ZvB zRqDW`;9i}3wp__Y$je7?@K2*;Fpz(E2$^==5n4Qe4}1}uGkcLeJnFVpa0z-2eOp=n zwO+J14;OC<2=ZR{uc+)k-#7RnWxi3q`Z2&ZchzoAbNu%*nTjA_HNxKc-sL@U2Da~z zvcd7Jh!;{Ow{of?S9hhBw?8}M4O}r~wg79;n+7O%MANGFKL- z3+yWyo}(>y$xasz(1Fd5H5~T)Hc?QWFI`Y!;c+J*7DV`U)RAKmGqvMAr7u6Ljoj(m z$O!Jng-J3cOzslOMr;On#~j-IB{LT)?WvL zia_`drRLL0tC?WyZT%|e(|U+5Vl$mCiES$r1qIJt-tCIKatL9VAYWBdwK6V^aWua> zB(~*O;+24Q-MOE#_xnda=0W>VC$ldv&r175Z?5*noU-qq{{G507wj%^bETttuG_nS z4gIAlwRWxf%0-m?-s#ej%tLCl!Aa4Ip2-KUrLwO8w#b?pPDD zch3UMKA`?Ut5Vgw#I61&AFtNxiS7D=-FDH1z5Yfn;;Z(SYUPk z7^)RITZVUZ$8`C$RtD|k$y=%c_drBX>3S41UA?){$Mdep^J~#us}XygZduR-;RVN> z=Kz3S`oLLMs0WSbRId%m*KS77)UuCv7kk@i1*(_)Pa5}%L&o#EqI@R8o8bSb{yTuP z=k!}bJxfh)tGLa_|Brs~Eg6Yt$PnbyjIOTMK^`zcV*OuE3~ZIm4uNzmI@^`E1O&BR4hM+<_D2}S z3v&hzUen*@AT%;O4WqU_wf2vHllq!XfP{j=(%SpSck{8UtFq>6X*V-UHN0F+0HMF?9YvAB}jhG75eM zHftV?FS&nJ-EiaS>k5uf+TXgkFE7MoRj>VN>^q~|^UyTo&}sb{?agKUOh#?giK5k+ z;;L%km}*^|c$jw^ZhhWz)*@Ko5#hVBSd%9Pu;H6fs03>CZ0`5#-d%})0g{C?w>8&H z#00{Gqt^ob6D|xCci86w>}ChBL?(c%C!$SkL7H;-8BA+qX+RyQd5j15%FP($&rp{c zkui(IsWlcC12nfy911uGY*u8`P$$G%Vq}4HCOjNjsk{mcz@HR3+m?zN0J)Z=&j z&!wHAszDyiYcf1$J$p1l(!XkX_$zQ_dFc*OY9t0gZwd3@pQB9nV<+0*b#;ic8etpu zZkY=YFR*Hi)nee?Xn?|MtlVxVayz3hP0-fZsGtN>ev zlx77$dKqP_1+ul;%Bg~?DtpU^#+(ZhX{|iW2Q9zI+YTcc=$K*IoZTK~3np8d$*r}N z-EQNNp>~S7@h}m9BmyvpM?a%he|NF#X#t>BQ#A~}8dr_po56i$@b;qEK4C4}1ld<4 zxRwQ{%tgNKR0xFtfizd=CVW^=WIylHC#7aex?S*>(J%L7#(R6hS$)qgZZ4O{u3P)# zHRr8n?B3MJqo$E_i@fE@B+vVNq?0;R+X1-{%=1PJr#-~?*Z^jlrKPDl*spsuzkPY) z$FSDX(}BarHt!)E3v$)h=QJZDR~Oo-<-ZBnIf}ADlI~H+-2$M7I{h)VdOg@KYI#U< z^)iQykPvc9`B4}MmM|ZDzsGr9lJ##h=iEzHkn!CG@sIlIv2=uK_OqEP&8*S+s9J#J z*b-xBJ8GA``z}3!t*9}Vzt%>bzl`T`0IuoJ-`z&O@&AKjTtZbxt=pGOSFNg?8vnK5 zwg`l|YE}QfnyQojYzMa$wjT(=$?e$M1fAFM#6t)#ovc?T;fImbJKV`@r+vGNR6G|C zY;F(U0E1@}&7aDGTxLK6;LP#j*@nZ9y73w#l?fVCB?ILH?-Cs}=Rf}v*;3KBnc#dE zL=7vM$ESg&>-W+cWw{>w_*x0@<|IJ5jEgyety9t)+c0en#Pk8-`$cC;FbM*(Rmaq5 zu3W-D4ZK$;Up7aG)WwNc4 zkuq6v>5h0Ky!{3_=nXFEDvjTRCp%}C!6`h8SfB5BgylE}a!7vmeMeLy)|O_YljbbD z&&6tQV=7zVUIrWFuB5%5`u61OItVJGksWp+veySS&;8ulSslIk92oy>QfzE&hJ=ZU zOU(@DR?tW`0x3gJ=Yy_4|98UR?Q$4MtH(k7%}{e`xSS%9k)_J6u$|^9>VRi1DjaY9 zfB@i%hAR*L-L5)vCs2K1x>tL_v?r*;P8}HFJNzx>vEP7$IU+muyYujstrSHh$p%RJ zDOL-9)$iZQ63(h}q@3@+l9LaT>BdWd0l;1bRLLG(Vne;wB#3j6QYZs2WI&a;@c+Q! z5QA1dKHqr)B|#woWaY3Q3(YopWSVho6H2~P=g@6eoKRakein5TXqel%fmgS9Nu*Xe zz`b;p-@SX62-tv;uI#A!%Q0o-9@!BKU(*=-fyZ%?hIiz#2wFWsA3|2r+w0hqB3xR!Z<6-EIlx`FWNEX2Ku-Fthv z%Ofjj5-7nVkZebI0!_g$d!LnD7kuJD{|A-FL$KPphVEd^`b={EdQo!D0Rg}cSWk?P zr)7cztNZ#0Kdk`RLbmATq4Z_2ja{_%JR88CP~f@w`P7C8kgPugw4(NFuQo4qW14LA z4Yk1G=!UCDSD882lC_eRFY8xWA+GM(wH1Y}LAcFhb&ZWbx+6=b)S}fXS*qc)`ksGi zFDoX%w7Zjp#DZa_=|#75$|W;|G$s@{w)fAB4d}}$lzTjh*Z;uGM30N@tF$7Cwi;4B zyUUh)$TkFrXU*EA@LaU-RQ845jb!S3PV`geb58EqZI4$B`DMLZ0l!cp4s5pg*0^NC zwYfuWHLB-#9p0Xz8%)tA^*OXyBB_A&n8=6C>D_(vRy)0g_!?rjvJ)~d3f6w<^Z?;D z%IScAXl{Lr#u+wgV0q&;eU9 z=23G#O5W}p4*M2Ltajed!S`-QIwP<`QY_njv{Vb}fPY#}-P)r=f{OIAEq;+13Ub;8 z4J{H;jrnka^|LIi-QEa03u5MBk{X?{We&_GXoxnJL=u9A2*|OI==bILyXBQ0-V%=w z1MD^1(aGxr%$9AAnHVH_Ad`doRQxGZQha#Vw$nKUB(xBZ`%%x+No-w7UbC%nzMab~ zFf4o0dAMZX_E98ZfS?lCy|>?pv~<$^1=m~Iw~P@b!VC8AA_qSfi*lTb5#`;ZlfJbw z7UmMbUkykVl7K9jzbInt=+;cmQ11Ab#mU|kM%s6EkL=McDiOs8&MAdQ(&wL)5*(f= zSXk_y>r-2&w3Sr<&xmGkIi)2$bYP+>RvehKhSJ^^-8=zN~O z%{vMKE&hZ`dO7?Hg6b0>vV4_&-J|$@ez7;&LF0E(3Y6L>`Z0 zEPEA9q-tu*wq*`oQedLsHOsNcK(U!rqWu@Zq&zAsQ-^Y@G5}-R%0v7#fdf^auK4?{ zEXW(s+!h`7;m^`++=cALpM2uGvu!z2sx*-x*e!l$`Q(cPD9eLrF>(E?-=I9x1o^`X zLaaYS2lfVywm@7SAv?5A&?LCy^ zlBh}0m@JHW)k8Cy|NWi#Q?~@rMc#l!;SL27%0r}oX4o(!P9x8eZE-LnYDtEykgv@H z{D{Wm!J+Rjo3(Nw_E$G{4`&o2c#_0*+76H=<6SQw1^);l9%YQ)g?PUa$GX}itA`w> zTM?Nh6-5)d0;>Y3(kA!Wt6Q0j@srO=hi`#I#@THCyK{mp9nky}J%P<_qH#y=t*kIA z0mA488SMP81o@|cw1&u@Vjw2_>dtqUh3*4ZD#g(8Pzo$->v+!&InqQTVQY74K(Z)G z`r}KXa2%OCR-^P;Ra|us4RBWz;2?+~swo2;l8r9ua=*=1Hx2OIo;2oq#n@rLiZADQ zcyCnguNB`?sBAuieL2@yxD!lWtY){vYMm4+RUArV0)ffgieuTitynvN9&&Q!r5%7dY5Lx6kS1Bsw8TC&ZhK*r0%97GW~3y<7sdq05OGINN}l0XwU{S_o~uf6lzdLdM$ zxe2K=eJSAB*2Is&CpMBbG=GA4;Q4AeMCGz4DI#^|@2b!EJ;9 zt?fNz>APaCHg0<(XnT1L_PM44*YRI-prFshz-R2bFAjyRZJo&0+daX_8OI5aY^85! z4IR;e+2M;*S&4#h=dSa&61zB$w^W8N$^(-7xozE#nh0n=psg^bE_pQF8gdrc%i4Cl z<(}S5d+nkdV zRfx(8fE*r6qZ;RDu!?gr>GZF>OkASK0RlT~);8bvd4cN+SOV-+5dg0rHh)Gg{!m})i$O#z&4ev1g3reX zQ}FGO4+4y-9>iVBRm`9v-0k+=Jahn<&)v#}?pzxUv``*4Lxj~Emgxj-@_B=^Lw!6> zgwkBh#TrrFSPH1Kbew#2=Nsj zK(^uPyN8+6T!Oot?my7k@mJJKDRs@fv&e$P+;6jf0ZGqt5{O+rZ>r zycg>RJ2MYz2NaOOecf1{7Pex;pPt1uff`h|U-dd2pmw&pX0d7R=%tv3D~FMBM?t}D z{M(ZhpIo;7`-xglfg{EP2U~6mVoqN-NDrO>y=45lc)aL4wVchR0yx9k-nHMd5Z8Uv zBU9*d>gzWh#{l?W0l>F-{AunuaIIVskwd9O$dNV0kKc2?&B9z(BI0KN-Cga1gj6fEOTv^yT(Lf0*S#vj{G#)GrKyx=O=K^pFEl?ecmLd)p zo0R54Y`6Ken_*W;UH!a)GqhPsZAEXVZG)t+nH~taYYc0Zj^axTsT+`7}#Cm zyJZFJ^!{!(-++trT+5%y0GaC{C2a-w-hcH1xL?i(VJf=-5P&2|mKd#`wbuZftCFrR z{F#NSI6HRkf-OQtD`w4^(EbZC-rQ<~N!cqNqFt|i&xAR+fP~=O$E@Eg&CwhDou2Rz zK*YkF;eK)JuSP3?4CktRJV2=_=41Avm_11BYp0tUTtc6yp9EE;>jqB8ArJEqgo>2g zM=$a+^^b+Q7VeoC>TBq>#A`kfzp9FcQou>=@UeN2t45mPz6XEzonIcwVvqjobQKsV z85rz?jp@w|e16Yzi2bPr&7Z=f)#25>Kw%E|1P)w5er)^<*pfa_W&QJVI*_f^nF_4z z8=sL3e6l&P2|)1-;pe90j(w_xz*uP_EyjKgvTyj#biaJ8d5n ziOg3SAh`^=K5=WWDZsnpIgE`TE9?gz50wJ^(g%~PZ{ty1d0-6~kTmxkDFSJ)pjCry zeW2Utd!L)M%f~&wEPObgH43V|d#6ImfzroRh6)7b%T$5DUprlKXM6&bUGJg_!wRz5 zGH&Z-rc>`4xW*H37j>{c(4qIVDbhW=A?;y-z-#Th=D- z;QCGSEp9vaz%{`JnfROki+6shyTVmHXN$vP3Qw-Rp+bhTDGoV&6$vaX3gCv?+N*#@ zF=anWHxv0&!Tq`IB|sQDAdgGR^%B4t$rfMVm`#kPv}EfrYyMh1( zPuFH@O>@rud72(xX&eFAD7MrZfG{;WEl1bS33%ssJ_E#QZL~lj&}~mM=F6F)q`#S3 ziM~$5Z;si!FC4?j?+wQ>s2V;At04zk!#V!4zHZr<=v`eYGr0lLO?wZk7_%SoM=7)m zdEB`R(dq2Od_bf-p8P*(57y`T;Mc-}$_297`gh9xE9YYNYn|wKuXVeN1irYhC05V8 zBi}B@E0fz|61be&pp7ne8300sWe%LVvp$B8-fcQSHeOawES|_O-{t(pT8lUUA;wb0 z5yQJ#CZm=O_V*U-D_pLsNj(-QTV}bK%Mgfv)ubI>{i`Q~!H?o<(XY{31}| z-Yxyj+B_oT7A}1ELV@(v-pEBe|65%~by}5^Lp0*aly5vt+$DimXb>7HcR+Gmdh^-| zUXsZt0e`h?d`Eg_6bo{%Y31l}#ewgRT%BVDP#`-E=vi@&Ll-D{VwaW&3xwtWf>Hx} z;-y(+d`b7PW@yn2M8vt^@KCJu0=Wc9`cGtt2ePv}O z0MsrftUhYmaxn`zzIAjUFCRwcYvpZ>vTs4RrvQVHB8Q!>s2cIjawSNuUpG9vCY>tS z0U?ffp&b~^CsvDdYQ}YvHNRS0IFq99ia*eWte_1b(LA|n1$`I3eJN6rssGz!j$4mq zp7-Q=EV<*SwihnzITY`$49+5FckgJQ2|fi!oNsOs+celhv7AsPkIHiMJb*&VB-4!t zqL-Gya97Y~qfpxK!DmXHY;{yyPLDnDYbU7FKsaqMHVda(`rIgHXwc!%y?AcmMYjCl z;V7woz>4inONsW37t{K0g!Z4w|FbRs(U$)h(f`kV%O)G{uw+Ms3|^IaP;%a+g!=|W zDTsUpk?-cdXxGoL)90?|G)b6T_PIV6yr+7uL7;gnM8yJEt8&*MRrHaOx?XEn@@L~z zkG6naQEmO7PC&u%pPXI)S4A$V*NBX2-H%H!+beTXY0a>%z8)GOVg{8lN(V~{PO|1Z zAC-RcEGJ9C&Hz!E*&Z!+X5A^m2DjDD1U%o;f#yrn+ci}*aQ(Y?&{loGE7nDx1c@6z-ldXtV#Yg@ zmk2$778MUxDq8m`l(>p3!?u1q5=TgWII_`OH^YNNy5IRy(Gw^9VY?O08j4}3roM5% zGG@j(7?5A}jmTS0M-J_)E1<>Bf%pR^)B`Mu0OzGfL#djMOR1NAt{(0q3TaPmvpCyL zl#e+?oKJ~!RexLx*k(;cSU)fi@uJ>Z?K&2fIy0^R$+{u2d~1ymVet(hhKGtXGr5J#%_K6|0MuKT9}Em z#^3l@^QJ&Cs%M)`f;#L#br_xs7Ui~9vQ4Ex+|Ct9(4E}>5%fPh3Q+Fua^dXfhZ&7|f8Nk-nbJy^KSLH>eTH%3M!I$oJbW{7wW43?P%HfE*JGjlw= zsGPgDE%+43XDx-=Z)pVO=LjX6J}Z^{fasIK$x3Ei{~so5miR5^Nuk+2E*h0TS{QHUPtZV(hv; zQk}K455^ub!%ad=&n;|hu|3u;ceGs(2nRkz{iYAo3yx$Gn zrmy&Kx39hu^Jzu*axO@&+qDW6BXYaGJThF-X+54CYrr_KE7GLMHE^zEh%1Z-Yc;kL z@^!$XS-p2^eMrq%mNd!TtAf2EwBuAAoQq=^+Q}0afG^!o?ze3`R^YGNYIK^j5UHFQ zP?Wr<>&ZG|Bhc3P2yoS zGGN%XT5vu;xYY>g3J#%=(Vr>yWN+_`nP%T*t3cMMt9`CGu5Uejd!QJ^!gK(2JHqjk zYiHe}%ULUO-`qC;rRxa#V6q$?Iic@C1W6tr+L_`6Ng2VBv^aZ_Ee(?4MhrALXRRwq zv;FdZVb;OO2xq1wq}x19#K#>{Zw@g%I&blbOnYC-s)anYvI*db=U>EpC}iXboz#N8 zUtN03Y6L}7GtNBoeF{SD9H-y3UuOw(uw2^%)nUQ#Beb(06!w|d#Cq|IOy`>1ncb!z z0SzjqbHQII#fgJwOe_FQ_4dM^7*Q4`)FVldZ#9l>b7?Y|6-E7gcU*u3<+6_Zz$uMO z!v1|7V6#uK-`E3jtloxaD+*3V?ScsQ7UdnMm~D;wq~44_ch6bk5t$y~=aPXsF;S9* zShX5glK9M?GnQc4CbLSaV5h+FfcIe8s+b*zpPGP)R00~H`Xp!$Pm4)_9jJ3Njul1a zB)sJnndU#JxCg|<7if@9RvIV?5g_e|V*$HP+TL|FpsBg(JpaB9@WA~ej*5A_p|Q_S z?)X#na7hSq6{xR39|-aqH}>SdyLIiC?%9e&yi6ese8ZAjb7+Vq#pz0ol8*^z(jub1 zxeq#|$FK%buyjzzFG7a}B4KRfno$3Wo++(?N7%f76;zwmB1n8=IYW26I6qm^+7dA##SV0 z7c1a8H=W;wnfiG-$=E!RkJb(0uxif#a)$*>c`Nc&BOSeHBTHV3j4q>VGRp z_f%*lX9--K7daPUD#Nu07-}7eBYUz=YPKh#U@4$?J9hTdN(=8`VEeUSp#R$ps$Hq) zT-y3h!CEL;#zXA=i0h6T(B~#%0bGK?Y-?CCCq}_jj5YTtrs1{;m^oGsa(tVW?+TA6 z`55psIiyT5j<@(EoT@NM&79(AOM#hO2L^=2rB~&eik!po^OELIC^}}MV9R@Kx3%~K zlg=0K*ouKYRI=vlw}vg>;i!i50l>Zwaw{N7uomN~&AG^tXE7-_+yN7N@1X$c`C}8w z8PNG>o=bQ}f6J>s3VNb%`@RK*fSfbbQoW7WciI8%9tmm^WKc|LEVXOaTFoPnJsMW7@decOg)iXa7|o)S7a9vxmpZr+Uae?lgLWYMz216!)0!&eA)}#K_druxdnmC zL|&jvQ})4ase)(MjZR?qf5E|0+{G}C8^vv)@wMx^I(;-7^k}2O{euVHul*cgl@0PI zk#QeBytuYGy;ps0#GXLiuL;cdiKtndVfOJ;c;gK9pxx&?PUYtDoz1h_;(W(jA0&W= zo{zgffeTW({P@%6perv^3ZHp|L-o6jsq}tk6vrZ{OXr*4$EJR@#x3T7zC|X->Atf& zT}A1DH1-CU#J)st{1uihYC-GGyUlij+k03@Wb<9;{mt9;`iKsZh}Abqf2p8p+N?QK zGYE8MrRlxCbL8^~ubPd(A2sSFkt}KCrDNb+zwtaSjI~LlvLv#L{Wi=l& zlYUieg`&AO^X8UX;6v!nQ}!v3YbrtGR#1art)}+I()~1hh9`8l33UBVOd9q9it|x! zK@}OgiLmeVOilKoh5CaIOWx*(enabN2aQ?B<^uXJ92^H#xZ8G|N5JKVeOgP7>oae- z$&O4mIw)RHz+UWo>Kp#MIQL$RD7^l1wcfngf*v<#7jugDkJ{t&2}# z0+&#MAyJ?ML9;eat~wJ`;*|FuQB~mh0NTrszWpv7dPh4dLk6_}*Y^I=7N)%y)f<`t zB){KpP`4w4qQV^1wFNd%>bS1K8pj_sSnen*D~|ye^JxN#Yj;9v@5aLGmG8Y94}D*C zxnDKxgUWvVrm8xiFP>ob1uBuT&N^Rv-Y8cN<4^q#Cd=FEsXzV4K;*HEnUv|B$Kbky znZU{XD4X+OfrGw$^RT+1m2_203-&Dz{= zQ&wNH%n7cqE^?p0S@1lxIC~y3wF&lOuM}x>16-}(iYOAKJ7h*As*j&o@8^!bp}VL1 zC+K`p^FYt{yiKZa1J(== z$7k0!;kDQIb7;Jd*{5y*DuS0y)yH!B91^q=coOsz4&YtGct^d`b3qdkHFM5XZRk4c zMpJHY119^zqYGWonlWPsZfVfLVz z#?j$kWUuF=4ElH9*JHrA_C38u1s$appbjo#Y8Oy+qc}eBuf$ZAY@yu`xXa(h1efpb z8=$0IJAbU>UKD7lHCb6)?cJ>MlE1+r)r7f-BF=xRNp&V}tlfQcz-Riv8dQ0CJ5><9 z?#;tpO}NvX&x*9>l-bX08YX0v3#yUDgMEad=-n1<_VoTzLnh|4GcXJnzzS*3&DGc*ea~L{3 za9Qcxhi`R_P0`grkfL_7H(U66h4SRZ@2pKm6Zzx&Rpd3!aGXJDFZKlL484nF;E=sC zj!m8GmEa0Z8B|TwwuvAQmR%ZrKu_RIh_B$FX9=WTu#M=gSo=HQ<^}lyKIZaJA1HjY zhYfVDI3WFq{-z_j75T~@N@WOpz6FfN8%Q zm}Ah+YyGD(x#LN$B`*dqU0-|=HhnW)LYB4i{Me8wQC{Yf?K4^V zXnFgY?o;d0`NL%|CWZ~Oxi5wuX5N;5^V!3%(*NpG(67jQSD)zJUHmRUV7=YgU)OQI z{)C!M*sy+5bLwF|r~>1~@y!Z$>t1?TH<+-7^R zxDs}<+o(}1yFcY~rmF3_lE!q$U-xMIhQJqlaxfco`-pqrLuH_Ad6Pr^P(`}aa*Xi4 zKC+8jd!-?9<@t@7d6VUIhwg%gT&Z(7rRQQTXSi+K<_Tv_RJtTWGt`7~xeqpD>2scb?Y4G&ov7gR?B{PWr3en@z%}X4AN@@2;cL2Y?mw77z zB_GaE>*SBsbByBbh~uoVnrs@fuli$AP=7TGK00KtEg&T?w>yiU67UPxd_2x>`F&Pl z2C>?nJnwW71YnKF=wW>AFrGc!rX%Gpp1a(TP_i~*Oz~3dj9wiO-W0TQshIwf*bt!C zYRyMHSef_x>$`das~sPPdAK7aq=qmuTyi2R-t zP&ccEZuV2L!b9IGgtV$7CLTD+M^=K!-6nVo?u-IhREbwiVb>^Jl$90O6O7O*3GB&= z^$8y{-!W{t@peDJ25o(%ZuyJ@Q5ralofm%8^KRi(fw;_EF%cdeEqzBxJHWHxB$H0@ zj*5gPW-MwhTjgdoj_j2B`4!W+Ya0%$SR7BY$0jvDpX0v|Kvg%7K?Xgmk z@;?eQKD#E)4Ho$x5C-D9M(+?}+cF{Q>Iyj}Q5%xV{x|kAC4jtAqK2KM-OR${O@*t{ z^#}7Wuq^BE1JL~%Ab_y3X;-~5B9l0!$qldb7o7M(ecFi9r*N1R2U2@u^!38$`&pgv zx11JP&I(TyNvxdLwn6WjVd2#z_U13{tNf=TA7f zoP^auJ5jLTp+tanP*@EdDh70S3JQ_c^Le-B$>kM@H8}xRdYAdeheHCiyDM;-*ELvh zY_IfWmA@?Pef4hIfA<&eF6$$3fZMvDvCH8yXgDl=q4Bux%61?8Q$CLH);;CbPwN~D z-|~xWp5p4yvw3+rX%};xpYla)so@9Q&kUJ zI8rgH^9>_!EZJT8*NB%BciKeruMG;0-SCgad+y|2ICWer{=nt1;+!9nzfX>R7WvM~{cLhdG zCpX3wOZ?zJxBkwMY+;d+BQI%Z#f-#N7vEY=rxUJpC2|a|?AGfOQ+uuwcx;v; z{vqWp497hpb(o6Zv-prR`=7P+ON>8+0n*3Db7$+5UoQX5t8&INem)+OdYUHp=In795xck8!# zpeFTmuVZr9FZpMe3hK+U$}a6@8}^gXJUJ#`+Tp<~w>HjK?Jg^ZY_4qA82Wke<5=Tj zXH_)r54%J)wzqj+^Ip$B{wN3da=QOPafC3h;7NP+tb@>LL`W6}=6`gVUC_WK7^&N~ zT9$rH%)Jn`Q`@o?nY?zg_g>3p{t3@W+w-V2H7SzoYKwZ~%|oYb^W86} z(9x!o^u~)H10|oO=T3#$zOKvS0@vFNy9waV!>gpC?3@YOy_Tw@qMq?N_G+7_Z5FOs z$&c~ic1i@L&)v(>m28q9!{RC>i?7dJk|3h&*yf^5E}~w}NHAQ1GX{Yg@hDJ!Zoq=t^BbC~rO|qus=|uve@4uOzv4Ln^|YqyDlFv z{p!YALOFMF5jQW%Xhld^Lt3mQYpwTMk@Xb+TD}@Dh1a6w$RvJFKyMk40DFknPoG>9 zUwqP=^5i(2OCbT3pv zO=9)@6Z6TZOEo1vJYvXL{mx>`*1LOLo>&xdMf!k%R#n3W(&7A_HUA{^?z|Hh8~Jmj1F4x3 zcI)(^#wKf1u3N84KQy6R4j2(BJ)kAe;-Y+|ZU1>>}0zpIx`-3wjwEuqJb)V&tn) z?Q-?Fbpck6E#I@Eb;)2@Gk{bC(Ka3E}`dx@1-wLq}c>$g{l zbXk7IYRq-%FYF^vyEkSAhf9{`Q$f!8dE~cG#&_v)QYoueLC?!<8GV>~;-6PbF&Pe7 z;X|*SI$tf)g3HK08f#k4%<>l7HQS6}Y7{*2j_E{}S6ESymz=)VhscspiPv6967ArQ zj-IsJD=9nJiplqTpPCvi@~aNKijaJtikj}9#Zr;eLmxJKY$aO`h*sB<3_?%KJ2227 z&5(zm`4lRHlz+)U)9P#ab2o=iT|TqnL0mFCz?^Cp%bQ6`(91}V)YR#^T0sd2x^HJH z!m!9+-a0Dk_InrBanu<>m;phh8A>FT z?hup|F(_$8x|I%x7DNz4P?QoC6={@|?i7%a4hiWHq|g5FJm2&CowMF^)_T|b@9Sc@ z7R=0N?%emjuf6wmUBFLE`5IQb#Pqb>x~-kYElG2`an-48dxgUI)Mq_HR{J_s;s#zw z(9S4K+^L9kuc?>scb}9>*oz!BySqPY=BC~1HPX=H_$SBnPK<2X6xc$^?ZTnZ|L&qWmf)Hony49Ty#U#Z@E;_pmhGy@Nf>3N<>bFWvIm>KJ zt}A+^yzX&wNM_u$di?3*=EvmN=$5LO0@Jyy$R&#W*texd7lupbY@gIkJfGaTx4>pC zviNB2Oh(tU^C*LvWfMH(j>D?*cW0-{s-~udIg$-$vs>s%nXG26o)a5rJyIcRmc^#~ zk9Wn-CQvS9MCziqE`@Q~^#3v)J&}87sLN@|SUF?i@7jEcQ=4j@dg;5#e7b>WnEST| z#G+4AtXGMRlgm^4hm`M^+F5g=Xyad&p8lD=GCRn4ZG6a-4Fv$E?k*&@cI~VdJM0gC znNA7&4Io?z3EGU!vZe+js#-a0zBDV9F|0CQvWLL*~UNOooaen^uWy%ljwZxT+YgMcN&27DBsx zlWOT+52~l>S^}wo*m6gv(c#T2>8Dt}=^tLb_+0UG{Lyp{5sgaZ5}hDh*5I+2tVry0 zquBUX2eWbJ!LRNZvHtz*b`9+=JFo7{{j#pB+&*LQG|xEy^F4!)m^G(Vjw9O7ybe_! zmnn(u5MGSG{X4-E%;cM_pMClnF)JJ30-0_Bor8`}zTNqrW^N;_&H2k2{GOhEH4}V= z^OP9{+n3@$J=}}u64_%KDG(2SNkMGYt!q90YDaJBcrqB^rZ$+O9p>^(vyETm_)UN2 zz!;gj%q8=PnV#a+H4U-E*Pn*krgv;@#ClVD7z1*;LmSGh1RSaQf}gA$_x~v6!#Q4a z6|J{Kb>cO^P#U*wvI8L%*vhup)@MV3lUD_*5L}oD`+xW}GHdeB3fxOGQ{~Ip&Fsqn zpiv(HQ%cH_Z=2SkSfz)vBI zdB~C?GYIo))i~s6(5GwfC(u_6(c)GKr@ZC6DUIRkKU}glGVL+b)Fe+$JuJ+k#XVVa zx`m2DLsa_n+#|b%DYVDg#^^APloI1SxBFDB?(+7Os!iJ zD!V-^<;~C&qY@^(cwu#~!gRh~o3&Jbx|EnvUAQvV7j_S6}of93-j-6f=)1|Y^$kk8GXM!E-BI}s-Vwb!VptAMv!E|zX| zUtx4V9(8YD^8WO-&qcpK(m+jpw}Goc;m^NFVMdC>&pgZD-Jj#_N|rD4Kq*2Iu(TKEoV{(FSZ3HE%6&qnd^43s}$KDsQ_?U(hM?t6>h-kX9rNJ|EK z>$agy6;SkWhn0p4|5OqgaPUX?ZlF?;d1>B{gco!EIrRsG5YC48*L#(}uI~)cK^l)4 zqE(WXz@Ir&(meNQV65iWMLzmpjQDY@cY%Jfr{7o{T;fg#wkgl$@|%~~R)~$C&yi7b zKP$N(5?AS6qr8@TJ%0R^FZJ)Cy;1TKN89YvMCu!cgl~|d-UR`m&k&>#hk!{wQb>cU zQ_Y6jBFk%1Hfm_SQwT#2QOSv|-P8&SXUGCxY!?B0#gPl^}qj54%|uHAtkO^XYg+SBGTQ_ z8e22^9jVIEH;s%KZ%*mgu_>g_4w0voJ9e54vcXdY!3s=6va8uWCOic|1`!r10b5PS1C~EV?T**2Mt(Wogv~D>Ky&Uf<-6Uxoyig})V3 zr`a0{BW=T-_cq&KfBo}UHv-lZB{9$wRcd3MEC|(bBUvGz95P&Vm43y?+VVK*|KPfe zHU#EOaR8@L+0X2$tr)7PE=4#_z4l?9dNq&mHX%#FdnfxVRFBO=RRs}upQ^n@egUZk z1B$w*vSvGvXVAAs@j13|5UDHk2JSvZ@ZSPG&;As?t>nJ>H>-+_q&jCehkUTu z^L@Q<{L!@&Tcq1bo*stKd?(NV7_|oBaw#dS&D{xg1L$#K=^ZZj*AYsk)jXEjVq+TT_XR}eSaqM z64`eM+#JF8ezEO0w(R#jRcijdsR}sKY_lG}1{AR|@l)zh({vTr_F`EXLY2@*XqVPm zV@7fL_H9PHyc)iHej}10=Q7iO1GJ!1xhl(@XI6%bZoYW`eSqE*FM78=awM`A;)s5` zb{T(Pd#yD59xn4;QhE-fFN#x#K#{Y9#W=)0uLD(tA6rMPp$8|9C@t#<5vc}mcXC6B zzxtQDXFT5=sRw$U3|Nx-s{lWCA@w=AvHqp^=k``%nJl>}_cqmLV1#dB*Y4a)06T(2 zVk?OF#hF#C1w{E&69b0sMyo??Xb%FH@nQ-|HA%725n_{ZBZoq{k~36(UeQKPQ4{xy z1J|Ut|DN4jw!Dc#l5`r#{y~+RuCgu(lA;{j%6j{!cFi0ur3)oCSWIn@qOQ|7d$~JS z-upxKGo|G78o$Qi^8@-kYspyc8g4pphQ_|%64WO3j;x9)-kC9$>2KR6_a21kx~K-; z;_6W1w3!Jb&2mC96kDFxN#M1~;7@=xR-run4tDg@HJlrP$uhB-1lM!uyGa{6X$ zKir|p_gMz&ekvZBk=)`tJjF$%&dpFMLRlWRl%{rrXZk{C?oD|=Vc@!Y5`X5sg|Vs@ z0AQSfgGO3o4--dmA)b3RL*GOnl{;J~6d7`7=__)3DX0~``IR_6wOxAUyI&WFN0l8A z@!fO4)tHLf!9%`=7;8}f`w(i=hY_RrgNH~f7%w+W?>@}nrICTI!c_ik--y9uEg&#wM)XtviTkfPV`ptm*v6yJsY}Ln_BQC z%gEkj`|KwvqKU+5Mc<5W_Xxw$p4u4kC$Vq6EoxMIqZzhjsb7qmVOrxW^wl?!W zxUx`AxQW2kB;Y1B0UpsmjlgyYw0Cai?Ml(P?F=*4 zO>Bh#lDfzi9wIkH-dNid&WsE3-eX2x3b|-d9V$C#bU!;K@B%LFRe5XFLe%|&RO|DL z8Pg2hsNvYIs~s9qC0CY93agnGk1LK(RAMmI()(7NsHy0@uv7`Q&HeYPMYlSJoR5y_ zDIcE{X56Qci~RO{g73b^cEHA!{d&U?67A2I&Qy2t~?AGlm#uCqr zn66{e<8MbaYgi%yQ|%*tUJLCpzIa4Y zRKJnUdP3!I{FFk{MvNDq<*$K90vl$IqWaghmFZa(c~HldtX^*m>W1?D()Wx`{mN>< zHp8!Mt@88zt0x8KWT%0k{ z9KOYS3Y3VNM=wffbx=k2EU9+bi?Eq zx%#v^3Zp!x(7$)1cBFD*Raf?J7ud3W@Vwg2z%=uGASy&=*W*Qx^tRE)AeZ*?>VsgF zoRQq}7Lmmd%MY}JUk9F@!5qIe)N5Y zeoN7}hu0$XZ&@b~ES9`)jVXM~x+~XV7xkrnw}sZNbg|`D={zl-XzS$XM5UaOzBv)A z_6=gOhu)9Ay~NT@hiUrfVI-{>b_;U~5>lm{?i5~(+b?{jGIFPIyHsudUbcu{ zhhCvd(*8nYV*GsWwe|e&*+eDl0 zr*I7mEda60B!Rze3OzX#f2WiqEacrw*}17V{IH*@OV3%3>Yp>fuMSCQqeL2cwkKm< zN!|?hI%O#u8!6YRT18G+4RjtQw4<6fgu0EAr&mP-Wwxv16hCr38%i|QoMyY-uj?jW z;2`!lXuxSfhDKRa8x@8p27WD~`5oPE*x@6|@d{5IE!(@ZpF%Qh<^hd)$yC05_=Bb@ zD!Z)=8llmtr>`5gnSE$#f-J~QBZ*v>v}yjxT1N)?^}k7hu~wz}9`bf=2740ccu=!W z+k2#KsLr>0fZMN1ZpFu9)}rQ&Sf%1WeQ_7-=6C|9o#CDfRi}$>bpNoq=I{64w=W0{ z4b1&Eg2=RLW!sd(r@(jaB|HsHlMCZ5m!JE4=d?EUke@1b&KTM>_TL{yEyVkERtzngU-)%A)MNkk2HDo#tfNU9zl+4p z@zax(`P8x0pwt8Clq;+X=M51)yoKE4B?f8t*|$20EBQ?M-hluKa;`ByyTayfKddaK zIr-Ltq`{lb`*tb-8Ce?}h2+~pVqXR4%q`sa6B)5L-1w_+$tRw15sK21Cia$1H@b#P zKxmHwyX13?z|Tt_BRjXs$BmC0b~Xv-`K_b%SCWl_f7&chL4KrhI}_-s>hLyb#D zEBOEV`RTVUvrhZ&Vx2Lj{KFw#e$W`k9NZ{oKDX`@cdlV zAvhxZ#&VR9BchUmD9t=KwF2e5Wq+!+r%Lw2;p2-Z*BBaidTRePybcM{HA9x;r)DXn zZbt=HfE+ffK=3}Y2C@{4rzfUyC^L!>c)nU$!AW@jYk2-!f$=9x$n$|l=xBVxm>d&W z3OD1*6PUYx@bU|cv(4+r$l-P;UgC@vI}D9m|1qxr*)dB#k&pQ6x*K|@7zzAe3jIy~&kf;58P$82-gdL=q(oa? zDK|2iws%iP=yO7LS=B;3y3i(bfA$L+CJA5`w@ zvf;LsML!W6LWZ;3WE6}qU&Mliwr*P%Z9<60mm&r9J+2`)5?FE3;0*f} z=%I@$w*Uyc!iFB_%^9;ZLTk2Z#fFsI)X>_4DZ7uPYv6hy-K*z+exF=d?hiHs|Lx`4 z+wgs_k?*U{zlOfd`hR;up`tNbo_~SB1s%ivv3c+a-2RefYUmgT@nuN4%lyw7$m;BX z8}SR3kKvEXBLj^G6txECRn3NOb#f{g3t0+K!(Y%@-;T0l4@CVG`9nh3FX|XrUnR*>f3T zk>qVRJ(tqYq3YkA5VJfdte@>*mUoePzH zLvZNLGSP$V#UsgIA&b=lWJ2`Zf5rR(O!0W-5|UmFd8a8r*(i(9%7co<8B7iEi|CeZ zw%8veO@l@SBwlKDn4pVDzw`TAgjk(fF@D+sV-|fJ7XyX3@CyzBK5_|`|%8#udpg?tC zkN%nfP{G4EUn3)OSkNA}#Ttkpq_v7$!x+F+q%$uI?1@l#r2`Z-kJeYH@pcb z0V=y!U~8|dBq`$$xW`m0?5OR5rTcPL1m7^Cb~0KOYz_JVBpm9ow^p-T5QV ztJjwi@<^Cw=P#JGibzPWy9D|6h3_;HGk^j{D2>0>T9Txu;H#;k@zH-5XN^>#sXZJw z>&%t1$bN32u(*x}KBdVm$fWisD;aK6Edk2u_Du1-zwmtEH#)u3vVmmQ{_Rt(yF&k< zD|3NUl77zHACMloTaJNLTA1}yt=1*?q(Uo>z6H|be;0O`+;i4`unIZj!G91dr#hIS@MUJ=(3}##q<4N zdk`KWx)Xgsq%@U=_E~A*sQ7k?kA<8;QU~}mPp(r63mH;WPL@XSefw+L@UHt`qKj`K zwEygQd`RJ4L)gU=2z?=Og7TaSdh*jP=>`e+l?mA{1K_s(=}>i22zYi8{%qp8wQthe zD^CD@f7lFc;k0yHOV<}exiZp#ibYwKJG+{W(B8AjuM|v1k79mdzu8&u91-g^q3$_y zA|=&yvgg2P#ZC%-47IOewY)`Yf;+IA=i+5^+pyfl=62jKpw{f}-2tR}w;bxqbdcAX z!4L&uayv3`#2AW+Ju9S;EllvBJ}v~<1o_3kuxx+~JBQ;21TmDn2J}6 zWqQ!fAA}ZBWWZC9gr+C94N@!zEXz=Tj6n*mkYgQ3AU21VLlFj>o4)#gP*QjJ$|y$U zlTjK>(S-Jh99^&F8vo2sVgDk{eo(NC97U<|ve5(w2-YF2ul|eJ^{NQ_g3)97d;9CH zNAy1aw%OOnGI`${jybRL-Aqw21&=RI+|s?^qS%GL%^i}>M4;wAqZ)EJoL*4tW|rTH z(9qs;Khrwiv1)SSnzYzE}V4fLcHrXm&ytD4v+g7s38^%LT7R(@M zaZPkPf@=V{*pfj@$nx*fs0SqWuR(kvq&Qgnwyh8nrz%=$r1$f5Rd;xYz!dS zRVSGTcsp{;R0koAc*CWL2r;WTc!M|)53))Ks zW8t@D5kfIUKL8dVCioIUL`BCw2n=IP9k_@Av=i`_|3+9TK^lYFj=~){gAo$M*#OF` z70oejrWKz?|0U>&@fT{+|+{U0p;f!QpD)47shpGX%l+RJ3&lr9M zX1DVpvKdiL&vxrsA_8t-{`7ll;J3ErP>A8BdY+eVP;%6#C<>4YE+hp>L+mmv@9*Y`V=nFGQ& z$lI71z&AA+SCcLYb)!MzrGN$d$n~0aKu_u9zk>9Z`_dr_Y4-15n#~(QcjmqS>B#Ec z8m^22QwtJ8LqV6|gAWZ9crC6inSw%)}{TfIX02 z(scLXt!gfPg|yq*heyaTek9q!uHg^d1AKK?>t2=@5F*3bprFDF=Ncj^OuR;ImU}iZ zKiG|=Z(s{^lo8R22i81C2G+`{pcpW+s88c+u@)eTK6L1;~SL#G}qaG?I@uV1HbkN;R zN`MdOpY!SLV7p!n;N@Q#z!$o&3Jl&w)T-epnEI1ZDa{h;9&8$8u8fwu*D z^`jh25lz=>mnB~3lK<$tUP=pEXcIs28D&}sretqxwrZYvfUP;3hfZ|xnGmtB&H1#0 zUbLdI-W6f*-5d^n?>oO4UOdDK%Alz5LkoG#kuso>ebJkjo7mqB$v#?o8*1;Wq{`@~UoE4ZZr4LHKL=0AQswWS%tV9+ zQvIc%G92MXvIzo*aueUvwNkzkwtZQkWd}rxh;GX10o?)6y@E9ETXJ{5*bVAIA&6Z; zc)+FiVhKT>5q+;q>Iq?pUVx6npgs?2zM?VDW50e}Fbp%DO6#42DN$#7k9j5K=~7TR z5B!JUK?#9+VSOG7H3}N;fKfcXvFkK)@wj3Ho!E6m9UxfIIYbae;^@|;c_r|+SPvQ5@}pqAnXwK$sfDE?e7Sx& z{vkF_cAm1{({%~aM**uQvGx$hYtjQ%Y8TvoEWLZWwB?vvH&Ez&z^IoT%%Hc_461(_ zAlDWYFX{BC9Ky@Ghz|wF*V#todXo=_-R$nhFyA>8KE6u^vcs1KVARe8aBh%CBR(WT zMX13{a2Tt8G2Iw?-wX&hGCmBKdfmtnH8Bt2Wu$^8( zU+3*<#ouEeRjiJ81p^(_=EjMzym^Dv2pm0$7e;?!DcRA<_2v`_Dw2L@mvu-k!3H3C zGa_8gYzz$BQLAytNZC@>&tj1vVu5z7Adr)12}cTfrLX>D8J8gNNLHD}Nx+fQ#Vf+W zl6$QVRC*{X>m4PDeSb!mn0bS%~rD)vI9bM)XR{lFX zQ>lfTNL4YXf}BfCnkaYI<186VY2HxY^b?8c&5?bBHCV;|#C>)0130=SRYz$BX+m>r z6_}>bIUmNmZfF1{`{(xs7R+)-yrHgnk&t^=dp;@CBt z+eS_NBW7opkG%OVW!gu~0K_pXFYxR{2nEIhnP%_Z4t+31&h(pGvtPl+g}=CMgN*1& z?9E%~oXJRoA|vlVF>@cFR_<|@^J^z!9#<%{FzL**@LzI;!;KTjJBSA>V;7mU!j0JC2YqQzl?Q5y zq4q1tpnPEewoMTfJl?No4nDQ*X4-~-GKu?*uz1_kGXf`e0pp7!AETA1iOSa=yimqv zVbuISHVGp3wvpo8IaDsW-K3rfm_Xx6P;bmj)5@WZ%RS7=WoO#Muiee|0%5>y=j&#_ zEYEHJ0J*1$wr@rF?%W}?WMkCOpGednf^|Y&Ge|{7>}H&-4PL4EqWLybjoT=l7_kV& z$nQR76sfq8isfy-b{)d{J$kn31!d5|#es#nvGGy}6?T@u8O?&O>#C2ogTD5fl1RaP zj_HY!y_+2Q4cR1fr*#Twp5zoX1mrAVU7za{cxB)Q5&Gau8Tbg$g232L`i#$2Ul4R- zS^f<=cUrJ5Gzus;p_;4cu;t&f!Yd_W~kC7J1*s1RR>lO-}U zEIAAUlG81hX>Ctc>kohPu6kWYccLYn8LB#qid+{nprSiSoR-~=PYlF7DhI0|6-gCm zHelH-*UfVIF{Y<~^npU2V+6k`zXbCsO97FD63AQoY3zTp3*1@9FlF#gD_ujRpL|ND z*MAYrq>u&zr0?aXC!2aw6vI-kG=f6heV?pKINiBO2Y$f07$=KDp9qz$zB*IMtZ!VYIYr1gsUlt12QE@v2L3&J5s$}1oexT=$~nv6V+R` zt(Q+tLJRr-4=uzi{XnX6bv^~_5Js^If_NvkY+$bng8T`Zg?Yq!`M*C&PR~#X(llHW zbdPoJwhY5b=KCWTNfZN;`AfKGCn+l(Ac5k9?F_t9-w9Wmqk!)vI$_yZ*nu3m`e;qo zdPL+O&`qP?yF6V83bb-dcrB2s2ttqw+?LsA=CSAfYFEL%8Hr&%^`uU~=-c(61|Yog z@c9yj%)4^`gM)d$h&BzAt^7il=qF+W=}AB0F5Cg1{~EX@oFS6v(YTk*8e06h!T>Ikr6>gNOhZn=SfUbS>1-PEA;2k7}C2)^4Lc|SexkW>d@zF9! zWIW}Xz@{21`~uqLDi1022&jh8yBwkX$R^p6Vbpjhd=wN&{j~Wcvimm>y6E{k^Gtpb z4tzs$-vB1~Rhes@o*jg&{jBd337!ksl-O$mzHPC5l)QZR3b;{W$&=>)Ic=~|DxFg6TAXO zhx`Bk;Q#aBT%?%p%^vRur578cT7tn%Ec!rww)uqsZ1gd1Wq;F&Pg>9GSpTGJ{mKw= z2RE)kz~v+|=J3-VDNCZf|FkP7=zDYQ-PhNuj@-2Blq`5lv9|i3cicyPQhG_S%zr1N zm(2m&D5yxBN*ApaTx=}_$Kzp2iy^d!Dh<;I?UQ%lXc(>Fywb^yYLfeIh8)L;o$bWD z;+QFmYPI-zhpNREucJ8-li5tjT4^?TbMS_T*ygCb%v5vhGl6hNBEKs3@*ZA?ER?qj zS@7^PMky-S(H-Rywy$){Ne``c)brQ*d`vo>b{J{Y4UREyNFizs(m)4?q(oc!8{ z7Fc01Nr@r{4df@fp_dLp-2H3n_L$W5ANp{|u1WOz_1_1gCF0Q3p$yg!*7rwNe4-4W z3uci?K78>#2cuRvsE2;%^>9!M>Fc?t<)Kk7k$EptdA}FBG%4#{?=V(2kJa(fW89bP zFpnCF1U57&p>J5$9?`$Gk$HONU3_8X&&aci&5@=mQs}5r)WxmE3Tkz{iF&8(q1y32 z%7-^+U~;K9C2I0*(wlYkJ7XNlg9-xwuOo8{2j&WdRW3v*y~GFdm7Pl=mASqTwrtjy zlw`g9e|ZzTA}Y%s-?sI14RK!DbSCE>DH=B(?;R9CoEUZr9dW&~?kgR2>R#P_or>^T zgYnHzLvY{wpMCRtD1tt9m?tozm+ZP|TAu-Qe)CYVC$bK%p$~gL41M^#@`}xIPC5Wm zo{@k2r%P-UOA|(f@@JBE5=srSle0lmL{3Iy*EVG0LYYPy$}kq3UezvOXvxi33_n{$KiTz*kitkvp-kb@2Mzl{;P>70dUfV1`!#n|*`|7&-gtB7m(E7=2|yFPgG$VcsZwFhSEe}U;Ys` z<+RF#mK_tQF#x}Dd8Ejiy}cRx>=s%Y9L1lY@RkRK701$%P{R|6g*4EGw1!M%-V=Y2 zPzfN8a*QC~nVC>Fm(x_ef$08*o-h7DE|k6q0gWC|^n8N=nSfUZ_<%CzY$XX_7sxFC z=t{8`--ip$`%7eEsdKjJd6)^cW>wxo1w=pd55QR#aFF$YiT?nk2paH0DhThLKuFVz z03q`I(ew7Xo(jZRUP?pij zWe_>-K;)}}WpV0Qs6gz}R`UUmlb zF~3KT3LngNtIu1hPhJsa8iDKEc+S_%4#Lv28&|)V?fuDQLWux?wp29+8OdF6y-N#b z@JLI-?0{-OJ|xKl`;K8K56b;CndrzNz@M}|0Cmv|2Ne+T(AfzxL-;iPa z&6l!L;LxE{+{y}aH}`j@WGWUA2u6pHmAx11{qWOGV|^dTcyrLyeYOglzKfPvtzax1 zk|5=Iq7B1Pf#?x}h*{ob^NTk~4DeCx;#5ogd%(8!LGFSYl@7`J6;;b1jc5tU;U|Z~ z>BKIodF&v*;OP|7wv*A^Lj?$I3;G+@OF@WCqAA55gpK5-LNpth5jmbwfoNYq*X{#b zzXgN|NeEA-;uKtl+|6G*)}9pyMFc@mn_t=m_nnp9@b@tI-S-g$9YhLN`D$MYF93~` z9t2GufInpkw}#||7%e?zaNMtf3kZ484yAAh*cuIH^aG^Q#0l2yZzR6+)ax(9wkJf5s^Sna zBt4kIm?p~lf{9%6If#u2#2~8AkDEZ3&EEl_m~Fq_s`YFGn_!P307r+&1I`cq@mhb` zL|IUIf@{JnV%q%9?$nhwL}_F0IilH)U{}eXd+U%`k=qhWglhz&eD5M5jGMy7{|llQ zxYcB|m$E!w7woe>+oJ(Oneyi{+qWMU1aT}%EQ-2dT!(^LA|x;FV3K!`^kTs372SrN z`^1KYCbU16>Y<;jw6_6d)ODU18d8o>G{Jo-3gKHk`_dlQ!I0GUNw}7VRl30j9rG3Du z7ims!kGGtkv3PKN< zy0UNCgkC5Dh@i4q_N*HU5nU}=f2oQ#EiN2-1F^%D?|XN+xXqK)x$Vot8hVYO&Z$D$ zjboGX3#qCPzeztB3H7W#z-0JJPP<9ENBlk90p`YdDph{*h>RER8OFX^K=Vk!YE>Ac z5{Pu3T%<5`t;IRUwYBDM##G(o`H!R2MSzKvtv=3h%%{{B6e=oK1A2(cD10DCz@u2@ z04ymvl_4Jm<&nx+1lvknJ~Q$i5wh@CsvLiK+ArWCYsnRFHJl_RHk@hX80ncLpk-2b zQ^XmuvQHp41<5dstfX0`L*8+Fwc2Q6&#^XwckGhcdqhq0I2 z@Qa#-1j_=>qL+ISOTc+H_Ts;Ux0pr*4js4QyEAom0i)dbOKP%?7Q4v0dzp1I*Ey_Q z@0Ha6JGdEotk>}P`Uy`kmVsDm`y(bA@~Hvdn6MQiihZ|L`e-sg3|_(FqURl@bsD*E z9DLD&oa3BHbnNm0rtJ8kn%odvRuW4jr`LB4n*<>6ih zM>OBnePIxWE-5+3h*#)W4v<<_`%ca7{;kQzs=@2tbq#;aT}twykNUKaFA8@!K=Y>b z3H*uPf|FPU($Vl5ve8${n70U5+zwM?h-`QFWNwca?IowuD*-9Avob>#L$s2=Uu-;b zJ$5gTQli3IUALDjQQ2)Fi*_%l)Hrv7WqD|{^v)&qDKaIk(f^e)Up*5>3FDY2``ux`*TO|>a-{RL@b#}8(yJv zRKQ5x+ln4s$P1IL4gcfBuW%m#WDz&qlNy#+s*jCX3Kfi*x9h3MYNg#L0Vu~7`{KEF zM6Kd-6iJ6Fz1DyBE{x1=gfPm4|6#lUr{rv4Bp;TKZIN`S{auKx&2uwG){?)y+%jKI zl#&+~^jy5_wS8jvpQ4!OgUKDw{%x3>*z%t-R!RT&JmuMzEUEdIOVr z@#*qxf{<^zue`!j95+T0tr8AjC;yAb6eCk1)s*5 z)Kup|Pmi0_vv##p25>wP(o?g-sGyna%9&6v+Oa$Wn#^{}HaW&l9Cy`yem?BI^tXeZ zx;A$*!ecB{b}QK8@<2tvl5_GN{%UI-Np>^MrCNV}KI>vk%lJ$)2TC_gX*zt5$+YRk z`9k(c7s?>BxoMH{dM7lR$;1P#azlz3ILC4uJ@%(I=%S&8q!UICeR}qgu1IiftQjgm z9vfz=?MAZvcq+F?A9i2M9|q=Xn%RB8QUZ?03!9i@w1(tt-T?&f+32=B!?H+kI3>S$ zNqRXvE_FVA-i-5D@~>vR%;ubAywN=|B~F)Fp#!i3Sy^gHa|C|pt4#3{y|)S=9VxJ8 zGJsxrZu*Wb-nuoe8uv&Iw^OBl=EUK^4Kj^>z$hvw!@Tx;$4li#m?wLui8$7Q=CPIL z1>?$VYAXRw5H_Y~r|3R)QIq1HX$Omb4Z211TwgSP?Ab|fwc3Ekx`!eh>I2M|83-L1 zWdX~Mt6N2&-WBj|>}is3y8DDXJD;$=pdy+g;T^r>ws!p``S_*tqmLBg(m}zDcwxSU z1BK6e%qf2=bMjrhou05~Mjj@0H01nqj;!WG#3pf3A2+6;`12@|zANiu#9jgG3(Hx| z_bzhgN}S=lkV5C!=FE*PcW&_{+WyMb?#2mAa^NJI|1g+6KXmH1O!5?TV`vzP63=sc z%kGFMqF2VlghF;4jMYak)X{ZLZ%1mNa}EcbRE4rZpTDj|p)xmal0J9gGWpT{f*_m! z=1}H@mV3;4eg1md{=^tLpC!!=Aq8U^vF_`MI;O;yoFg*-gaBuJ;L0wDAWl`nnlrST z=ff)rSsm5UnS8A+Yz<#iN`!RK&tu=KB3BlAxU%F6P?uRfQXE0Ce(9w7(mD4|7v0?; zTlfOGG%`8zu6p_N6F)+tL)Q6T14~M5FJ-TSajPBNl0=YO(!I2fo@-&{YvGnOo_Fza zwVDqSVIMIW<1Hl8Xy6|9G1;|79e(Xa>$FdRWufMB3eb@Ew|4V-dDJP1-Jfr_y%sRPI$OJS zSHkvjWSK_PA(yRqRxStRO38kW4P|q3z0CfW-=Y;&&)(Riz;#L`zjCjAmKSKPScsHg zvqdH7f09DA6z>(RpB6D%eK#}2f!wG$b9j5;+V~MIS*S(jo0}<_v0Ky9Ge@M6B|w8H zD}KvEgFdR4M_cD#NpkODL>_KEBsjR83Kvaw#qM7(AvO^6kfZ10nEiT8U4B`?=1Zw- zN0b8Ka!JrJNCPY-9}5@Rb&TNR*7#4O0k4+$cbE3yNF`8hEk2|FsYYqLng^GElPyY12 zL07-8>TlK=e}YF@R;oAKU{|$yL@cmyvjE49Y!NLelkUF7wYmtd?)nhNxJ*6WA(WUSy(G zp*e3E{7#bfLo#M3K9%;(Me0~VrR(;}&x~w}B&_;7YpC0s6T+;09am#Q+g$X{SKODj z$H%ogKFCx{>Z3g8;xx}bW2LOW`KL5hM%jZqrSN?!bJX+Dy`ZUiE#+e6m&}%R_5DE{ zORY+RgLtXp;M5yzw!AY;%I{V66goVk$esymcdVriaYikb%+tkWr={vfkwu`*Rh8ec z{)t@smO918^Yj-M=nHR_X?5{75}SsiT0?*D>s&9ZZxWHc?x}o5(YDpgM}i`XQAJ#r z!aHR*FMfsL>HU;c_m-jGd*reQ&6P9c<^#jLWzH?m8yqvHGUKIcr$Ih)6EziF_=_@|Nb zZu3-FF-f8uHFnsJbB0RU_ld&rzKXbB$6k~N5GHlph+?0@6GN(2S#9ZJe(+iyCyc2p zU%5QyB%lmnwe6deA%>E~5W~g+!tcfTr{}(vOr|G!oD4+WjTRjF&f*21mRt;=5~;LV|>RZTgMs z_z-QU*lEwk?W@;6Dd|tHpoL%QFUx=9o$*T}m3+>jn36}P_J*MT_@I$CdGmRWU?*$` zx_D5u<`Zkb;tzhEp3Z$mPf7fC$GYa>fY(?okOrGd{^>o)*llEW34V*`&Y_c zUOr=^=ItS5i4Pcjf;~`)UQy2o&{(d1x>U>j@S^39a|%V8r$To>r@9jGAr_`n3s-f= zPA<|J3Zjjw9Qb|j4AL(M{0gVI3}larU?_i<0T?o&M>?zENZO5wF&+ z#HDN9X3IdJgDgynAi%z`jTr#ACXJ!Tu2%M)tm>>|$5jt&e1AtO>7-U~n-Wf&?$2_n zF$mXfmi=ggMA>Zyccbr0bvh5WBB=bQ3WfFIJ`2Co4m}o>^|qR6u_svqUh2kPp`W|x zBeufO`mCBpTG(_%mo-n-qDcEDpEZhuy7$aQX>s;RKFwjAgWEjr9UXnuW&F=N@v1wl zyH_bjFE^Tf7V)LVOh4K*QAmZ`Rke?i7qq6i!bqNu9$kG7sfnp?yVJ ze=jnVrH%1duFK+((#MEr&ov-z)A)+pfH^{G4;Kn8w=iDauH^LPd<8R=i@+j@u zhcx8}?UlsUI_5q`c+3kj9UKf<=3j2~TZ*L*60+z{83e%sX~Ba<`&{^>K<8uygt~< zKh*06+l#=$>u6W~s)dhNv%%|tII8*`7$&|)!bNHTO6Hw}Q$IBdPM(`&)`R!YBhAwm zp?AGB8wy8{!O2)!I394Z@H!x)d{~s@JfGb+)}PZb;DmNzI5R=(BSHU$So(v`4+jU& z;QfJ=lq0+zuG+X6#e_pnOx2Wd-p+&b{{M4_4@G~9#@>uBw>Q0MClP+Q zK{tv8SEm&HX^`z89p@r?&O|xrlWO>tgUL9ZsWo+x_zn-=jAhBIe%LHm5m-5zsA4H_ za2j*gOxWFe0V5W3y!;0|ffbpoi~0sulK+gDTfTTKRxlji(CH@j6?*;}=cd-t{h&ij uM8F%(uJrrto7-PH&qTgryMUtHV|;&Y?p@HEmFI`xpR(drg$#LPzyASvRKCmr literal 0 HcmV?d00001 diff --git a/documentation/images/coverage-badge-documentation.svg b/documentation/images/coverage-badge-documentation.svg new file mode 100644 index 0000000000..6f76fa97f4 --- /dev/null +++ b/documentation/images/coverage-badge-documentation.svg @@ -0,0 +1,9 @@ + + + + + + documentation + 36% + + diff --git a/documentation/images/domain-model.png b/documentation/images/domain-model.png new file mode 100644 index 0000000000000000000000000000000000000000..b46afc197fba4cecd5b26611af12127595fd4946 GIT binary patch literal 54662 zcmd?RRX|FL;Avvm%ji)6u*c-6+CQr74{Yp_DCS}-!`EZ-m^I=>MD@jFZzH z@xLC-F8KeW2ghDqUS3vt$UtTB3ySOf`fnTCf1=X(XJ0Vw|7AM28mRx6E-`qDnJYu4 z_9Z$RQ7VHAjooIo%k!c==xC-W&uA#Nu*zgCHQ?~jES<|48V;MKtIhppvRIxZ?yWZj z1qlNq$njvDh=c^Z(Pqs*D~kY~MvZXo_HYWkq@;vGr>&{SX<%Srq)H-zDjt^5}D%u}G?7v#PMnp*|UWw}U=^(4gwpOwW)}`Wpe7$-i0jd3W4OtU7UJ9EM>W|_5%!n)wQfzTDcMr#5hrcRE6_qi^`$jJ6PdhQJ3Ax`9mpq|A&&O6^aU#; zBQU1p>097k2T>CQM5Hjd|26!E&_8|pBrYY@OI_JUECvy>hT3-?wnW6lgq$Z9CAv49 zP|$3<(GeUGF{XHgeuSh5*QfM@PHW;{w-JsAinJyB-yY((qQtlV+5Z312LuH20ZnSW(We5OH(P$JQ8N^A$K$iQ}BaRXm+CQXleIW zsUe6$HyE5p{R`(vjG-z+&WB~{8bVriL;&Cb^EVqA2#k0~u1QHXVKEuNrlzK@Uq@4z zq2S>9fEP#cciu;gc~(v#0Y$=6!yfOwV3mczitZXhDo*VfdZqh)0%*=B(2d=7lkWvz zC>m|qQI15Gq@LMV6RHyCo~q1EnUx71uoXxjop<0C<#bNNT5Fu5fM@7cCSAr7DaOEY{*(#IO4^E_UZvRWmN{m%=E=u;I5+Q*0qmkzvLZe{ zU+eFDGEYQ70o6&s6MQ^ZO2R?DTd~y zHg{%tT#jE3d&5Muv~X|FcRlOvp4u{s6|Tr|VM#E1Bzsc#Tp1AUv=i^p_L`pJs&X4K zf=hIejLUBM8&G9B?Ha>-z8^0l;kOTBtuANR!b^N*9x5`FV+k0+LXp6Th;GxG@aeQA zc)mLe6A44#s$b9@C{Zkm<}eAL%s0E97&lrk6b?b=aJwWtUZ{-vqgeupQSfXPQtpny1W!K z1-B^TK_iK@ah;r;1uT_L)9DG!4b$H2JL}+QhkV7?yV+!d4h?uSPdiap$Cj1byCpL< zHc#&_-Zgl6%3GoihwBP*`#d76+12w7+FmILuuxrDzVDxG3mCD`u>&*zL<*{@Q54Fi z1>&&VY_7R(^u?FV$kiDA^v33ep^o_bO@ zR!Vx>Ui`sKVp|_QOJ8zC#K9p+u)jND?@DiWoUGC(QRMw|E{^jSQaSqjD_rlj@yM=t zQ4GnOyKJrB9;#&d$tUl-IaP<{JULi*PfyA3@+%G2+A;$}apdx~Cem^0QgF(SuaEY# zC5i(^!1U6PK3>#cY=weKr3B@Au|CHBp#OY(ROrZ9z&0>%JF~ImMQLhPwBq6u>gHk4 zAC7gcJ~xu`9Gad|I+zkj=9$wbEiN8S!fH!7F;}kHxOs6AB?5yX!M@hwnxvRMH<9F? z&ZVeEjE|&JqENsf-CXqXa;Mtc*Z1?L?dfJJR|H0xpLjHvfKhoasw%@q-!wkPzZDA$ z)rb^lI$KXAQ>M|dEWRg`x3$`Q#3b(NsZhH5`etHmHSi0hVc>N|7}7A~@C%pQVDu>4 zc>2;c9-p;akZGw=R5WuQ&8}39#5hL{{ounm67E(aOnW}Dj9J-*siBNZWhQTx*%h)n zXQ%`R9UVIFl;m=su-J&iZR79Gk*^=oM86Y6O@pU5ac!^Z>o&VH5e3E9Ee()e=WEqR z9D4%c)SAp<)@s&sS&TYY8f9fZrDr>NK;B+NX}7wroXv`gif#_?jc}B(=s|e%J%Jur zG#j~VSJP8mDCcc8s|^BpHmVIF`Cc!DN-(PeP{Dpt|RC99Hm}Y}sWkC8;Ni6eA#|Qogx0@VQtCK>%umr@V z{GL0@Fs41NK=@=mWy)>3r0l>`7)JGTY2{?2EP>O-RF4rpuLWv{YNoy+zo1kM`ckP!Eq`T?xMK{phr1MwQ_l^O-^@Xeg!UCm}hZJApxQCnePP zmzxQW#}@*H68wU}Z_XT=@ve`p7qAzXpesy@^(}3WB@{IMXyy;hU8yYDUDmvGd!rAA z&ewo+-)?sf$3v$F`KIWgeW4Az>iW^5w-bYw-U~=yMeJzugs(axPj~ZX~!rCP()9~8OIX5X$hsOmBW1}XN-pXQk)`k6#9WL zkDCJozD~&H2}Li)Ni>SHw^2Neau1+v4)Oqy7OfEGrmwo(Hh2EJPTGh|LmD7ephn zZyUiuI;`ZrdkY%m!y8R2(VJoPox)yP=~}9Jp^fbQg@w7&X>8LnQr5+)jTP!bif5{X zIt=TEf>1+ga8j|gcV&;uo-gBgtrCp}ePL;@9+-t-%h;R-Jb+*BOESr8PSigpx-dV# zp4YV98e`vx53OvG@H88W{Z7Ws7$7S34b7S)Pf&#dvsV<#fLx~9FK|&x=uGT%no<-g zSX;bLoTQqlJ4u3jRQ$&eFk}>zt6}QO!5BLra*u9JwCK}FrTBmr^?biygKc$pA~mI1 zIVqCO5|!RlXVgLYC(?AHNc)mIV?9z9`2ac;o2}i5vJ>UoH!V9e8P#TAA|AGWGAPIG z{gw7Dj%-+nVqGCN?&?a6z~JQmZ2CQZ8oxxjHF1oIMyD-#s6vhip@#|5;|5D)y!b8j zMlv*g%Ho5e(S-NO>wqT=d}I2wL35j3Wu)1n-h#v7kpYM!7-#BzBk|{Cl^L3B7qf{H z>9olvI^XU!osM1^-#J~hQcD+#iGqSnQkJ`1fh=>e!-zL*pH^eDR#r9FF^O(`4HB|l zL*AF*;~?4GV}QS3UZt&Q$(J_$aM$PZFXVMq;9}JeT#H`RS@6IkC(*C)xMo}!q3YE( zDIRA`)sczVIZh}+^L3?_>XIlBdVF!rbh1>=qLV*-jQD*{37D}I8?-nFx`!;Z=Ergg zsvlY}%A{iEo72yO1kR(&j8yg2<-#`9pSFu}+u9_EiJ2s**1~N{Rm#c4JQn^aYdS7r zSAOFp;lrOR{%6=9?uDzo_9x*>% z^C3S_)6gPpYn&07q_490(SxWDI~|NG)AI~-k?_$23#GG?gxCVm)p>ejGIMl^*J>o6cq_WfISnSK74~R|J zj(?PcTDL5rhur&xkdzd&)%7ekuSye$CuNme;{yX>)R90%nPnskxe=iuj4%Tl$^Di@ z`ub4vuYdNWgq7k={@o37W{OqNh4^eY3Vt~yJ{ZjF$#O+&NM$gQaYh{^X4yE5ib#SbnNKSV_uhbGRaOBhb65dZFZrT-=bt6p#hQ zWgPB?mC--Dn;~+i+h=_5euvaw$uLTQv_gn^{VtiV(4<_^brcCI{wXg0Ls<9=j6Y&* zo>Il&a}p0vo$UrbKmv>f5Pv3wqNzjmS_655!ECWSO|Vy}>-S;s*v?xp8Oqi1%+9XZ z@4btkD&+75WUNAf450$ZyLhCWPgHfi`}_%Gfy8-B>e(Iri#?1ol}dD;sbmt}SodI2 zI$zSbARz*7&g0x4NIQuw6(B@Sq$8r@Al2qJptki?1mP|n4DjqFafq)EjEsZ@{J_Uv zTqiZTj+y|sC(#EQ8VX8JU{?tAIrIA0E<5k9xYqcZ88N6S85zp3@pMjbU0q#HXu;7e z->W{1z1v@n8$R3Z*m74;?)LylTG$0Qt3Qc&L?x! za!<_bhR!~k3#Dt9X1~nAR%|343`3W#wz0B>eA>B+K=d`nKA(CHi~4O0Ospkka5F$zTW)1P{MQA6-2PyahF&}ebz2t#KZo@|NK+D-wz5(6Pc_?x(xpQcLHB320$NLrA0$qVhopwYltPp^8iPy?SXYjZy;EQ_NONV1K*SO!9;Bwf30jx(zLj(Ky z?j#6kXNyqHh<2x9`*__PJrs!!{hq)a04A!xau3JJsl5RSKZny{v=)NkqIw<>GbM96 zlBtxb5oJA1PRe0jtTsE2t+p4iNC7Z`63s^NN~PJsxFr8%skW%?JuzqNPeB>&MSINM z$-;<320-eRHkYW#74%rY(try>^=0{WiEMDr(5iBwfQ=ICwCb_&^6*+IK+IK?MRf7-OY0B`X+u<|NK4{j(a zN4SaPW3zk`KQFGutaHnnF^-$ObB9(1Z*Ot#lcewT@A3UGj0G>D9Fp+ep)KM%N~+u# zy&7-hf_JZw>pwv%y@K}CbZHK8Bv~yZy|?N2mcn^#*(dxev$3yGD9NV)yI^C1V_YY2 zlpGlNWsAN5g-SH_%h#Z6ĖBrXO$mP9%o(y@$Im!9Na(%K|09+oe)CS&oRzf)0t z1&7U0bH)}9a-S9FFVk&Qi4-)SZ{su>O^paeqfSX!sGVTxHO=~fjN*N7n#Jc=X(fB- zbJ1$ycG!jDa&g1qe|u03IzqOOl9m=yF!($@Gh_d>3|H$3B$51E?U5IR6r`wGw@0NH z;bI`e{cx-%_nWWlM~mNpfSQe##hjTZV&Vr;lprR99il%txYPpfo`B?1X%?L4k*m@> zv2R?FOi%J7M>?N3wk*Fk!Hns+;O{^o6)R?D}qzaE6t7OAIQdV!|;1i;C4- z%t=8PBY&6J-2D5yShusIj5J~)0_ve3FQq>MCkUV<8)PC2-2pJwrW5$gFNM-+sg!=g zA{K4324^htN7(kLjr0F>yNwC{4=t)OVJ>=|HVQG9g8cl!$NJqNCNE2K#MkQ)`obH* z0O+BwqDwW#wG^wM&r-dVs8$BroKruLI=gAG8Maj|)iu{W4WGgSCjjpSI77qMJz;3G zpg55qP&r>lbv}9^ermMzk~HPoJAu>`=S>&o%CxEl=WqB(UJQmrPwK1L}m*Pa-8-ba{>F>05rP^*-gF-wgwg+zvT(Jbk7guvr*8+7;nOvOn2 zu({Cjs`dFjw7UC5ruL`zdpEr`CLS@Ws>k=lGq2*2pXsuxOlXG4+xDUjf3x~$Q<$f+ z1%#yccGpF@EM?0VUw)k*3e~s&r{7{)`-rWPAUM(S;25_{Y);?dq^`-NGeLxW`*zJ+ zOuqgbi&?%?0NmVHqU|N`b+6S|w&P_i{( z4b3p_)?xECq10q=hvGvJ{t+H0aDs1c3%sWnT;!fkbp07J{&S<>dz2#%<)2UG;Fl>JkSNh_^emlt@J|)lL zd`$Yz<0YI5N%2`gD@>Vd+Mh$D321TOtBsF0GVb>3sVS2y?1>HY4H*?O7)_T@$vrRz><>4 z6C$B)Z41NbtW1H?SIjK$_igrwff$<{{3~p9#9qYkOOwN%#M5essUk%$C|CMl14O{V zf$5)Is?e%dSw@RI8~{OoRT`U@KkRg0=Yu0c`V&Ty>~|OK)jtsMIS9i(-d-MdfNXmzsa;OjNmc|E$)vlh z{{F6Ze}Ny{6L!`-Hw1io9>Ux`-zfL)DdqLwTS8wA zXBy6?D-Sy;iCgorJDA@m2z&ZL55c{1as?|jE`NoK{@=#wC2lSFn(79 z7oC#Qf8@Z56Qo8GX%ato#%~qi=Q$Z|xa}FoO`E>2axND0;O>niCG8(Bs-2{6zCn(n zBF0Qj6`yPONo|pEZ5&BfA{fFvZwuYb@dvm;bb z$*a9DnY!IC9Y`%4Ok`LlMv?9Xl-?}nnHcNS@`x2LNKt4P!gi>4>NqZ04CT$=T2g)h z10V(T5uMY6h=iTm3MZVfP14H!I4cLrdUP;qc1cEJwDJsiCH{80SS@5jMHuLe!|8IG z{Bz0q_E4U=Aks~Y=By8cs+{9rkps|2Sp^yCI=a6Vq|Nh$OgU_)k`$y3hN%%qQy}v4 z@)ih|i^mYF1D)|Q#WXVpx(f&oB^w35k&AY-S}n>gn--OcG!>4#fYF5cLtAV|8#6&f}Cg+#y#9juazYfp5@?H_a2 zdiz(%@qctr_m5%T>#jMQ6y|p_nG~ubGw83O4}?6UyS@({qpqD**XKbZqB$=0e;mLf zVuFh?_ukREHEkQk7NYoLZNm3;)>>1#k)MCvr8S5v!>0Y07J$MVx*ZoYF5bUImZ$Kx ze!xQFq5JztG~sR+fbnaHA(vq|5wm_#QE}>x`K~4l$IGo7)@MAg>bxh>sO)w{W=wZ7 zjtRnZQ0Z#k-@hJR&&4ZHueO!*Y(Df=>cpswW9C9iVecsf_@R+#9#O;dzg@7xg-w_9y(0%0gj0X=))fG9-YH>;Sl zRL_1b5?+JD=M;QeY`fHk6_!Yo5K5FYv|ek*`~(kD+i9?-64D-a*Yp}NA| zEx)QUvnA!T;r*Z;j?F4ju}7BK2LgR*HUZ7^+?}ncR=AR}{XmqUVRTwsuA4qts2n*E zrqoF=##C zI1-F+M6->?tsnMJfjbR0>Xl-nqsB`6k_*;R=qP8af9C$AOjD23&gjaRd!Eodqr`0G z)bM&r&SlP(Jb$0Fm}N+@#9W>dz4=+t{%V!?RegDcOWEUW4j+w5rFXIJ>blA240~E( zAXjW*T&>7y{Vbu=n2%;HM5bZtRNw6PNje4j@yhCqj@|z6&US=D4Sprfo~Z$o1AfsH ztysuyRjPd_j|YvcNQdw3G^5|84lpXU8&4XOSAWTx9)@{fKIeMe@I9Re?R0&*an;SJ z07}`5ETuij4%t`CaOJmY&VQVi$8GyU(NM9X$)Zjc0&v9>PPi*p>V|BZljwEFhn+JD zU$YV%vi}T~@zW>Ab~RHLs7!kZx!YY(EZDBjT@<>inhwT}Gk7Rs#=mH@a5+x3b8lI) z(07>&ml0&Mt=#B#3J8tr=5LhPE{ta!E|tT)^EfD_27EqWtln`j3f^4g{}|Md?7!?q zT=tE8|DDPfZzJluO@zy?Ppr{kVU7Ky(BY&4S2-!jZnY?G!*Kb0VoQP0Su|~K6B%%W zk?r&Lby}y%F`iD-U8m8WdAZIia=KtdZ*!BV@Fe%9-S9zYhR4oQziHZ+`5Ecxe7QX+ z{n)$>nEA(dr+|4su`|(BE$r?0`N`KWUj~u1D%-9@%i=)}KTl;!RPNiJ_R|!$h+Rgt zYK%fsK9Y1ieo}Gt$s`&?e66l3LCPUS4$BV>c#jw^R>L9Twx&!y?JH-+8{btuourJ{ zG=Me-3P@8e&X!(Jdr7G`r15&)?^9v~tmR`Sa4{H+%1TP_+bO6=8g*td%8j|OAWg;^ zX+oa>LFrSf+QbUZkr(d4lD^o~%k@Mbd#Z!a~$ZfO~n}KEBb!DlFBXFzJE zO?X8ePlmO?nz+zPy&*~aNY5kTR#4oHV|qBUKF!2>!D_{ln*7hI1CA%bWW7&uLttLi z*tk!4gNqpJ5V&?BcaGi6vyqk@<=im!Mey?JFp6c{e5sgg$)Qb-#{+c|t>FW0jWN1| z-pRPO`pXy{52Qh_x}6$Fe^KI?0410bFe_tnno~kT=c3vO)GcMI?-_q$cbmP0Kkf4xJ&e`BQ>bNcF+^FUo__x15*s3d5+ z0RN1CnxS0Lc0&<~O)!KMod(S@d&eLb2@NIfJDkC;B!E=nG4dIvXC{a!^y~wY81r0U{VX-*CcF3fn zb-%+CaDjI7g{4@_z5$c5HB665#a4sa-_NtLg6f+1=|g#Wx7>>FS2DsD_al{Uyt0^ek(^Esx}NYcU#^Gp<%uxM+5&lXMw-*XFtG zHLgh!ErrxH2?R6Xk%H6+RmOmfth@zHcYoHTTD;0Qvqp1X@W`Y@u2xls6u}vzwnWP? z$q#WMr@M7?%i^PFD%E63psbP`{kKbx`sFp_zVw`ulA8!}>IKe=%?qDcU(*Bo# z-AK2g2{+vFT#KvQ|8vb_^{ws5s%zH|SOOL(O7oopT%Znt*iYr47pw1K5ul*M;X8M4 z)`qXmWtdz^kIg3u+_jl^MrN`_;UpcW@1 z`NWs5C~;vjC<2`%<`Rp*G+Gpq=B-}S=HfGZz!_UIZ@s*|7I`r!aWF)l)t&xyBkf{< zF;Nwb$fKgk?_X|OxegT;%(4U-6gbo;gfm-Os*5AViYFBTrFdFJ(!mk}>DfCNqt@Y6 zqTE=n(daiZnNye{+>sx33Qn>H5BxF|GsnZC5QD;e>5SAA|tdVcJx>#+tmfJjw z8K%wkwl+!0ey&D3Uu|(a%Ix3>UG8p278N;tA@yX+UU_^&%{eO$=u%#2VbMPk(RK1E zRqWlo9IU?&EX8E)i9>QTaC~|9A-VKr{nG=ef_(BscTOrhYF0jFu)21vmP{;W-rXrK z*N!Bnu0l}0#mf71nCMriw=WxAFdO7M@S$64G(?{nPyNK_-lgh z8Uy&MHW3&a_4kq?Su?jU*z?{J_w;l+ty_ta4T%m8P6V?v&*7~Ue`b? zRqhGZ*IWJ@&SYwPgX}d*9*3e8B`^)cU(rnc3~_W7ZoMdOBaO+4dK-t0??tX}d-!2#sv;Mng3itnsd{Nq&?N zU8!~Mn~vAaq&ofn5JTd2aOU!OwD55yYEqlt%cT)HKQg^7rj_S4v~f-NHe64$po^es zt%z^Lh_h-H=A8zS8pQGZfaK)yVvYN_r#F{+5{j zRe#9;5e6PBR#GzP*B^nsnMw@FMdd)qKstN=#;Y$^XYTzq-8oCqZQp29G(ZEZ=ULSx zZ{?rbMQ*v@5IXQ)@vNk^7$|0kaps?DPJMUtIo|Shecj~*x*UkD5Ro7qvTb$UQEy*P zQgC9R`c^nUCPqj9BTL=R4myjigjuNAsoN+rF%cZ>p@4&Ox8q$Pi!BxjoSZ^27|!*e&fI#_@PIZXsZA?nKgn z`tkjqq=z~7=gPT^(%?&oevWXHJ66wg7^=U2|6V>k9Q>Ao8e#+(c%L94h^Gzj)GKy8 zx@$`9Zj5Wz{d$N8$iW8?%{3bLaaP+sA*EB<`s4_7>ugFd43(&~kq=lXzSg%mq9Jui zRT9DHse6xQdJ5vZ;KyG}4<=7$|0u)o2yb1-6!Z6k>d|N6@hpqDZgJlJ>m z3gNu8YhV0k8kQKATHrvVq^>uteV%$z%#|9?CCP z`QV)!8*Sd1j4>ELODUD9P3`j2FhLu}#mdzv{S41y!GiRCfg1v7{mpGkZ2l}c?>CU%=^9&}nw8;PK2)$&~lDXg&Sp`RRC znURjeLOFBYZCXmrKL4@__yo_6E!Ea#C+>PqNN+o_U4Y3KdZSapP*$qtQ~e zyc;O`!F~JoEjTz>PXI9uk4^QNphEm)*jQq#OyJY*U`BTAmg*zY0&=V(1KoG^h6P#e zCeTWw4G|3o6m=q9%sJobDg@)zx9hxC#`Nf5@o-6W?`Q?_42Ex=1g~(0C&>9ldw+e=4}Z--7Cr6D$Ze_NlVQHwB-XhEWq zLCJQMtc1$8?BA!GBaRp!BFSe3a;e_MeBpFnN6{F@I|iT7XvRD1L=h*q-xCyPNjYie05Fai!#JrqPi3Noi%$J?wKAZ|-IX#Y9<}04Cg&^U( z2DDpKNA-yW78@+1oRZ=Zqc(hA;9h*5E8C9VJNSYl!+S9cYLJyE_5yBPP}K$hl5L-} z+adm0DAqS2e=T_{z46`b^6~nZnNX-Ms#V~-zs^F$`8}dqu{n|VLGiSpznJZpI-Hb{ zQ+ww}7q%UNsBpP{wYqs&!c1d#Ek_tXA|N0@17&~#bR^CY`M)M5YRGxR_wSc+B|AK1 zeCU9VrQ7%8Q8G0M4x6x2M0miY;Uj@>a0{iV%4Q53mVgJ5!1c(2Nel$i8yVLo+e_jV zNtCM+2?)x)_~lou(;irOt07tYeZyuWP@20#1gjv5(RDr6$ zkCN#EB#vp>V{!wOxZ4Y5!E~=mpQoE>7Mu<0j0mSA+8}(44}y(B_&xP8 zesQ0&ibkb`nG+M^R_DPgmC82e#LGh^QGL^;Y18O^ZR@)sNJvSGSMPw~;bab3E1(W0;o`zB zlF1MR^qUN}>pUzLvx7D~+b|!$K7m&`9Vx_9Dt^rqjTm;xv~u=>q71g+X-?~zQ#dV!XG~jHH^>-9dlPS1%Xiutt0S3k zJLY@FX9R5j#X+dJx9bAQDxVXVBi(yd64@8PS|s`o~}Kb8OV@6{=DS>+-h)Ga`0-mk29CvIDGu#Rr_3u zE1N{JPoo9e1-Z2W_=`@vgH&ukV4y!&0u8Wk?)LUsgQX(5bnMI~#2diDwUqLQZ2Dpg z)Eb>jhkVNvRCFsf5{j~94@8^Pk*wHl0T1DQRqAUuf+ckOqfk`c)D4IdA2cA0`lk11 zn5g52S-6+qii#cL!molQBxrU`S;EZI1wVbSD{Zt{k6(bsptDM>AQlM))*|$9xo>|- zeLYDTjhsJQG0_ikS{|_lB*iiDssB)%O2ck|$tmE!vf{8U(LMmeXw&8jwv~}i%*-S0 z`qUws@p>h#GT3iK5O9pvX9ron{eZT|NQjJwXLZ!)W`B$$dlv2gtS2wSDT3^uu8q@q zJylXY?~eQY$v}unQ_Zs<6v}Ex=@C{1s$ZUteCwqUlB>u?bVyU#Mf2kXPk$jX9(FEb!N2*;O()tywX(ILIP8E*;cPjVC6P{Xct5 zW90OUS^bCRIkJ~^IkJc&+U<*v>S@nk7^xa8>W|4Bfl5Vfd;p0^Te;JsWYS<(dxzH( zV6^C1Dg+`!vM7R}4qgwvx#c^T8HM>6{Jdg3-u@-#;_Zx*0mK7$?WmYD)>WI;p)S1d zjO^zohqkffgzrv)Q)ygp`cC9JQ02u57J^Uv6|@a6x2Jyb_U2~mHE2A%yfHB`pDwPA zwV@?pvsP;iixf(ffz>ylLN*E(DXKMx*kJ(0VzgSYzJYrH;6}n$a8PKdOue?sa)C~% zSWX~yARNokgkH1>jooYL;qERWZwt5DZcFfV2~d176JoO4;C4K2hgrF>*Uvp`E4Ui= z^v{{Cw1J~PcXr{N5+_I`bvIM1rqBiKg1+DalvPS`9YWwk)&p1qL(UjF!}rt1xk~%Y zmjdrJcgoh-#h_=wOs8ulSj|`5+C{}Wzjpd7zx_7A&n9KBczjNi)7c6fiD6Zre|?YV z6a67hK~@mqXmOlUZ+U+z@-CAJjMu=ZCvsU_*OJw`-Gt+YAZ7f+RSE=Lei3pyEv5`r zdfoZa)4|SycG}v*xXP6l-Y~wuX7r*3$9tmAajR9Z6K-^<&JX7saU}C!1d&We%2jIF zuoOS%`2!Q9SL#|*omQ=>ZnFbgx`I)7qd*G%SN>)P`np}^12RfQiq=o7ZH}^hv+TCU z*^ajuW&~FdT$qvfNGT>I?raq6_$=)4kg~9fsKad4GXC~(%&LbgzF>g}STtyA{v<&N zX#u935)-kR+O2~~t_Ds-Al5Rt^u4^G`FvJ{s@m`<$knp=jnTbe! zNeW%D5iCtK)0K=|&z9@0mvIuTYr1Ka1~0!8!1n;{SU6-w?^WcH&K5boE) zKVxy4%<}zP?cJYdp>LUlGeMO0$l<_# z>lI=&l@ZV05LtS`U>kY29ycs0+UlNv7{iYz9QI8We8xS2sQ}-srBCB$&ZkdJ9(RAN zeg}OGPh8OYyJA3^`8~_&go<5;;hs?;4tb9ZGQ~R_+2+D9xD7=41h~`QR7X&g`cC4W zoie@>O5U8qANW8Q$BT|PMu$habUt^9)DJ+ELlOwfw$%ACH2{U6v|ehtutzjL)~%Sa zU^|KEXgc2Y=J{a%uEq6P^l{ngWRM0m{Qi2e(UbiYgGn@mddKGLbZp!%8KkIZT)4eb z;H1rmz`?kQF%lZ~_G3p^z)Q(@sR)i{bN>XQHHodzf8iVdpuSvCA;{ydnK!tmL`W#f7CO@3%jLM?OJjv9eI)pPRdf zfz-LujA_`BaZrH5)Uv88p5_Fw_{hw+q~DvnHc%6gN!S5pvj>VkC4GFwV~o6MY0yRF zeF1Ar(RqLWSZOt9A7sKhbYELlN0T!~G7ckb!g7GVBT=->2%e~zEJxw{wFW0QpaqzD9 z_IwyDuwR#Z#=J?QVSV}r3n#P_cxOz|V->_Nb~AOl81@Q5^%mOlp(+U&;0hUFcbrcUCRseChX!^t}b^h?&lkT30kPm%O`s=?Kcf6HVb4Snk})k|S)i#NRll7U!GKRlLjH!&DyM zi#}49e5V_;hSsM$Np9>mkgls#R3fKor-|V;jd}GZ5#2eU6}`t|+A-JIeWp>}2gf%z zd=2lzv1B41_)M+gV71u_kO4Bl5AX;_y&y(k-`uswI&50}c@h;;}`yX|4n>|)$o zDfQoaUCugsuAU^`T+W1o{^4@7qn(THmg}eLP4+ir%Rm@JxkElEs%YFZh_X|e$kBIr z9sO%+u}PozpJcS2J#`3gAYz6|Sd9oN1~Vxg6k8xcT}87Op?qXo5HC0T%9P( z$R*??+DEtB9}wCn9#fPMd3}C?Abx{0rm43Vx~K5z`(lSP3^v~ltcy=;4^2kH^{Ev$ z1Q6%MTQY`dx2$`Ac#{?trl2z{Agc;GK=&7rjv&1k(P?$>N8li$;gc0b0842g-aiQ( zu9l}cbvoae+~OoVqyHG0FQ?=g1V7VTIq`jsE%YUrBT)}Oi1T^vD=92l)R#TT)wJ~K z!yYjpa@sLCOmufb4O~8@upZN>iw`QlMh%Mz>(P1D*jCa-d6LZF_=(@o*T1UHoN)}R zxq=p>4Qp^QZYqY)aYKs7?<-&HDcKk~`a7Xvdz0o&q`h5jfRWR>4e*okI9^9JAmz&U z8MRj9H22mzSKCq>JV3Sh5P?p+tAB!jr@V~dEo}|8qR$no=v}T>Z6Kb)Adm0wi;BhU zdoRV2H#ixT>0&g^}QuSlS(GGHQ2gaBu_&s3K|YxI7lYrbUi6|xJSDkp#J=6 z6_l^op_*F<`W*|$C06~8c%A)7v5iLhN~oey_z_|R-byl9Xsz)k7}cdm(L_RW9bWG7 zH0sCzBYFgMQnd?hbwpe;<&i>jjY3sC22D-?GI*1CVFG`+0JqjL`@9FKom;pWzD>uy zEmo>qeR7{LqH1?}DPNL)jmI=N>N}kL1^4xg{gm?(MIwPNV#=q(;i06d*C@T&NtsTD z&WCoV4(%f-gG&NpZqyyd$ji_m4+#xD^h%M*6;GBwDN<-acBt}i4%r#u?+J)U3_Qr{f)uFOeCiEf{YB%j*gDw{;Ci<=y3%Lih^KX$dW+)@nFOd!J5fUd6PGzIcg6%#S2b zBG#QuPMv$xXw+fimmWt5k;_^_e_UCtPs?U5vH0!ETFm{4ILI;&wp^&l*=fBXX5g5u z@GK8yQ(eOth4w>EkAA&8|Ni~^kdP$Dv1P+}7&>hzu-eS)Y^CbQa{{{&s z9K^n2FnGD8Ktz3g{da&MZ8ZcU{DkL;wB!9)lIL3dTRg2MdKBM%vAUYZ^{Ev0PCOH> z@nStMnLg~g)e>$_jC|@&Xk--oDuH)$6wfu(`|Az@k8)#$R_f@X&6 zozqlEI&|qb@uPjV*v>a5x?XL4dK(^HuRIQm4mb8UIP8BmSKR#Y%36oYghfMy@* zYbq@sJ;r;X;q=^xZ7Wq_E?8KpQp}k0y59ZPcDY)c0=K@>xEBc&0?w<#XAVVapy=i) zp0Bz-t+qHT>eRwc)SAhsnKaL}MKtxf&mFT~zQWLpi=<%|R6F00aiU4JXWC?a0^cP* z^gjfBVdgG(cOi=)mKJrqOJ%jc>V_!Vrqb+aOL5=2Mgx2}jTofL9|Z`;Zy{#u3jA== z6g#~v`qlkqsjVs%NU^QRlWhHzA|;4U%-OiX9ZjUn_nFsCz8ATkYHmRAxQc+r}H%UMNN)48()Y18ypW zZy?`U>NX$r&hQ<#cxQ%R3N^n-DH|S3P`QfTx4ksp?`f&S%C{@^s;m^tGMOAUCc5<+ z&Q_}(J$3yWE=LQcdLi9*Fg;|TD#Df92*5i2PqQbN_GYd{l-X3`8EUxUH#90 zT!{9X?5g9~hqn!#Da~cvsomr7eEBNZM&`tYaBKe1*5N^~fmCF>_Ww}!)ecMtCFFa!@4Jh;0D83^v~?(WXO%x#|c_ulWjU){P@cmAM? z>6xC>r%#`~_u6}})p4XC+PzpFxo3$;u7_2TtBI76Oq27A6(jQjQ=$E+(FgPoF5AmNt(|fq|Q_f zZkR2naF+|qXlC+?6ZeUd3eoG)W4N95VP;b=rqafs1aeYg02jD*i=2N=*k~Dw>f}~J z!lKiR;kn0Sbxx#ba&y2d`@6EzByP23dQc$ za-!KaOQYi>8#QY!BS%gl;gD$J9vtV4coR#fOM@g9hY$G%K0bxty0vr#U2m90^qLUP z`}@7vrOKTvUwzFH*C^+e09q{3%hzwP$O(H5#QfFa!-P$EvYWf9hJAKqwU&#j3sx#C z+qFMO8%<-_F>Fz+kTw3$0ZSuNP0uz;#j5RdjcHk>^`Jn@qo&L|25lr)=Y~q7L)BWh zP3P|m^)EkYwQV~P7o`0PQ7Kio&y`OD+MvfF@Mo7}cnNhofvwDvHV|tj(SeucgyLygt(YHN8 zeepV-}ZnBC=$KJw|GVYPWt;_Z&4OBmZ>@s#R>3sxV) zg^=HnL?v1;%tgppr7WeJ`Lq8|?&kta8j;0b;({PUUSwT^MZ)(XZZbB+_Y7TTMfj~` z9A_2jU^r`QkRDusxnKp{oktfT13b{yX|E4!%?o!cW0ZRB7slAn@WNL#!_?*$tEqsg z5?f-u^&}y&UG7f&kZR|kLR{>O`YA3+uhain(C*^UT-k~&O0`T-A67}*M9XMI^_Shy z$#1D#n3DSa@#=njMfVjzu)$`wgU)<^bQxOx=lq(?`UX8JlVdoU7D&WV!rzL(D<;>G zS{K7KjzcWI)TQJeetTQ>SRp8=?5R5jaaf8zc3yXvw!;@eXwhMrezkFig^ z6wZ)N3kZUkYJfs#+gagZMmOkGcnV}u1Pv&kgZ6SKAj+a6T348@sPJVe&E*#m8d?{g z;&)$8b|4Rm3Fz|;=nlAfkT_nf-wUcsZ4*DNe|Ym&-Um1RaKA{g1W(uNgh0F5dAO%@xH*`1Xw5&>UPvj_jFm4iXP5xzXeWA;?E#X>BT0S zWsfiETraQV>uV}G|6mtBHC8u5VW+nS+iH4d^-n~+9Y?|8!yA=&Y7vx&w7L0ffA25v zpt65F(>A5U$?z=356EBcL#$qx?w}FbU*#fGZmW0!dx=N~4gQ{6!l2B}fKjO_I-p!%?$-DD4vi#aGD+9&kbV_yvYXI(F+uqK*jl-hD4Hfq{yUOW_<@lytP3i0X zfcdfRV0suRch&;1XoLQdB(}sR)Jp*N3JF_*fIWkJ(aj#qm-Vi4~7+ob~Sf zWWM1QDp{!}1RI{K2P*rqy;YG%X0>bCFtZ4Y#KtG^*L`|0vw$v!ANG=A=tJ8OtB)%j zDW3w2^D3NGETHh*D>WzS#Z}+CuX5YH(Z^jyx3Qf>QX)Aqj+kyUn=|R?#vkEClNJ1i z54^K*&9v1PN1!GanwtH0vSYtf^|5}bhnhMYNV{Etf5^1|pplWg(Q-K!+oY9SUsps8 z2718RxDfOz9wv<8eN@qF6{4_qfVfDpOt~WMaUD6afQ+DC?v`}|fD5F*i-yyPC zX|bnDX|Vh-s>Y%fVm?^=LB}xhrf<$Io_^ir&&_`Iw#G#c3#OzAr)LMHHpJzPEst#o z;Ks8z>ggr>c*4r^IypwFaOkqWH(gW{LotXW^n76R#;gN^EbLMb_!fBkuJQ8EWwHF1 z+Ko`)iC8+ayIAW;hxC0~=p1oqoPhTwV1Qe##2L7KC;@(=P;pYyJx+acpZn8M`TN@j3*cX99Cwsa+^< zW@3puB!7>#Yj)QvIy(v1d+Mum=)n?>xex9y{5841Y?TL~(>(to(l#iI7Sj4)heS(dA2gCQLgxKM*6Qr#J z?u%4HFVLvP?*7PkbvTb$GE?4gILbki_`aY+de}Nk+~E^46=mj%N=fq2fg?~J!D9a0 z#=D{52+xV1sMTYyPH1UaQh-CFL-r%cx?1YK&>@MoM|vLz9zAjQy4><>u8DYH$nLOhJW=)8$sJ zqTe3ty@8O$Iws{lLyC}>fx$cpb5fK%hNs$ zTQ&F}_}%oL%b=s_OXO=4`^U#T=3V#nsa$qGuRSbUx!F^6!CXBuA>9Iu$ImDi`9BeY z^I?((zs;R?Fos?K&YHj0DpST8;FXl-q1xDNy&Gc@5l0KkW@07J4}Cy+xp^M8>ByBK zoxsFo4OdcKfCUMG@vte}1I0%~RuV(s7k^-EN^Rg6<9|S_jlM%5L6?MrWosVantW|( z66kIxXfP0a(U`C7v;jta^%o^wF!jiGsnH*xM98TupaVM4*bVovYRPW^MA9euD}B7yOu2@j zgYI9^xs;xHA>9@`(o54}kg|5mz9#5Xw1=9)$4Mh!p|P>%LbR zHe+9X+yDxgs&)0TK5Y4W{NwX0$6csN(JllwA2<t84MAsi~D`HF@&apa4)-Fj2!_}2m`fs_Yy0$aKj`$zA z?+HlWhU7;QZU6?1FAMhL^x+@gjuu!5~+K2$*C`jK3!BA@-%ATkMl@!W@hI53Nb%k z-mcyiDxn;~*3BAL8c^ITB$i6gUQzHz7WzidtGgDu^rDs$a>}w;Zmip5-a1SCehf6r zf?};s#j_N>ZTGIlObalAhdD67Qg8?7BUXPlOK(!?Z=vSJ-4g&LQIUXeM8QM3H01kD z8y#;bJusEmW~1!pn4Oke&Sk_>GeU^{!TuejQb9hId{#}^aR>cirYv+yO6hBbk9S<_ z+?u(#10^WLDEn=qTK~^4 z-!`5$*KFTs{$w8BERdh|b#jbRliaUY!PDZk7S~qh!+<-ZCbX952f@v~<|H7I9?{XF z?Q~Db8vt55^k}nMO;EvYm0_FV8tXb!2KoRmWzb&ewyvCq-_aaX6=^F)f9K@b@6}6F zZN$c3gh|3bC%Fo)FFuLRIZ?g)K66qbtbLwyBXj=~vi*X>J-Dy$3kU?_b4mj8tTVw4 z_7v_-6aa!q#$_nzu&S7|9Z;NYba^94a=e0Hg>`5&UA%VIKbi8^w=|{Us?$>rC^+MP z$fPfF(jsNoW?Y`}hUo3vny$gTe-ER{kx$v^WNWL{^UDBkq;{*rOHsHxssIf(koDuP zAxnw}uVRvRMV;Q{DDO|8l5)Qds~UGO6U#p|nl=S+8u> zyc)hAia1ww>L)dy@DnSVvp~TJUV)P5-Zj>7q4_0u)8UVu2npoL8=YvzCor}%WbG+h zAa$r}-9Wv;I<&JzK)Ru<`iwy6pE%Q@pVGqYCUW!-B0;+A^{%rlL%NlGG9G$f_qc8J z)Oto`2@L|d37>q$n`qt29yaHEHn2QVn?8ywQ+qv1_D4>2eStIxv=}wC0MKIyot1Lu zX|ICiYdAx9*;%LO-Py&Yo}@bJmjC4tPBbMw{g*hc(E#;-B;M#1_6O#D9@ccbZ!)t# zUQlt`yDHbNoF>)8wJv{-lmn*Lk9h4xXRI}Y?>buTw^fl{;1_`#XQZa(^U*L{k?8AH z-{{!`(eNOD@2@pV?=%~}M{9h_aMXI7xpSI->(y$(B>n!KR_wV^6R)yWOCV?ehk~4I$e47lph3yqIo@Wl+HEUV z@@zKKcccH$^_G(&cH(&C`?_6?T5~+n82~neApO2nsI(76vPz|G6cG4fZULR`vKkc) zJ)A9HKaNUY!^bkeg+2Kk1u5Om0VS<#=U-m2;vw|om?z6KE*kJ_uL@&fr1Qz~r=jef zOOd&6^_qbJz|kYraXEh)d^(F}IAi`0yx8a~ig*dR$6nl6?LN%P%=S(7-Rz>-{xgDj z?(IS4w!^GnS?|1LslnV=rfdF4CMbB54%CtY6bSiO1CA;W3h6>cPCbNXE`Fy=iGtAN z?NMpnvYsLbHCZkX^c}!;bug}5Xane6Oig1)4!A9Um4{spCb7=ThaPB`h8hDjLTWO) zBzcR~%sb4wKVBIr#SoK)170r`CCdw2u2}^N+=0gC2HPC41maiO%MaOAieJ8Dyz`a+ zBWn1yP}ou(Q&#xTaKahb<M4`Q9SNGwG_c z5U(^ZJDTG?5auS*mNz3RCQv8a;M^Ln)kq^xrNIIFF8mulrnCS+c7vtTNbRfGH;*ieNh)+#7ln1PmdtahZ&L~*p(9T6D4sCGWWP(Gcl(6j&yV( zefomM=6|~DUf!>>o8kG^=H$t}XDln&BjRy{TXbPS{D?ImP}(qvnFd>VvBC3JY5!=Y zDczUZcmZ>6K8+7|1Vlr*(GwOY^%8;k4Xm4rl9DoKO#kCQN6@S8bYpfx3&x=uEAmP0 zmc$nm6S2t&VYkq$j&MYT^U)*`i3~FQ=;X5-yH6#b;jxJCWRrJ(q%SrU%_yWCM08&o zvRB&LYD={+Ln$2{(qYuUx46-)b**Vq^>)flk``Z*$Z1{on}IV~b*(1UM=(j)5l%8{ zUe_^S2+ls5Glh>VHxG_~f%E&4vO<dCmA_!c1N0>lMPeXwOD>`JKVL!YcY`(nfiurq1;JGjfwMIg;XCiu4gw`4`yi?<`b+|6^D zYKLuK$w*ebNH75gF(8|`&M_G`ItWsxo)x9sxc2M&#lH3#1X311VZ&Fjc?sUM zL$edIa^|?v6^01`8K==Qi~NA2qqlDb_iDV)oAR|(oqSk%-!&4}UMq#8d^v*CGiUBAFQBOMWyj> zZe*OA;Y#CgOmRZJIK9yZ`6Zm$_^h3a)+=HYbyn&^tjJ{O+>wv?&UVAfUUde-D@1oM zij~WXHB|w$pef=@63T5HK(FNK`t!XFm6Fld_A--Bd<{d8rTC{$>xYMf0p!`c4&e-z zwbpMOdpc{sdl89XYs{O(T+k!d4QLp87UGcRni$G7Qauc7BgtB7{HEe9RUz3e*PXRm zyt?8Va!8H(py&On`86(^&&9i-mv>+f6k4pB); zOtMX*6ECZNt#5`mEY`+uf6Xy{bB7#SH~`XuO(lihwozoMzr%^t;e zNFOVFKa?qmA|*9D)+mJo>S6g9XF7Z_AR4bXu3 z(*rzSq`h9>rs=5A|dkdu$PLC+mA~x!^i4B^?HdG1SEEMJVDtk(>j&5 z$BV3HcOOtqOilA|f9u~{TYb^Yh0N+%^of(NG%NXt7J)wZ|Mpw#hp<+5fk~~-Gm+1( zu8hU7#vPj>LN((kk)o(w0;@&U$7>^0kiX~zeFF#{ZBNMWSl^#OP|a``P4GL;9m6p& zdjTc|`z>EHph)DeY*G;+bTkzw3~&Oe)(bi-YfApfBsc+*(SMKDzNWQ$kg(1cv*=CV z@&hgbaO0@G=8QxlsKTQ{so^-D>;Fz6ppQAp@rv|c2JjcPpCjMpX zbiCcm-8Plp>Y#JV<+yu!7>e;91r+JxmvtpEpIW#;p-l|3> zOZddTBxF{!lTO@&YoU>wmv8w*eEIY}^EQ(-(0Y_4QxtrA0x~W}C*tzQHld`<-tgU< zy?{1z8Ze3XL?dwc6E%E`O-S%hSd8BM*!Pdq)yhAi8D;kOQHJjI1mZnWA!^z})g)I| zstbiKZzAuLtVCZCJ~`7cj6Rjq(PVut(=2}caeHtN@u0!hS!~H$(7nntGBC)p_h}kc z;c}IgQIJTEA>4oW-&z0;Rpf-|hw2{*OrmviCngVD!^NcumMcR`=mh)w0+$(T?gT$g zPrQC`lq*$aSSGvq-kvNAU1q^ns%4XfcBiAY-kBKal&8&%Dsp|Axt`zY9!oLfG#lyq zNh4!CJorozmdqhhXLEnC4RE5hCorjv0pzwoM2G~>u&wV!x z!~D*HO4fNZ@;$IsXRIu*2CF?X@}a*E8koUjQ(6j&I)MrZcv}CRYqO<5!)v@Hf5ZEY z6RW`<@y~7Ttf2KZc`Rz%{_E)0L3gn6LOCH;>B45*smSX27-Bb#~U z`!aGUKt@X<;5x4EbJt5YUT#!C`GIp>Z!!#r&h7*t?wFr9xH+09JOt)793W2127pCy zSXc)@(QJQrW{__2gA4SVlYwE^)(Bv@YXP7HM4oUzu$u%qjtM}9FIZvmcS3L6?&~iv zRsnkvzSWn4Z+QmpLl6Vk8n=Q*p3oe{De`FoTpw&awb0$+QbH|=fhvP7kBHkG;{|f| z>7oT2&Gb&@Z? z{?SS+QE%l!MpA3#lBxM|Vya$Oqv!T?Imv{0>zD>bzRwoEWU-&Z`lA|4tnSJ4MyPHz zBV8~bWuexB51^uJvnbbXC9JBdD*T!i zkd~d3FT zreh=1y0dKQaN7}Mv6Q+HuX_N%-}C(LP)tZ~4G9tC}c%vYPHqmEhMTgG*`kFwg{ zk0-j`6HFJKPt_kBqJ8VZ_J^4-R~My`U9C%A%mo+G4;Z$uW$i8O$jK^uiA-C~#1GnN zL!!#`d|s`tv9(U%4hvqU%ucs(DcWNIl?Q!}t#x&E2d$`o@(K!eQ}JU>0g7~$%Rduz zIgNRA*>B1D`ICb`eimEW+?%A!6?@Up;&TRytS>Vdar>1RY1>IhDPy0L`Tyoi1RWtD zFA+|cM?uQ9dHE`yP53!r!ii@3-OoikvuBd4bM(et!3|KS?@tFZb1H>?_HhN|LhTC9 z%-5SgZYdm%D#kIKE`yA!yR-7i_a!f0EM%e8~1UwlV zh-T0zol5t`27tFv5aVbute)ggR)hpWu316fxNx(}0XPT|I##BYi6B~=Aul`OsmIi9 zYh|Y#krot=&$0$UtlT$br+d_N*1NY=8?G0dy^w?hXzl5eg#5yd#ZoOn+d{(cDx1B& zXqCgdZP5zHiG+s7iSfkSNq3}~D>!=ngObo%$sc4E~|oj3=j# zYWxoH-%OHl?-}C7aO7>zdYA$ODo0$4OUs)t`v6=Rxw_gf!xr+Q8!ZIN`d9DAamF#c zsQS$c4=v?8soCX*E~QM#?JutN5*{`+V) zSG@a&I(EamnkDT@i$#nkd31M(TlYZ0#r=)oss2DC`x<;48(Yx;2J2SvA)@*=QDv)# zAYXCY!4w#H{&^9D?_pUiZDlL(&Kg7Pmh?uQtxclp30VU9W&5~^00+ke_Q7u8%G1$3 zRC2-?UoG;~(e3CFVQH1XW~tF0V6T3wTCU9iZN_=3*tSu%EX1bz+&(`~0Fd+kyxb7R z9iNU)!ld*#g2wq)W9>EJ`0FVsJZa*;SM8J=#LSqSz?n;~B%p|s+|-pu#z+^+pJT(Z zU-Sw7bjn+G*oW<84kHw&i;~Fcpx7HP%iQRJ=+`Zw-*>3kK!2PZpi(*SAJK?ZLj)nwK}N zbpLJ;BqzAShJ~%z;q%X>Zrws&I>0>kzk(`OPkvvIRyF%BPOhmkHL~S}7GV4B-!p=X zgwL@q}r;_b$h>{ z&i8?Yl_mB+x+~cG1_YD5EnPzD7*$=&! zp)Ufz&MzRC{(uCGd+SM>Rmip{N5kK zYGfAFupDW!Xw@9uZbZx3X$Lwdryreq!yXad;?7g?(8;&B(@{OH&UI9 zgI81jZ#NqL+5HcN+Wfo^mcqXw??=V6M2#>&d7LTjzgv~#u(M5`eRAXOKFT%m!FWe$mRqz6GL7RhsOPryE$_%Ak7 z@b<=r4`zGF@GJJ}%22`g!*;z5t6nb`f$$#a!nn`WJb?Csg4V-TnBLuc1(ABM1na3I z4J^*}ZT4*nmyhS$5B2Wq^-O$&q0CRXR}q?2TO98K0e$e{?9Z{nekRngAKgrHjtCLY z_Wt%ZL5yR))jyD}b5?K0ZuIcipBro+zDhExo(Lmqzd|<_KV}5VjcGsGp9b7ZSC1i* z(YB0qpKjbULL!N23IfuYu(8K4|8zWhm(girpmhVW_eH4HZmga`2)eP!3*l8C#2@(R zw|YTJKaQ)z*Y28zQ*r#Ex2Nl&IKJdef@mv~I$Sq;?}YKq6f%2m0z>u9%tHUENCsnI z2CIFJY%a3<)86t#Z6#T^Jx*mN{2y<(Hr+C z9_{70up94A7t63~xO9!Y*V5=!j%%<1SA=m(3R0HJYu&Xly!v;Br+{^upzX!`iHZhB zw|qGtC=dl_1A*YWd^5AZ zszDKCFO3m+ZSp9Ym=Kv7$a?)_UhM6)zQ7RH+Pom?zWB}=6hZQ)qS5W+s9!2ad!98c zK58eAx127^w2Us0xDbM0uG18-a=ci$BOynNh8FI1>ByK#TLu^-eH$AVsIkhZQo6^r z^5w=;tDviMe$uMQ%=SS4P7V4W+&6#_Mq^V`@}oO79o@5N(S_%T9}zI);KD10pM*9e z=X8~xqpDX2hSBt)c%PmBW@jdfq7z3({J7y%f6tAA4}%e5qv2KAfx)%Hc9s_6-ieTR>=d6{}`&c{?2PTLnIQ^iV>BXqiL)TtQ<0;WFD z$J?@*yM1V&`D_s-+0~}^^jRD z8PkoR>^A>?injwr+D4gv>KuFCJbQRH^(;kFil!+m>+5^0Y};rAK-n6~qmODq5yw#4YJFsNmCosSuF|E(S9G%; z?_@Gop!!(iPhMC;ytH)D{wc!NWVX!ChsXh`RK9odU>6~T)g1G@EJ39x}GFOL8|C6%Sc)2qlwF(tAzekgjZ3aeaED~L7 zhFug4=vPw7S@z4tUY{}jD~nlVBa-y5t)JzZN-GhAuh4y2qp7$K{CPQaFiELvunNa2 z!(3mrQc!Yy3!cbTo-$t~+=&Ran7`xkqO5+$`@j&*@wFt4ran|)T}+dJc3TVR}#4A;z?vnaJ)NZU6P~nE)7)%F9ug{p|=J$cI2>oXqp%5udR(A zus|T;cxzMOqF!srt?PD9bKgF;UZ=|E_LwVsIRU|6I~%wA4n0BPH&hRTu(r+Disj#~ zw2PgcU8`NEQw^A^>Q@e(9&7R1Z)D174t`pWUOnywkc)FxfK&4y-e1RpE*(48tJ#jb zCw!H*bPFzfAsl!nF&XIrfzaC=tAeO6e3h8Xf36wM!8ijsZGX#(2NQQ!C+d2X*?Hd-;UxHdoSn zT+_afs(53U$GpGYI_%&Qe0g)_e9XUy!Z_hjL_wdsR{(zfOO#IB=xLqICx*KR5O4K%2Em!V%XGi}?wL@-s&SA_XPtL=kja&q(dFy?H-z(kbiz%9R_X!!=QqXKp z?5TLAohIx}xCnsc>FFd0EvA&TLdu7z*2x3}U@bm9TEL{IU2s}FYW3V`qEx1@7YmGET}ebgw6q;Qs#y9{q;%{{@fc zQd_#a-J8Kw%t5;mRe8AStOA^vyQ9Moh3Z8=(_EAH^QtNev+_$5Xe`wvf{{vQd|S;j zEd@Ez(D*!uK&g0g%1?t^4RBtf8Kb8LLE}uefC4>o7h9-molg#>ZKm%vwJqlp!q|S~ z?AktAp|l=9VOrtI<7&go=c}K5t(SD4<)P3c4X*D?>NAEo`;524Ryxg5=~efGk(F?L zteex7U|3*?{%VGf0}T4)dA@=Yxb5<6wo`_+42+DJCUNQ(L)sQm%5_(Yg_@vu{f=s+ zj)VDc)Gvn{2%$&wRXTOLQz#jAkfQ}jtE!FH(;r%|A$XWH{APu_L&4F@)^dea3DGZG`$cX`VV*H10! zS94T4K<$Z93H+i~h}OnxxLH;enMZj(_05f+{Rl_7LT?O<9luCXBV+%-tB6)2zwF^& zu7*5_)gI^-A@w^+ois3%M@b>+Re5cu9 zo_)t$WB1sH9n>?VmY(X-^yBvSWM#TfFK-|r^MN@&r-k8myfKVXO`b;(ci1cpyf+Vu zuqgeNFFGrPPH3PP?V&w#xdnMt0$l2@0+xfM z!d~EN)tSo5%6MqWgZ`wW?>IW=&@2jO99bU&$C#ec(^+({etk33&vNaAOLzvHZuh-M zhMCVj&Sh8t0q$PX`@wP9+?b zbliPi+ffL&DOO5sZ{?~qSQ4Uqz8i!44xx>BNi?PY zY60sBwHbnG5!-0FzpUfACh`{Bg_q-;IHz!M3 znxdMqx;KXUUG2Aa*V2@P+&(Wi)6=fY*MUX7;Cd1uMJ3t=fjH28cRE++qPyf^B zv}!Y}%Ysv3;3HzbnwQ$sBoT^~y=nDfy9M>TynSXC=V{cWFjiWL(9Q8e(ZUGeUChsp zs!P(%R}f=kTRpdBg)MGd)SYnn3IxJjL>#<`Z9uu2Nd;7dLhhb zdn8jhywV*_mT|R=aBBOF5H_yN+1lN`3^OVtuC8~HZrHtbt1n#SSwTY2+S>Yl9q;Vn z_HrH#IR4JIb;%FNu_>1hp;5&KZ^FYHG+n#eykGIbn&>cm8t`u?NY_JykkanF1m4~p zOSrNNSTMY*4_k1?Bom53d<~|}6MkqLv`xXl$(QGB(g#pr00ltACSUI=Vxy(ZHZ)a_ z`$jTb)W}fwqMN#Yf4WZ8h5EZ#wC;@qtYK96Vi`hRq*NjDQ0t2V_+B})%{RY}4o0km zfRjAB140s@78r2C3@$a-`ydJ1A$V1C85n@>vJ6qFs{G7m;gefQo0V*Q5augraiu- z&Hm>3f*N>JDiMgVC@D8@*q%Z6yw8ASOKEATIuarGpMS?D8xCMQ zz#D~gRdNi^zYr^BK=yp@&r$0<|9%k|ReNN^Bk)#tnfGJ}^M6ihqf0dDv3}c3 z7I??_Vd&Wb2T6>+52Od^&DidU<0mg!WQ_Vki+o|g0g$rO`{z0(%2x0RO+;4sE2I9< zEO%PqjqHiepTKhoisx12lv>sA2XwU8*4O=kJoaxO_Wvd9$perkloc=Mda2|We6YSY z$sP=Pg+r?k5bqSKS5Yo4FJ}tuJaZ?xof`^y-C-f3V02C7$rxB!l}Iy*h>!we*?{81 zYk+avAD2n>nOmEXyZq?rNZR^iU(Bf5vkp=svqnH^Df4{v5kPaMe3;0pS6)}@Od^>% z`s;ZbW&bnZ!Ny%+Y!17LGA&+hh!2Uszdy$sEy9NoWEY@3t=aRI<>$|zTaSf`Ib1X0 zKC%kw0>Kd2gAB42ty~H<%G(rP+YHOpR?pjwz44qv?IsRGLqn3`H(LL#1z_`ebR!n= zQcs|J7SVbsuaI&_E~ld(9`)lG4ai&8BpMhv<8(iRjn*75l`mJ zbprh!cVf6P^tOtrU*ikjlL#|2A0-b8K>p{_asFLA+drEFJ+Iw$>ZanEc<_kn(4psas$N?*a(0O{^PQ zz-zzu&}5O!g0{AdBd?tgraHRA@l{>`l(j78r4?!w8Q=fXTTUvD`?hUdVr7aMAa`H< z_taHVz{9CXf&Elhgdz)y;oPsgkeR+9#p;iM6z!S!O zgH5F?ARv$paKbulDYBFQgW9D#t6>O~7RT68t{+<~h?;_x3r{#Q5L)7N>D@*{H-qZK%vW-cjj>%Ufhjtyhc? z(Pb9VOHRqSFWq@ce~JrU6$ZxcK^jpkRfL*NPiK^C+gAHD>M1tC-tG9`ossc4f^m)3 zl9|A?#w1-l}k^9g}V|h(b3UK-i_ecBM@8=&}WLFT7H$S zWI7&p^S>%n1{o?G#}g{z#;AE3L6*qC6Gm!hGny6(#RzCVYEoBa%F!y zS#rlqcMO+LZ?IkriHJZ4k{fTB)XKdq0%Uxs`1sUals`ljodAU(dy5UMfGu8MTO&^j6N$iM)r|hPXV2Mp5jw_OVziHk^Aad|Au=V zRK}%fbf^))PpM8F;9=NR^Q;LtS7lV}oW1j_aG3@{E_-u%ZcaVjVt-&3P>0`!QIb6G zQ-fCtUGCwU29&ITB|iHV8Tv`c{MSjK`pQaeztL$zu^KJv~E0sHC7d1$y8qaaob?KsyZA_XnJsX>999OF@L2zCE$6r7prY*U~oR= zlAV}tj=_}T_oICgP*PJY`bML{bOH!L$NTemU(kTpG;Dwr)h|AKN*Ht%ZpjRB+J8&P zZJC>*ASXASBKo|o0I%%quh{?;D8}s#J$}pG74n9N)(RBXJ_Zm6)naV3JgDQyF}@r> zaynb!1)xa3?csfqfN$>uwDu#sSu(!Kg@LE1hQ+Z)- zZm#bIqUB7f#_tv|Y^3X-mxkmopHb(kQ_+4~mmB zrB@w+DAlSNsK3K}HoE*!+_8s0OIY*8(upChfP5{pGr7Gl6Y#OW;)pejqzevq&;VKL zEeH0oPGHTMeEo{VIGQ2MgreQI+zW(HfG1qBRHg!!=D;}ktbFlarCshxlKZwVqgx97 z7kPkmK%rP(Br5gw$+8x*W0!dvuz8RFNjG0%2+*TEQ;BiJ_GgrolmuuTBxY)HIvCjv zEp?r?WpZhdd9ecVQ7PMLFAAsw^bMb6SX-$P^|EaNUV)VCqQb&3S_Dl_)1h{=Oz(VW ztyui3vch>6=F*@#`Bs87Mojqh3c(rP3uRjAt51E zetk9vg!D$0V*IO(xo6GEz+%mAT81@4Bd^i$}J5e-62SqbTcX?-QC>`L&Gr4 zw@1C7_j!-w`|lcRP@IwZ#nK-Tzq2MO&+!aI6>*^Vm%6S2KqtQo!?dhK;c|Z zv()2aNliaF+HO!Jywt~8B;VZFbPBC8aUd7f=AI`#ttm*#I8Pqmj182h_zR_tzsfT$ zzG<7Mw4J~KJIdKpT|M1z-bhyvg`Ezv4xKI!DJeI493?O5XoG;N8^GfER$ks5nI(s4 z&r`W^`*!RBt9o%X@^Q6-#@8>=$zF6}`aTpneaR7-Tepn<8LxBMoc~Hs@Wm6lt69G4 zgij}?+spLu;rz&$e)ET`xIFvYOG|!Pavw>M{}k7>%@kOP48>Z=D69hX;tA{HJ!e|Y4$SfYwJ$nCW3j@S|)Ar+s?1< zOpVu>;I)O(gb*=E=dX%R&p0fvD;KqwmR810acGrY+XYcb6CXeZ@Tnr5OxclqM;{>h z`34^&Y^KGX_G)M>wLG$HX=}+HyvsWa_L@)PmlwnUc(>e>mVU=t6{2pf@>#?O-AwqD z-Ecde%WAW>D0d<4v zmyGF^Be%ENG~<&fzInT*u9=$Todw3mrm7I{oZ2y|c6GCN6OohuvpJGaFLo*Oon1iS z+N$a5w`yNPI(+KK)ylnuR6?o;@wKzU3Jxzot`#otI;!rT9>hpCCt@IgF0TrdOBT}y z=*__QjHEM$6AA*TG7X#Kcn2}?&3>;Q9O#TpugFM9!f-f;rJbGSKkSnijl(|bDTdY8 zI<02t)mJ(CdP7Ml1aYhQs@_(F1*YQu=@IXgy4yXPBWU9+gF`(MH^KtQ- zdrwYI&Q@^s7hBZ1`GF!8rs@#+=?~oTMo<2XVat-Bv5s(+Co?9A$zWy^v=AG~!-gjy5`;1MMin!17nu3>AYnwpCqgD#;|!io^&G;%Ys zZ_B$t9gWNF+ zKxy}`4x2hEsZes|c}PqJoREk@{C6x1*b?cv41Zpm7-+QLndF_w^VZeX4H6kk*0y?S zwvs<$pDc0{)NtekwIT8N-P{WG4&1-cwfFSU^s1!vSLq2ipQtTcC>lQ$a@!6Bg{{8; z92~!}p*7!7VLOBqMtLb6{zB-YnUHI0tmIcXkX?^=mz68c3g;++zUR-U_9jASJ?uC? zI#D$s$yaLGKpEyNIkJVVwLbA>qc^?z_+?rnVYw}aQExCO3O&nHEiJ8mwa~}5HP*xl zujzZ)8CQs6*|Z;9JxWxZi2DcZ^z^?SD8HYC=dpE5OUpdi_CJ^4@H6v9Xts2r^DJLS zy(w)hP0`7^<+|@;tIA_JlHVh6hiHJ?==&cBL@>q_2d1CO8wsQxcTBv}uW!}(v+d)( zJI9U4M;g15l5OC8`qQ8{*LTu3FHxRsBH+A=vSMXrCB3G6^Cw0K3SJahi6i-?cXCy4 z5D8>)*Vh3X`!si|x?GVc2Sz3fw2K*9mmgJe88I(PX$ zzfj?;hXVs=$hemtGt24eA<=ptnWh{^yP256Z^)^B{B4l}Y-8NA-Kn)z*{!*+{#r&x zhFsL~>-JEg>~)Y#Z7PmNZ zV&3_um`9g!uhN_iTvVR9inO{eTqXXD{A|I#!e)$ijZ;@r%gTxxb)?Z97W%Aj)*GLt zeDN{W5hU>B#i#vIZKzIi8VL~v;cpifFqmJ7(qz5r`}H$2h~`MqaB=YJ<5$g%w^q6q zW}Brw?1Y(EZbd9C05FAPJEs)eb@jrF2xd(IcGGLflezYWGdxFvYY|Z;z-sTdPYTx) zcB5xtxSAs5_G9q$ooa!)LUxK%XtMU3PLaGdPDaM-`rM{(dlLIrF7_7a=p`e_FjiL; z9x1z&ruhvZ+7AXL^b8$zsey}yc?>?$h$p6BZhyROkgHWdYU<&!kQu?CR;ydNI3#kS z))(-O?k;KgdaaW^d{)%!$-5^RkhQ%1h_p09y0&AzdbI<)hBKVeVgt@D84bZ@4&=1^ zpvx}sK-#+|ehdp<0`a2Qy&T1R$NR%e<$Zkift;w8;2|U5lDAxUv z;N;tNCUbjfrR@FuoslZs+uQ9wB*edf^7fh)Z?TgfDYebQZ+E&ZwTJ#-V%7Mf636k> zoP>xnm~bRK(`s(oUFdL$u#7tT?8eR8AAR3`PSy}7w3&T(px{1B{769x5P3YK8!Q3S zCTX6H#TU5Dog1KFi-0d8k`38G%(Q+q!96V{dG>c+=LQ1F3`3Gl$1O#b> zUm;KtHy526DvDqfU6xsf0KM%4Ln3ej0rik$YtDGNn|QuzG5uOI!&xR;)x9IUXCR%=H}j6CGw$vU+abJGpTD7n$0yW2AADJeSfBnvbLC^|wP{i| z?Tma2z6pn07hVl&$T(I5T9A`QDk{6@HBkK~i{#TNjWyLCkkSfjFks>_-}^rMtZ#BY zG3j#S<}Jy!;~h*|hH==5*vA*m#;MLbY4zJqb~&tQE07%$2}5(4q1(^qE{?`RYryUT z`LphGKgWRFlt6F&0{8;8$orn@Y%eNX;yf*DvC2*^DfG(V^2_&6O1b{c$HT4mU5Zuj z)=WFfdgDz;c5<87%gQrhLT7%iLfx!jDIa1^gEp%o?c7!1<}?HmJG_q`CcZiEIga&? z%@XMpRMelcWKF|l1D(a=%w28uB>MJdPWmt?JDH!GU)sZ?&eCV5O(77UP$C^B4vd_j z{$H=0w`L_uyq(sH6dOG#&uUz@VlDNfzZAby9kCpF!v9EJ5yU_d5%ZEUh*N`TE2ML* z#BNz%V@mNwNLhhi4xmUI`nCkly!nqNpn#g^x5BP~5)_ZMa z(@=N|A z6;WfpD#)zhek4Os9=y^;vb6?(;y|A*pBTs*6y$gbcUl7(1g;fLiFxf|jgFd_d{a35 zvKntyzt6|_N>;Y>K(krw;s*Ehj6M2NREt}_fvoG0ai8%cL^gv@|9KE3L?p1o$v;3! zO!AIO9Mqp6rV=G-U`fADPDC1<-IKVXcl-JmHer)gGxy%*){wwk*Z;cF!8S9Bn#nxG z7c~DV1iO6F#rx`Gx_&wPN!izpq|~$1bK9-$r+TH<93HM)ELI9Z-v^wb6qHlUbM3x$ zcZZUbjr-+>D-u_QXttU(3$)>)Q)KK(4fIzHtE1?|D$(*KTJbxgc%1y^_t&JoL~fPe zLz)Z6R*AU5Cy1}k`O>YS#R8+N<=>>6h%dkietq)lm_T9b=3dhaX9Sq!h2 z?j0b0ETrB35*kBN=e!flyT!Mzcl-Bf)YjI`w|ck$y}?xtH$ty^6S=0e#`E*eDy1ty zo#`1Kmw<10+Qqk^uZuA-r7ws|>MqGb17*eZ2|+Y0PR8BibR$#$sSd(a?OEH=SSG)S zeDRLQq{*Qa^nO;Gyi?Jn)Z#&3H>k9}z055u3LEX~j=pfZ6q)s`=JXLhk}gfjc?I<= zxDzAtn@4Uxg%h}M6 zRZ?yK0ol<346FMMrf2ISP*#3hibGWN6!)Z@>Lv#8VqQ`m{p77h?bwwpP~`BNk{R{S zhrgZ#@!KXCQ$Q);_nCY&0&}1I3k#(3-x@-7ItcAYT>RPqyQu8&FXRcmi;MusLdE1? zWWl1Bul8-l9hkun{z6OoOk)<3>3ofEtw)|69yUmr_~o;7xHa{~E>>At+1}(<38ZXD z_0YX~&WY7PV&8z=B+FQ>s!#-7TY7+yje5km=$R=ZZsMMwX6F#YMMQzIE-v;ix*WX5Xt)I^&<{#TEci<18cQ^gW3b-jAA5v2KilW% z3PuY*)z%97h$E;-IW^yldC#$55*|3D9`*QsiH-YsL%`=QT>uw@SPP*z9rGYu!Ql<3 z(n_s*iFrHUpkx*>?|(l*4`5nQ-li6K|LBt@m2^kEpLJhI)!=_{3IyPk>-h-P%nX`H zT3k8&30HXP%wF1#pOaZ%2EY*ZNee-SblwlgUiJjF@VL1hqThbDoKr7p@^3|Sskslk z>K>VB+$H9+^2a^ip8eDfe7ozz6nL?0FTs|oI^{3b`@CXNlizOodyJ0T=h#@BY6}&_ zN?RBRGrN*4?=t$>Kw=1*3cKTk396k`T##G&Q_(^$;qRK-|1Lm+m{wHrPs~Sw5u(>eqmt>5vf*H zAG(5ajsH%9S4u&_xQ7`xsyYH3aHb9;6C*y!zf=y>sX1}@!Tg9@1f~CAwiIu0kUNCe zH;SeWGQpJAIUjc8T~FAJ_9x5Nrd@63{C};-o5}j_y+0umwZmT2D30W9d2#jXy!aH= z0V%t(jnnqJGPT%o63e%HwABB2p6o98uJv}g=g1JJGNa%y;rIXe&1D(^5K?FUKsP1( zZTl?BG3CJr*@(-16S;wm)+j7>O^~HRzwzT-U$WYY8ruQEjX|r%I#3|{;%p6VtOY{1 zun5O2ZXBOTyplBj0z}&p9Dk6Oa$dGw&(qSB^MdiU{gp0zSJ$>Go2kzc5g%-4>I^{< z8BpG-&TEeBLV;7_YC`+dlT5-QI(O=*te9e zHv7cUl9iSthl)D!yjG=6ANX#%T z(!OyUs#-++ykvjHM)iP~bt3N==DOC@yTlUb?Y3?<0&H!kcRj}vnPi*vt_xB3m7m$? zwmI;5A+A?3ZL4|V2)5(l-)yd8*Wn3=ygJVqjVqH%XnrVt?d;4_ft8c~an8f0DFg3% zJ?;`uo`cD9Ii~JoLhzi=5#kyb>^}9Lgdp)B{hHrT`u@!rseNwdLMPs3&*pd`<&D3V zPXw*x6E?Tkg@A;5Dp2Wz@}R&!I6n3d2*4FX9jc7*(dRzA!k)x$*9Le+1frd;V0C7C z+Wz9yp{Si0o29hqhHg(hmjnlKkJeO$g&!bKD5I+|Y;rmZ@G}?&6&T0YfaJP6iNEC8 z*~KLiZle7Yu$c2}YXRTBJ;AtUIAOnzI`1ckzwrfy=ZEo)jf2LL6Rl!mlz2>EkJy)& zV~r}oImk+!dfZ2HM%8*`NgR6$a9egaV#fMLizJ+lAA;(yAYp*QHGluiuBEqG0w6n< zbUs%2)1Krd(=8FZl`;l#G@GAT2B}UkJ^PQJKVLx7I@MULxl82pFZAmxvNSEMjc2i$bl9A}|&UM{+e_3Y4a{#+3ml2dQU<`Yo zbVD-81r9@tou9xtF-{{|5lyr6jAPw^+cfjLyBsGI6&A$6Z(wLYi9jGu!Gl-(PzR`u z;XD;-h8w1@#9A*qwcQ2=2Fz#bDp}^U`${DVYA^h3CYy-~hn{}U)K?HS#Om_>Q@2FYekKB;PfTHeRDhNcIx*`P|pL~zVLYC%HW=pq;Du;{F4 zU#8Qik0}G;4<%1nyQH6wN{C_X(to!%|Do;NA@~r`1_QM^{F>U@os=Js^3?_?iVM^V z_<(TjA0d~mjx#wjPO-|F@~_ppPPnn(+K^8Nq$eM1EmEXOZT6hoh*H4$&*jr z3k+alv+ip&6y{Vs=63*@pG8zN$iIVehbU)C<)5jlDWrW|DR0X6zt<0Vznd zpTl*;V|Eps3EC{HID7SoWY?N?`uZ)mt+KVtf)-KPWDc+c<9xt~~6}h>as-LfI zym%3lU0Z8tj=n6jtMq}dEg!8D^$Z9mRa*xs#j-b(AS>+WLH z4@f7&+4{T=4uAB2*-PcRdJxAEbuh~%ig*K@EC(y+3k?j5pGv zxyNjoe!+;o2e=BFYh!e#wKy_&hOMer^j#e`$@;uN z%-harBd$LI^?To5bXXh}Z!E)SmNCFa-(wXs@VoD8AfS-=IIa<~nsn-g!WrS?!Xy3R zzAs5}k*8MAmtCjW9!Hg0NVZX{SuFIhFOwOWpirN+2TIXa#)Qi43pXKCxPn-2he&3!j2Xe&aivR|xpH8vW zvs)uj@m6M+EBJGOIiRape@$g@9G>#ZW%%ukFq) zZww5(jO45BH-?0SY{QElhi9=DK9Hi>;eyOWt!BywUuS~&FE1~QFl7QEW=Nu~KPVD1 z-BfULygAi`yhJ*7Zi!sNkH$(DlGxo-t%g7up{?)F!(14op~^+@=}Iaeq2r{sb7*_G zO3_%Xog6D`cTfrwQ6%AXB{TqDDC#5V_Vd;A}1WAm&cb9|}lO8eI zOo?sPZXPs_xHeg9%c=_f1)-|X0PFMv=v$20If-=d`cZiuPndo3p^hld%w(9XwlkPV zwdQ63b2qAT2)J96=jT)IC)PIY{ls&;_hukR_t~>&5j3pTqCSlWGg1?w6@T%xk8<9) zW(<1>PNn7i&yk0uILgdsu_-one#CPyUjx@s7X70Q=a@j*;=y;K?_wXlmTcg=lMrjt z727ed_V(@D4fof|7rl(LPYXBnb~=@$C`fu<#bEPunSZojITrOv__aQq_a@@RS(5QH zMzR!&GMyUUH`{i91X2sFJj(`^GJwCB?fY^^l-$CE85K{^s^_M{X=?FIY)?=Wk)ovP zU5rSBf^k4ZdO~Cca9?}J$5MdD#`6aWc=QQ#Rf$l|H;s%3!C&I)4miyp(<6@cE|x0P zA*q0L62M?`DH#!6R^im+y*(f$lKhfo^Gc-~WJc=>{{mzHkEBxp$xDTaNtV`E8GWkU z6wFh}u5uSO7I^#XOJDxKk|8yP>6T-#neR80=+@FB>$OUau4`9XGLGeBWp$)CgS%rA zWe6IjG@T7Ic^j^FCuo)#-vo&L&fUB8!i}S`ZpuR+b9wX$TdFXCBn1}Ii)fuo6!V<| z>pKReHS-s>OtJVqUWCgeCzTzXMKDOyv#`hlXvxLR&3(|&_PRrLv!wPSn3yOc2!kd= zV{csCpdUYMINY948U3mS^J(mc=4vs}p0>WS>cmPqzgkjd@(~6T$8asb1xMX~4|FZa za|`%vqkzZZV-}6#(D-=rP&#p1AYO>wGVM!cryGrmbQGGW;kAsO#q`I(z#v(`;R*m` zekmy_BKrF7Oe{rXR~O<8d?I}DI^SdZ0i+U*x+ND=M+XNInws&OcEVg-%8H#wMhPCT zxlXtyd>LXMU1Wo%=NSPdoN;u^)tno*ZZ4`_`r=^`QIkMN+&HWDYSiK{}mA9k{ ztINvXT)$eel9F4YPk2okDet{^-TSi23B40MnNxRJH8N%;{0N|^%f?%t02)$Kw?m&V zoxAKA6>XA_mk=Ir0|l=^i6vv>;DB5GN5%hmaEo2Gn=y=ym>^Mv@?C|pXyDH|>qhae z>>BHO>uV@PNCe#O$d1kM@A#LB@q_wq3^Ia>nXh=$5);o=g*qP@f4mV4f<+5fU+%;K zlCEGCoPclb#SY}e-4fkbQWRwKFpVbCNPk}z0{jf zN0Bc!He{<86du(WdFyWl{^6c}{j#el#}lQINQ4joATx@A;c=k_YGI8>wZC|2WMx>+Y`=uNCV zJIG!3&Dcn~u{y2h5It2-C{WPJ?eHCrg?-IB_kM6)P>>!vDAATrIf}d|F*nHwo1`>- z{PXH-Q}Zi>&sEvt$K}c#!mRG{Q$-artG{t&52_@)PhgrO%Spx&N zQ`*{z@T}*#Ta)nGidV^;;M!Qvq*7!z-hn4 z(3u^F0c}=had^AWWtwuSg^Jfgh(YMY7?Wt1TVJ8Lqr8kRzm=3Te1IWa&1S2Fvk4Tn zlUHhAn|-G;B4p6HZ8ynFyc7EqOqhm_(a+FWuWvX+7r>bbBfr9m?3(ZjDHgSjH zfzrL+dhV59m)(kv3dut3t7nrVpj?<$hTixuEkakwZIl?C~m%^Mnak zUd6+;^Xujz({FC|zjxUh%@S>ne5k(veINTO&TxF1?(`$F*f0e-{bx_?=f5AW-~@rC z=$>T5`_&hHxgke1TCA6JyW=D~x||D?^Yl62&NH4_rqGhHt3B_$&9gJzE9Mq}PjPoG z*-6nM>|7{ALTg0$mTRDef1jHZVN4ct1;EJ z2s@hd@l+E*PcFubK-BRYt?e5cH+Q;EzebiOn3yTl^Ih&Qh9KsYM0F|~8A~OqZ5?*L z-b^^N;4H!EJP*nYmpw^oDVjW(9Z$rP6N`FK@8x^ZoN)@zA!{vQRku+Q52HaJ=BXGd zs3jwZ92rn1 ze%LP|7+22K;Wrl*$L4j~Os8nauaJtZQRF&NFxP!!+11u}*C{Q;`(%dSJH#SVM5%Yp zvIFm4q!UeFBFYlNo)pl_1lgh_?x~I(z8_gDAHYwcxceLqWUs3ERT*>k}@Vv zDEJH;H=Ii3>;~lV8_ZwJCkTj@U;2t()^|J72)TwvWVW{$BGD?{$^7Enjql`ToFB6U z6Dx`^a|qNM)X5*6wqC_Gu5y{vb8GPvcjpkDB=<-@cz335BsuP=@yil=!TY3z0e#fPzGcULphSD= zuymv|ci}%uO!h(j#ZQ9A->pujIa?xic%t~-OzW2;<(`6PL-V;0&8PwZZXmhS6f5Yq#cV*(@G{HQ}a5g6w2o; zC&$IMLb&=l`UZrui{>!1{SL{>N&@1gk~obDQ@B!EoH~kac-b8~v9hUpWasU@G%=;!WUX~^ zkQ3g^rlDR{+Ex|m$miT3>NX_`FlfYW8NxHFwVtpLoMdA0^Nv2s!V^7@<7rb5lkj%f zeo=LXTbft`V%gIhX|a7`XDzzHmtOhV{wfyMWT;ygOGaVYX1SLfbZft}NG7(Ey|!u- zd6*w3ch|PIQ!$^hqq;59y0&il0^6bIFagoJ6y7Id<$@M#Osp&t^V}hUiX0boAI!}{ zmr0KdTQiN&TdP&;c2&|~7CCJnPbZq|ta6b&!^Ygt{J}`I2KHHbleJ2su@3ADeQ*5U z+mx<*j50MDuRLoQgQ|DfYqJ{U;@JDN6;em|9Jb?4?Y5FXkhKJ|awrkMlew~0se$HP z?Mo!#E}nAqw1fox#Oo6k#vy286Z08XE(KI|jp6RLz+So^_d&hO7HNTcap=s!Y1vo1 z6d$QjDi@dTWM2s(u{`5YapUxvsK0Fr$L>)Xvl-dyVjYZoFfG12%u`yGrK58!tCP)0 zN3v0rm6V8TXg=|razCnY$FmJz{32nr5!t%26HR8|>MnBXhih4=;)yzM!&NKtTyk+* z0;)A5HiIgj+XCzJHO{}(2y9uW5>S1LX(h+oDoWXQJm{Zs;bA)P8rJgOZ;Jzn2`F8} zZ2tMAj@_EGS6C0s@$?tDu;V*wL@D%Z<0g)Q;6qx}h7x7b-1ZrIc&m|LL}TteNv~=3 z!W4^L<|i<|%()}0!+l(qQScct?V{Xp#AFxGbG?q_Y_=p(_SzU8cVV-t%d0q}^*)d# z(B_vyJUP=cT9IGG*7SHD()z2~# z!-|9s7<6>Gp1xI}5a%c+=M(Ad>Kf9qR61|tr@GJ+a@)O&dpN^-S!S%II3@nga>AGf z#@ny`ssQq=0a+??pA~+y3la&b0oMcLku!g!Hb0?f3aeNzg>3LmOD|l}5 zV_~JMMG9GnpA!gh(p)q>`|{a7^F9d)N!~xMmhCidY=!=T=n&SX`+R|%;KJemP+ezr zClIPIp%HR^eRB~nkh8*SzX_{C?XE2r)-zVdC7fqd4;TEqs!90{!{=J9Ni;n z#D?r%YS|U^v2+I@cgeZ?E|ckQw2*P(-ceG+#`Qc z0Xx0&KvMVC`ITKi^1CTQuD{&P3#|jF9bZxVv=B|nD@E$p%3I|@3azh8I5vz(Kxsu6 zy9_QJMNTdbiZZO()!_GBy(~K7RSYgp(-&or_8Q^7;sBLtz%R=C#Dw)8jX9cdY8Xtj zeHEZ@x}QObpTW`p^w8dqa8YtgGdgZZ0p+k%9>woyj^2wbu8tB$_X zZ(7o!hRrdrJsSXeBR8?zuvILuw(VpD3UNCiY1~?v!lxtck*{;Yb*LtE#JX7dMg)r{ zfv9mY`#Rp@jN4q;kfJcVZH>e8$*4>Z9iSPPlTYN~0??T@fYw8E`nYjwajzNrYAr4% zrnQxfFc=B1=X3?W7;+(J&9JAOdUZU-l#V7BhdJU3R0Tkh>NRpc2NgXYXUN%Mk_ux9 zPqM3H7VVXZDh`svAq2Q^Vr6~2R0YV^=w;<(Er-n@?PA{Nq4|c|4F|o#h?yZJD4^CK z010AZ@7y;-34AI(p53~GUgrh_^d%Rht-Jfe7zI?ytMkF_P2$n8|3%7ktvJGEL^W-S5HGLy=iJF4Hf=EKv*3zGowO^baKsJZ1tfCnb zV!K&cHb1x3Z3>*MXF}UXz#%WkiQ+xp9%5<>r=VK1R`|teV#y{|l`RlCU7V)J2exUP zoBXF(+Ou?)FYKavl32GAngo6JzF$SOi=zZlKFdsEwB@Ef;lQ0`ObML`D+3VWkz)L3 zzIO)i5S$i2t@q~TjJo3oxXgN|yPv`?Rv?Jsp}v;l`d!L{)!wiWj)uoRC&;;+gSIf% zuo1PeUnU?RyB#-`KfUc(NeIzWv$2}AIE&m>>e71il&`qS!SX#@2!Zas*g6N1khbNcx|er1SYl zr63eNgb(aR4OgYOPTAl=dZ%kkr))(tRn#C(K*X)%sohZB+fzLq*$aQImfBTPBXW7# zE^fR!=RKy!RbZKt;yTGiW7?gp1rhf>KS*2TPCJvYv(2e+>-zd`Pg=aw9a+t;OMXxS z6HA$^JqXCB%!^7=J^qTFf-mg6bGLfdL+)bz2OX~kYO+0+XPrvuc>649gWFVwJI5Z$HdIy!hNsxvp;;t?Jb0f>FmX4*eUKyLeZ)#4M42HW zO9^JFK_F}*5hAi%Cs zE;SJe_eCS;tP1Cxs%LchN@vhG`$SGeUe{As;$EtSh@v`}E-AL7jmZx$*6TZd~^Fc+)Q z{A;&f?2pIx>ZFa}R}kK{H7D}L+HE@jnjE*|wxd+dtTU*I>|lVlG>cz4B)hC8By7kq z*sbWWa`#DhF)mfP%{3v0Rg_@WipA{xMMLM?l^SgB5Ql8US=(00SiEoBMh@5>#&W`@ z6x9e0mSYQTg`I5%kLTX)9Ldv{)S7@o({9s_TR%^`&BSO7F84JC*BDmHe0CsHMfnRl zqP~6k{+>H$9X6$5v{Z{-xZ9|-8co211X9H zRt5oduJ5Kj;oci3a~G@p4yzP7X0{8~vJJ%2Z;`_L-%)B;t{VbZud=pwK7Be(guR4k z4MFtItS3C^pbvI`wI|I0at*hVXB3%jw ze?lu+Bww$v-P;iae)y+qZ%%Kq!BdB&#l*v^!R$Cucg^$Cc3LX8Sr;>H-`c`7Z)=GF zf-oOcU#~UyS!y@TWx-~n{2&rOaZnj$QQ(W)(_PKGm7HrQQhnfLuIn}MX``ta=J336 zs_yOlcXFLKksC6xhc5~WM$e$?sJ&&T)O z=}hEO33)tsr){#+Mqmc`G*2Ib-dlvGJ$WEjhn61nUuoOlclOa6@+Y7J`Ae0coZg7E zA)US)c4n!%dIvM!@Oeb29ihqUfTBNl!2n`dsSF-MUhxUE!n4H0}& zQK%WGlNmuf*w>1O!39$9Kpnw_vNCQi|H()%C9&@{O|)x zZ@HksM&O?iPNQ&uRi0%c4nHy4<=>cW^h544uf7oe8t@xw$~?#FSC^@Ij)z>AcC{MZ z(d*c^rqio)R=yc17|76{xPEl?85QG#)Pg?D`x&~=xicZnveG0o+qY0Fa~F{2FT07P z(^2gzSmsF&rypxtsh23c(`?Y@H{iUtdp(&|;F%Y;`3klg306O!%j@g?$IkG{myB48c>TL-l=#=5VC_WF z+TJ_7uKOSwCat#QzT+R}K69dD*GR(PPY{+Sw*Ts!v|h>koZDeVO`|o43Dn{8u9BRv zv=diugwkpS{Zn_WWBmdv2Z#QWqEkAt2!)oB@@}p(}A=L<7wn~!ojB_)qTe2p<3mT^GX#^ zM@J0-t=zI4me@y~Q<1d{cZ{_p*)>rBP;Jguvl1(?z1O@|6u{Nm8a4{?hABzFbh1df z7DGW=Dl*g=h;J>U{GM>V~=Gl$flr22~SBMA+ec87ZAQx4bGtzF_8 z0WKJk1rejGhnG3wi=0eXjJ<+n%O}mg<&4`RV|&#VP2Dvw#~C7y-hje)4vK{#ZQBzY z=Q5%XU9S9TGjjFAIS!`+)+CGQ^y6u~8lg)U9T;X51ka`i`)4Z8@tK29JknKdZ3HxI zwZz7BXk0f(E8E^36)6Xez(?n%ARrrf>B+1&H*x}4C|1$vJf^hJ!O~2~KzUyqFp7pO zXoOu0m5V1$bnBcgye_^;a4&(N*TPc8H>v*NR@F1EP%Wp`tme8(E68zS!T>yUXlV_K z%Kvdb<1&^yCErI2AI!2cZOF})h>inr1p`04&$nYJl$yq>)7pI2+D4s_xBhg7wX+8M z85OWBS!>wf>b%Zf`Hx^a`VrxA8n$}*j$1SOI%s~?BS#rOficz}Bkvl=jJ%8&3*|K-s@LaM`iYX#kT6LxBbD4mr zx|@bl^YQ$4(Sj|hp!BlNWos~%il%_FnN_1G7)--&Z5OsP_3gpcv-zbxc({7hez*j| zSzWPNOC=5avUU1L7hiwOzE0>BLe(Qc+(}z@Pf}(>KDN(JG_%9rg8-hIKJ%}%lu5o) zFdwz{OMTJMIuGN_Bl4bH^o?q|`+u6g8)*5YChwj(3Rtsj7|%>V;vDeIJkCG515*DO z48%f%4@XO4ecJ}tOBuPgJ6R#H#*^S(HG-Zm3{q_jXoS7#<}Xp$qC#`|13d6Kp>MUuPI^J0)zCbZnhKd z?NA3udkZlP?d=S*u7?X>b~(%u`i#$u&6O+;K#ayeYai|HH7iWE^{Nq|Cg%>+#Qto} z+V^K3k%1Yarm8jJil)#hH&r;tsaP(TzDg+TZ*#d9610xbM2PEPul_>Q zKGcq0yH4`F{^V0Lp(0xP&Axcz`(p_J-_=2l^=eRv~I z0xQEql!a&xy*kN~)cTfS7)mr}=VZ6msxEx)-tQwI{pcZmIwl7{qpX~q+O-OXySC4g zN&#xmvJ=+@DS?uYOXh-=A?sf8!AaAVX@P~f4!l@5@7msTjM5|l z$K^At@a&)9I9A0~d-i}ofBDLi z%rw(O0J9zSiELAK$t>W)*vE@R%}ZMA31DWmFq91U};-R|sS(ikGYWkkN*%49^qVgq1aYUkUj% zAx8CvGgE4>Uk|u^fAl!48wO+@bai$v=67+1(4qElOP9cLZK8qSQJY+AEzb4D*xJi( zp$K!Pkqg^;CHoGfCwGD>Qc7*j;+{O^+se|uPj~C!my}1Z>%|haOO8;s6GJ|TgS7UV z(#)lpID_!n#*@&6)>a2o*rg(ywvCreY@=&icf6ptc0;43TEh`^M6fkDC@QCAdZOH@ zXLH11vbu?ed#zg`N!^=U$M$_>F4l`kRMkAY*rAS55!M;tKQC@Z~ zo6hBTh)-mTdE%FXuKAXaZ__!N$g{DBF%Ov;A0N$uQ(ENs)b95weVt#IPD5Wv;PN02 zCcCDPz{91k!CP!_0UH}c$l>a#LXZS8+;KYw!e@!^c74(Osb>dhkP$@GXp=X}kprnL zO{X`qPD4Yc%k%hncdA+nHKIYMP&DT6Q@v?HX7J>RZPO0YVxPmJyRQZ?AP(vj zI|kZvUNQhVOuVbxoZbX}i#mOd(#4=Tw3uFw5UG5Tkgr^u(yMkRjaDE%k85}0Y)no_ zlc(Z$c$0!G^!8DWYbA3KV>H$6!}&N)AeMP(M?RI0eHV6;O4-$2f9db+Q&#dk4nG`yc98b;fVKuc z8}GGKG49Y#Gh{e8oTtEHCNTv&IEJ?$3OWs*frPKUJhM*B$Q`#iDjPe?LlYaF;kozUN_+V;D&#vy* ze1Wfz9@07-Osm@M`Y!@8)Y5PGJI*^w6`EY@#I3QgHi0Q(to6U4iHt|8YST#qUovYo zTUx=_>X+V21V@XnY?BgSYv1+Nta!{*P@9RtEJTOW1+4qsL|fRDb0a=Y9vs%v8W*vgK3tcesSTdCQ^ehXby5xwDCq3bZe0eifVk$+&E0mMHsov+9nl4WXc3MN`0ER}z za!*`RsZABKZp6w>6u4~7iWbvy^VxXuSHM@J`DKKxCmRH9{$Yxg@;P=4pmx=q_CTg= zoG|&E)aQF2Lf7;?T00&!RZN}^PHQR)lWtFzo0{sFCRWWg#XCGg!{z8Yf48xs5X@1T6Hc?V6T`Z+AA&og2?KSoOC4K-DYu4s zZRS6bwUYR8hOfxQWiOR9?aS)AB3=^2F;#PoaESNo$l^yU9AauN*OZKC<7ZS!c0e z!*v+k1?gC99mwg^cbNG60O5y(cXiY8Ry`E+8Gm5mXtpA3wVC3279(Lan;ck@wik04 zTl&?|V`OhZFb)DDUb!5{)exnqW0^Dq=aqg##E>*CIHAI9eTUb{4W2#<7rE%Kz@1nh zbVzUyi$QHW;kL9mFd~MDm0ALX+`=)2=59mDf{>+RV{iR}e~oj0I=RlsFU8SXqxJsN zYLKK&YmL=F^noIJY-n)=jf9=9W8;2Bz8|GF*o>4be3j~ZijcS+>^4>cg(v%XP}1dx zJ*FjDl5J~yj`S6vf%_f{DvM-){oy_8(!>jPP!uwTdMeOnao(55g35EdVTlie|IDi? z__56Wf?1~atiFMy5m8Og+0W!>EpG^-7syCjbzFGt!`a=J8{@8yki1b2hOsza+r=rRDM>_ceh4`lB-z)_Z@9Q{{qC1$aO1C}F2F{^k8V zWwFgOA5Pn2UsoUhgjkn!~PScL(4KFL zbn4X^`&VOPVqOAm+aE6!AT{Y1q<#o3W}?5|H9yFfPq+&-X)G_iumOTjCy4+*L!HHp zsa~;}Bm%mNdt_tOtYD5cP;{Sd!m+t@9 zVc0#r@@JI5MEs>-qz3E^Fb`(IJP`bM9#8;E`0qTZaen@H8i22V-!Wu2`ZE}P|IQT* zeT@08EpygewYnv|-@`_Fe?jU2e~=pXpNYi;#zDK@wn#R;2Sj{>Iu*kIdDN2NsUDq4 z5WWGvN0n^(AdtX}0ELGG0SWxyMno;Dx8+-vyJIr^MBY@A5 z4W;z=J02KP9xRfL-xm&L{Bz;=wEy#bz8#AHc|MH)wM;&B{r7O&dj7W4fI8p`P=R6Y z@_Q+D(HQ)lOQO@54}Z_=_Zxqw_2qw!2XLN{a{Xr!Pd5M0BEI`~5xf6a>kDORUjJ!6 z_J22j5c~S?p2mWq!LAPE4f;K&eu;xAQ!QF}>+dhX>@4J@Zh*=DUdi|2U|qk8u|2t> z?cl`>My?}@sU3ukV6^NkB!F%uw`0EkUfp!5EsV?O;*&)$l>@ zR6wu#e?A-o8{@Z{EKubSvyWkfCI1iaxhkFlft6NcQYI!@2E^}OADp>i6e;zS&OeJl zzyuAf{wTOJISJ72B>({!Z&uS}>IC2-IC$Y4#zEYAsGI$@qP zdBL7V`4EdoO<6fYnh3Oly$x)W=_Im|9~JaC#$3SfV;RBxFM3@px_3By73=+I&Qc9a zKKA=6j*Xd^EpZEwj1201Ji(+WdNfQf=x8i*I`4bg*&IK6qI)U|czd;+X9V-L5b_@^ME-khn(R~TbI2u52 zS7(Ci8v4NJi=hn{E64Oh`g|`B95%AzMjuaM<5GX#1sPfN6PC`vok??2T($8jo<1by z&?Og!H#m7M5~t-lOpi29MMC6o&<$6yz8_}-7UcQ{Ah<$ahLC1;fS{@K*6U=tpA$6R zytxZp>s|PEO=qS;>{B4K3*-nG(o13dZSO&Ps!&2IKDKh*$P16%+BIMX=?7zmX=G9kVy1zXgxB!S%^QGoAmF=M6V&LphYOl(*x#jmHfw`p@Gy^0HT#_xj z9k_n7_bc$In_26sPiZbc0$dh-X$muG-C$+>p0`3qyUvvK3hr|5Gmv~MFu8A<*2wdHAY!0xCc{`jDn23N4 zn+7v&>y^_~ZhtD(PMvfmYEMPsuQ}U~0N04jyZ7&=OzrP)zWK4fRm-kU`x0aQxX1XC zTt09Io8NrN>%cYDxzns4btpe-WS8^UufBb5-E-^vp4Gd-E1;si7#B<{K4+=EZpWjp zFEeva7GIzA{^XWt9&ufuHL}1H`7*8k0gv~)z9aVwaAit2aNEI>?bFomzn-KsU*+#A z)xA$%T>>7#8L=^`RbGIBVVg0qcwI2<3GaMmw;qrCBC{<1|M`45+G@6PCHE^}I+Q*x zQ|xmq``w1aeBSq?qI4^RUxJ2l-^c$rB>w8oF;DfmQ}zj(dR|k_cL7d(SHFtU(@ZY< zojqy7=SM6I3^(e!v|=ZMDtd=|q!tIn78~?d_u@aZFVdQ&MBb@ E08MzTDgXcg literal 0 HcmV?d00001 diff --git a/documentation/images/entity-details-panels.png b/documentation/images/entity-details-panels.png new file mode 100644 index 0000000000000000000000000000000000000000..ab843106f4b0701c16b64115086c76292fd634bb GIT binary patch literal 87625 zcmd?RcR1Va|2A%wsFm0wh^SR+l#<%B)E=!-o1$7uswMU&Hl?*GRimv{t7=z_q9|Ic zR;=1$Z_iure(ulxy`Sgr@9&S_apdUH&=A1fw8g;1gkwh66mj0KD7E3U^QztC^(Htlv|snfOFMh%tRh`%-G1cj({3%Xx`Q z9hMpbPI&P7N)ShU8Hk87#F!hrhp;D&YF!Ty0SjBfGRrXTPGzi{#Eee#wk#dfzO9cp z>0QJeZCM^fQ%qUvJoBGe%=+YeJUPB^F*WXIxpa5GSn}C&hC#vG-u)jQjc)OzK`_wY zuV-<=Sc<>j0sm1vRe;C-;{ioN`TynjuO2`gmImJB@<#ssvJo;7RHsIA>tqT1_rqM? zmtVLvUSghWe2YhO{^N6FPIU}KMUVDBFDJbJzr2?YxcO}Pj`z}=WT(*&c6&ceT}Bta zraQNWQB*&fSNC448eUCx$oc~Py;|6_9A)V5Rca$l8Z6M!>2Ta=*w6Ca`KG#u>tG+} z$@a1F-e0eh@!lIDVfV3G`B7ZKV1eRrd;fc9stW%8>-fQZt%_kwe;K+*&Fd3&&b!Os zi&QBs5T-ScwNzM%GHa&%#_fAj6281P>rK1CFJq*kp>Y*A=`>#LyoZevvfqmWEWoCi7oz%mFL8LBilhdGo0a&*#l?GF{H1wWH_=ij zzI&q%&TWx&do$te`HH>Rwy421q{W-9`DDv#k15|__w}ESkA_RMNM3g*3+br5uC5mM z-u@~f+Og^~z#T<@?Zf_*zuYzdddrI+d8877_{;1_7$LSP+?U)}M-sG?yB6_-QGxNn zAA>qHx$^IF{DiSJ94)_dJVVvW+iW=f{3t@FeifNzqn5e-T`K?g!jxNFjJxf*r|y$| zU>-l7XCLn_ zcYd-FzDO77r6oloZ|0H6m3%!}?qwLh> zAxk;|-`{$P(g&`O2FC{-DELjpu%laBBTXHeQTGe(UB zhD$B8OAru0o$i1N`*qGUNR-IO*d@KoVV6t_F zF}?JSkb`rQ{kezmB!572>q+cjlH%mJ|LKaQlu^^?ccJBQ3t8N;&t$!4QHo*@bgKOj z@&Ifu-6;$wpUpVjUi8RU@|iK-T9mM53t?Q2380OwWpv=66>00P5p|B-N+^gz_`PRW z9seedmTYil0Q|e$tN#4#*Z^ri-5lut!^B~f%5RhKcuB`Ujk=t816uz$R%UNRjAFc3 z?%c8Gi{OaEgCz6I&xa(_h!X*)rhIt4Wy7`E_szB&n;i>EAQ zt-J?5oYm`sh z+g|_!s^Wtbe3+YvaV>Y5YJBSGBJGA1)2_FYK8xx=7hQpMqBjy^02wptS%?jQ3%aq#m<(Muv3tf;B?tWuhfQSHcsYSgZS*WVK4;`HlBfyln7!` zU7tZ#Of9bjM^CSJMX^1X&F&z!v>fS^4?FcE_dksJ6-Xwm@x;plYS7d61QNdW;i{6) z<1IVa=4L{XAh8*%fNi%%1PJE%dF$X+#|rgAi+JN>J-Ox2e)VYwTPhv1H6;7N*0R>) zNFU=fV4cXtW=ro6g_hbR1y(Cv>6QS!zV?88%GXFSU- zZp&VpCX&Oi#~E8NXsvK?nUVm@WQ)ittG4-x5~H1cJ;skH!w0VY>jio0lNWt7;qKFj z->D$x>(tp^jr-Rd!+BW<21_60)gRM#t>Vh*mZ!@`OD;B8a;EE7v|1a}AAjQWE#1LP zHnMA2D@7p0$g?CEw;9`L+4|^1&?p$5XZg1N;(Qlgz%1-s^cg9RQ@Yo-UD#^cu16!g zRJy(lcQ75=C%dJ@3lkcc{yLB-p{oOrrMVQhHS>bzlYpB=qjIPS5>495aFwcF)uhIG z{AIO--F;!21qD{u(01pv>YQu7_m~%3i_?7b3hGaEHf0;#L!DKb6h$2UqY&D}*+bb! zuBY{rCwAF7Jg+H-BAP1kcgaaC%m|6A$bUWX*xC`_6Ngi4LBsOE-<=s8Qe{*+XA~YblgCa=n z1ab);FDyQj*)axt)vyZMe!RCS*~u zWn?dDpY+upf;zlk?AON4nnlB@+R<|z9W0Zh^{*$$YNa3@a=GO;bcY7q#9t~&ZSnpx zaIJg;z_N^Opb5l!BspQeC$gtIg9gZs0t-jUyFzNgV8TnYX~~6kHCrDX;#=flnj1Ka z&C2Egs-~XJ7i}{9sKX=oEe}YCC1$QwoxC37OIgLTRFA>+Sb3-D$kOv;<(Cy@_`?0) zM5;iEMaUl%5+47g>FjI8g(^e+5+x2f9*2k^JEO!ZS?x%hl4ce(y@(|n8?uz4C8G1M z*2(uq+Mngtlj}NC>1eQHiD8z+NrHtR(MoJHk*urx3W5@Er}BofTds7(v#)iCmryyj zuFTryIp6MU&?^)g;{R{{mD%dWo^~DtQr)h9#4!t(y)WFZ@Y9te9I5%s^WN2)3>)U{ zy3ysha2d*asqh~eZyz8O$PqX}vme_9V+Mcy978A4F z!nDBl<)1O)9v^HCwCgUkvDeMp2zZ}BvZu6|{kHFh&yH+(;&SaJ>4cDd!M^psAjFKq zA?1dh;oC=K4e=rtk?3Hn88&fQ7+M9|Nd1kz@;0xgdZf73i3prjF^fjM7c;o{!X8un}d4uv(r> z=WyufvL-Jtj7WVkuR%_uZfSH3Kj5AZ4dB|&o!)UGc;r)ova!}Z&Bsya-lFH(IHC>x z$!xSBS~*%}vpHhwd%e*iTKV1pu7t}RvA&ICo`+Kek!?8lwsuGp*R#!rZ_h<#s`_sB za8aqTS*UI;8h3%c;0Xmf6|vpdepjoh>zM1a9uv=unAu767J*KtDnCDeXXAC8>_ecP zsTg-@nqc!gu&!IH9v|?{W0CQCs^_y@RB-)bae+klYd-XAGY92CH(7=d*J|qns<>IZ zNU#EzXHMNa8p~9lPkOQt9$K*x)kfJ+?vpKA=3SXK2|g8!HC`Z0v0*C$0gXbmdO{Mg zfuQ*ap(-|o71w7FaugMzK{mo|P%XoQbS3#uL55!{}< z=x!5IL4|B@!y|u0ZigYy?u$9Trbuj~$pPUJD2+leu75oKp@>mHSi34`p7I+AU^g#a z{&vOEj4oDTmDdPkEhX4h$>bbWaM^jmd6)&#F_8kfosm&cKxz3NurjPc4mg^ZWlgK$ z=A=;(`nDX-DohaDUkzA)j+Gj-S(6eZJbk2(q1`-4@H0}TmCr2(GxBlS?L?@;F{;N< z@R7ryqvrscZZStr)O6(A0zX5F`Ocx0f3QWO0o$*u+n>MKtNL)K-x7$WMlJ`}S1?K+ zea6H2U38}JRb_D)n!SVBIHMO^7*aGr*i3XnG+ulhCUkM#@aPRH|X8<^(H|$X0Yh(QiKu<+%R6wF8}eQdu1}2)jS$8_jOmf2l+(P zV{Jyj5X0e8!r>eAL}4sp>&Yqj;Z}mAm+w^$V3Tn1d?ts|NCe4n;tFlnYduC5BbDun z2wX$g>RJ`o^_%w14%>4^TzkilpY%>MiEjrvrJc4!anC!ZQ^KixGVR21))gEM>8$r! z_ukS{u`r7rSyY%d4po)r59ei%qCFLk1%;&=3-(TeMk`;rl=}Q!oxXppA{wMvDk_z4 znPuCS%L^&+>-3H-zvF_%Uet3o*S>V=VcxfRzGB`vxv1El31O{_Ioqv5IC-Z7sad8$ zbn6^JB43e$Lvv&n;ouqkhby-+)+}to8T`GX^hjQbTsnggYzpFJ@8|_5w%?+X#RAR- z9l3p+*k}eRFr(+h!o-kYYr{YiLo9(IOZU(=I|(Bzp<+Lu&g>S3pp{Hg)K$_k8l&D` zU9?_tH>hoA-#*yWiQZ_y(d2@zbeIjv>G(BRor}`g*0nix{J65=AGhZ(%E!}w@X0;) zrj+-I$Ub)mcZW-+Ip;>?9CTQ))A?nPT9^33!;0W{deurj`OeOz=P9Dwt3rw476acG zKpZ(d+FB|ZAqCQG83HXSi4~5D3m{!mdy9ca-{x6`O#4*UyD=-s09|$f7M~mTltqIC`l9FQ1MXDq?1c_o}h?!X(7(Y14mE4TNSHh_?@R$n!7d@ z`>R#Y-%fu1NK{Cze%z_Q#d9E{A@>gg(>zW>ur=kCFDFx6Pz?Zk^nxN;BE zf@ptD5X}7SUHrJ<@uqr9f5&#v6o{7bo2E%iXS;3(sN>__(w&ny>%Q8D99YeL`{6;fS#?_}gMqsYf3AG?x;8gJDhBzuTBcAyB$juQ(}p zDuW8Mwoys@{5nCA*G`8R>0JYoaPN4} zxxVbOJj+ZDZ4IlkK+a?yCwuISP*9|h(sIXLbs$75Ql7TkN-ESBW4Y8>V#<+s#kSFi zc{G`-+4DKk*TJ?@%1QnbEL&xxpPxlQ8pfR-ZF!6l+N*}L0l_(DCgqZO))lMy)xG-s ziJ=+inI%aC7PB`?B_nk^@g$3ddB1Ml_FLYPwg&lWde8?g36}mC)pkg5@KaI}UygL{ za8Koobu1C9m%V;LS>z z20!}v%tVzn3!Q(NYuKx~Kd%9Ot>VTP50B%as?aaE8uA{YC#Ylh>In|><46edh|706 zcjl$VRPiSwCafO!kdio7+!> z)Vms9H~chBloem2vM(S)22S&NJe!xmMZWjY?LDNP+&cYbhIZ9?y2k#kRjl0WZ5@%M~*Do&BiR_-XHqL+h7@>P~Y zI&OWjwo!{SroW<2zW4gm_7*6X&kz%+O8%9O-aR^o{A|vLK_(%cyZr~IQ?9EoA&-5K zx&TyG)ot)*YQ}!h=aY#9%3FURE8*3*^yYSw><87tP6s|}U1D=hPvZDH=T69i&yMy8 zO}-IXh`r<2S}vzCOU@!-VLxfQ-NZLk^5q$&5f)Bwz(cR>+S+vLNt5*28fw4WyHPV63-#?IO_to^*3H9~RfJHpybOl8b>^yrkncq+CJJQ>B|E@Ms0qESfA^ zUw1aPhLGq$28zjJ)+g2`xtyBfU`^RyZ{&^J&lkF~zap+<+PUeR} z&*jU6T0VDt6=Y6vH7;S?+G}OC5Jh1%tA|Xls6s!}gdfdDD4mhIn9yEPqt>Y#cIuqY z^HnV8Z0TvKwG%YOEM<=`NExQypwQ{^e)e4T$$D+htIGGFmL4W8Rwbt>m6Tvg?XC}X z{I>^8JN`w><%hfcG$!pJ@-{=i90zUl_-uJPrm%H6deXeVoA5gy&c_PL(?etM)U5yyaJ6wD9Gyp$imSW&JV^1K?%o)P7SNSDXKa`OM&5v4!GP8}dc7u_`nv?@1xt-QV zi;w#>i*AoS#JnxJqDiyuD-(e*n{7SoUMSv98m*rxShFlHkxfJ*PM;JMh`bP@zjG8$px19`eV*$5%vEqB zS!%4o^JJv=5$$eHy}{{n3N`Yg?AN2^!itGO9;8UB$lC{r(-e9DxU3`0oM73V!BUmh zyZa(c+@(ftUCLnHRE~$0+ml=hQvI%y5&Wcq_euU8U)f_&?hQ_JjC$cSe{SH32Z7E@n3dju@5R{6IVRCzL4sO)(P!UMq;X-sAP;( zfP~*X9GktJnfO#yMNz+~$FcOT0^VXD*BWi1Dp|OF+?pXKBBYVEqGH&pvmp>cSJ|Pb zpvhbBIPhq&>7784@Ih$FNsa8}i+qFl$gvv8f5;rYi`;7mz#SLK{=F9Y7tCfuHMmq< zO7{9^(RRPAC6SJE4z&t)<%|rxjuzVNj2F@OdWeZcv@UozT9ge*?you=6@YKwM7sYf74k_}_@5NG&~^LqkPKGw8mYR@ojEL8%yM{Q za@UnJP-7+{uH_%5&WSrpoclyG^k23cFEa=vG*-({>iU>{D-T=_`R`_+bB&2Ff)HRw zwSh5YjK{sF*RUA;SQ)enBC}Am_qK?@T}*^cL5PBUFsnZ-(ce$Pc5r~^e9d{l(gy?3Y zF&)N`FN_O~I8EH@qu@MU|7w1NFS>}}r`u~rdRpYsd^@`QQo?Yz!xKVoBMnT%=z03f ziX@NQY`VR=Ppy}S92GpDOH%#11zIu0kj@So*L5B+?!N z*KYFHspdK?AurG~IUY*Yg`q=JP!Y)dpo!}@i#$Gy+?JxmIZAuRW{!(!32?!+QR`~c zk~N<0JL(XUb#$BmtHG z;XzlNvpZT_F#rOlC|bNyjK{TGv3tE^fc7i?!J*` zyLJ;lmKCMwBb#0gvxRizig#t?u}UqZveJ;~oN3ZB@Hn=ndT=@KeZ_n{e_R(Z7%}n1 zv$gr#`3oruw6WB1R_4%Y&)mpa;DdhrG5co6mnD@u?)n?mFMlp+X?x>8h@wxiy|E%5od|(LS+h7p zi3n3FKHmwbXJca=|8`y3(I*38uG7Pb-3fUSS3}01T0hOu!%f`cwGDTC?Z}|~EHdcC z-NxmZHnUam3+KI?&sm542lu_?^J{_C#!-s5w9R^Gq89@pC^1`_hh-!4IA{2>x#$ea`^lnGw0oX3Duz z8xv5af<}Otfcor4qtWCGRm_YT)m%P5f1wj#h2xJkjDpfqGF;^65)zWnv*r#_1C-x( z_{(lMMm-94yu(2y`_1X`>ZK2yjHmir2Cb0kS^zcTJ7J}bhnk0*$n|2+r7dKp0HgH8l}T+Px5KD5xJWS zjInZKt7Vk|w+{VmoAOSk#H7yrX}Fz{#v-?5JD?L5=dT+9HxP*R z5qBJXJ-(giEZV_yOeG~f!||rZTW9W*t9hJU`RN$_C-Gg(S@_c=DaVS}lzoHwB#3{n z?TZna@yR}aD9WL+~;?2y${fKDcuU+mhZ-A>$H05F$}=gv1% zr{$rdqD0MF1n*=&Yg&5x+Tmh$4U?$-h+CfwPo!@wj)MEo^S~dzn5${rEh#ps;C^Wq z*{*;KTQ74S7dNea@}}6hT#@z|+H|%{bzQyJ(kt&}_Ufj5tu&I?KkQF> z>s)-nU$5=0s$uu>&IIQ&Wc=KuN+8=^IqqP|fcq8k!+I zV|)DTb=*Ie=Sr660uK|*;Nfm*$6E~~?>)?Dg+tuhWP>T~F>N^IL}G1f1|W5y`TO_U zKHRjuwXfLg*4Ngh(Z_oma|mER%H=vZe#L)}ji!bD9I<}-UmcjPtlw7R`?W*=v$)Z4_I5rpC3q~VdF$+WTjz}z zHsa$x+27A99-@Bbyk8?t7K$^V4^xKX0_I;B`DN4wPUmYOHyDT%z<<3$ws6=elW`jD zRO$i&@(2VLzdKR8OYm^-u&+bL^3OxSqh8@2lV2_)HnY63NueANRcWikH5Z3q=JS33 z|M^_p$XSTQPjJE2-(RK?f%xx`ioxUA7Z!L?h5S8$hoK{97e2`aM6bUEZo2%Ky$d0e zKp-{p?Zs#+|cFn(+fAyc%=;e&!mWQ4AE;kfI}Mt5&rKdK~;)Q z{=iSSQ3KWP-!m(uvpK#%oLzgYh2?Xma568;`CZuY>{uEp?fEARfQ0epKJ| z?cWPpk)xcEZ0R>jOvUz-ZyEu4awb)tw^6^X{pj)IUZ~MkkBv#^()z8)OxMq(ONZ;9 zR!YP+OkEnj`vE$$F(E%()X;H(ey*M-Cfznp=0}$Q*gbwDKbc=?h+jH4MqekA|f23IUF3hx=E+}~#+ z+nFw1g7P4r`0c*4+*KcOg)A1xofgReOl|5ZNV4hhtIO(h4Z+(5q=)WZM~iajqa{se zM?g?WdLw_Z@q3~A&CipIVYS=eK39)_$;wn578FE zXM>Uwc}9->mG-ElT<#1PSA?E-EF_x;lx7YCzC$ng9U`2~GnjoOx#?s++G>!sX|Jkuw2i?s<1)!S#(L>CCh$V6 zDDw=kvLAenFyjpOF~=hL;1palAywX_Qk=}5aY2B>d)A=qoKL5}1b4atTAsXIDjU%J zGYCoG954s%!Rb@C3nf%Am266TD-z<+9DrZ+psltu&WD5&`ar1hAb0I&t*8u7E{#Dm ztV35kKa8WK9uWLxKD#AmGwxh7VXq^5m?v|x*}Au#eJ)*0ML@B%DUJ04Bt#^K4X1nK zMR>}ldY1XwIJw+!@f=D6?*EJ=pf^B#0s5BFdQUfIwS&5;)5px)-1HB<;1*J70rWLN zd)jUrJ{|Q%@zZUsyeUCU|x0vd1c!wa|nuS%cW6+*j2a z?sIFUC211^vN;Tgu_%7Vg&r`UqZD9DW$08!7T}aYT^oM;QpYQn=V^jfjW%tOchF2C zHp*$SZg9Z_b~wZnDX{pN22{$@rI1?0A4D;!l4r|;{RW7K9=bFh+NUv$`yI3b5=+QD zH|u90;m7Y>A>!*=-c{{a7AfEywlm0-VTt$>0V zBL#Ys6ze@Ml!i~=>Sy?K0KC(Ciw4Qvy_RvzEcT;3))A~)NHSO=J-zj_*3CeV2pRrn zV8Q^D^X1$_2dd267qz4pCwufDjUgx^3IV!py$an@NKshjV9f>FP*@pRql(i6| zpB$9ukv1f^$FXO74IfmBbhUg~N8iXI7PP2GTpMRU+YIlWJ=9>rEhL}~ybow4^Q*q8 z9$yCYnB0uzdx@@O_dh`%y|TZ`Ir(tM|4772N)c|uvu`6~J=N&zXrgm-K50kx(G^|y z^)&+>nH#&5%0Dlek=5h-N){HV$jctiB^s2rG!8Lb`kgRBjtJd(%AE?dGt(q>JB={Pb2W%+4K(T23c4(;}JL|IU)X|Tc z0Y(`H^QU?RJY;ZCJ5|_tP1EVx(4#O%T~sk@@{oXKa0aa~8x$XfKnrg#eC_5tKHZ<1 zT9Q%vonooF)dY?#FfofDxEJ%kNo-iP!TgKd%LCnGHaX_4t?5fFP;P% zu^614E&8AFG{~7_6hJrEKh6$()XhP+R>~cTuszx(!cf!?qbOU3`hE|T_f z5#9fjf(z-(Ov)E|bh0v(WQq6NDMu~QYki;SkQt~bSQv&tOGo)*vun&Ye^?tD!N>~` zRL!M2tTspVgV7eKnb0A%&)%U+Y9KB_EJDQTCOsid0udouRX-tnG8{WSLGx0E9@$yP z0|^iKf+9(vpN;-7n-e^vk!b@72Q+N}lc>}Ki$GKnQgLOEg`r6yq`x?2n2x{WEn;Y5 z`JQPal{Gm)HBkcduxvEprsQ~~qrq5BL&>fH7OzWvdede+Sdu#Kazes>|HplSM31X*b zI($1T5*AfC-UH>i`L)=^L664m%(qbpkt_eHnyQH0Sz<3EXocTIHlZa)YX3|zyhshr zyxM`7*YL0Rx(iT-TUIZ)L&z|6Y&WEvEK&A>@uBv@ml(W)g#%${P$ zs^uvghLHd~7y%=o$|Y+T{H((VrwoHCl7$tMh_|b8c3xMc=)fYCMlJkLcg5HTkd(?S zhD~sxXaOSDt=z1<*8cVbshJQO{REQ0LMebI7V%xoPk*f5#u@9t67-ya#fY7;3ylQP z18dO3+{a6Peu__&boZU%8((^tl5*RQ{COoG>(I*T>gt1ds1Km3cl1{h3;k&Tib8qL z(I5+XmVSAI?!5wx%gwb93GFyW2KdxUd}OaD2Z5c)LOJt`kS^ZMIN>-jv=#UBT?T`$ zp`3?^D}-bw&1=Ry7(I|_%DXssGYECdN4TD(js}UcFre!Cwfklr>8s!Yr<|Xb^n`in zn5tn&$K&=!ECjRlZ#*&n^o9O( zkV88mET9avqHCG|K&0U^;k9gZt9z`qBt5bCvpS&1GC*FY0;>G)!DNUX2?kd*Me8#G z_cZMr^4=UDTwOkW3@;3Mg~khH9ApLa>-N-66_OcHLhwGu0j@B}N4(3;4ahP2Ku0|L z5Q8gxqSJ?pP^NV)jM>(_59s+^9HR!a{M4dnfLhDxfO-1%77Q%B7Wnb5wq}Mdh9h1y zNPJb$SlI5hrbCveJ##5pUjrZp?7O_K*QF$IJxk7vXDrn5C1_w${FM}>U zwsf4t_#t#A!e$~*ghO=kMK;0O!iJr3McR37!t;;B4uwzgOXqqv~EygH>bOGc96$bBr&ht#AGQR<0WJc>Dl&X$KI4vFqp)|*F&^Zq?sz2+@ zOBa1Z4k*i>p7e~=B{VeH9#^cZK%;9A3lz6Bc|kDU&F=_JCF%5J3opLJY~H=F-7DBR z8rKwy;0J-Qa1ukl`7fZ3cc|n}Tqo_$Kp$dIt-f)( z(}N}Tji6|#PDbVvWhg@;*dWCogS2jdT-m&*&@XSMApA`CWe1zLz*nk`n+#Vr^*QBU ze!EqVHouYjxzjI%udC;5G73ESWTU5vk^>rrfk2~;( zQWo-z=Zx#9xY}eg;!~hyN!Qk}c{ttmf?rhRKA75=J~LoMkQsr3HJxmAFW~?oRo;9C zDt+297)4EXJA?ldpdMp7TI7g zrjk;ZXt&wOmpgysy~y+oNMTB0S>c}Y82MGe4Qfd)i>1grrfIx%>w1Zh=MzMvh}frLL% z&!g{7q>P15gXIJwRF&c%hk%vIrEfupq7JU1sZo`4gh&HWh^e|}Myc=Gqa}ADIEE;M zJYRmEuw(jh1gd37h=@m-6GPf5c6E#iFfdz64BxVn6m}H5o;Eb4!jq3W+5`LyeFF_g z5sQQl1rr$fOPlkOv5Dsa(x{w9&|OSLu5TwhN7stRtEbp?81`e0&P_O_!3XdjI1?SA zEN^d77_R-sn5D&;s{-jeEW9`IT`g{!7zQ2%@6&0Y`;gXIPjyA`%d~|q7OF+aX z{D!*k`6Q+d=V$@C1mbx=680_j6_}ceT$w`JA5p-vb)q6KkKwRTmj$=J8Tww-8Rv#1 zU*ysi+WpD{ixfyfl51p#ld$rBat3jAuQ5QHx)V7 z##grw(w~3UNM3Y}J0sfECXBTAJp`&gYf1b~19 zkN^9(EcDHx%oN!n{J^%pR2|F=N?CkMDbM;ceaCU7z%u43k740*F=BMBaT}qD%J&TKkcXCKL{^%3Jt9IW zecD+OW|gl#;di`N1j6iaNV`DIY^8O;EL)d&x#h5JbK4kvO$tsIB3i>(cq6$Dq-hE@ z8ctinbN=j)v}c;-+h=0?452Z-PA3e$7)8 z+GQAvFz%z84)n1^4Q&8DmVyY9e%2yIj4Pmp@L1URe9KjFJdW=JM0k>eoQe>ilsC-~ zLz`rcSi3X^_@!rz@oot6Ggo`9U?qtnlZBp{C{d~6smdSYi@Y>z z+rH<6vFl;+fA4hVKX~TuRV-czlpLuX+|S9ghgU=|{3AUrZNTvkDx3D+A*t1-Xd5Ul zr1I;A+R8{UJ078b1+%5BluEFgwLzeE1^7kjICkGcmy<` zY4C$@GOV!%+jT_v2d609%ZGF5d&)px&?52J)HBGeFJHIgqum4~)Y7jTd^cfR*YzDr zNao=(xwIBy%7-KkbVwhm?gj(){9&Z8*RtrJh}TcUn27c5BQdfkE^{TDodVLWu=W`E z?-*f%!3W(Ws@b*bSWjqGdN*c4iE?(e$Y+jWl@g!*o->5+MI9z9L1W#ivL}M@ZYQC-gsnA&B ztC0(chWTg8(+sjcp0V^#F!ge2&cSvsek|T3B;&k(yH}&Y5J|qD`p2!3$ei%ov!hLY zpS=a>46#*`)<4j6*`x|o{w5A=&E&xFT?(^tP&;<6Na6XdC}$)Is!@?@LgV>V~7euE=xi)Lb0%gh9r)@-gNVa^*zX7 z+sOIRN@+o$Cm*3=cq!f`upvrMcp`E{b}ov=AzD2OQAvnIfxm%m>#wmMDnpwYNG%?s zg;4T(mdovTcnDfJ$OrtvVIw+H)7S2jLP+A}48}J1tZ%xF8UL}wu1oBXEIsF6WN@`} zn06w%Gers;PBJ+le!~eAY9`i56DQl&>K z*;hQ>>T5hcrqMY%GAw_sLb^&j0s=f1sM5W$wC#3hzCU>Wn*b4UviJ}JN_NKCxQLjb z|7?|>GITmjd_I=q?;1a(5wr@E?jseQfm3GfjNH2DVSh6YWeNYK3_=JY>&Uno3AV*@ z9xu-SU83PG9a7jUg6LYLZ>TDJgM=F)aAf6g*5hp;P&mFtw?4NRuW?~$lWleJU778n z_$N$TNNjUl@fM&@c5c8%FcR_qofT2eUt1ldOYnC~4|w(;A|!+w_7AZ44-o=O0?r@( z@qXamfxkE#q8uW%e~jr5X9ME;=OqMxI2#3C{D0%+00*N;3S0*8Hxu)RvjM9I{Bx*( zaW?JIg-7l|Q9J=qgO_am^?+J{8|6+1R%BCdTb=W z(@>#aQ6cto_r=8m0J%~v12C_8+O+_%0F2&gYwpWZrEqK=0Hm+QO0Aczjn{O1kqZ3f z2C(sCACa?Ib43b(8vGM>h!id?>SE?!(h(7IYxnN6`|jvv06a^aF zFqwH$6==SZh%cEQsU9eS6dCma_6v4YzcZk*gfl46t^)Q~XsH&eNn`raH3yiy(6x<= z+W;zs>NgdcgLyNqazFj&Z5|hna{=_AW;9cTTY#3w`r_a-^Yp=f)4A`}fi+6`qpTX;9$S~x~Vslw>ec~D`#563xX&;^#!YE6n4g^&VH-| z*-@+%xNPEs+Yv)YBEV<(9}Q+-P>?zenQE$ykqwFL|Mqj>T!ZKSgogqCtoPKhg@ZH{ z1sLP_jbSr`8##f-2wC5iwVJ6|kHyd^#A3F;AG0cn3w{2*3E(z}r6d7{OfPCAC_dUX zI3T2e96w1WJ5fir)&P?ejWz*lMeVDfjqB1)+LQc%R|B8(zvdfkHGPFncXpb zv<^s`kc3iG#t%XDnbOl7NOwhx+OoK1`TxsO02Dffeh1*IOy5$mUv!!9XBtV!+sbl~Mm=N$? zTU96=c2Dt&)kE6AWZap;uNmV506rT5uJlNKOd^N{m)*<|6bJ4|xPxgS{L&}%|JeIT z1g7z@O~^07YXXCf*_N6*)Mh5jA7~~7>0NSpDV(Ln@ev)|5lskj=*<8mZj=U@@<0Q_ zCQV38t|nvilP0W*NU>dthaL&qsee2nDQ7qK7=26b{IGA(S92){;0bM)zhTr(HP00> z)-MFQ6wB;LM4o^HH@Tmq6ICo}k-rMI7yIHQ{#Fm{@Cm0EjET7O#{jv<6he|fn6U8E zt?#R5K@fo7Z<+yT^>H~3#JR)-q=TqU>F_?uWq}6s9 z1F&@q$ReOC|ANco=)Vr9EcXOR9~T-P?bSKpIE=n+rVj*}QXSgAeRjOz!L|YKjb;KQ z5OWHaG)R!uX(wk~p22Q?+@IDU2uN{dD6oi?iBBQ3sMlLSI{=I?eB>I@xLvA?a)dF) zdY%hAFKk{kFdcL~6BNgYN%FBFhF_k%j)n`i-%-SH_)#og+@)d=$J9I}G36sVF`0;N zeQSi)Nur2@Z&5A1eXX3a)jzBZJ?iHOhdzI@{<9Xh9vL9pktAm$_Kjqp;Ujyk+((H` zG276ZTZ9Cnli}!wdkQ6z)3xEKz9Idrirt_Kb;^cRNke~4^KlB@HQdMD{YKah-R2B9 z4mnxZ=2b)X9e*tje|)em#(~-zX8gsFm;7jdXK8RPMq(1}v1VlDvW1^rzHvrSEj|0v zwOv(aI)W#wtd&wq;2C|3_-MBCoy$OEeXIgye!9Ot;izkAgTcUi2i|B5hU?xi%lXIw zxpl!a-vKL(fGD_?smK-TL(JOVC81kg45Q&O9#_vkXdVFfO$4*4K!a##lEdfwT2Zod z-Cv_ssp8QFY)8-0tydqO@41{`9QDyLvVHfmSy9erT3&8#E%^C$xHwLqx2j%RXH#2= zabdF1!#3h*W}T_=1Z5A#WT1>LOHayxR}Mg%0QGwx@ov`fqyWQF5Isjt7Z zgBokf$^?28`^%Gdyd$~#i~ax5^_5{!u5H&UN=OcffRuoQ(hXA579~nZcMdRgBR#Z) zAT1#nbV>^h-O>$1cXxf)=(G2JzxUbiFFg)s?zyi#Ypr#@h-G;;{s4W;14rlXo3Hj_ zw&MY$i6gi1PVo(bZC?6`_$;fe3VesubH^QB3%|bOaqa53MJ&r8U^5S6L#Dbfp4+6k z${amKL*TlfHobeRY{7V{fmRA$BMt-Pjcd za9VEDVu=Splt}0M>mSi0dxJ)tCSWa}`!z}3xq5X!v+OR>V^$Ku1Uv!8A$i9|Acf@d zl5UW#0y89Ac%K*&NZje{e9VA@8Pv~d5mH%OsCGo2kvxZr`B_9K^QmQn(DsAr^WL%pK_WlPPXV48Nfsf zbG;Vun3+SB#PpKRu4jfPBYrh*Mae&g>Eq!c*hs|05gI{KG(#DGPzboWo2sW`-wEyH8g_2Xt1Et?Tm?0Dsz<}j z=i8DM<|i!efq(!^f#ZC+4HNWqoaK#J4qx_B(^`HTb7L%6pzvy!{VHnpwjbSBCt!dZ z;R3(QxFopB!GLmi?XlQWrZOby1Ux3N7NpaP{sw60iK z7q|>`$@7q%Zhz<&qbgsA-yU6Y2&*_H?YC&>eX*9DUF(^g?#KY0TDsYj67Cu02Cd4I zU9zKHR}c%%w{EFWX!kfQr6!pkKFNb_dTb2yF1Zk8)8+ek zvwYTGlhl(_RsexXhszwz75>2R38yl_@ij@$&`|*rhdGPGU}9!uCfWNGSIK5S_hU(d zUFdpt(j{@yuJVz)QKPaqPfTjzXSZq}kSOrt+~i0)rz3=R^3Dq9qy)d;m_ye3fx5vd z(FI%)ALXu%Sy^KD9}hSj8lc(Wo%&`6NmF>*QJr#mpjS0#$MNCyF&ND7o_*=dO$rql~g0_aP`TEm4oIj;0ej$k^y;=fp&HEk^AKe;8)L%%S?G}1_ zDqNYYmNeGb?%>UjHVO)sXU}Tx(`{;{h-K1vb<67fjKvZAW$RIKITA5pAZ#Zfio^cX z^Av62o{*#EBP%_(0BRut_Bx2FKzUs9%2e961}N@n>kXT=e#PvU!HdsL zj|mo>M%qrgV0tO%;XNeOvI)lmfvNo6jgTQ`KWdT`*=30gPzmbQ`Z?RAwdz3Sh8#p; zMb(HdS7e8q^V77!l!O}LpyS-+mp6a}780I~1Vn~h_xA4C>21QP*5w%E$dg37*%)R( z*1=WQpf>wmgtL4?!0-`9OVr&ApF*qJ>RoSPh$Tl6M>EG^b<*c+;@1p9xdfQVX>dQv z`=mWjAvGh-DM^m&ilE0GKMqT4yW>f%5C9VMTsLshFUb_fAmoP{b4X5c5 z?e5|IT-~(aCWCena>^}=cPqyI6MH|~{tICyGm}kz#JD0NEqSGfsxf@dRP3}Su=GCV z(KVOI6i0?dnxm-cI!z%z-0n7qg(Ttp1~XYrNh!YSz{Zs%w#{RQg-X~3!FPhZhgD)i z%S2Xnw$ye>(;=C2WIr#~UF@b`p>LW2M~$9=f&I}6FwEKfK> zJL|cRYjH3)HxVYMQjdf@Kx@?iLUiqVQOEj-L4=&nx0`~Or^9tAqBA$shD={W0!c7a z)US>su1taMnaM8_>905N;20ynSB+Ig86jTq^V+NhcQZOV4CoQ0Ake(o7uW>Agqepo zDxzbGxCb?lIBu!n5a2ur6~6iuATH%e%97NxM@u>PmPACi7T=ze!<54oRkykKHZ)!^ zw)zFuRH_2vdQ6}@$F-BxJv}M?*A~uLlv93$3F+qS$*!oe8Nsqi@)+dNId3jD7uD##Db_-4FScfZCUJc+$RV2pG&; z_j1Snk?6k5<2>e;SDUZ0i-v_X5%qMw&gm};VO+{LV2B#UGaQ{ zXdv`LSNi=qesIJ{f-}U>%tHIZbUsg`oQ)W&x!=l&)U|vcr%-%5XlGG|sF}Fm5Hr19 z)k%uFdpf!Wt(ixL44txN#$WP8YovZWd&JoZj3@Dd7I~NIBD@DZub=0 z(7#>nzUZ<;WV6|_@3CNKE9|h$PE5%jznCO|n&KaF4u;g#fH)!+NE)$G_;&Ra|4bbn zyaQ`J`mS?f{%HOjtbxfY@oVcpwaJ@lDZO8SDHoS>&-A=F{Y(X2=;V#~>lgr0j{5uc z_ZMHVBhmDqGa-L4*O7BrsTnNmo_hnUK~2Sp!)d5rPkY(r!twSzgu5kD)ky-7^0%9v z5v_;<8O(;>r4RwH_}gz-K)OANJcAPLmw}cp0W!$fo5TZ&_eL6L`64EB& zs&0z<10FjeIxjmkBYx+OL6+_w$o*F<0>#3l*R6s8hWbKVhL=kBw>D&{8a620#B6`K zH|ss~Y1aOce%SqQy7qcDx~&Dck}azE^Tz_=xGk00p$br>+AfSP;hZCw^V7M&FRstm z^d8=QOrgzov|K-vp-rj;S9CV_3$fn!11exY?maM?rwAqEC=-^!___Qbz@I#10Fpt3 z_Q72XvGXJ!&T}3Sx!7^bj>Viac0ev2CV?16bwf*CBd;cs?-zm@NnU-0?j|C4;VfB*4VTFp*Nh!G6OzdLKeBzq;9jb;?cqKmx81I6p=I$%zT+97>`i zlX4k$O}x$t5@^w79f8~A;vD`Se`$7NVh%2&$==2GQApxv}$ zUI1Eet#i_@`pZPMh89&316fp4dkDt%6T=D@ALqi=gu0m!ap9kL0rQ~AyikP}Z~GxJ zq8@WPg!D0-j`Xp!^!xBRPM(QRKbISP14alji7%V(^-v*jLUnfMzYC?~>BLQrFo>1u z3E#gx`^@*4D42p%U??uD1uZatdLZzaa^U(L1{&eq!yE%A)HO3e$E4fKnd@DMwji_K zz>y(pHKB}mljZVgMXUsZZU`9msgLK>C2C{H(ZVbmtar07OiiS2j@87Bh=#p;B~5Wk z>fv`OE<|&0JMj_{>`VGXQ!Mn=FIX2xx|tjQ81N6E^Zv8pOfwgUPe4lI3KKGsL1QL1 z7Q^=r&W4Fo!hR8R7V*`O4SDS*!KU6Afp@fLw+L0RK#9n(&sU`hAviUhWkN?&wOjfU zlTMTR(#e|Ymota?mIC~Rr6hsA1`E;#x}usCA=>QGd?6z^y4e#1m{l|ByggF8Y12xM zDQG1$7Xe%`bVx5MnSb`Z_)cn z{OfyE`ZJ3yvFZNbyB`;13s2V=Ua6aNNk1zTuTI+1!?yt>7>O<m<8Fvn`C2%5mK%mZXr$LR~D$^iSS2z-*`K>}TR{$>h9i3losL=jYQ^1s z=vYsEv7ej2+YNEzLcg^JJ4W}i_u=nmJh$jh{g7B2TZQ&dCEr%-5`+^(im>Y6Ji_b2 z)6q}5Y!KOK!2X1{FXCgq$1<0)cycF8PfR(dVTrtlZ}-RqYh}eC1`C2Yi%}SCa-#t| z9p@shEG^g7HMRmHYIz}91x@;5Dn;Q13B2<#df zgD_0=Y_w+#1z4ZEF-nQNUWOtyse}v?pa>>@Xe97V{z?02k4?MO7bI@t?vI)cU|w|p zId#h~fU$T{4>J5wGKNbb;tGFT=RZKuM_APvn7ZeU)R!Cw;kQL1SIPeVaUz(FlT@o7 z82Yb>YfaOK;`>yCZG&?H`K^U_I;=kr;&__70J z=8r8F)z4@{HbxGgKyjDODXg#;t$NDjFgUk0V)M$vdb-Q}op?v*@0F>37I4^K%#)ce zAC1+SD7E&|j^6Q2u&h@OfsUVQ-OZ^T3m1V7mDP?8DY%ar<8@MvYYbISiIExYwXha+ zS!i%OOqLf9z9nHTTQ~|Wdd9dQsB-5!;NhXFPwz|rTzG&sN@+;a#GO(GJwr|e|Ex9E zu#rhQcdf^AVkw&x8n;wfGuI#>pN{J(g2L&>$15)LMr^3exw9?HMcQ_t%*G?!r5vUT zmE*BFVdPoY9IeU@B6#1lj8N^DK&|A)td`g`ykr-ul^DcIDvP_Etksj}f|TtzGkl}1 z6HRirFc{hVhKx0A-zq7hXpGlS&Le&*f zRWW(T_gZ(>WDpg7i=9v%uKq)4fxj>ELS%bDHg{AtP*bc*R5}T-q(-zW!7-BzUswB`oD9voZXI3btMoTb%#;UIq}8CY;36IdW(NnMh$n zKw|{sm@$7X&{$}muKv_9GYNEj#?2G2qQehQb~qB<>z^jNwD4%~I#q21`4vs}M3g;) zc`oc`&X(C6Oob;|m<$Zcbha*V6P06_SQbMg!b)~vm8m?V-%6*bHdgqIh0EJb7*Lju~FY0IFduBCRt~D8+NmaX4SRtOrngrMOuf76?gOPAGKh%_Kg=g!Y+mT@NOv#O^su=_UYm(K zZt2(Zu7brAa!V8Jjk4jxjfoE>Ew&naPk4ye29(MStzHd%PRwQf5rFW0wzj>>lL*NY zGsx^BtNF>7KV?;=F>a|7b(AusVxcugrEDaT#iF$_KI-WGLnZVhr|1eAHUq;(rDIj; z#`@!>?!oW5E)xQ7i!Gyejy-97UY<6|M>%CDlg_?jb;hw!Hw#~AV%QtR^NMcWZ*`o9FfAB812b5es_vPm^mQ% zsg}t|bGM^f@8*JCGm{2Kjo?PA8Pzi{3oG+gSE~oZ?rk~Y7h6v2UQFY4w!7LTBX{wv z#2jafzxSIo*NW_4WO{X{LigA^4s+#G9(NjxatOJIT9!?k#gA>pPp!0!F82I1@>xp8Vylf~L zpZS|pUB0oh0ppo&DjIQ~MZ;wx14g}0yP1(?<{maPv7>x*1C}Co5un~-w#1#`aa&60 zuv+->u#M<}mBzNYg?s`jG{krWN37**2K1s^K>FR#t;1Kcl+8MaCD6kaW0%5V#~zQd zEEySH>l@?>l@;(2Ue@nKb2Vyd24A{dcnM&K(DFA%h^qL3k~C&~i&EZr;efHum0Yc7 zA0LyF&cSN<#kj_Xa_~jGZdBLR$C~VJd7Hc}3Dc{pi3n6pv8Q48981tiHtC=yg>s`y zF9|^nBQAp1>h>0b_;^?M=BzP=CrrPS%Zx@1o-D#PN{3(>mgf=F8(FMlIrO^;?Ojz} ze4;#kLr#001!b9ATG7M?%^>%aFx{@2a?R~+v_%YYWV?s4!;Vbij+$NgCqjei!-aSO z=}|suzj0y;;&+#JE-gFs6I-SKVP>|D0rux_BtaWqQHZ|3RMOWu2?H-*sJsZ;;oETy z@*E?NWuyM^WQA}`F(4iE8Au1|BiFUNNS2Jp&*w940i>XG8SA93kmOtz?pD;{-0%b^ z3#UHO9AimaoM>|HoKbNOFO%WgkMLb${UBQT?ikJjkCd);o=U5dIEmT&X1+t}#g_FV zM9})^5Ie;C$sW-$tM@5mhA$Qw58Ro{J&tmw-w%mga4B47hZika`%|$5DG3<`uv#YQ zS;Pi3&uNbj**nR{cie?_w?g+s5>+(z5b9;~g=A&!?fMpGSnb8NnDsfu!fDqG%nFtl zTV%#Vy_>MUG;mG(;5}SV&hqf{dOCpwWDuUtjo)s zZxzkQC%NhoyVYSB2~cE+Q_C?<7Ujw}r5g zAyi}UrJ-UICrrOlaCpt&BdglI^-csR-hES4GVRXs{9w?#F{=B*HR1WK7sN1m3ab|? z7%LEriAJOk*$^SAbs?w7?BXr01BLc-4kn#ErH^5eoSvq6Oa*SPEq8dG$1;W}T&Z(X zBDta2KmdqQMk(d+@H9(VfiJhrKTi6rYVIejjB}v!apCZx<)~$%P6{|B_e{9iTV0_7 z%&f@wEv^U&vCDx-pq|y_uQfEmd67>l@BB%y<*7AgGIP!ciJNH@X@+KZUZ1tdl|9-| z8ZDoU<<4!3=o#Q8kmNeBoUU`3pWL`u8>oWL{-TI)9Kv5S544$Z(na1f zW5O{hl8D+Yzf|6`o%jir)aziy^_-~U5Q2Np|7BS7}O5uvv6z-XIOy4G4 z*R(7~%gC;z?H-KGmgD(+o0EY+b$j69BM!?p+HS=}qGo$6smQMpw;FEr`>{oYi}3Q? zJId-uxa&m7Op-N1S7(&?<`Nj(%tlNTU9^8($s}I6DrT8Jml>t)hKBe)w1iWPeq^5O z*awPTCp_aH=PEu>yA9=+@!}iB+2@zQqg|g%8Fl7**^0d+`|#DvsdEMU?$N<3(x#zj zXKyrzGex%4Qj~|16~b00hLyD#CyE~r8yIbbCOveS%c#~!s3hS=R_}etEv8g}7V)M9 z^hYuGmT*^wx7jh@iFDoTyyx}CYE*-&<6w7oqS(a2MZFtcAL^RsUIm=$-??IAkbTDX89($DHMJ}2jMDQI#2AYXWjF*Y@p zU?U&8&gD_{_`4#&6FPE z%FyspW>+n12N|VDtv<+Mw8Y-0^9y%x7*&Wed18~>;6|rBY??58{M}e%nI{VJ9lfV0 zd6uW?=Xa)Pr-vKP^`S{C5oe2zllX!QAyS_T&TCwZIAc7x>i;@|Laf=v#so8fYNX%FSyRqVWxbH*J=tQ3tW+7mjtyF~D z3ts<`lzJbG)@Z2*G^GffS??GO$W*-ykm=Ed_r1-7EXXPBE;wzgbgm@van9Nq9nd^YxJ}%;cha7&-FlDPrgJ%ImOuzb)9jWBf|OYuWmu z^h`34za%3pgf;)(u%e_S6w1rd`#mh+=9oMV@|qg$C-|pN>GxmVenboJ%)rEq?QDP0 z`jQjh=f0#Glk<^APqV{>NotzBiVCrV{6z|!SaHd4b3!?#^PrVgsl@SxHQ3N0x>PHfD2U5`OF)AVa%1If!5b}+bDQ>@8iFEpo;>pd9@=k+YNo2Y>pVy60xrfWH=TdjX0%CBxsdRr{LLsH@6trl4|Dh7_x>gjU|l%dN^n;*dP6OjFJHbugR=`%aj= zB?b2VzE|0yfT!Y>B8D3dDh)R~&Z|GLARnx^FrDnJ#NU!iG96WR_9RIhC&}5iR$)OV ziKQ%2;BL%Rh6+sRrWS=sQGn5=v%oJv(9ETNBN`s<7OfRkN)N$U5`Jpq?zv&l|Jk4> z`Xfwtjq>!{O*|zDNT3myp6b<#Vsl4Mk+g3>&JSh&k=#*&n2WXR<$`N(y7~$eUn8)} zJWMmclZj44Q_A}&yIuBrDt^Tk=v^rX&Q7^mDr*0%*l{M36|M zY2rT`)O%#T04vCCz%IQlJL;0kVQgLQ+MEvp0({lR;87Ho{lFH?#nulxe>9WN@ zZzaVIzPyQ9y!?q}N3V*BTo+E~4uulyWAyuV6!gN5^XuKDRP$IqUvQh6OSeDn+hNPH zItkT|BEvU@k$CgO8bvKRfNc<7Yh!ZwqYKS;+O6Cf z-Ry~-pENHQ2riteh0~_AG^$#2=UGM3*agIzC{vdQCl9)(`r`Z9t3AFtZ4!p%+-zyi zcbiCHQn&L351B8*I$M6JmMwPT&_P?yA)lhDqjG%6;&d4!Bn&Omn6UeiIPNBKm}s?n z_~Ss2aA=cv6xm!KW_8hfT82-yw&+N)$+wADdzN7xi#**gb zrpV?`{;ydPFn!pzsPL zVHjTM62fe)i(V9|A)YdwbiA6o4o<9G&LyrthetP=U~NE?P3o|D+zIO&i6Z~HJ?`Iatuuc&Vie-8 zI33|t-PTzy#Qb$r(8+mfb^S}~`@NRQO_~Y`eKVDX#c;JaqNX?RGlV8ibKGUU2Flm$ zo$gPc!;c+aglUj2Og((utVR?pAWM>Km%W#acp`?^wb4Q*8NBZiV7ED64O2(nQL(hr zDM0ruevIQ}!Noa%Ks8iKwyoF7+8DCE5T zNyw|V7r%@E8uGtvu>}OC=EH3j_&tQ8Xz!3OA%G&aDxhkxuZVD~TCU@0C}DX+QutxS zUV4l^JzQXEjZI2^J(+u&bwj&>lPbq?jbsDnAXqyqs9J86tZ}8EM;9VTrZ^WK&>=MQ z(u4X8Gs@d)$B%W>{*K41a-&j>jkVVciz?Pwv<7ULWN;I3f7NrY2u$QARWv0Fr|5L< z7uM`-I%hUk2n`_`69Fso^Lp+Ub~=j;5f`tZoimfT07Vi_aS7W z;Z!tHzqQ>8ZRWZuh*oDxGT~3>qyH15y=j(`hWqMx0<|aY`?TnlPWee~kNJqYSo>!k4 zmb)0$Rw#$}sNpg~!Llo>vi5bdwWo7rT#jn%4K&8Yd+Vy&Qie z9@P00dLG&_$K47>Z*#|%Zqa0^viOuZSUkq+3Cq#YoF*y0)c(TSC)%TOcG%-r|zjdc*o(Jt#YOI^7M%o(EyFNoO{9L`EqhP^%diC{x|Hs zPlBuJ!NhmD?~O)u>U5JWiW{6VeAsC&xw|Kbl1!K7syyLlFo3pACS~R#Ig)F&%Ap-_(dyC>9_m4HY z%@7Rs<8RlHR`qA(KYlP*{7Z&t-oU@UlvG3nJ6s=~oANl)aso0$KLD+MqAOWw_yW)) z1joUE^nTxaMyT&u;Qjr&Ms!Hav641iGOo<2pxQAMQgaiiJHb%h5hno1!>bbD@Q3A6 zghwewTzO2y;&UG6ew9k{=-{i|YGJp*c8y?T4zVuy^H{#BT-9!erwrh&i)>5sbuLGs zDZ8aYCB_=-_xPT!dzG0(mgd`{tw0OKyl>yyQHXZ!AN2&bwdcDp_?@?BI!!PimruEV zN2%4hm!RYg?b=_M$8bBYs~rL8PlZK(&5)K|7jGV5Bv{S2Mp^-lx=lbs5Inn6lq}>_ ziIV5SR%!{S>^P~dSO+kA2Y`ky9UJuck5xekI&6PT9KP6?Ab*3JJ}|kcf8JEH zu3YJ@Gu)*=6w}Cs7kgf~4reP+0}bwNw?M_ymBgj0 zvxC}!x&zw0dJ8{?Usc>&}=0Qp|m_EJv=}^%x%NQn>yv zYJfn_ocra;Ql4xC)uuNF)%MxJ=Hxiw0W-guf2C2_94wH1NZlo9_Ir!|S@I#i+yT?1 zkt@qmT0EIdOzYGH4m}?QO=0L54>eiiG`Df*_6_W-R35Xah;VU=*(<5O%rKS{0Oqgh z^&TlQ?V~MsSW{v5nGG%DT=FSD-017QzVUnO_!H6i2v##;E5ebTXkfAtdaF z3x}(N9kK`aClv4M_j30L&)p*P%LF7Ew@3_e6VNM>EY1J3<~a~pQ>b#;Tdcq(=R3Z1 z27K~~FG?9)NF^4eJD{L!0s_Xqe$QB`#UxNkxHtqviS6koXta@rfppU3i=l<261Al5 z=YQ|&Hp34_n0$ro@QdC4uOkkfG+=WB*)tlh`%>HNFT4oM)XbZl$oZ}8fy7RbMuD!k zko$1~i3@>~n)aQz=mF3}ijm*z(w)74ps=A%s^k-Zlprcv^0RIfJ zA0ge+Jxz-TeK%T1`%5iU*(FeTIJFbF0FZ?1bnR{ z*bX~<3EYvk_Y7FnX_5Yzae#z1DZ605@{7Lsb-NV)O^6>!x&@M}lZDU(ARn}Cih4|X zQZ_m=a1ikz>+>^&#nO6w`($^aLkrw17e$OW8PdZmowhc`@FOHsdocjPZSSlpQUESQ zu>};=j(i5bz4`7=xa1CzDboCN%c9&g1!{;ez#)ak6g?b``4|z+ev~9nl*CO z5~QgKY5YF<{vcwoh+RndZI6C0$Frw%_|2EuQc1!Atv;j;lrY?{^^4TOzP^c zApYlt=kUx1Y!bHp8`zPYC}~D7?mMY8G44A}B=M@gbfGbikOh=MK{`3q#Np4R@RWF2 z+*U!W)x})p2M)&MQS|-n^P6c_QUf+GiJ(YC^ZY_M7>k9w1 z#Fm4!c={OWvQ>^7=WDgk*xZ3eX(f;~>kK33@2=Tyz~21zg8cyUXg;a}T>91TC2zje zRCy)ILK7TdaNkC^TD=`{=O%u-jipf0uuU!d8-%#2o{I|5gVWlY zs=3&CCJ}0LN2d3ENZIssoK|Ck}>nw&?7S#Ucg0 zz8_^moJPW*-ldg)dW|A35ka5{i+B3-5Q5Vjth5oN#8kzeoQ?isg38&7{i8$LyLV4g`gkLBtn* zA5H)DN%Vv=vojs3f_4mrYDz)982c^kb?3+?R+M{77XQ~NmZAr_{XT{V$09DfhSkp! z{V#t~OCiiUqrUyy+tCvS3$T2C?0N2t`Y2Np(C0J>5_tB13AsKx^Jz!zzU}=z zFR%Nw`r#)rRLo{%`a2v$?d19v1gSukbp}_S!u}c}~efiQU6U(*Js`&r(T%M|ZYsfSq9jj1w}& z8HvSjzpUsq-wH{^$OfI`H+3!-bc&<^jPkT~(&K2dHt(k+N|=?LQ{RskMho6^Ea!jh z16CU3`B~jn)fozaO|3;V2I_39#=vPP&!7Sh@Xl|^aV`n0)JQQ9uA?Hy|GA66w+Vu{ zEk`(DP(GI!m0|?&>MN;4T#tnXnpX$EPlBf5fOL*J=$-#;wXj%1SZk0nPWTld zc2{gpR#k!Mz)+O&QMOi|7H3RvQ%?4wRaT}W{|*Cq+5UEcMJtC zmD8;+*w)GVf^~V5uEY{`DC>ME#zR!T;XjsGoH`TwlooTA~KPLE8jQpQi@m z<8?IjAK$(`;+#NlOKlRDPMDQ55`|b05e%xKJ7Uk!he1SERdVGG1x@_s?-)mznSbbwQ~cq zy#>6nnrnz6)-vd$KO6mjZEpFBe>tc@0!?ZEwdVq)l8~saOh~#mD+(xflhbaCwGD>Do5fAY$K)XwCl+wXw0J+t6TM+P-vpbjEjy4^DJL&`? z(Zl$hxeLRhtUtMo-^W9eRvw0WSzOY5j58om;E^c@c&?K=SEs61dB;G@x`NZ7*_qDw z03b4vc@>NIu1w*~N&EXzBQXz^C%}e9>CZf7pV^joxxCP*X>s2u z9d@k(vWYctJ21hgJ=T>g3`gKMtH#F0l6HTQc2rEc@5x=A7J(RK$$fgv67)H>0-6t2 z8)K!LAg~mi?zm_D&%yj_lJ0R#-HNdBeHx8WdwT#V?h7%)Y6hRczF4)YSh(vntmRYz zbgPXP7C7f>4p2v3$ZqlFV)0~^)0yM8b+w1xTRFL~wSlkEXTVLHXp3gFtBvEG`e%dV z{$8S9bdazIY|r(T2t+AFOn}hQwu~IG z(mZ5q0h|v04hTtDPY@{x&z4zDCKP+vB}gSLa{n`TXyT~C8ucldL$rWv60~!f&0INI zq3-HsmhmLk1cBeaf1d=2gAJ8@?c|e`FG=2L7^e$bD7k77{P-sFTc@0Xgv!M(TkJcB z^^v}%b-mtE6A%P!g84YO(L)y@jMVlxcvB8k4Or^^7c}6nK>j)R`?qhl_`=)o02Od) z0(AC{ER|Z_o^7-O>Jzo$G1Bw+72cb5SC=f1B@n5jBC13EJ2&vh6@Z#{>PMBk9-@Y= z1XpG3>A_#7L0j6@HBS&U=6KHja0i6Vh_ksOcjj){{YHGTV|r6dNkLx>{BD;}MKaWPpuILbpV~A)CR>c~31d(bHO^nm?AzHHYo_w1AM(!w<;(-oQ>2U-_sJp}t%O7~jw_h|o#q4s##k!}IWAhg*j=d-r~j`sw}KvjCZw zK%*D1+Qe5lde`ge+44DM5I7PyJH7(#cqA&7M#NaR+sqv&6plh+@|?ZR`?dLX7>$j`P_3V}RmvzOJz1OQ!;1R+(M;-ddCPqd(W=nWlr zKKGh3yh?OYUJtPJ@FrUMr1_6^keh0crTt`?kU4KlA7xi(HeaLhDR>P>G`k1rdUG_w zXRKWoJDK*Y)0R5XDv8(Fo04PLmWH?q= zZ(Z^M-VH3T;(^;cfu9xh411FV?Iyr!NG1+4ILOX(cif&4uM-Zvkb4hUJ-1DOmqNxF zyaCB0uzfi~^9|K+xeNZdaL18jtkDxwO;5;-WX{OwL*oA!k)EwVEbeT`?sn=Ipnf9# z`Q0an^JCan2Xd`=fMw;?qu(yHi8^R&!>3hgztiCjyc#ZR;Kl4UT!S!S^2@Oz@7oq+ zV)xyIp{1co-gf~K9+M-529ptDm&@g>ZxA%L=#V*ZKRThZ36XqhG@sO@aL4Sg;2>R1obljqO%R+O0(AuFH+ z1Luw*TI|Q_qWx%UG9iOA%hX+{%=V8F2|~EQoC|t<-OknAD)3XwZ%HB~s%f5hKfz9q zA}GEWjgRp=Zcqo|7AlM^qKLg4c|XqRF_Ru975tu_pS*IAKpXViKY{v(bP5qFIz# z8bMQu-nRhWvSTc+ng`CufP60;&u`*i;iLF!rN0?ayi%X0aIh1!$O8I`VS2G;j!vDY zdcJD*%a{q^w$r1#VMN%1$1}&pQlH=dx>=Y1D(rB!A6fNwEJ_h1*p+_*r9;U( z1*UkhJWbPy@Myk5PPAr=#%C&)g60x)xG&+9m|QGX63b8KXK>|STE;w~rD>!x8wASxpNAfI^(~q_tNxb#aery<|$gV1FEf_EOKn9mOnTYM` z5#v7*nc*&$APaqiYzfKI>mv0}=$F)3DgCzv-ZxW+Ui1_Z!Z`eH_(dM?DI%T`1^Ko= z1(!So%a^s@+7y20!4ZA%E%6{I0VCXVwo9JHPQMqT1WXiFsw6s%KbAP@y^fD+gfiWf zH_4_r{B;rE5zwL-TBIVCpzBEZ=ND3~+i&f{Ws!P*_cY|2esRRUgQ)M%22!6sC8Kp- zWl zGv5FNf>H0wM1&yo!y&{j#)U9Fc(Mo*5LqrezCBod3BoQ#UK{);M(_slk%BGGSp8Av z`VH=MpAn$GE^0t__XZ>#r-kM;u#$$L55G*TfpGjjsnRBB0O2lA(=ORL`U93>&3^Ei zO+^%%kvBhyWj8~hE;)dk|4?>boI>K$?K4dAKsZHNT5>gRh(V0So&S`mfK%Rgmt(d8 zktAU(AuFgc!BAX)|Le~hsW2l6^cplmTOTTaD-^~|^I1@Yxp1i~{}YpI(B9$NRcCRJ z$!LO_KiX;jbK!j_hQT>#qWp4tKi>lZv~YMw)c?$KjBypVDwz#Y{5^AA>K1>8YnU`q zzkmEMs1d4oRU*=g-AXRgrtlG8d-+MYM482H=e?!%(c%ko>BPCO97di8gQ}PGq_ku# zRk~E~x1#ue@sWh~fgs|7bO(K`4Bg{}m0Y)fa|+r#c`~m>Y|r>JpRo|!IwI`5ET%=% zSW4RemA@dNj#32jKmDxgMTle(H@-EYyy0qhz0o2g^;G`56i<_Wrii$m@&`2l39ag% z5+d*T-FA(Yk~Xt+fv0*ImQqd75Z)Klo29DbF<6(Bo?B0D;(YSdfYJ%La4%sPaYska26PlilTyVTf)fW_*a+o z;R5G;yUj*Z&o#Sy@uvKQ-H&aqszUlAFi%cy77soDowfQ87z!2V!FHZKLeBgs&Orj1 zvAu>{;dd3j$lVuo+0FDS>NtuCne% z;eu3gIw2t;R5DbuyHKrpACzHCQV>_b@x2s)QSM`^wp;r7qhQ!mZ~ zWx1KNL_UtCFU+Z4hodI7o-s`$ie;36CvEO}R@|~H%jfc7-pNM7IM0D+3Koz;`Iw-XX`1> zhQ8n(qyD4)Nif(8YmAMw&2u(;5QWHw^k(l|7J@c98x)Ha;+ZqTC8C*{%`pZ=)E;tG zrp&#Joe#S~IXWNZTYI6!4_kWm%kiIx&K$8%Ph?EO6(|x7LP5u*2;7!Mp~ZXC^X*`c7j1p$%;c@FXLrhAv+UF?$qr{e*+zF{zbTX&G3W(FL#rbMD68l@vvHv0gw6+ z4MO_I#6Z2qg$snppG3OjYJ_&8z}T! zYnc1K&$-X}p3nB($Sj=??T>PRJ9Tj(VnQ%MwgN_9pxJH=&Z6xjDjz!S&+jAKY=i_odJTMq1Q%HU<{RNLNIUi^`7 zvg3Szc#pE-(nnBW|JaLYOzkLO2vvU0a&>(pjyl#lTVGyV1hY=JTjC5hJfHCdHBK^L zVy5Q<>9;-77tfMa@k$$GpiR%RuR}GqT`3g0r+(tdREPS>VAwR^Q3L9C2nKC9ywpZS z2*v-^t5+drI=fqoI~rqbK4df^gn3QJw{$1pyf3C=6h5uzrZ%qWWO8p^cEm4Q)!L77 zZ?$XNw8uL!FcF91MQZ4JIExs<1 zA^H^Q$3Q}47Djt>-V?4O>f1F!*fM-r9NL^(#x+Za6gT2`C_aq5{p4MK=Bf8Zlh$J* z)W-E%)LlM&Swp#@#?ubznDx}zRnk#&kTuxB){?jTSfs{iYb6c-PZ*rs(1a#|`~PBu z)?Ddx;;+Y)fz_ufb2 zUy5?6IMVUsZ>QDG4u{&Qqh7qVcL;$Nyj`>7kC&uJSF(eZD&IT5Msit)KM3q-6{hWX6wLpy3!< zM)CZ?@5+if79+JWZN#svo8RY~L{>dodM~!ok@?01emvT46K}j*O+}?PC}!Q5l0Iu^ z_x-iL6cv#j+83iL8c%tuW=O_(eo&L(D&iPG{$?TElq*6&>v21Xw13B{?;l6skvqR- zuM)lw7Vj+>QT^z7+sUiS^bm^dkKB-wJ4bI9lVa!5SiPquJ`p}b;S9Br8#t53m}bF* zcdMU_N^ahW`9UpPiZggAs;RZqsn0K_5NGHX-oFU6cgNXRvs3~mms^1 zZPdrgh&f=<(`%i<;K+Y=UIIl;)w}fa-xNe9=G1~gN`3%XXG1+N>GTK+OB-hMHzkCbh$jn z0>ixZhr@ISpq9@_1D*+EBwm@w16S}hM7L}&nb)TkA1jY4gtT34jG&4eTD*RQgivd%w^XBi@Iwd3 z=(gLun8!JM!kj*MmS(eWFpoqvBk}Gbp*COl%Vl0QCXc8^DXpJp{f-5dZlD-5EZRu{ zLNHyTt9en9S^PO`QFJh?S!Bh?f8;e6XpYmC7E52luoa?^IH9o-r8;&})eJDLcHH+^ z-AFZU>Is%||55P5aW?z(PBE#ixM+?T8Y{q`Xy}ZC;SdE$+~#8htw^Da<-EF^G6mAI2=U*OgmR-81FO%V8OKhSR#To(Z{jGViPA zsH%}Xkx<{gVL=}8ntDIKE|?#$t#45`*=Wh;bBiyv10KwX*oaol&18`VI1x8%-8~`- z-J!q-+e=GOpvw(GbS=7Qa&q3RRNM|GC|w>?wIEA3 z!bji)?Y2+~I5&JCne?zEc>%Z?qmjG&o$elY93;xkW!L)&TuL ze!VL9{kLI7l;oP0OnxQmKR1vdb?!P63bhx_H0L*A(XVv~Lf_8adK@a)wqA!DCHngi zP{%H?+@BD?k!~DWPpq#m-aBOvMkqs{yLMjju|`vlS6|F5HpoOJTPTe=$^*OR-=9$5 z+#Q5C)sojikf`l?7t=*bIopvC3E!J{>N5!41=f;7cO2??M~4-Z z^Rb@wYUy-7k_mNm3A(|kyqmniF<6(@0&KB#$^`75bxBhWciW`A1V!Pw`^oK-Kjh)K zbd6)%vLdEs>_k-y`4x;=rw+QE4>e!X0WzXw$;$A3>+Ios#Uyxe6F!XEq+r3oF)^eG zcuAlf1hk_&D&_?7+XJsPEzHh6sS{eL3r^xV!am9xi&VCht6sV+5uK!p;T$1q4{H_% zUEry5g&kr+ZQZxb2VGuUsr8y{q4}tUWie4Mn6uORBdAPxK>NUg08`*qH;RBSGmKD8O?4xT({_fupYtliFLFD~w7(xr4XH zo2&Ijo$A(2w_^cmN&8**$Mm2f_&YWV547U>TRq&^5|k*65qR~6bu@xYu$!roUh;l0 z|G?V2P?m%T2MwJAr;M)AInN2T8bN!ZuTXhHtqQQ1QFPDE(hrhbS#EMucxOvy8|(R z9v0`uJ!THp8-jP$t$Yi_%y6C74=zws_k)^F=r?k~qMSrSVEfS`-VmjL%=h1 zutRG!hWlu77d!G9g|woYp!X*vTOK`|FYmc~{Fi>|fBFkKZ3(?$MqDsN_fc&|3BD{W z^28E5lF2+37a@b(E4c>~o=^G4rW;=yj_wgVE_3oac7{lJYl#s-aFY%r1P}@cOHv!Q z0J=Hi|E-nCfT~8H9xlPzlPnR+Bn`VUhvS~%vp|DVw@Rugz1 zc&L^Vpezz-9kB{gfzGoMa}5co;dCWVs6F=E`W;oJ5EkJxY6N*mSbwa^LS$mos%|su6c4aZch1y0?_*xEn zNBPv{$WQy=4>sN@a=maj$z^eWSGa0tR!{d=Xj73o&vxW+-Bykk%OTWq+mSKUxJ>ZL zdnn;h@dFmFXofMSWP>I7O{LJu!(;wZ6s&O93rvkNNca2nf^?E#>nli9I$efMuWCdMNwBOtqGRL7gQ|}R*PjvI$IJ!EzWM%Y}#R~YFjD_V*fRgsCplv|QG3vwOWi?`x7L}kuDb$d{n zFiP);kQqN?C-%>Z_os~IcRkrtB;e znO5YxY8g+ho(69MZS;SBq=aMCnv=yn0n@&-%b{CbLTyUi`~ifCQv>>$mnC1Ma{rDx zr~RdlKXVz`4)lwIC6~Jgfzp7cwyjDo%Ie()+5L_3L>0h+jt}XDi+-@`J1kOQuK)S_ zx^QjuMsH8gnkwegeQ=B~dA#S~PjwF-`WKY-2^vOYzqBte7Fg#8mAnU-<{$u;2f;-K ztHc>lOI%F3tjowI3!b-36?(T}?=EEkU^Iiq$XOSJy9G_m>## zkR>@oE3j1OtUlBmYNppEo<)e93wO{jM06 zp!@2a;Tr&q)_Tk1*BOZ8%C!;Oo55TspL+_q+m;q$<)Jx7xY*xzhcj49QFMz zG^sNU1@!1N?T@{hE8uOPk%k4@g6jcSxb^Csy=EEbJtgPZ(1|k>m;p*d+!r8yI5W2i zo!P4{Uq0kWl3oSm_7dkBzRcz?Z&p7@V;l~{7UQUmIY5CcN|So>9{0Qivj@!*z8SE+ zX+{pueE|$=Wms)gsB)m*s8p zV3>a2AYYMC9c0Ld{eF^+U1{6wRo+v0_>^ABK66ur76<-Q`oL??=1U!Wdg`%Gm-fY= z`KZu{6JN>{hs)9g3HSEFLm%_1F=z(kLH#s^{sN71Q)_x)f)~5L6BQ6cqY*BYK}OtY zx|N-~plymA0d@V0ryQYd^zJ&i6W$=3ZfH*;v#C>4!g8-85%r9@F*Wd+BfY5rEGD?j z>+k_6YZupF1{ut4u|e+SZ~`|w9a9%R|9mzUVCo>}#iGI7l;!xCkLO&Olz0-h8*l7X zSj8$|X&PGt3xMM49*eU10_wJ}8r?$16i?S148#jE9tH@=i<+IIFPB)M=O4?rX4W|^ zgz7a+DjOf7i1y=0=hfAC-Q|H^o1ZX^8rrH(5IEAZJlWl}48Zb>fn{kN2vny=(1F?U zRpB*`F*VXQP0g^135Yhpc%QGIr}_m0TgnW;aL^>0lc*ws7M+v z210RtNa+V08FCE!eNL*43`~GktnAT zBQzI~Na6~+i1r|@iTex?)vT^UXfV!;!@W1~u(T(8BAS79n~df4`AW^vXMDoI1eehx&~UbQ$4Ge z&kQl;I7#2xhQ>(6tSD*|_Iw%|Y*Hv)Iud+BgH1~%N4_jEXIIiBeVB<;czVDHRDvzv zcEYY(_ws(PQrHlXN?C7SiPu_8Eq4NuhFk+Q=R~65;ucNG=CNlZvNY*C7LWx$H8R1q z#j_w?z4y-XO+NUH)`aVr)b=~=l6xE2pfQ%N?w%~Cd7<&+V*Z^5>WIjqysxKEpRQ)V z_aew^)xXD=CcPP2kJrwVC1guXC|u}?@)-ldpJfkFN>?Z|Pn@l8f(C%%6cLB|#G}#6 zUk_H9b)U!|Qhva$ld)+$)ux3UkJvt=F#aQOs<{fey-bthC}zvXF2Nf9!VsO#A=De( zij(BM)(Wd%kixTQzrNRLLmtt4XOM9(7P>+FA$2cK)R9B&ZMFsd;3e-xXWml@?}kR; zs&7WX;v~j=lT}ZwB+6J=+0$Rfi%yM2W>@b3g*7X@4{b}Z#+*k%mYo8Pk(54MeZJ8W zT#a{d4;xT8GxZ`#Q$V8UA09qrPmTceP0w!Wf?fM7hH(gU!Vs3EL}p{;4N1ZA;RbPE zv4^A?FcC`Y_m!}1P>nT+B*G|#imm!~G(y}=3kxkz5bJxXgJg2{z8MH?DV2-wm+3~v z0lK-AaIN~gzz@fZXoi*?j~@P*``?+cKYo0zdQ&5e+kPlhT3ay6Hyu~sR#YZD61ISi z+J@!0aq2M)bgQ8XQ19#)p{hsyW~L1wIacM@eYQo8UVF@oTNBnFE(bC$04w}x3iAd+ zGTn=kQ%0E+J}cQ5ac^-194TN={i_?G44nZq@}h5|xW{xjFmFU|t;RFdL8$R?Q~r2n zk4Lg2A6z5nT{S1|0DeKeAAY_2!dRG=z23xwP`-=(?Fc=43}h~>ssFD00--|5HQgxH zv`XrZdgS9eKI|?YN*J!wf?Ulw0g@~T=+;}z#q8)Ni!y*MV}lT@K7na|c?hw%Ys zHCA%IqkQqpppy($ymyWnW&$;M)`3zT=c;4hHu-|`auf7$MnK2->^3rMGDIXOg*rcO zjA#07As!{dv@=BFfi*&5mZt2`VRmCc_JUqSvr&BgZRP0CZDO0xz(Mlh>XZ26H6hzu z0d0d1Z<=e)qsKxLs~-+!^y+c{a?t!lEzb~<5MF1w2ZN_DD~v!Kp!Rm9M1coa_82G5 zAE&$oavQdounbKG>LFJeOxf#VwK6Dqarg27ux7#ALZKkEYpIP9_l)8tE#2!m6w?Xy zrdQU!;RSi7M8HV-XuR@> zR3bG|{J0QQqYon0J0rb-fgI|UFU{2yE*0&^Y5|bS5Y@nw{1%5zTff7yk93ytV6{`= zR6>f0h$v!s>)iIbu+eQPv4nR=1i{>ek9ITLubS{ZFyrezo^x&=K<3L(mDjy$t5K6I z^d*rVFxIk|VZK2-P2gz>FhC3kPI;WnhDu_|u%m9g&Yk)3^6izcQMKQqy z0_(W2&&`Fhd6n%1oRs$Vt>A|0S$2Haigmb@-c4k`y- zuauITmb8#bw*~8~xM3&SbXy+ov}FMI8>yp>vvEMUy+|ZkYe{T3KY`#8AHJ-p$F?2i z;AH6w;3Kr;#z4FNRdITrMf^NvtyIe+M+SW{L^8dDaBRgPX%i*FZ8`%S%Djlav07hE-5oAfYc) z#|X*|kL*qLeqW}piwAPrk;c0F?9ok+*gc=i%+jgxYnB%^BO>o11HBnbNwL)E(JoI< zmZzanP`y-0FE^=dZsV=jAv2j?v0*>H{J4&F*~aoFMK+)0k@%6e`Ab5WJ+;x_BhG6` zMRxdiS{RcRyU5R@G!-6r+RK;c6nVE^#>ChVg?%)iMI+0rZ(XcuJeVM!*UAXq^%(P;Yj@)K)cDgFn$jf2`fb(+8L|3paDBTL z{95h%{Ac=2GRYWFfDW9?aX@-ZHb}2NGkP zBh`XjUSK(lO`2Yw!;j*8xBCP4T26#CV_+wFM9@|vu zq3-)YW_HFX!2_Vy6q;&&+4soE18E>}f+rMN8k1S!g4S68cuz-d4sxbO5K&8eSC1IV zP(;aHy`_mn)QILj1H?=(^n^d3v(p`OvhL$!*BIi=FxoK7ORFkvvSS!vg4{s>{4L2( z8ld>vB}G6HSG7n)l|){LIqzS2GfEy&?l%sNUgyylIA?Ym99?W2FD67`Z+i(xSqLwt zuLm^=`K|dF5cK~3u8z>hJb23?LeH{0K6X=3Trd1bj&L06Z7Jc{Q=zfEn>FR1zq#~! z)=dDsr`rBexpd){8ali0J#Q06aAmxao|@D8o-R%PoD_bxK;GP;j1|;wBLqS5mHhko zp?(gu7>v1WJ}0CnMKZc4icPuo(bMyT&7H1;7C89HX89&+pJs48XqrK_79Q~FdYx+v z&fK?>PmxE?;l<;qXYB0m!PaaO3{vT{ih=?8=`2b(24;Y7y>!V{=3e3FFHoQ61(Q({ z6zx&l5=gHq;>47Lx{1xXBS8M!=6xuk{z&vy-dv{g;2`~wF_0u3I z{HAO^9{i;kTML52^ZOe(YcE8x>L;Y45U^Q;Gv89R4JG4)E65q;FP|pbU zgRa%ejjEFCyF*i6Ngl-g%VX*Bu;m9@Z8X!&xcp+|eCc{^mEh)p_o0~%w4=iiRC93F`_ofo^><#ZyK0t4h8C2&uKxwrJPp(@QAbU-TBEYI zWCt&O{4~@VUB}9+?KxaV;J1G?o!9mC%6@r4`i+DRm~L72a8CP8T%`~%8qWdF@hxNY zCxRCaLgTZwds5<#`i|Hj;K|ZY)hvY7jtpM1tbxk)^(0cQm~z<7g{VidR9z8onbHvn z{84zeljGU+zP{2Ux=o(x;9Ph>yns+Yd$gAxp>Yxww@B=c5>KRl0!~ndczx3zI!;L_ z9c_OQE+ohOSQBhQND9y)vpSFAe;b`IYCeNFN4oM{9~H%-l}fB{^^Gy+=#O%0(!F6g=i03r~WP4%fTd5Br5L9N3R@W5{8m z&~F3V`<22=@e?uNIrn0#seJB<%J0jRs_n-wYj_+eQe54$PI7IGtEQCMr%1m9%MY`B z$zHnp4PM>IfE4*zz}cf!VIB>*3HdR0k4vCeG;vz!8y07qH>E zD(K?j5^wvot>N^sNH-XlIQ*UNC8mfy5G}}IOBSBXVM&pFb+@>XSKSK~%%sg^d?_~W zk>Xcd^&WHT!6?kjwbGC~r(eoDa_B|WYL|#K-Jyy-8pc~Q4Rp&B#L@5eKokc=xok4~ zM3{S9a)k)og!3h>NJHp8)P;Ci-@J>2&bLK*FF?z4ZD^j!fmo3;zA=*W3~F#IYa6EE z4goCYo?w^OD%fum@C4mckYGDEe((f(_KFd-ixu-PPOz=KBB_Y=&^2Yvq9A$*SiOX? zBCmAH;0b~{3oc$hn3F}fq;-KmoOnLPMRG!7cgr8_@wxt4reBE=aRM!_8;I{%rvpi5vY4x=%zFVI%1Q zCa3sD@#C zgnrT3a2Ecwd$!lm>L2U@f$st;We);YEP^GAMRD4(Zd=h(7QLeITqYZND25;?E67VR z|0x-#nUd?I18&>N41@g-4;flyFf4Pgtoh}`IuHeQ^oI03aRD=!Pzvcf@U0kQ%h_sg zvr$(STz*j!W(Un})`d$xH)FFrDUq2GryB zpFR+g$2OI$28d5Z3%kGv+0UkKDwM3RB!BBlw#3V8hj;EDJpc5)#}u{Y+-smCKRyzj zT3){~^$Gj%ca+!7_LtT@4GDRdYdmbIr+TslG^e=JWureS5vTs5F%UG<4Z2n0FQ|9$ zc&S0@!rB|h#uSkCpF9vFvoOC}{OMOJ%};3ez%PK^S(-A}uix3d7Q%v@^*Ab*1klDNyJ7!_)o-LRSM}S8ZlbuJ~6=N;17` zCd|+b6WdSbY+74FDsRS3ATE?Q37kzM6xqjh)ZdtIIodLO`vxEDi2oPovdpLJe|ix0 z2nT*m9vK5t(Dm7>)f?gBa`}ob$aa8#O*RN9Jry4-#JAGEI?4ShFyDsQp%E)ilf6KA z`UUtcg6YQqQeFY%m7Q@G1OO3+L-SLwXxRXuqF*j6@O z*XBl+BUf`em=gK8U+aHb`qOgphv6MqD%yd$as*iK<>Y(t*MT1A$P+NhIsi~M%Apv| zBABLMWD07wPSJ{_Yy6n#$AY&+;HUM~pPYTMGT`yG^0N_#SmktIQ9T=~=MB*Qxn3Lp zI4SdzqQNN0D00ElIMcuWJ&2px~9hhJ1uzJjBHi5V%1 zjdx@8G?3!vhQfJTOAAjwIa3bQj$cE~ZA;cc3<`F(dhA@uu_RR}18Izgg{pbR9@BK((-iTo!ErGRF} z8?*pQ^#wdiV0iRFdtl02jxOw`h2`uauRJtLybi)jvb=PhMYk-n$~cP0KX;{ZzBr-s%H6GuR76<%E!DpV@jDXI-)cc`30Y77M?p(NWTpf3=`A>J@U!FV7 zqBThKz#IjVTW9n{Nh%={ME1NNe<`*;2h@R?2PrZ@kbXY!$E%&8LK*UYoOoV<#q*MKlx^bcaOEeK=TZ9|hV_0i60 zy0EHxZ^g6|+W=n7*ghU_^1<r5uKo|XUvTET zGxAThS;=~j4F-&7UPwO&Y?2oZ8?2=9$m(&~Gd)q)xd7b(@qLt4acz=v=RyNaqc~6P zUjq&-4xsn4#!PXmTq{9^gTG4-r0Twt&R2})i*Tq@I(T73C^WHop; z*^*@|S$|7^Pf}MtY#wj&$^Ku@n6_nQJU#NK#U2m+BNyd=x&j&@_-8iDUn3X({^3_V zuyNpj{uxv>oihOJ+LV*2G>R4ZbC3CzH}TAXT=3+{AD{XB(v|w3pZPsbg2ht!FXzF3 zy%B#g6wty2eqXfz5i{|}>+}EPhwq&xuTSP@4T2@=QgLk2?#7D>65RL?r@Y?pr{$Nn z1_%R6^P%_LM4B6hwio}I+Vj^O4M6dM{<%9NQ&Uqk5A$|S!y0G-J_vTIK@eEB9U}V| zPVRqOVTmx*1#n`4v|!3zFGbMkdSdMTy>T8Hn_*yg77YF3{$E2xZiq1!2r3Z?-RcUa z@zxtllb*{{A88i+yJ@;v(4)>gOfDZZGy1Y)S^9ppv$wxx$+!+f87=>z=N`*?Kea6 z>IOaCU-n}xz5?6#mj6DnTlMNC?w^Yhx_L!uvzi_!{(Vh!%$bsfF%Y2>(~s1c&~)Ss zU|epxI2x9&`!%{DjyKR~ulV#X*f*~qKJ#==&&cPfP|emt9It3IZ!#k|hz`7dV-Uv^ z(3Q)##H`1xE|Vr>OQ~KT6C5(!8J#t~r&_M;+P>z&FVb&P9)I@av0Wt{RnNh6|B$(8 zM1L`jVCLla+1UzM1!lkX(x2D+PMs%C@#d>BGjGyAhv^hV7C2S+fg5T7i5p5ghnV5G z$KrLIhG-T&rX1#S1i}8YoQ$R02jgS_Yc(BvN-G&W#5SVI4+%z<81RqGod+gh@g+dv zxaLS@5D2pynB3ExSii%CqX+pAhu;5s`ETnN09l(F{XTm39C|aYE|qyxovy=O2x95=HEwTfk2@1bp)Z( ze2&51LKR|#BjysP-oAENaAfl_9a}rloXS`o!502b>NI)8hQ_DQa!&D$KOFX7;%%zU zX8{DVlkWo&{uJm^Y3B;h*&zbX|3=2I$&un zw71PZ6Kqn=Gu@o3S6I6~0mCR`!vVE1zXJvHc6I-{Q-CNXXxFi{tJbla9icFEiGM3l z9KRciTlowb7o>|a=0W(bG+k~|l#E~+iP(*y7?}X%55P2919YSCBTjX6zC|~X4mMf= zxig@P`ydcgRJqmeln`&6vtPDI#!<$?Mr-&>L5&M!QKmlge6SGnz}s zpAW}`f=sy~P98CX(0O?aKQe!R+nP_7QH|JEp-w39j4eLsIjVMsjB&4{b~BY0b$~?+ zAjj>zIc%~q>HIa$QOM6A`BWE~@bts4h1F6WxKZcS)izj!Br4|k_4Xc*A-dCn@I!mn zA>k-xuP%|)NbBSSl4bzF+2lfk^CDf^Fg9q)S&uz>IBd?rLj`D#kqpc+k9qo?64*B_ zFQmg`en8{&VhB#jiS)^IC-&o>&cezTUdcCtlL_YHKoeeZ%KVFB|H}h z?eXDJJUx%ck>s|tcNv6F;AXrj+OLbm4jHlF=!mHKGYue+^y{Zmm2T!J}?2H?Uw znI3{xzNL%&%j1FlX6k4P0P6sr&x|~goeKeM8QCj8rIZ{2MJN3@bNAg|8>jawKU_mAjgQ2mgY-0o4Z)bC!t0v;1zmjqe z{;Jh-yrm4tMFd_nJ>x!-2LeluQQ(p!r%?)3VuEpF*#&6CRJfDgH5M-wdPL~SboY}4 zy_ZS?hXEVgbl^sm)4B5LlZ+Ntu$XP^Ta=-8awOH3g4rknH&R11q|9Q~PY-euWYMRK z*bh%%oQmRf@^A`)n(BY%Nrr#A6Re()al2t>iSAh46sI z+18o^crZ6;0bE^wtlMBUD?bI@TSwpsY*5P~vhG{C;x)s|-h#%zO$NJ#%tj6$;4F47 z0=ErFAQ|<^?ek+fjE*bpdFMU1XVW^3s0>uhIcLMDbEUE*3H1I*ZPHQSD*(Q9V-7x9 zUc?YJ7rw{v-s6j4e;6q0i3_ej8`doupJ?z>!R#B{5i}HMkzSI{vYp9NC{oNfDRa*`^4v-8p)4%eR+tPKJr?ysF>Z5Bp?d`aZd=m1;rc2EDXWDz>xl{X{vC8q{jA{7$~(=xs#PeN9hvzw5&TNntTddCFkjafy<+o?YqUruc4bazyA>XY76|kW zlA$=H8hkD(66+i4uTyjr1TKZfq+LN^^HrrDt5IN@?npmpCN4(a>j=wNG$y~(2ePL) zab89_Nbtr|f#3ZXE4*TIOj4g{r{X{gQF33u#%v`ubeiHVs1(>hp*hOH7Bv2YmR14I zxCOht+TTHx#n{Jq9RKl~s@m({Qf6o}7PUPzSm}?aNGJJ~>uX~)H9jotp~H)S#%v?B zu1R5UydCmfDOGrXa&$+Zh$}+(ZO$QV4-5?m?QcZ1G~;SfD*O|XYRy^Q%F7zz_SUZ_ zncA&N-ZO(?pE6coIU_s386IA2%7PJDF|g0hMCW0>%rA&eHH@=pqO>(9^GxuvEp^#? z$5_R$$LgMk-mMFHsC|Z4p)1O}zTzc^MGS7kPxS6n?}XHw3-b4YzIm3o^&5F z_!Z!Ft=n`aL1PB1Hi(U+ndi0*VrI+y=RTi4d;WGWH0XZF#^o3GO`~a!Tj`6D?>Mz} zN5ZdX800v>-nwA`3Xe0|6)j)2k}@dpr8 z6=4x5xyM)}q-JDZw79Y}jwG4F4(jtut$}2bGTv*HS=f1t-hgvqSK4^5ivAahE*`R3Vh;+1OOwQIkOAr#OGG_Ylh_6N!mAMlLvO)9TptK=KzxJH}KZlk>Db}dXuWp-9bavXu7e)234Ts^#is1>d7~M zzcMD~58e!)1)l&8xK^j0S#nQKQFP*0u5tT6@bXAET{FQQ+HtB%A!0)J)V@p;#uk7v zT697$P!8JMECP9itW7Lc`w}C|7GB?YaX)zN-o`3OW##|^IwSZzzlZ3zxZKm|X*}R6 z&zwG84pOJpt>t_j0&MclG6w-brCbNu4wE7;JT3eBKlCd{T{Kx~b$jG{a}@Np?jIMU zjHzQ38I5?*m95V#67JX<4V9&3dHKCNc;_34#%izC~}p(SdU$P?G1=YoD%G)`^oZ=B7&jg@iU3ST7zXcY7jSc zQyS*o`Y(vWl@=qRsoQz%DZhe4*g$n~poFF3$y}QgOCXtN^a#=qdcjy2M1J;wvHMmb z<`{hgBA_y{`*Kyz%Zy{>!uS=ADL83BqN z#069y)IKoeworkFW1GT6kJ?A@F$z&wA|YqRCMNdWR>yZOe|N1Hxc*`$V@9j{n3|^f z$9#tyLuX&SS`E?Je*Q}7;pEwxjnier5o}B*h*C*G*Zz{r8Dh&Xv$kdITmkHtVF_;{ z*Op<}5$sPuirT4k)HQMOR%U%S0MvdCk>YLq#@~Kw>WcpdGVJG1GBW;vunDyz?+C6l zP1a5+g+4{R{oA#QBk4r_vw0vBK&LexVy>LhK?5z7kBq+Pt|$apcb*1HR*$>5W;Y z9+b}06DIfIkr}8?|fsY*`q*!>y!eRwpl2D$E8}4CM&4fd{odDj%9*x^B9{G2XmDgAo}7Q;tW5 z>wjW*`mE5Wbe=pR(ZKC;jaU~1pe6GLZYrPBwf7Zccdr)D`!wtI7h?2PZ?A(mFnuE< zqf!nAE#(!?G4qEmR4e`exERcebj3lCt`Lwx)H8%whtX2sM?l1UfwT#iNy@bv1Mt)% zi;9ER7u?(Rr>SNkjZB7$J1w{bavM}GUm}P9MB0Z0LvkHBm#<&%zn3>xh2(XB zJvfEmj8AdP)DW6s5VQjF>s)M)TuY2S-=N@`Znh2F_(FV}F+cd4(`!>E^%{okIVE6C z`Xsn>-Gin{^(WTirifotPrA;SQmeA#eh$tYiD!qW&K|-i*ZQjfa^&lSx;{7b*+aQj zmnnpwKgKXaF3!Ap*Y3Nh6GtAZ;C>DBBNlNYbN8Ax+^B&59~0W#6p_2n_#gA(2rl)I z=s&)`hiv&<*#EmfsJ^(gx*7u%-_p6MR<8D0U<=+z|IOjRyn{gK6^hj9V?RgARrsso z?(&P!-#-MTjsNi>FrvQ?X94lyDY}0=s(gtAtG$o@@!o-_w?9cD;ny?e#{A=3|1bVv zeh+yabSS6;5uCS=UcFYkclT`9pHK6W!p}h)mp+2q*x0B8Z5W>R*glMtJ9?%oY)TPV zaq+W#mqXV{r>s*aXg7L7+Lz~Q?JM{pN8P0toSeDYPJ1tJ1)MNNys<8LX zHkRoL?UUf+Q-eLX1SNAZPNzTongIgOi3~4HGcI;vZ~ywliOj(M>Lsts%{GAE{5j5s zjugaqjdOqbgxzmyY#?In=M)kk5*cDvf}s~Gm%CyOpZ@VZ)4hjl?k7hR^=~z1(H>x@ zu_>u}##iVw%jjg-+21ccw_UF4#?Z@=9|13-SJgaD>et_WH2-r9dZhlCg^zeHZ~bkk znkPY>@V7~+e*X90`g7#+<9@&PKj!GSYstT^PV3~mnhpdeh`p;9az(^1~IyIR3$IPYO@JnYC60iuUZguQ# znMZ}EsNt%&e|W|0g8#QET?fIFA7g{LVHsM};{fmWNIQ?ex+)(b1 zb%6HBU0c&p9h!@6NfPZkJM)PO9{nXUfzgWIX>#WUzJ~5@$8PsLIirFDz^v_t(kv@L z1KEI62-Dzw#QTre?&nzAHIn%c!N()mM?MpDC@@Q_hj25 zM*}{ckRX>^4m=GrcA?wfFY5dG`K@iwhKf8dqr}e9`pnx&dd8H4x-$_!v_0cDA|JYb zvJ6BW6fY~-UjSSjcA_&ooGPs8ub})Cweq@p`PuYPhO%oki0OB5$ON4}lm&NVzLPWq zyxp!|Wdk9FL2K(Bp~BU3QSx~CkomX~ApPV7u8Zppz6HsX_R6^HPyMwtcXwxKFOK0O zbDi}A!DO&X7z;g`AGgI&9_+3q?lxCg8Jq_#N5lmL^Y0S%uXiMdZc(vd++CvELFrHj zN~=1*>c!0Pj*5y3C8yEv7k6*;RR;K!3Ndl!v1KW~;W=Nkv+}yed5mqKNaWK)jUGHJ zyx0>1f@thj(-*ULmh#)$FmFKqE+=UK6vJu!#zF1AGkrzk8rn=BK)!2nM#Z$%NB_$d zDe(F?{G5qOnzWf1cV&+a`s{qi`7>(kCea6MI3T;WOibB@qKMLI53P;Z`?(aLza8u(-V6R>ODiib z-yH^%h{{)b9?LMqbST7lg6S=j5+jqfrJgbhU~jNOWg`FUvhoCGr>EIz1YdkyNAQeK zegj#IA$q&910;p<8YT)0oq2ZdNRo8D`aJ)6(wc?~g%)9p0Tw-mCVvp=S_hcfWZ$@c z(6uGaxBhz2eI4Ek`(Ucz5KA17Y|Bm~c|?;YWuT)<-G3?3UT_;M`6r}L+yC4`>cxN7 zKNxmCc1|TzD3$Ec)_G8R9|KaV`G_&~4PwTB^7USA^#}tt+@GZ`OYs@d8!oLlcT3 zRsAZ3bnaiz;Ib*A0{OGdX}!4PEm3U7x4Jj-K;as>jlk}5=;!i~JOY+l)2oz6Io~ZpOh_G}JBu0bB6aKBE%L9LkVfvJ z*xgOi-UE}~%jeed_v*cwRL3+kTuAYPE;ToRb4mH-c-HQg>&mP?r&em_NtG}rWgOoc zpEV&~_|wfu@h6S{`Yy0EK4K8Oh^^h55xxL=MV#eBy?3K@W&)P}c}pH+)1}(S7=%c> z&Ru0b^|m0I?9*K<{_xJIS8*~WfZYX%uPfY>Z|d{P?zGFF75~?R0?ShX$TU1ryRe(a zf26H1Riq6i&klEqKe1~40<=r|q5zN=cY#GWJZOX@t--0}Lb=hFM04}RJhOWZ2{P<` zENz{4sSy(Dlov0eqkWI7vZ_i8^cgv#?3!K`JMXn%*b3}5sTt;>YxN>^Am}zdL(x5@ z)zed zH(w3!j4Snm2)=k?Z*;`wVP15?v%thV0jpoJ*qI)MK!*T3w~GRIgjlo$(_);5o)#x| zXM2@KsSk;WjGb53ZsY%Qro1xyXnn8NmBIO|+n#naZ!CVp{p}j+*u~zA&4%u7Cf%UD zvOt1xxKzjb16e)r5z)HFWvE;D#>z6je(%ROp1L+R&Y}4y;#_C60&2Gd^_xs@e6pxIl6 z9`D;b0}JK-hPk$z^oC|KF}*nlv$u`%`zx)+V}I_?(MAHHrK!a3-!_ILIqNo-zbh+x znpW7qN>IT~^-eRZ#yp&ae8+4q6qY6PvkZ|CrS4kX2`ej6Uk%pd6RGFc(5|SU2jgWc zzGqx0J$*Z=6R~?Sp;tuNYrDQ=W;<=+t+AdSn9&@D&#zWJJRDq_A5UTi65!4ktU7Wg zO&uuloKG(H@h5z;oiTd-I_Be$>8c`EX5;srou$tC#%zn;TwyKlm5#dtW4W6auDN5H zW$FmISE~=Tasx+>+-@~O()RP8FYK=(*KGTW0DSz@>FiZ>N&jo47f(+?vZoGWzX~p) zn-`K6@gv%0H2$t|1>}BTuwNk6ge2xG@IIb2W;!kP;>C9G2-elL@6{EjiE~Bj)4_|! zqH4QWTb?qdtzNE}nKkDes7M@zT#MLo%6+?SG4Xx!iQ^1{P0L5n{`D#N6?>aEGw3sC zcH0Xl`>(Ax|19Nb8`baUl!A)|#BPlmZpI6W&r1a~SDF{fnVH%#D2X=X*CJ_FaM$k( zg==plTgKl|>+2M)^*2*bX9sR(51znEO=oImdxzHdOb4n(hbO4Iz9K4%x%b~yR!x}U z@JbXqTlAHrk%r$c_jDL>6KD9+jr&5?-#mOgbMlK|MV=XF+zV9s*Xdauo=?@C{DAYr z?uJ`ssFZsACeiIT9$jTbS^d&n5&XaX<5y`)+Bl7&R4SA^X5JOh(yH9Pakg)lX^Pz| zQL@mJtyQ8l=6t4B_H1(zw&V`(glbFzv&3zVgf|u3_~P?kauYK;Wvk?B)o2c#qt!EY z#P9WAr(fQ>a8cxwOZZ8l|HIr{Mn$>xalAV)-LX{Cm47`hP< z5Gj!wx&%ZJX_4+68tIThxJGm16)?M@o*TPeAJU~&{Q`>&-mJ0BG%S4)?0`wR@&@c`iixBsLh6^YmmBgv z;@2Yz@Be&a=(HgQFGF|?+snJC<*GB{@685>R43VNbV8;YaArDog%2OW8Zt9zrgfbb z1s4scJW|)iOsC8T148sWhJ-!Y!~E_q+ZysQ=rHb}Ks-(%esn+{v7p4dx5TtbHti3( zdo*@Bi-#Khw7iT%N=gRQJKsY`zPR@wV{gi@5($qizpu8o|8)Q@H`4UJUTtFFP@9M)&b$Lj0do(vr{Pv!}UQo**@Cg5-UqCcKI@mxuRQ1Xc6CiKyk^SAi6EUS2B%hIk*QaIk% zq8+vVz}>*oj+onA_nO{UVH$IgmtW8rq8%g&ZnLYLSf7}T@R(u~Ei+QdKI-3=-xc;U zLN%0<7OvxrR3C;#FSV~d?QAxPd%Ak~NjuYSP5lb!S>#sP88g~Cy*4vc1+6(oUCdbjR6Mck zPF7LfS8#c}Xz6U5(z@~2{v*qir@1lq#_n9R=4$MY`aK0XnV|DO>nE8Q6Nh;(y;5pr zDVy2n{6K1<*|IC@##UJ+xTm2~lzROS;kWCVc5Ew&noR>zDxU*=8DEBcn#a!+zPT&^ zI21XN+oST4u=AY92$5nzg^Wh5^7Oajh!GJ&CM%MvuQhLGe$ZV$G`@p3B!$OI%foLm zu3#<{qn~QLh`!a%*84s?b=ja^W$^-Ez^>W(pKr_v&4*^&%RU!}6^pprJzW?^+D7H; ztK==~W&{=?%#0VPzCR%S6stn}YADt4OD@+!qTs7dcnT7+Lr9bAcJekq`h0Q3OlPL{ zsubQsIsQ?|uACd&;%goe@U}jm54nh-&@WKVd6coPx4Ji0k6{v!H}ae1S74b3c4}Ew z6{~~L-F!rk8{RDZvl)L^#b;q^w6T^-y0P&>8I!4bL$&cNx7pL-vP|Pvfyuq*t$cTT z&x&>~E%)`G;$w5uYDUDxVI%rO0S$|n`G4}EKPt*EMPN5i|9%XOjTAhrE3X%i?~>H? zx(LBiJ~REWf17Ayt08IqNIm}IlqF(kJTKpC*}IS)-tq2M{P)g?Sol}jgrB84LUzXN zJxiCyM*DJKAQ7u^nt!w$sC2x2tkT-}xLo+6Ot=P7n$V_sJxr1EQaHG|44mf!3K1ml!z-U0b_6!PNCJjXJ`W>o8O$mC5Vm*dujs zrxP*O7m|7y;!eYge8+0h-fhCS;x^b;s8Pk8d~=Y@RrTX#D!N!I-s*h*AK&+mF+URc zqa#iCHn}oFemJh7jh?g4D=d`HHy*#1N#Kh>SJa{uTE-41$te3nl(A5Qf%9J&f>O;> zNS5_-^TsY=&Vv?(w4etkYMXb4yLY#LzRhPlx!}<>u;DnFLQn4oHGX&Jyh;hD<%f8< zgOyjO4;N%+qwn2V-NM%P`g4^G!6!Um=}fB8vl@=)SfR3h$gS6ayF zMZRZrAa=l1XA{MVjIMgqy^^wGr)6x5^FU(#s6~#Qsx(k3$q>2UR2<(@)>Dm9XvJF; zZp~G*&$uT#U&lS4v@>l}GJuZ2RKw3mQSsU|_u zeaqn>9f^2wCq$iCFEaH_ex zOT32A7a`V#h4S%pLkv~M$M2P`zLaWO4J4H9mc8MOl|%J@%@d?vAfUo4PY(gL3p!pR zYA?sIXlw653l>~Az4@;dUy1CIV1vIqnKw86(((rawz)e+mv_);2l@Ag^+z>VaECeiLerGDbnQWq6EW#!3-gal{>-92`D4*>|yaAJyn+n7- ziF|zi_xCbq*0@I-+YFz4FYVUx8q{7|-Hj^Eus|oWEPrJnN-bP7cJXEWa6gx=gPH$& zc}vT3HuB??OgT&8Dh|KzMtnp^NB9h>rgVsh+L(w=Xj_^1Bk7&ewAGBUz1dRvjxXPY z%{PM+naCnbTFOq{N2og-EM-0ka;o(5NY|enc~7Y;7+pETPPm!=0-^>!Dd}O9JA}%z zg%*|)T&JkNG|`OP->JJC-=TYARiy zS!rZJB#fhTeP*$-_ETwK#L$X4Q^2f#R>0R8WB*{GJm{vP zNnHji+6Li>hRSJ5h$0%zZ8x)d-af~0j;JTbAeno(k-zWipem=NY7MI9^M26GIv!4zMb^JM)=XB)2c&-*5JM$PR)~KZYp76lN#Bs&(VM;)ptj;t)H3?Bi<$ zueK%}&Ela9JjlLWZ*TU?j~&r%=SoR#fS=ct3*6ck`VO)r5Ch)~#5BSJVeD-2l_D!s zYAxcFdYH%`>0c0PBFoGdm5gQG)CDs~bEPiwxIR$#Tp!P0^b0`@#YgEET&Z-LpbCRU z7T7#^D3jo^oP)M{NLG53(jV}oMbwHm(#g7A@k9Uf1>64GHRYl)TP@cIhMyC>cix`2 zJJb$d&1!Z^h&FtPr}5mx>#peFz!gThI$JgvS6`kSe-!D72ir=V`b6VB$L=T1_df)j zXUJ5Ios2TPQZ!e-h*2XW$ssD7%3`m! znaw%Q!s90L8l@ zeaxK+8-Fe&UfcK+S^wdO*_nY69?1s<+Pi~%`N$|c=57(f>5VjTnFMz#f`eV9WkE)U zyVjWR71A_1+MffJ@~QigN#%6!yBkLiTXh-b!rfH48k9|I9_1AGa#^a|=m{l1Gjs*p zdVtIY{YInTFv=YZ#K1OLO2)1mvxbmeOQO}G@6lN;R__8~`N>EGax6C=Iry_D#56Kaz}Eml^g(f^0mBLL zrzPUATJsinfItGQgcb|>El{a4372Ou`<$xmPs%rgg%Kh$%S2U&PsBYwOwb@^0(C3L zQ{HFEmio+0drS5>FQcaX#TNDC!~a55^727ReW8;GNUwsZ?ycam4QSy7zk(JUtiikUWcxG zkonUnQk!u>FQZ{DXoGBccAoruD@fLTw)jz%=o@wPpH^}7U&s)|3)poKII=e5Q^eJ9Suv!~9sPW-Tb+Y`eRleEJqN6u>o7WLwBlbXI zyr>=aK`u_ZL?uUN{S0+5Rs6@Q0s8uMerCT^F}ZTtZOD>DOIpou_b9T-1(Icf zm-4J`ZNH~F&0S#TO}8ZFmK)7&^5fpzo=wbL{$6JycqxANXlH14bmer3*-sB_)ma=? z@cEahbcP@iv$yLJm@-ktE>OyHLA&mCjpZWLyf%5+d`MP$kBy>Mr%U~g`#v1hs?K&3gU@JPS-sRx3 zFd44X`ejab{8sghOb8FMaQ&8AsGE7@OnqCT;a=X!T4=r@=0{(NEU9^x6%qcn_JpDl zK?jAW#NaA~aw%!2^D&}d?4}M}8-K2wIAe94+NoL8y+hj3Mh*D= zsi@%H5*CY;sxU8$1$KXjC;wFggV(ye&7p$aRP2xD+H$kdmNsvx003$Yi+n0P9}0VI zAJ7UYO0(V}h+`+}nd!HLo=SXP|H)@MlGgX=Wy-JKPl(g*Mut);sc=c#{s4t!4jnVy zIkKOsQPmB%YKBsMdz+L5By>t5o-B@0O@ESz%z_qQ*MJ4%Jz!=}*G~_f z9^&*hX6Ma8kx$C4R2P=ye9E4lyKbCFfgSc9vF&(p65p<1B_#(G{P+=o8oR*kZf>RS zDH~}oOyyaco9e^Gb7BV~ zhldZ=<7N@Fd(s^>{I@LBqo~p|i!BFB3|rSrRH36cZ%$SS**mFzx!IaYuEQhc^q!JZ z_+D}MIQgy<-3K%6^AxOyYHXjhwHM+RQ)hPGp?|v8pB%s%>H&WHm17Pa;qk@%aPD2c z;bGgu5p}_-`%&wxZmjK}jXU4w7p|SR#_uo7x4?YpsVd28A6T4ru5$M97#`qFE$p1- zo*(=&y-NHwQ%CgXPe=QgpPA+=A`^uiKdzS{8Rbl;rs(AOOZ}Qib1zqvs$~;Cl6I(6 z=A~MHuXl|^Gs-tHo{5`wnourV)?O)ug9y`GgxI8M?Ym>D<(}F z8IlpvX3SW$a__c9 z_h9H`bDghZMF_8#GAdY-Il=!8jC>fPJ(hMh-YnlZp&IMY&xiirVG$2CF79u4+~6n% zA3KvbbXk4$uu-L?z4=>+kOCrGOc_*v|JuRIwCs0@r99AB=O9b<>9?{X+fMpN7dgrA z&3ky$!U$}uDq7u8O_AXTdpmUKk2+?lu@Y6Mbu+Ms6cBKSX+@WH|HlWZcDs%=PD_njY zlQaFF_vCq3vW;&AC}s7McUa=!qWg8E_1IQ- z(R;hQ{#dodFEK&orsPQBkdBuy$f9Eq0v8f{{s&NI2Y?QoBy3sngCN?qXwy@j7kH{S z0z{8)EoXvor@TTB4`8UD{^WIR?#Q;ghlX_F`IiZRP3V;*Bni!MEBi26Ht=IIjYQ9%Zz4`iDFtPOQqP&@msF#(JivlG(eKPC=$B zSN|rs)r*)9M~73VT}!YrMdRgJV4Ehz#=sew@V*93l<#2a&Yb=MuVAH6*!6^Mz}n8| z1Jl5U*Xf>@VTXw{=uu=pC^GEy9q7qByW&@wbIc55>#I%eP|X%Pq`57^evWd&lU)_wt2;i7NWcSe{>WT<`8nUdYPj)3K|>q5;w|Jb`pYR8JtTGWMmEhX%E=NC%CaSwv$8cBoWl{f?hm&?4!;dT8m;hUa6`;(&+ zpI@G%)_TBcnB(zj1)sqTSho?F#=vQ(nnSHJ(EhjKA(_^7&%?1Pqh#4Q?t2yTwlzX3 zHWQIlQ&$~6KI6Bco2~fv>}-HU$(j zMLW>qVY+0<8(;_(fU?V>ac`Rkch=wseY zKhSEluSI7!fu?m0Kt^))1YCj9POK%TE?&pab6laV3UxghoqyvK z*ruwOW;Y~UgLH+os6?vtX%&D_8tE~f&|xPr7aOl>>ixXtFuLRkGB9E$R$yy43}`bn z9!5UmDKdnEZ?$o+=4e;P-p22m>1UG_Z&jdgomh$w#a78DkNZb0UPq5^e%G~yEx zv5K*qGFM(AUc5VG`Cx+4v~9Z^EAE4UJiG$b11C@_(f})ITxE-fPxCql?P`TqbngBH z+UoPzPM@A7#z3>uwNr;r$F?le^y%x=;pAT78fS0*ZD?26s)VkjDzOpioHREQTF`3K zsw3FJSq`;J%YMjvVT6B0(C8?i^rXAG-&P^Y%n%abl|5u&ru*#8gik8jXC?@~emGkm zDzE|hULrThTT0ky${?UA?->dX+7%;9t(Q3FU&cPhljXj$cvH%)3d~M0oQRpXyf8O_yd=8&C61C74n|8zyN*&#etf|08EioXIbBzhY==i$px@CQb~%Nhxn=7f%g?7S z1F5}>>fAVozmNX5N1@27C@J3My(fj27PXr;zmU|nVnk~91_lSC@6TvQ@aexN8;1>x z&WcfN^6k8j3-o<2iq)q%PL8*D0{xkBCSN1FWdiAJ!_M)NT1|UbIJ@QMaOA^W{RBFS z*P7BRC-<<6ao=TbmNTt59};M5jxG@ec6;s?jRXmuhny$$en72@(%I|xAX4jXoQ`oT zv?S2H>PCWA#?^rC0&` zsoPQrqxXqM(CS`O29Huo=bw@vhf(Oley_*R+{d)!FQf-=1WgVz^-JBG;&ujqcTp&`FXP1XOxR&T0UaJRF(n2?B}-A`ZdNzVj}(MAtw!Kxl+ zo37QHq!CbPsKYk%jMJ=)?;!*q=ce5P(7AWZ(1$i0*ovkeaiTDeksPaD%s?NsFXZ?* zJ*j7nQ>#p*9Y~_J8RqMR1Iw>glq-r*)8SAmy+$(!8}EV@XEr;qfhV6-hOF@Bmm0(< zlBo7YP|+b`F5jy?hCR(dAzTZW9OKSJ4je+o>MB=$0HnY&zm;H^ly>-F#nj3fao{-y`M5q7ZX<-?!sx*hT*Dm(HZO}(YF}TEp6b?fL8~m*n4Sp|*wub- zHexOXy*(N{u<*hMJeIE32`(3iqUE^Yt*t3}eY^x{4bj!5i2BXemowwT>(~i%<;ct% z(Z~rE$Dp7@u5!;YaZrZ$dkK))YsPU5b^&(v%C%zOMosuO)jS(gGrll6U-agSDZJAbqn$N`9_5gjkLPxisEKVninY0jpxDS6K_Eld?(Lu zJL9;BcrV}CI>mkQ?Zc|`B3VQSYcnW=l`y0ebYY*(8l#)Esa2%Y9<+@SiH?Iu;?D-% zlAM@^qqyCfh$7L(sP$A)>C%@m>N7cd+=ge#>I%J!g_GYt*lrj|vAR~-qD$kOHV8@rEh6Q- zAoPtjlWrsYee7*d zr+?~GAe<4JZ!{iJ%*s;lKBlUNrVHKXj1NUeR0cMPm^fV>y%h^jz_;m&yeiqO3%H+b zLyT_Ro4bupw1}GA_-?bb4zj(VVXeUJZ`Ml^FS(2b^F)&aB_?i5<2MA@1~)75fEOvjd}Nie!eay&vihh zFdR#`;zW1Q9AA-I7ic|^jIVCJnSserUtsl#-Is>x(Ol>r(ssK)7U}^>fzUTQ5cm-2 z5lprzGn--ZIWCO5<6ZR@5N8uNK;KsI&54zv=Awk&fs$l@a#4K5`5-M&BIeG8B|`Qx z`uH~H*ENfHt*&Rcd?VGWDNph$(WAn;rw}I5d`^eZQt8qwnGeCbJVI{&_4c-pT`l!3 zDv}}}&Ua8Yj5@ckH-(s*RN)h-?!vW~SDQpy$)|xASbjc+rOSYDcm;$mQ6@@W$vVky+vVkDWOkbL-(w}nTqSS($Z8qM0yHRTXu9)j~w zzgdw38Vn|aQ&@+xUh;U>K5dzovabUsSDV~2x8wM(Xo(vSB!FF0^Evl4GZ|VG%}!*y zba_v*++Y^}k4(0*8nZJyhg43_pZl8 zBYiPM8k=^dbBgrEI)>#&u*;-v=GeiF!|lQyU*RBelsVVnXzB`(?2eij6~wnbsH+T0 z%h6dGjfsO(Dw*f&6h4REgc_HTaJfPs zotGf*$AP^#M!f2)hV$-GG}la1e<^jRxYb3qeajlN;nj}f>PS}OMlP&H^CA02vgJww zeH9yoZ^tnnbvOZA6@^Xmx5<~AO~RLo!aVe(5a`A=m3zQVMYZdPK$kSFFp-A_`clY^ zsKStC$-ji=|G0Oz^l=-!Iq&S>rGdSBMXq$4lIh_?UCAqtZ2Yc9us;e$c(*lhj2;l( z^o%kVY~Fr_gM1qTiGeI^F2j={1J{TkY`uQIx&p~}8&WcH@8e40N{~N7vQbBGbDZb( zzAdhPas+4cx$9E_RQaa#Z;ae7s9kuTNyXI4pb&JZERmxkOTBbYpIuRYOM?Qp-$MRd z=MH#tgCQ5p&?pn;#&3xN{L~O8k_XzvT|v3f^0`0Wx1g?%!*{4dhBp^&)VcU}#r}tC&{ZhLNu08cg#Mw+AUH8_+ZG zt4mk*lz(adO>g|(f5pMcDUX)qY*6ci3ZKY(B37d8YmA@uHl|htO~gEt|7eEMy`yJ! z%>cr@O<_cUheyFsz&~hl!hy6E=^$xIK06*1_E6iO7=z z65UFVX+oWzGZSEVbn35K{bQi7^CFW8L;m->)vrd!#^evx1$F?YR`T@&Bgyg=8GY@Z z&Q~i}3)!J`t?q%AJYZ$p>iPOA?=kKm?wEx%nXruSZLnc5)*)Jvrk4|ZAFb%?BHet& z@}(o1U*Aj@^X9<+ULAkmT?=Mk-)*KMT#1<6F9ezR9j%nNsEBb`bv%jEg6qTwsalL! z919=7v*0#JuO7iFljn&L&$O?{BdWV&_h}3YW$Nq z6iCbJD1T;aAw!LZp&>G`c3g%aF5_rUF5CA^2Ac)4p1L#eCitvRUBef<&aau|pA0eQ z_Kr|4O#wbG6U5oDO94)7p=1mIU1UUV-Y-Cp= z%^7_n`H_shJA0RHctv~jDP!Zh4ESw82L}9?GY;4K@ zz=?v(l^oyjy#>ndA`wF&5_&H!R$QwNRr{(|Cj4ieLVfXL<8r+>PI%>H|5%#Opip~u z;2L#&(=U-;;0Pj@?^!(;ADxtdt7k~Hy;fNEhn5^`sLr34h)Hal&4OS zmIl61UIH%tYN*>){Z#0yj|nf?#fUPyoVg+)zFe?o>1wLD0n!;JM6hDCQkGn2dGZ|o z%bRCc?07ay{kr13*gp-N31_48Up6wS`+tA(FW*>+i89t{`!C1eZv^pQ&akJy@XY^z z9S}HE<~ODro+R@8#E>0gS&-kJ#qXwPSB1450((S5SE3+bN`6e8PW;1mct`#W2nK9Q z=tTCw2xEoPFNFC2>1`U2VeA4ukU#us8YD7h{`;W}urYQ4=gxAro+KJw z4Z9jcEO~aiXBcc-)|WFU&h1ihyOStjg!Om0MJ}pg^lV-uKZvRHszo|hNtE~&n{aw0VJIT2(FbebQA|lb^@f5 zjJzz}`MUs(&iutr0)(6fA9@vpO3M0vkW-t(G(fB;K0 z>D}^|AvA)#LZHzQgTNyPqyM@XbBwNy5a1rB(}LJpmU)|;;db*~#2|Qz6ogsbOFR-D z*@wF@%mcI>p$^hNn?#lYYegyZ-%Ny@v9WQqUj&~q)V|bW5U>sVVNuCHKH?w30?!>nuHU@z3uix%+e#1K51w7z{2Hso8V^U^8enR6HM@&2;__G4 z(a~{z{OiS#eS9{KfvJ36-s`6l@0zSx7d;+-66kf{400}t&{S&%;%XX1Vey z*XyzgAn{Y6a-*Jb8njkpgLp%Yo=!F*RM|2GYk)hx0Z=Vm68PJAzIaOh!PJA&V1L>o zkS-Z=SzdTYd0}bkvfJJoG1ggu_K&IZNt=W4I_~P;re$7$NRyF8PYLE%fv>Qe7Q;c+c?vJb|EDd{-Mxx zkPXXHU#grirz@fQ z3rkUCTA%bjzps-?m^zx{8>wyHq=s5qRjiiE9C(Lg2XGwRzE@u+LDhe&CHNY4nZ0WI zYn{bL3k2Wu9T6YO9!N=zhs@}+X_n>dQRuP7g5F|`F#W#c!Srb&i{Qr%%JUr6`+7~a zxdcW2I{>r$V2J6_3Ic{e?Ete%Ze$mAWXUSwr1ZF&7mWbwh{%t z0t8qTPzt-+mv#aZDsXR872a!EWZA(I7H4A!n~;4CYcjT=K~r(PMoqH_R}0tyKbxJx z$?vJ>PXIBK7kPz(9kfpqD+6y2D^Yyqf}@|euXp|RZ;PI$^4dE1u-f3JuT* z5_@S_A3DF?+)HZ!fU9Idm{3o_Xj8}rQcGE>au3^>l8Lb1Y4u_g#o=O8C8MXF zKNqtWGaGzneqjZ#q*#9eE!dSl#crYzxS!?gu?iCq(ahEFPw~~iPf1?*1~&ZH9|xc0 zC3cQ*@=H15`IWEn?#ACWWX~51%o&4fBzxGOe4>mP9O#2}3q=r%$x)E-!2&G*=iiuN zY*vAjnzTPl{u9(>>FYqYQUmBA+5lExC>uk7-LDPke-z?rf!kQ#b-H9on-Fa2a-c@9 zm%yd#J7X6Xin-U6{QvoWo!ujWA<&MxCDacj1`AT zbpc=Nb?}ZtU>@sAvF;djCU*BEVwj1GPYI)iGFU(US}&4LikqLXF(xOeQ*& zWH% zH&caV(%Mi8>-Pi(Tr~W)?+|r5N!TUXJ4LFffm{n$$yD&0wz%-*7dvCEJ@QcuHXEm0 zhIIE3>)Xy%FVO38lpcE*qUvinewtUcJBqEhEN<3FUi3ZOTkqcW0CrV>kh1`*@C=_8 zo5(!rsoq*A8BiIm1rtM&V|2hg-kiZl-hfM6*dh;9MOi^C-^hz2fCX5&c$;8ZmjLlb zbp|Z*#31RM1e6%H|`Wo_3Dn6^+pC{5Z&FbIz`^LuNJ(_Ed6rP1WX2}Zpd!v&m%}Byw4rnCRiHY~l zE)4HoLDk3_tpedtiZrdtw<-xxXRYmEqL8YTIsu{%v^ISUU@5B-ux~3V&=8OWkkZNV z38YD#^bSi^}MW*E5YG3F!eX6 zELzAsSn=AT)qM3k!Fy-Ehx(p%!3g)A1vk>5Y@;%f&sux8@^%jEgT#!JFbWu>y@LaB zF~ul-az8CTOzHMY{PBQ(TK<{>BS|u+=>s>n!<6QG-LO%do)b_6{o$-V1s3%46o2?|s!BORQ{Q=s|PNYMSd+lHagUV=$%90r!( zKV}i7=0?7|!K{bLcL!~BM?NJMla5kylx_N`&xp}(=UO#MM&*beFUn(=zo^v+&ZaFu#0`h)JpVFf>zQD@V$|fR0}5*k z{yK(vx#yxb-^6xv?zc2w>2~VqYYY#6Ao%S|Kj1dM7N~#TZ%U?*NC`)Kn;2}doq~9Y z#IHJovn~(EQau!m+o}U&&sT=^Bj9acf@dXUx&Rk z2|J>%cVXAAEHmS4NtK}1p@ zZ2e_1X`zj?=Mk7byOsd*wH`Wk(B)L=4cH*z=wL>IY%{f&Qb!WJ~Skj|;G zqF$bU2Tx^%3|^3xyN1w}PJ2gI+YsZ;PAxHZfdnP3P4io%rtQ7~{2V30WMW_Xt8nas z4Y8E%u1`m4B`}u)C4w|7sm)qZrSewV;g5cKW7wsr9uDh=`H3D)la8=?f`g=oNDHP`_pzH=qu6u+6Agn!?9e%X^Uign7w0&fS;sCLR5N%H ze)Q33`p~v8vPHorP)8hkVgb+j70^l}wkm9cZ@%v2i`Cl2gk=yS!n?6D2u92`S?VO# z;#dO9fO*1I_Bi-}OEAsSoo?S@t*Z>l#&~liqLd~WZjQe<&{*_F+hl2#l7||CziIyL zO^n9rK*VEBqa7`5@+K0Dm37=Ta;{ABT#sMIRf0R=mUKMNFjx0I1S&Vv;J-&nqz0&j@IjFlkFA5^K*~@M;V1DZU%{<0{36et6)F8 z5p@i)xkj!E%swVXeIxHMy}}=l85v?vlLQp^)IG9^zzpNzsgW2g;5K}m6KN` zupS0aXqW`$O1KR*hD%A8%yI6;|Di+}*( zA}VGCnKPRCd4cX*KGpT1!wM!QejJ6JHYaWOdBR`^t(aR@FP zT#S-=QKrp}+-JXZnRAxl>0>1_)03@T-!b5u?-Mj%eHykXAhPkeam z#rGjEJep8E0&g127i7yOn2mawIq6EL&B7xfVzH@>WY@#Ix&Me!mK)(++Uf$y*TZOn z*f&Eh#n#)pbdl$mt3m0E)hgk@_D#U^_(mb-M!)P&cjNuM&~rV>XGFZ54^5>F1~!Bk z=$o7y;UTLb!8nD6!+?^VwjL#1C*({gnfVU%LR&8aAr(qZv*heTSthXJpfpC3ZsjgN zHoPuhW9FgPrVVy+`c0*c^W!?sb7mN+^jF~bcb7Q!>?U(K*Ryj_apR|8bG7X=PipDy zl}^z{`q5r^pwZOoAGHg>U4_nJIuu#@(w1Gkr)g_HAs2TQg@TuaIoeObf=EzLF6bMh z+nzwCt}Wn#+U92@6lW$~1R?-^Vom$rha-gNNVl0w4ZTd&B81+B7SVWfka}KF&<=G$ z(3j1+Ws+R^ev_g`>bo*TmKskxL-q~Nm4{XHLvB7iKAe3$rlR(u=+EK9S`0>*D_8W? z^;#Q$%3XQX^MsxXY_B4ZYMW7c7QPhEu;2mai%JCl9AZ7TrmX+Ue=Ea~vfspPryUyBurGs6`_Qe2mC3mA%Duk?& z!?JRJgDU_NIe;sKd%9`&GgqJY-PogWm$xKG{N$0RBS4!l{U8o34hGH8eEp-Z$z*yy z+_a;?6^fmW(`s$f>|gG51i#iDSI{oWbe+8$IkRyMeXzOF0)#nI7sRU>xO^6#@hMA& zwJtKo!Ak%cO8=eA>FMCMIPEIK;9_N<#5bvPPbw}9B6QV!%1kitij;uUQ5?l}lt$S? z7O3?>9oP|#uO+FWj!=w3R3=IVg7`ZqI`aKGZ{wQ|k)={jtXxD}6E^xnwT>>303y01 z{Z~5r04)Q9k5G_HiO#xE_79 z_F%2pn+HJ3h3?x+BHgegPKyq=Vn#W;{xkCU*Pf=Wu?{tD$i$>eEWQ#1RT^A+6RpTow2tTqX(p1azCBO}s0DJWrJ%0UkD= zzTZu7?5Ohgu=_-xKhPKsyJQ(u8*bbu@3|F`Yt>}+5(Raa8$3smm@8fJ&g~lGBkJLJ zI;K|cbT_Ezv+sa&Wp+p`eKOIqKRxo$(Nvg`Wc3mxVE$%u)+#ZO2#{Eyiy~jd&?#c* zJI4u4Y7!XcyZE;%4XIhcqI?}pixVO9cn*X}(w1Th009`)gCi#0KYH^>i^(oN^|Es_ zSOi7S7QyYvIQTn1q_66dMX%SXlg>jNf#IC+F#4j%Zx#%J*C5w+^RgAq-3+!v_zycgL)| zFFfxXpW!$xNwI=zaZwPi1iW|?^K8kz3P(ODK@NyjOw@2g$=@0j^@_B9NSz3`Y$!b# z$u=Q0_<|U1+-<9RJ<}s;77HKmhN`1dUyJc1-eTuLzHor6bp<)fKc7!<76)q$j94p? zfHylHMcFGeeei$^+W`#!f>bT@tniE4Yd9|*-Y26{id!l{Q0>I~?PC7X`*SSa?eMZw z1xC4X+6cc~ybD7=67`^vfNgX#tJXbJ9o$ZXC7VuE6%lO*516j8v#3!gXlWt5A=j!d zJ0Lqs;2;Rjoz$YGD0okDH$AZb=$B{?*c=+gVwDbVxfD}DyDgj}jCfJ*&ASEW%pJqg-FM`7)*eZ6ytWt1WR1zML0zI6yS^@& zz-sx%?LxO^7saM#ldj>){n6Xl1u=#8>HPNk%Olx|U`xNB*3h&fm(j(WC_RzwJW|(dY~(-iBAZd$8S^7$vCvE}U!lENTm5sC zY=Y_wH{P1bHzdh;$+zb(R6-#e;j1@8Zg34O&_)@3B?>TOluO4}(&zPGa+UHxBzV(CzZjMv-PJ)_{)6vA*AfDvn`eXa~ zv}35m%?UOa<6Dpm{ZR!{WgOUjI6&{7lKtZZ0bnv*6Rne>#9(wM&Dy=Bcs}(E`}uBv zMQJFVvNL;fJ$v|bYc@u?^z-zJQ@$nMq2?b3(0>#J0L-X$fayQ2(%>!m!>HS){HhJ@ zzcIoy=4nBb8~MV#rIq5bBuW2^zV3wcxB)oxDZk0Ak79pQPhBbye3NdO0ztrlSX`+e zct`OBC5qmt&n0c}`%h5t7j0V@h(q-A3(%YAoAjnxl=`QZt8=dIgZ?D-KqOw|{or0r zc z5$zACl6>Rtq@IZh8dq1>!r(+n3Girt5hDM9-soi$VED72{^w!-8!Y}4@cS>g^*4z( zkH(Il{~KRo25$ED4Auo;|Lr5eyax!C%=bDyu@C=s@cv(JnX`o!un6D^>%j)>N+^wB zG`rcQ6OdPFJbwz{pNyb0I^mDF(7zFzk`IBtmmb_Clq6U!RH4TS*cNu)(1nA2yd%xO z!2UDV^V!!%Z&YU?pi#h`oZ!N^gSI;o#J^I4O)35!ZUgO%B<@>nOd2sPMB%De=Q~`2 z&d#*>AFR8X!=Gj!IpM#D`u}S>^#3})`hRvnKpP(b#`CY(Tg1-ZUe@%pe-q36&KoIz zy0>6plb#W$-l>Oi2RVg*nZfcw#-5qpuMkJ9-*&RJ|KA*7;8Rjk687cHcU&FKw_ohrz?zZr^72-;?X`aU)XW}&Oa0mi z{I2rkJYeKa1E%K^ka1dK*^CB&RM4I!&|;BbKvk+*{COKbGXB2o9aGRka2ktE@At)2 zUl-Yq?Iv2lvaDEsv>{VAp4;~Kox9KR`%g+rz#9eyiJ+Hpn3jO@mK2LU4wpNaH@mzU#2!*1VC=);j8dT;6Y2tA2|3_Jhml{PzexSpeKj?O*%BJ=tTNRsEial#v z#5b&A3V`0Yfn%NjTPmq*)*=fqdi5zAmQ+9fC*Z_Kl z5K>rL1HT$JayMCP3Ye5=8Re6xK}0Wa{t?z11{$EX8ZqnBgl@L8ej-XBoUi4ib6rTa zH~`u0v9aC-V>I*iFNRlQj?=M;@%|}AiHY%P%X4%m8v(i6)+2=(78H9Z0L~cUWGf}_ z?}3rTUa^N2E#T8S)8}j#w}4#Px`OgZfm@?wmOk?rEKQE~H%Ej8|G)0OJRHjQ{o9&- zSGKVX3PpCt*kZCpV=u}sA;ch2mS_wywn!35L}V+HvS#11mNkY!_AG@M%X>}gd7kg{ zzJI*O`yRjJ_#MCbZ)UFhnz_$wxv%qcp6BONo(ZH&owg$+K;T?zJ3;-me=mJ`2T=KPUk74uL}KKF+G?NZ2QTxdq>5{}90Pkq*l-30a>jT% zY2&PWN662T(e_2<9r4s6)i7bvcz23AEG+V2vSxzGIgiYz5Be&r1H@G&lJqZAy1N?p zCcBJ2$6dQHW-aS;b@P!{rSn(9eM!~y4j|9DnOePHTRrf^zs{=C&x07_s`!bIZUC`q z7C^&1yq;##M^iDM^BC_&6yoEn_|EJM9^sS3B?anl=)n+1PST{)X`9Y;xQR@*6YIao zIcc5XTfp}AODRU|-*0_EMr8C_b|gzg6DW#5EK|sRX@GD!P#ogVHTO6TK zEfFD_fYXG1N)9XLt6gc9r>e|&wQ0JQND+^rNt1-+DQeuJ7%W5ewx3E-?*R4L1ivO} zbz44e{0lxcXj5@TU-Gva!Z&{dd_@Ba8w`!h>~5q{9O3sa;NjtMv%FwFavX@IR)N{l zWEANL(LipX%B)9D#yMS4DNdBsUv!Ji8nI(QG3t~00w(1**t)jkt=l~jYV11G%tt0f zpUix{bAI+A34Yi)BZkW8`sf?Ci;(L2P=y$UOh;t^UHTuJ0i~GO%x1uC8%JS_6$fik z8*(2R3I`Lw|IPtGwtCjz>oM-C#36qke`wXmikE6kkA-Q8zsB--PhC#_vDV{H0yI5?@r7;`~E?uBE!kZuD@+!&*wtQ zv(P%x>LV-nJd)sQaQOPL&j5;81DNL1rF60}Gu>Ep97Ie|**stn1VY6=$b|T)gHp$% z1Qp!*GKLYGT(ZQL9;Ay;UXV- zga{Mrr@N>w*Kw_cHhC;(Lfxa(K+E(i+w8ADcPTG+d0R^6n6K3gG0q3`b-O^u_2pCa zI&{-n;oNyrx?4h{5n*Xtjkh}n^&&>ue*lfloa2r5*N!6Exi%h*@GRei(@I9}1bJ7T+4nBbh>`LR>W3BHLelx??;NdOa!hs+wJM(~sqz z?_+eSrO3m|ESk;bD}3;E&*wV@>+gOQY8O7LwCNQ%+ep@;sEzFVn%|vwi2?QVu_Fs^ zh5aRj35M+1hs|pc?9G@mPYSW8t!FkkEOeL=lp*RcF&(K?zLq`L5%agq5j6s&r_{yo zlkp^fq){393WAt%DzPpQ834BddDQt1kF0p<5v-PNUK-)P_H3fD-8)d4nE^q1K0UWOnz zA2>#4HC%%$or_G2Bb%w{(~m?vo)oqkuhkcshi&$paMgkEC^e({>X~!XFtB_Eza#|Y zevr26C$7+jNEVF4YzMcKQiZqCjQjB>;Ym6wW5zFeoI%~U$JxlE@~sHrf{Dx#N?lkv z-6pYc;U*V(0axc-FdoUwxwovjY@*$!&2+kc2zJbfOQaux&%5%PMmD(Rw)CMgQ=Fpo z?68M8cx_=gW*ZUMkYXxYnfk}`=1 z8I92tdXZVk`l6iR#Jj1lnfB@GPjynUEVe#NqY(+AZt80o>q8H?*h|^RvR{ELJVlwgQ#Xr&V+4EJ`~Ug4pZC;ZR+Qf0 z_msK#2&_Oh3z`qOL*~IbI4(UT8sA$Ax~l0czFt!MJSe@zJLojL(D&-LI`5TDo+7%Y zgLeXoLeBXf&^9##62xTN)Vr7<1?!4YW}S%hoA%nNEP>wQFOJAA5e&4l8J>^2Ag~4Y z6vu^5e4jyCO`<7;+(gfbS-liOai*X1&(MU7P@Cq{qkM-9CPnuIi|+Q%!(FQ}u=!MY zS>}&LRGBd{pCw;rC#mLmf9Sm8+AT;1Y*@oKz1&K5GIK+|(b%ITixcnF{7Cb$*qH!} z{x0?jsX+y>Zrio^xlVS3%2;ji)^qw z%Ge3{(!Xk9o z>~GPM?D=^w&WE3zq(jX0zYzL16~r=O1X)!BW2k>Np(AKpX0Fp`kFvhVm*3g-ofLo5 zd#yE>w%LzrXZ#V&?fcyxOM^>}27A-=B9nA+j_SD$slnw>M&Fe)5O}+@(!C`Z;h*y& z3qV6TmYk#>=+#FCFCBcDJfanxz*2Oe^-6JQeFY6VD8=Qh-VaM~q}W0!?@`utEBTcX znwsR&qx>3QkjK(k8AePAEGN%L{NOivVW^y4=zkuB8v;GL;d_E5MrTZHiuG&h=4{BGBoN^&V)$0+l!>ZRhe=it3* zd)bKi)7l2kX$065q9t7xQE+jAe)W=pkgK95sU=^yoDg^@urRa|vhA*p0sF1Qc+?S~ zLk?q>3X5%0fdipuFdj+CA71c1F?{v$lNemgss$}@$~sM<_IfO1E%uXxI#kXc4ka)U zlt}3a;sohT27<>3Zs?-R#U;we(tjT!Htv22%Z^*D1#B2!J)|m zY)O_xPV@;Luu14jHMEgvcQJ?Ml!rqyT$F!&{P|dof0ACP#MRay^qFCcR zf6kgAX(LU{oOb0@qB5lIUQluAvhh~9&!VIfTY@3?qIH2i^)b4t%vNS}MrP!xX@#cF z9otWnBA0UwGlG+_X1WM}OZ8;EgbtZ`xooFC%iPj4{+cdHwMV>jB8_3&ZmWEA7TJRW z@%BF$-uhgKoWCNTu@}RrQ@Jtyib6vLN*>bf-tBS{wm5)g_=P^EmFwIr=B(HBa$!Ed*dS+b*_hIjngLz}i zKeXLj_@p($(gF|GiuF5-E9{q!VGBT?u`w;d{;_n|ePdzi_a~U#Mz%o;o{C>5oL9UI zE7l0LQ%W99WmHXHLE0ze=U-FLnRqZo4;2wQ#yQ+U{mzdg$lTl`>Q67)hF(`CKp$;d zC@y4>I3nD5!ygT+VidB2W%XZgPX-;-%D^Lf$+5AHXeJH^CkjzhLFJfl#^xSjzxpuK zghcsa2;WO91MCtzC~rKf@hTt-H-1RRC`*tG^q*BmK&&wR&{%1t}XH6 z!#@Bn*1qgD*>&ACFGaJ7l3o>&1KQ{3XTA7!D0;vgA#1F7cJ^EM6>*EK zqMJ>N_*K*J-RU1y0pA_!WYyHZv7bEbH{efeAZ^W1di5hM$e5r9X>l|lAq=aov=5$A zZ&iS#Ab8y{JA44J;sG6kh|L$yz0YF5zWBUJJVg%~)1b_Ly?;|lG}HjI&aZdoiT}Od zm5V{UK#9WPU*CY;2FOj7RdiB5)%Tr#aA3fkr}?9D_U`WwF~7@z`eIBr>}*27{SWjo z|7JIOZ=BE9xo8MBYi{m8vT2IvKHm-4bB)Zpgg_husx0%`dAFpB)q(xpTq1v$lZ=U) zGkx921#^Lc;m@z~JYV=wwJ+CbT$l-s{m}tP$r^|%KSWv~kS0$gPWp7=TL{o)tp^Fi zecl8iVrS1DoR;#x?a@lY{B zywG|~%oyOAiUC2`Q`cpGU2)<+uaMevUKy{R?8!uITg&Ldy4-O!K=5eydu;Qs*3JLf zy5REL)4R)_AswE{YIbFPAi3h}3}%3NCok8S z5G>Uw76<)RxFnbG&*9qnz?`dcIFfy5|2aVOREV_o-#^0kpGN!d@FPig_FTXqy~6dy zfLvK^Dwgrtrzj9KsHon)$vp4$`1}6Q*5(S1pAiC!$4LkZlArtMOxv@IH047;#7J=~ zM9r%PF!=XzH`v*S0E-sRQTf|*m?ta9h*xhQ>W6tPPlNQ|=nOjO=u=9iB_RNq(iGS1 zTnipFUWIMufx49z0Wj?`cmEG|H6g3P4aZR{!4t^R0Aq`E6$tv0o4bGCw^$+SIT0DM zT34=%V~y+|myTEZEpt~0L`-0BIFA~#Pp^(?4K+;tEC4L(u>Wn8WvQWzO$S77Eh6-I zOx%Jwx-VEj#UH3FHh>T?F91B%=UJe{a*$sD@K()Mbw!$AKg?o~nCnlh%ZS5;HqbV0 z0(4*$vnoUhb${qL`tsiDI~Mr!Eydxz8UHhO2;2J`e2oGTL1@3`@(j^dX^;xfh5T!p zG-xoO=2lG##(*r@T2LLanx)8;DqH-yCWN*NO2#QQ?KOK#=>eA|DGt|oWfBP3p*T)6)jzAYqvjo)`Nt6PW35JRf60J zViO+&NuZM;&J#m0v*9!~vjGxdzZjWdgr!mfV@7HxxSI@U)7Dcen89bRq>UmI25*0U z3MGSA-0VYN%bwp0gMhs!Ve;?A0r|unAvm3@zUNv2_^qafuh80d;Q?-XJmf`HY!Wrf ze;;7#Qx<_4z>$`&(lv@)=OQAU_JM&a;+C(4LFJb^^~(!|3-e)xcXj&_5L%1zpND-Klmd&wSJdFv5Td)6B82?lVTHIpUPhquVyp8z~$!77CA7f<9ErigGQ z5r8ai@IH3hiqn$-Kw1c>^kKPBWHr3`(2AOqnuiFyuBNX9iUfjX6PKmk=NMoeWtQAP zjUnbk`i+P=Y!luu7DaEB@&%yubTT%sO!tD6WiC1k?cD5GS!eIzV<7lmF%|psR^4nM zs2D)c_vf|@5;K>rE}X1VF1#oSY)(CC5djJq;c39bodmd`sy9DnT@!~b1Z>oJXAO<^ z+m8TRIa*pY9r}5$D#rV*w!E*$>Hv$MD)6zS)}?aF$kbe zr|rRl7Z`o4fFxus&yq4`58eV2RP~?|;PS|@RPX7=$x2b{ehSyh<(iIEYFy%HF|)gT z6T&9(i8&V-Okf{tOw%u!GkDX3#}X#-uhs6wsR_{}(To6~pa_w?ZCr=>Opk_iOOTc4 z-8xKtN|%i3N&nO727CzrGZu)eBqemTAI+~4w|UT_zAud=xN=ynRuuYn=R+NIvla2%PONOnxm!Vbth3h4s&!l>Lh&o7wR?p<0U_CAE!75 zw7uBXbq4l;LRXa5nM(@x48>aUXCs^D$jguRU*If^5B?m!@r?Sbr?%|s7ahI;VcYO> zU~X1-H_Zxmd=z|I(^=|R>fs>_1>>@?z?DmexdP94?lR*^7A*xE z^-9$J=ukuZ=v!sZcDyd0*m|L!%%E{12OJ>B85)Eo2fuMPP+bAfDvk;9vP~Og~P-CwK)r~QfB8!GnbvrYr{Hz5n?`EIy;P^}E zwX=2sCm?n-Z0o~LjuTtEm%6id2v|*!8)K}r);afAFZq^?7IKW{K9sF5c8+ZDyLyg3 zD^C;_S{GdxWo-62Y|^5ha9)Ek>zhc7h*S>Bc`%Ds;}%x=K4v8mi`v6#L$(W`}sDHBOO0H zJp$YQQO=HsvFe&Pjw#>pGhPW~!F-kcJpSK98EYn|vgVP&^n=g9d8Vcb5)IS>*5>^;)pwjjG*Dm&?! z+>G|;cXx?=bEl~+6uRwckJ+<)ARQ!!VjXzJjGRBF9;KtOnF3`Ns;uR!!IsCGcvlMh zZ*6!d?{CnfhBg76;gzZyy;N>(`*!D!a9926>()a$qDTv-;PgE12`|*LA3>WJBhi>S z^tH799@$+RO^8~^CQ7^dxtMjC&IlH@0<@J&PF1m02v)-o(K zJ%{p#CKgwMb4{z4$zO*u#>@FpWFTDM$(bh>hOqNuo?|xPj{st>z=Cqt~Mv^V?04T zc&+&jJdD4KPu=QVHdwRgD&P>}7`otF^$Of`{UR5h#I%?Cd0!b!OUpK4;Ta-Qjq^$D}YbXtY+XJ(wDmi@%8bc2)nYv_x9TUR6W10kf!eKq9Tif2=WNW(% zsd;(CzWU`fDI<=M=&Ia8UVdZeG?Elq*^3|^?;7;}I{(1Lp^UuR+6hvhG05YTCk8|9 zci5X&*JnB$Q7P~z00~oh=+~_rEiZ!=@~Ty zVTS}r?A|kL=}JNw)$etFVvo8QWnOgedn21+W1coP4O(E2CgrgCy0?0(>LQthc614Y zzsEQMD4_DaHN7O6V>`3>S>N7FurV`bQuWoi!FRmRWa(3CEn43&R@xPi#NXH}S%6zR zT{TQa^XTUnLb|5;^LZ$v(2*hAM^{r$XMYrx*S>xJ>J_>SRiPn^BOT9pOWijI{Z=vt z1)d78PHIkD8J?s(ik3mE7{s`@01M%0?$Xyv_W zjV^)ng$`p%<;>S7o}SNi;Mbcp%_X7w_f~I&fWYg~!f1smrhRoF+sNteRmcO6r(mTx zZS_Mgoa76#CGku|>4xu_c`WN4ua7**2xC2?Gxld5&kELBQ9qjTD&!XX#NS<1vOm5J6o^vj+%t8yNvTU@UrXKK7LyOh{_t@A+J(Ydn^}Y`LEM-F62A|szRG7>t+SBq)_nB$I*Nb=PY>eNiB!|W~%OA zliMZIlriVPOZDNP&?me1B&Ja*YDOGkcR*2jJi2Nj5w5?$`XOGk+=H;Akg`Nfq}H{b30sfv$cT+KjT zp4Z6-ziue@uLBl96?SHb6_`YPCQg0d-yb9jHGpvN=zEY%LnL^h;g@ZHZ4E-;ydWMw zA96`Trr$))&9Ix>o$|dtnYRcq9#`?DN1CWipn zWW4RkuMyWPkk@Lb58)faAJpjVLi`^j;*%%(CpSE zYop(er@kfmZJ?dbCu5g<@OimkB9SZ!WGz z=AJc5fNo>`81%5Qx7@+bMe4=Dh}C!9Zw8XhK}l}NRZmX*i~a7mRWr5{F()62UBGs2 z*HImUh30Xayelq+LZjQup0oG#SJL8fJv0ai?^U4a{VEyr{BZVM>U&!wZ+LkDr5TJ6 zA%@6bLJ+%$56Jl-`)>2AL7ILa7*C$ z&{>{nquFKUnTOBR_xtnMyrXJ!`!n%P7#z+35qog+3XL4BF|3rujQi zd)_j2YxvzTXmpg(cH(DghN_j0iDB|r^zM;E!-IW;@6R>>P@_A4c8{(o)+?Kk)~bP{{pV!91Z{g literal 0 HcmV?d00001 diff --git a/documentation/images/favicon.ico b/documentation/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4144ee4613af4c20b9775c0923f0216e19b63cf9 GIT binary patch literal 1150 zcmbW0T}V@57{?z|GAcJq$#9h>nA1?Vw&Tt@EazM(=i`0;|MRkQUZMzGv9W}E zGBrmL?IR*1KntDqJ^~Te;&!bQs<*yHU^#N@k-w|a$TEQ$SU?7_fl9!7j6|>>B!GAj z?j48v45$ZJ!3}U-jn@zx0SByrJtqZ(>)BrQV2>J^zgFwioW;F>?Ulha8-AB66e{Fb zsqFYKoh!%ha&q5Oo!qw#Gn*B9DL^Xmqy(di1iA49H~-Ua8t^1GJ|Lasm!%TXZ;qAZflTkT|I|po^YlnBB}sFkxl*f~CRQ!an=Z? zJ%5pk_%GDn@Q`lR_c$+>yzxUnnC+c%-5YM1>h;w0J@(WZ02PTcosV9MvNf#qSnFja zmtSbiwfpFOCr2MTt%)DI%)Q?B%IT((@q+uqEd(tO-3)jN4r(67LZI4hTm0>^zJ8LO zbawlvE{g&BKJXSE!r1LnVzVj&;sj`7b-6f5WrD|0DcpQl#+_Tr%WBJ-?LJlq?F0}3 z+e_#js(R*g80cADD;^@nO;j#Cy6euFQ5=@9&B_4ngeEy$yV>`|dNy9c|F{BHO>RC= zhxcH}vo26Rx9~5?fA!ZCqE?&)jUT8#`-nU^ajh4KcAJO}@awS+bE7zQ3?&I*_7AEe BD+d4o literal 0 HcmV?d00001 diff --git a/documentation/images/login-flow-new-user.svg b/documentation/images/login-flow-new-user.svg new file mode 100644 index 0000000000..b3fe0304cf --- /dev/null +++ b/documentation/images/login-flow-new-user.svg @@ -0,0 +1,3 @@ + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    SyncedSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    SyncedSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LocalSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LocalSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    RemoteSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    RemoteSession
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGIN_FAILED
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGIN_FAILED
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    getCurrentUser()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    getCurrentUser()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    DatabaseUser
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    DatabaseUser
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    login(username, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    LoginState.LOGGED_IN
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    saveUser(user, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    saveUser(user, password)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Viewer does not support full SVG 1.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \ No newline at end of file diff --git a/documentation/images/new-session-flows/initial__offline.svg b/documentation/images/new-session-flows/initial__offline.svg new file mode 100644 index 0000000000..3f3c723e20 --- /dev/null +++ b/documentation/images/new-session-flows/initial__offline.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginwaitForFirstSyncloginOffline Detection via fetchrejectedConnectionState.OFFLINEConnectionState.OFFLINEset sync failedSyncState.FAILEDfailureLoginState.loggedOffLoginState.loggedOffLoginState.loggedOffliveSyncDeferredUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/initial__online_correct_pwd.svg b/documentation/images/new-session-flows/initial__online_correct_pwd.svg new file mode 100644 index 0000000000..6e5f681f2c --- /dev/null +++ b/documentation/images/new-session-flows/initial__online_correct_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginwaitForFirstSyncloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.COMPLETEDSyncState.COMPLETEDsuccessget UserUserLoginState.LOGGED_INLoginState.LOGGED_INLoginState.LOGGED_INliveSyncDeferredUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/initial__online_wrong_pwd.svg b/documentation/images/new-session-flows/initial__online_wrong_pwd.svg new file mode 100644 index 0000000000..25933126bb --- /dev/null +++ b/documentation/images/new-session-flows/initial__online_wrong_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginwaitForFirstSyncloginrejectedConnectionState.REJECTEDConnectionState.REJECTEDset login and sync failedLoginState.LOGIN_FAILEDSyncState.FAILEDfailureLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/initial__sync_failed.svg b/documentation/images/new-session-flows/initial__sync_failed.svg new file mode 100644 index 0000000000..dfac2ea479 --- /dev/null +++ b/documentation/images/new-session-flows/initial__sync_failed.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginwaitForFirstSyncloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.FAILEDSyncState.FAILEDfailureLoginState.loggedOffLoginState.loggedOffLoginState.loggedOffUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/new-session-flows.md b/documentation/images/new-session-flows/new-session-flows.md new file mode 100644 index 0000000000..23787cc529 --- /dev/null +++ b/documentation/images/new-session-flows/new-session-flows.md @@ -0,0 +1,551 @@ +# Sequence Diagrams for Session Handling + +## Usual Flows + +Local database is present, we are online, remote password was not changed. + +### Correct Password + +![](normal__right_pwd.svg) + +### Wrong Password + +![](normal__wrong_pwd.svg) + +## Offline Flows + +Local Database is present, but we are offline + +### Correct Password + +![](offline__right_pwd.svg) + +### Wrong Password + +![](offline__wrong_pwd.svg) + +We must retry with wait here, as we might be in a situation where the remote password changed and we should actually be able to log in. See these flows for details. + +## Password Changed + +Local Database is present, but we changed the password and password state is inconsistent between local and remote. + +### Use old password + +Works locally but not on the remote. + +![](pwd_changed__old_pwd.svg) + +### Use new password + +Works on the remote but not locally. + +![](pwd_changed__new_pwd.svg) + +## Sync Failed Flows + +So the remote session connected (yay!), but for some reason other than being offline the sync fails. I don't know how, but this might happen. + +### Local Login succeeded + +Easiest case. Just start the liveSync and hope everything works out eventually. There should be some sync-indicator listening to the sync state to make the user aware that something is going wrong in the background. + +![](sync_failed__local_login_success.svg) + +### Local Login failed + +This is most probably a changed password case. However, as the sync failed, we cannot log the user in locally, so we have to keep the login failed. We also don't start a liveSync here, as it confuses the hell out of the UI to be not logged in but have a running (and intermittently failing) liveSync here. We might want to revisit this behavior, though. + +![](sync_failed__local_login_failure.svg) + +## Initial Sync Flows + +The local database is initial. We must wait for a first sync before we can log anyone in. + +### Online with correct password + +![](initial__online_correct_pwd.svg) + +### Online with wrong password + +![](initial__online_wrong_pwd.svg) + +### Offline + +We can't have the local login pending for too long. We also don't want the login explicitly failed (resulting in wrong password messages), so we just switch back to logged off. + +![](initial__offline.svg) + +### Some other terrible sync failure + +We don't know what to do in this case. We can't have the local login pending forever. We also don't want the login explicitly failed (resulting in wrong password messages), so we just switch back to logged off. + +![](initial__sync_failed.svg) + +# Mermaid Source + +All diagrams are done with Mermaid - markdown preview integration is available for vscode. + +## Usual Flows + +Local database is present, remote password was not changed. + +### Correct Password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGGED_IN + LocalSession-->>-SyncedSession: LoginState.LOGGED_IN + SyncedSession-->>User: LoginState.LOGGED_IN + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.COMPLETED + Note over LocalSession: SyncState.COMPLETED + Note over SyncedSession: liveSyncDeferred + deactivate Session + deactivate User +``` + +### Wrong Password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGIN_FAILED + LocalSession-->>-SyncedSession: LoginState.LOGIN_FAILED + SyncedSession-->>User: LoginState.LOGIN_FAILED + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: rejected + Note over RemoteSession: ConnectionState.REJECTED + RemoteSession-->>-SyncedSession: ConnectionState.REJECTED + + deactivate Session + deactivate User +``` + +## Offline Flows + +Local Database is present, but we are offline + +### Correct Password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGGED_IN + LocalSession-->>-SyncedSession: LoginState.LOGGED_IN + SyncedSession-->>User: LoginState.LOGGED_IN + + RemoteSession->>+Remote PouchDB: login + Note over RemoteSession,Remote PouchDB: Offline Detection via fetch + Remote PouchDB-->>-RemoteSession: failed + Note over RemoteSession: ConnectionState.OFFLINE + RemoteSession-->>-SyncedSession: ConnectionState.OFFLINE + + SyncedSession->>SyncedSession: login + Note over SyncedSession: retry with wait + deactivate Session + deactivate User +``` + +### Wrong Password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGIN_FAILED + LocalSession-->>-SyncedSession: LoginState.LOGIN_FAILED + SyncedSession-->>User: LoginState.LOGIN_FAILED + + RemoteSession->>+Remote PouchDB: login + Note over RemoteSession,Remote PouchDB: Offline Detection via fetch + Remote PouchDB-->>-RemoteSession: failed + Note over RemoteSession: ConnectionState.OFFLINE + RemoteSession-->>-SyncedSession: ConnectionState.OFFLINE + + SyncedSession->>SyncedSession: login + Note over SyncedSession: retry with wait + deactivate Session + deactivate User +``` + +We must retry with wait here, as we might be in a situation where the remote password changed and we should actually be able to log in. See these flows for details. + +## Password Changed + +Local Database is present, but we changed the password and password state is inconsistent between local and remote. + +### Use old password + +Works locally but not on the remote. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGGED_IN + LocalSession-->>-SyncedSession: LoginState.LOGGED_IN + SyncedSession-->>User: LoginState.LOGGED_IN + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: rejected + Note over RemoteSession: ConnectionState.REJECTED + RemoteSession-->>-SyncedSession: ConnectionState.REJECTED + + SyncedSession->>LocalSession: logout + fail + Note over LocalSession: LoginState.LOGIN_FAILED + Note over User,SyncedSession: Login Guard rejects + + deactivate Session + deactivate User +``` + +### Use new password + +Works on the remote but not locally. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGIN_FAILED + LocalSession-->>-SyncedSession: LoginState.LOGIN_FAILED + SyncedSession-->>User: LoginState.LOGIN_FAILED + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.COMPLETED + Note over LocalSession: SyncState.COMPLETED + SyncedSession->>LocalSession: login + Note over LocalSession: LoginState.LOGGED_IN + Note over User,SyncedSession: Login Guard to passes + Note over SyncedSession: liveSyncDeferred + deactivate Session + deactivate User +``` + +## Sync Failed Flows + +So the remote session connected (yay!), but for some reason other than being offline the sync fails. I don't know how, but this might happen. + +### Local Login succeeded + +Easiest case. Just start the liveSync and hope everything works out eventually. There should be some sync-indicator listening to the sync state to make the user aware that something is going wrong in the background. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGGED_IN + LocalSession-->>-SyncedSession: LoginState.LOGGED_IN + SyncedSession-->>User: LoginState.LOGGED_IN + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.FAILED + Note over LocalSession: SyncState.FAILED + Note over SyncedSession: liveSyncDeferred + deactivate Session + deactivate User +``` + +### Local Login failed + +This is most probably a changed password case. However, as the sync failed, we cannot log the user in locally, so we have to keep the login failed. We also don't start a liveSync here, as it confuses the hell out of the UI to be not logged in but have a running (and intermittently failing) liveSync here. We might want to revisit this behavior, though. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGIN_FAILED + LocalSession-->>-SyncedSession: LoginState.LOGIN_FAILED + SyncedSession-->>User: LoginState.LOGIN_FAILED + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.FAILED + Note over LocalSession: SyncState.FAILED + deactivate Session + deactivate User +``` + +## Initial Sync Flows + +The local database is initial. We must wait for a first sync before we can log anyone in. + +### Online with correct password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+LocalSession: waitForFirstSync + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.COMPLETED + Note over LocalSession: SyncState.COMPLETED + + LocalSession->>-LocalSession: success + LocalSession->>+Local PouchDB: get User + Local PouchDB-->>-LocalSession: User + Note over LocalSession: LoginState.LOGGED_IN + LocalSession-->>-SyncedSession: LoginState.LOGGED_IN + SyncedSession-->>User: LoginState.LOGGED_IN + + Note over SyncedSession: liveSyncDeferred + deactivate Session + deactivate User +``` + +### Online with wrong password + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+LocalSession: waitForFirstSync + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: rejected + Note over RemoteSession: ConnectionState.REJECTED + RemoteSession-->>-SyncedSession: ConnectionState.REJECTED + + SyncedSession->>LocalSession: set login and sync failed + Note over LocalSession: LoginState.LOGIN_FAILED + Note over LocalSession: SyncState.FAILED + + LocalSession->>-LocalSession: failure + LocalSession-->>-SyncedSession: LoginState.LOGIN_FAILED + SyncedSession-->>User: LoginState.LOGIN_FAILED + + deactivate Session + deactivate User +``` + +### Offline + +We can't have the local login pending for too long. We also don't want the login explicitly failed (resulting in wrong password messages), so we just switch back to logged off. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+LocalSession: waitForFirstSync + + RemoteSession->>+Remote PouchDB: login + Note over RemoteSession,Remote PouchDB: Offline Detection via fetch + Remote PouchDB-->>-RemoteSession: rejected + Note over RemoteSession: ConnectionState.OFFLINE + RemoteSession-->>-SyncedSession: ConnectionState.OFFLINE + + SyncedSession->>LocalSession: set sync failed + Note over LocalSession: SyncState.FAILED + + LocalSession->>-LocalSession: failure + Note over LocalSession: LoginState.loggedOff + LocalSession-->>-SyncedSession: LoginState.loggedOff + SyncedSession-->>User: LoginState.loggedOff + + Note over SyncedSession: liveSyncDeferred + deactivate Session + deactivate User +``` + +### Some other terrible sync failure + +We don't know what to do in this case. We can't have the local login pending forever. We also don't want the login explicitly failed (resulting in wrong password messages), so we just switch back to logged off. + +```mermaid +sequenceDiagram + participant User + participant SyncedSession + participant LocalSession + participant Local PouchDB + participant RemoteSession + participant Remote PouchDB + + activate User + User->>+SyncedSession: login + SyncedSession->>+LocalSession: login + SyncedSession->>+RemoteSession: login + + LocalSession->>+LocalSession: waitForFirstSync + + RemoteSession->>+Remote PouchDB: login + Remote PouchDB-->>-RemoteSession: connected + Note over RemoteSession: ConnectionState.CONNECTED + RemoteSession-->>-SyncedSession: ConnectionState.CONNECTED + + SyncedSession->>+SyncedSession: sync + Note over LocalSession: SyncState.STARTED + SyncedSession-->>-SyncedSession: SyncState.FAILED + Note over LocalSession: SyncState.FAILED + + LocalSession->>-LocalSession: failure + + Note over LocalSession: LoginState.loggedOff + LocalSession-->>-SyncedSession: LoginState.loggedOff + SyncedSession-->>User: LoginState.loggedOff + + deactivate Session + deactivate User +``` diff --git a/documentation/images/new-session-flows/normal__right_pwd.svg b/documentation/images/new-session-flows/normal__right_pwd.svg new file mode 100644 index 0000000000..cbad3c723c --- /dev/null +++ b/documentation/images/new-session-flows/normal__right_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGGED_INLoginState.LOGGED_INLoginState.LOGGED_INloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.COMPLETEDSyncState.COMPLETEDliveSyncDeferredUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/normal__wrong_pwd.svg b/documentation/images/new-session-flows/normal__wrong_pwd.svg new file mode 100644 index 0000000000..51d74373ff --- /dev/null +++ b/documentation/images/new-session-flows/normal__wrong_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDloginrejectedConnectionState.REJECTEDConnectionState.REJECTEDUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/offline__right_pwd.svg b/documentation/images/new-session-flows/offline__right_pwd.svg new file mode 100644 index 0000000000..2c81a15dc6 --- /dev/null +++ b/documentation/images/new-session-flows/offline__right_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGGED_INLoginState.LOGGED_INLoginState.LOGGED_INloginOffline Detection via fetchfailedConnectionState.OFFLINEConnectionState.OFFLINEloginretry with waitUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/offline__wrong_pwd.svg b/documentation/images/new-session-flows/offline__wrong_pwd.svg new file mode 100644 index 0000000000..c3d1a15e89 --- /dev/null +++ b/documentation/images/new-session-flows/offline__wrong_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDloginOffline Detection via fetchfailedConnectionState.OFFLINEConnectionState.OFFLINEloginretry with waitUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/pwd_changed__new_pwd.svg b/documentation/images/new-session-flows/pwd_changed__new_pwd.svg new file mode 100644 index 0000000000..2bff1f6d70 --- /dev/null +++ b/documentation/images/new-session-flows/pwd_changed__new_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.COMPLETEDSyncState.COMPLETEDloginLoginState.LOGGED_INLogin Guard to passesliveSyncDeferredUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/pwd_changed__old_pwd.svg b/documentation/images/new-session-flows/pwd_changed__old_pwd.svg new file mode 100644 index 0000000000..300fa8f899 --- /dev/null +++ b/documentation/images/new-session-flows/pwd_changed__old_pwd.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGGED_INLoginState.LOGGED_INLoginState.LOGGED_INloginrejectedConnectionState.REJECTEDConnectionState.REJECTEDlogout + failLoginState.LOGIN_FAILEDLogin Guard rejectsUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/sync_failed__local_login_failure.svg b/documentation/images/new-session-flows/sync_failed__local_login_failure.svg new file mode 100644 index 0000000000..1955132651 --- /dev/null +++ b/documentation/images/new-session-flows/sync_failed__local_login_failure.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDLoginState.LOGIN_FAILEDloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.FAILEDSyncState.FAILEDUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/new-session-flows/sync_failed__local_login_success.svg b/documentation/images/new-session-flows/sync_failed__local_login_success.svg new file mode 100644 index 0000000000..cfcfe1c39f --- /dev/null +++ b/documentation/images/new-session-flows/sync_failed__local_login_success.svg @@ -0,0 +1,4 @@ +UserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDBloginloginloginget UserUserLoginState.LOGGED_INLoginState.LOGGED_INLoginState.LOGGED_INloginconnectedConnectionState.CONNECTEDConnectionState.CONNECTEDsyncSyncState.STARTEDSyncState.FAILEDSyncState.FAILEDliveSyncDeferredUserSyncedSessionLocalSessionLocal PouchDBRemoteSessionRemote PouchDB \ No newline at end of file diff --git a/documentation/images/routed-views.png b/documentation/images/routed-views.png new file mode 100644 index 0000000000000000000000000000000000000000..37beeea660423abda71a722ffe44223c56bb7a81 GIT binary patch literal 79709 zcmdSBWmuH&);>%LB3;rTAtDlrGy;R9L3gX9q)15&10vl>C@m-*(mi9)2n-Sf3@}O# zImA#i%__>IIa*85z#!*RyQOfB1IAr zktkm#C;UaC;o37IqA;Qd>Z-=CY`41XTsT1>R5{gm>yu~V)IO>A$)Ya5WKjL`dQN?r zpTy35ng8`J{UobJ>Xgg4jLEzQ55uhSM;#NpR~e-=8SwU(aOO`y>rX@3BJ<3VYs*29^hDs zH4K>l=ZDEmur;hmIPTv+Wqa{qy8m2t29Wvw&n4kF1ycS(qyIcP!A?({_s^3fVV9Br zxyI~At_~>u=dE|IktqDnip&~$#0=1z|9R~Ob-m+UQyh#);X=~L-NoDCzOXk+X) zyyfH=bbkEn)_og&4|n%pEg)>m^Pmmf@9)vSHdP7grC}h> zRDp}&JtMM%gwlZdCoW}#ENpIWlAhDL1ZAIn=f%@Q&an{Q5G8_6%lHV}U~kYc(_M?3 ztu4>?&CYj1KtKgy${J~-*aG}|0Xd!Mm=pHtc^?^iosl@N80e`F)vwEZqj*@nMxToBC0r`uW`dSJ zBJ<4_x;P8mT4cViq6#+)b5O2jp2nm#AC5|5o1fFU>lGw%(iKBl<6Ka5H3#lp57l7f zWm~j0#laUM=#n9WJ*3DN^GB`3%)bJAm!CYY@t7Q&e*S%qbMEK~B=(yLcb(SoSHI%3 zwl^O=uVI7w+fh&9>YIL-R-84MP2+`?YYUsl!@1{n8bfAb0h)h4=!yi1g7noqX6WXz zpSqJT+kt^PaLQTWSzCDbLz+Cb!o6h~gWzzJ=WAI0{9EQDDGI7fh zlG&M{V5VU+7UO^);Y$gP?f%^Fjfl*#YV7NQG}#Pl`?}=sgV{fN^%lnObGF2}&|>>{ zyF8lot!fMR9Q)g;+%N3H_!R@RybhT|1XNaem#`Dxjk35BrOj+4k(_!Kd1%YB-o|zX z6Yz3_b@wQ;#~;!P+P$_0dC;c*sGTO z20!NF1pKc@P2ayVb3?ijNNI8KoMT-}`W@aLSk2#(uKIxFv`It$C$9+QfIl zUuKpwa;I+Tnaz#`X-Td7u=C<{rC(!s6ncnf83S}+pOB;)_6roF?5%wJ z)~tNlDa1>~Puzc;anoBde$f=3)JZ)+6$Ff(LaKjgR1!;=^86GOe-CW^IhT#1`G|B zqjyD2{T4D(ySBRlOLQL$>o!pWnHIg!%cNX`!EfPgM0V&K&Qr!F~xa zOSivXy=ZUT%fP^jc{X($pt8X+=@%y#VCTtX=KZ;GUNu-L9!)A6ijqx{R-ZAAl5T0~ z2442hQ4m>(ck3w73@wiAeVZOL_TX%_l2I~#(H3-t3j~S$IiK#sJ8__0j2>yRwJk^( zGjmMPjX^|-SmHA;^DUlP$X?i}Nauw?`-+5l%BFM(0`^1aZJde^rHFwtQ9l|uvQarM zF=V&=EF$WR*YEpp*N|^J4dCF1ef*33H-CT`&LMEdft0GeWPY(EqhPpctUgx5klRY! zs4vt6u%8xovJ%9q;27AnNwUFe*smh?0pn@@n!AX45jB!6SHPp?Umew}OL~~dFKO1( zG*{mK#H%RCEbL%~`3fgZW_A91C^ax2So|-8pa4IXo!`T<8?}VnWS$W zPk|>oQnEdMv4V>Jkc3%NCT{p8^eI^y|9f!{8R&FP(F-_0UGKx95Nc|OSxRi>NVTO~ zIu2OV3Wu;b2B&I-=xXhs`oatu2=1x$3et&&ogLx1YB1wj)MTU;C@;Qf%yr6rjKhm2 zJ6;P^jP1seJe1fF*^$az!M+E$KG?eTOl`@8XQ1tJ0{r<$uQmO^dHp@3sW{GKSKu8_ zhsUOkwoJKrYS2aB0VqWyn@7Bfh>c6vn z=F;Rmm;BggI4K2dhF)zY=8dVYmqhiiNDZQrTWcx!7P~r|Z*e?pAu~q|mV>tvL5z-h zDmS^A!?>h7cGE|4Y#66?T~e;|)B99mdm7+-#(hIbg( z1j>srPQD)Jvf&;F>{OqhWrppFa1=xnx9@^mlQB=2j$=A?LBr7K*G9IoV_T$X9Ql5h z&R1X}|-JocXt%%}GTaG8a+QjuV6sWK+-4SE4#*Pm(Vc3-jB ztijU~xxaI3v~!-MFuC+)L1wYtD5#s*H{d;tLWz;#3rITl$9Migk|6k3q0^^}U83J7 zV~Fsg8}p_*i#!XmL3=POA(g0CL$6`SkLPOJq$hkoY=r-_f8ul`~xK<*!~ox}y1$EbGnl+cH~uo;8<|R9^zz zOo-|wO1Li}SF;mTc)H1n<{Kteu{NZMvVIdSgZ)3SmiG^d-CNy!uPH}Z+96&tWmsAA z7T$sjWpiF%cJw(3kZpI^rEx2^Lu`B7)Z;q z7QGcP_4p$H_*b|FG8NiAEEddp;`s<>V3qNUV^i7-eI``tI&q*FzGQClQNu9fl~DLy zE-pGEOmo!-2FivVtUk1f?-$}hXx`U}q>9PQ7UUM=IR5Bm7H>NKm+EV5X+zhg=H65t z%9XgjZVcbQOm$m4)VH}o1*YG+iN2M^tC$ceb)`1f2^-<4$VP+ws=7#f2~Aqs?0!A6 zmCvn8onNs4u=+qp`aQ4Q8uNQX7Nj6wNL9uJH4n64M>lVQ=Df4xB}~bC{agm8Z)a)D zQy|xe@vr2!@=U{aD#fyt#S3M5V|_+T3^G1*k)d%(uBQ$$`)n{q?FC)FrgU|8Pv*kt z4$VN_;eOf>whS>6aw4TCShq*g?8(m=*aGHD&Ik%5@%84Wo681``m5RaY}Jhi^)C#5 zd3V_K@Um?ISF2|~L6@9sqwRlEw%-@|U6B_F`iUg+(7sa~FijWiAV(qel!=(qcI}KbFbL8o0h$a zmG0640^BkjVO%C9M1@v4?4?#eOC*kBfN}M07<~X;Kw?Eg5cwh4966=SON>nNDAioR zmN5t|1c&WN4Ceh7 zP|7bgTW;%z;f)A~r~R2^__4500XpyIQztH^gQQ3SbDGb;X3?N9)9sM=z?Mh_9}qhOyJ?pwdHfV=p9UJ~TU3D=^vS7rZ? zb#2JLQs1w`fvXf>H?hVV_)wlnJ-($g`P+Y~po`c>$aq+*9`QkYQ27;QR#i1U2gSw$-Sfc4Y92ifka)GMAElerrkQa;N$@%LFZ*=6Y+&n0KUS^R#FFV-WAQPY3e-@?pVgb%%Fn-` zT|?)bKS;Fyy8Y?jQNXb>=MC9_)&km2W>(^^>l@UMk`B~!BFqZ4h*yrw&gCI?4%@3H zXFt`?9#+W&4L6a7dDg_U-4R$!Rn*SKl}DXDyYirA%BClh=u1?4Z!L@THEXmkyBIOF zdFK8~DC3=(#r{gwmW_TJ2GD4!!CZ<_g~jJ%(RT$oJ7q{b9hh$s_cSaNs=3!5HJwQ2 zTYQWyytjy1yd~|cZrw60^zhN*O#j!lfrVB`jsgR-^XETg3lceH!HbNhySLCxEv5-vK@5~ zvSrjIiq%s9GD*w7%A0P<`NB=D7Zk0a&c2n*;=oGn47lf~EHB%pEshho2D(aF^DtrM z&{ae=Ni1%2JL#2sQC;@^$62I&u^!!R{0-!cbQLbi?vgjt#-r~z?|ytwC>b=ZVNb)v z@jLFTshw5w5ohJ$xbBA546WgF(GuvNRG6gw#aa{m(9twt;cme0<01H}6p>9Yc|lW~ zFk`&D^zkb@x4b93z6@%Q;>T>~a`a+fITbaCmo_nj>{#mX_C!wzxz3!^P@?SqbQWWO zjjVymxGg5Tb*Swps%^>pWU$um0YA2A20?dL_6j6SsDb*&W_s!ppJe4DG#gr;xXP)%va(0TbK7SP> zGC3cOd_SSJo!h)sDP|=?~6Ft!T838DJxqQaF%tY`Sh3> zz}FLUt#WxF|LE%f!=nCwM0n0YG{5iz05d8J;kJeyt}&*yhi`52Z6c|>{wZE#!jv_w zXqb7^$7Xr!YuuQcv;vJ)D6+;&JqRDM&QH>gt9i54;1n?89V|ej^Qb6%2tRnNzIS{up8R1fHA(%xQ#l& z#rA#>GwB$A7fIq9BuUG(`Q7~>@vrUCrA1z~B-Fx)go`rvWLxwh+zBDGs>^<=_@KK7 zGu=dHICOmi*d%r2PrR;pT?!(j-@fL~3dzto&5I;$2rp{caw7l4UD;uGQTX=x`F8I$ zv@mU)#lq#&fpB3^c`^E0WVf_8{+733*0Ky(GFy5%tG+Dc_SmaTjs5oN9apZK7DFDV zN%jHypll6SRUWPUTZHnq)asGn3#g`}eBzlVMP4%nL#2lTr~Jnn_81p~ zI?$DwCV!B{CzZ?|@Ezn`jv`q@ZKbNB;wkxK1)m{#Pj}U=^N&$SwogE#b`|}xn<5~z z7*-_fQ;LP#X|uF})dPWp`=Z#5h4=uSbW~h$P*+$KCgn+Smx(XR$5^Qk{arGpVXm?+0&njjzHbU-BQ7Py5*Pg84TJ^2~pkcbXAO zd_`_nRPaTOf4($t%Q-noZ791aB7WV|F~!a+>7Cl#eVq4|y+;h{)C}LRj`KTVh;YTP zYBfX?h5}B47%jYOcDyG#B$`1mMN`6?bI2CW^6DK;D~p#B-Pln+@grCXdt*;A{VC{P zYs9Q8M{MQ(LhMqf>-Vd7T92l!GSxl1CKDl3oTrNX`2(!SvT7L?-Ah?r9_c-}Dy8+F zz1GfxXE~ni-|;+eUinwAv41q%yscu|b0;sD5t6F<+pllN$)W1_G{qwcFt+n(9R<=HZYzk;F+rQyUczb9ExZn5hBsm)vJ4QGaTtBbwR+_Z`k_+QbC{AS!@P?X(;~I;%(h9U#CJ-|Ec0>HioT|Q` z)@>_eH*82}|0$*c9RDh&S3;>GD6nz|k1VKf7c(PgE+R|{xp}T$+E5yMs|9HU7s)Aa`@25X$ z+anIf(Rl~`>7e(ol}pv^gv8S)s0 zc+Glz+!bJc8WEwDb4meaYu>bv3D%lN1|4n^Y@Cs*2sNMg;+I%BoEDIE3K5QD<6n5s z!fuo;62)@0m_I6JdhN9>0dnXX-&Zn2p({z!7V{FtVKz@1_1}80#l0$(=~2A?%xF6@ zMrV;*SDAO;TdzBIBq=5X=J;cvxZOl+$k%@B@#CJ>IZGWbt?msL2EA^@yqTBw&>N>a zoBgdosG^&vdlnoO^RCrEU9($uNtb2yOCUE~G0<-~HrjEbdA@$cHAcmo?^JH@#L2Qp z!D8y?{5wpdHsS%_!Gwh=7$thEo%fof`&$?r>z-_jX+Vtuo@c;q4y{b&tKYWWy;l^o zw4V>lccf=pd!+1xaxOze+#cN_N_0HkO4FVnR2cQL>h6Y13bij0QzssVV-=p|+=f*5 z-T5c2BY=*GN&&Z+Ww%K?&RdLy9h4vQrPLXp#yRvy8i5j19)?K?+R6PYOY4gv>Q3aT zs&IHD9z0WN;SEp@PooMx#FAWgUc?RK!EyFOZ+6Syx;GW{YVeDt@r}16lC8Uuh@)C{ z049O_w|9;iZ@p(TL-p5pT*K-Ls%3Kl2IwYaHir0rgDqcR-rfQvUwe5yxun*qT7Xer zhsp89+mdD?kL@y{9saRISFliGrndVUe@rzRlkw1MF~6UVKax%@iEq%12|DMtAu<>| z3JAHLJYkK>pROOkRl(0DyIA)ZPTua0Y%*S{Y~q=q%GtbGYC58%`)@C> zZ`$3<=*#5YEn1+6R0d?#sc|itwn@&LWV^ zlw3@=>=n~7Tv{ZY6Ej8<+A-wd&HxeE_`Vo^oHK^C@lKl8GzhI~wecPlEi?^v*$Pe9 zZytL^ud!@6@|=NT_4wM41}2a!PydwRB1*5zgLZ+HK4&aAV(*eY?lzq}(@x8w+}{C- z3@JI50>wD>D?GOnyu&EcMFwr4s>gI?KlFV4tGY9TAy$`51N2Nl^{1JAQP}Rw8mr<3 zrK6_HjUD^b{02764}K*61kf}*%w4^tJp`QpD6}FJg!j02vU5*Qm`$w9tr%CgwtANm zAwJhGjcnK6I_s;GonQUrIsToA7^C>!eDLE4;@(lA+0h}N^d5!hH{sFiOnR5-4VIg& zgvI*>C*@5yy{iI}JITB}%=f*%V+7q?H_9M2#Yg70!4jwUFo9&r0WufSH}5K8Ti94p zhVJEIgPg=oUrT+|RtzuL5E5Q>?(1(@k!yb7%>oi=w zb8y{5;&#;W2h_BuwX4co@6O}8iG~2s1WG3c5%FSlWL_)u^C3bJ_5F3nFrbQe^_L7E z$ciG#C+08jPSAnBsdUE>irV6ahlz<{23wiZcA>ADpldu!27s3P3$lp}4Y)5)25s8Z z9pC%ix1*8_q1GY(lq%1fHvdMnVTKNp7~S>e@qKqe{-ov(8OrZZ=067 z-ss^lybu*|x+`;dd_^f#rl?na@=0Gx7Ve?SRR-Byj;_^*%wsGTx@$asZphAMxfc@4 zWzh9oi=m_P!w!y!sfqiIwf;!t+MSOf&i~5IiQDHqJ7Ttm%U%TtEZW?mxBKydzi%pK z)8s4xFdp5VE?-Ph94uyRYPdK*sZPzfD}8}k&~Ov_PRhw7Xg~tXUd5}+g_X)kiI>`O z$F})qVC=vOBS$fLwokbHZ)q0ZU8MO7hkO3SU39bCv-AMEi4oq`I=GVmLF$%mI(tHw z2)Nz*<@6~X21NHwS@9AQ7Kgj*A3_J9JB2H}$W{9b!^yi$DDrOGUu#iv$ZOOtlx#=^ zFr7r$HmJ3j`nl}0U4_=RQ5qee?9`!*O_;FzVjhJ9pL~~|Hk!dX`T30W#d0c>9>>w? zvO*E7Q3$t#&m3OQy;ZK}ezZ8e>6a5UYsJn+Qesu29pWc@Cj(B`!Ro1#<8S1SB4sRf z1Q0>#fIMI8^K>pCF9aQwv)^Wi0$mdTck#?j=~zz~C|qDaOwvjXR(y5#yZI@&wzxi9 z^YKyik?ir#!7&Lszgj|P0=BO`uqV~6xL_u*Wzid~^xFLPLI93tPfn`vc(Ka)^p2sl zU6%LR1FqCxK8m}~8c#e@Z6c%c>@vnEkbDL6<-|e#h^g=;u4n&b#7Olp@wX-6988>v zr4|9cPbg?9z^j$213|d7XrW|2Vx^*ZharTux8Bj@j&y_Z!2379!EdS}_I0XZ5_i<^ zJ3$8Ge6WD2gPIw)_Mq%AaaGItO?>vtNs#qa6>pmGAcr8ZJYk=^%WR4NtL^J=*+hQt z*@Ag_qUPg0hu@vgc|wK>aI8RnU*PSFUKS$&^{o)nY#MG>J5%S;Jcj?tYt*jOWOoHR z$9-f=2^Uf*=|F%ZN22}D%XTPqb#?*c>opLHLiiuJMCKAGk2_(=rp4gpQWqq-z0Cw* zniK{;Cn!j?aI|0C3?IC6Gzngps?6dQ>X2RmOE#PK;BtNXsM!4R5k!U2f&MQG#!1jA z|0mdG2~Z=lnwXxaBjUTCBQ%|Fm1=J5vAql?=D|{bd|=-W}3r$ zBjFd|&|9K*0#?WVz@|&FLo6M2oj!xNn7I&MVQQWPw#6Y;KgB53I&AF`jlCp)FJ&kk zIJ~gJ{6tdOmhrPNMcP|bvG~Zr$KPNhiuq$(y090cS1TTI@WaTypyH;VCdbqfp!OEe z@`RFOhWomAPxUj!E>9~3?e0iU?n$t45(vf9{Jgmv)P;22L5Sx3Xm_U7{}sN- zk>4`4AESEnlrtHA&j_a_ZymiSbp+4?d8yCTrl;SO){$TQ^YUW^nKgzH8z;;rAe|{=*M6lXH(vX@vzx z*J!S;iJJ{SBrRS`Zf7ky+m*b59UH{DTmxHc1h<5rNe7P7NY92&uX#`X31F9@bY#>6 z>tBr#FWHS4`#mO1s+|Hv#4BUd5)v)DW0m$Hl1H7pJv=jz5Q|XcOU&KM>6c>T5z4n>e7JLT8^8*J^WN$gk6}X|HD#XD^zNv3 z?AZo@=o}K#4|=e!i+aq--$~jt@9$-F+SN<6`qVBS-*Uk&=Htra=4jM<^qLaShJ*CC zJ??IuQK*H|-M`nNAEqoig&k20$|(j}CENeyV7kM00!P)?;wjyXdAEU_t692s2N16& z(leqYVn(^=m51A(T?X8?sgnjnxQ6z3c>E;X4V(-Xo_uS*QEQTmsQ$#B zbDS5<)#+)WcH=yFZq3{DkCv#RHkIa2Xu-vyl>xtFrk6Z@%pZStJi~+}v5GXML55)A(Fg*}ju8TsjwWDpZ>vCbjSb5vqT`E z5D*97Z2yZilmYrY`{H&#u8Xcb;nFyvOdP*XU{Cy!C`sUgWI(uS_Rb%1N}peB$%Hq7 zM?s)iU>FuW3R~Ht@01E0l~Hb*aJ1(uV+F`Tgx=O>zdMZu>(4_+QVdN%=)uhkzpM^8 zSFTY>@m_q@AQ$4}ernCQHw-vBOz}h4{S{srpmYIifsEN#wLBYQr&u@764*o;r{9!Z zv`*5;X1-_t;c0+)VOf4IFaqNPp&(s6dEcY!b#E2{rm_DoSc!LMwV17ONM7oQ0+#n2 zL;)xupe_VH2O6~$OQe9C|7+PiHt4aARQ^gzJA; zh9q^j?sR)O=)amb*xU}d?r^oCEaVDLN94YecW2YluRxm|MaSi=oYg5@c=`Ons zVI^%oZ=EU#qt?rt(fdg=R$f!;@4MSn`ZxRe18v*`q?0BhBrP-Ndhg>>r$M%A4l;4w z+su*@mY-Xwv?W-e(+4At9}Xpx(Zh0!u(#T^#$%XSz|)(Fi&j=1_Fb7+=CNH^JE1$< zR-k$G$tN-M-cBAP$D*yHS6sa)Y;Ln|Y(e;%&#j#W74PbBtmqKbnrZZzs;wGH`HCb5 zik8%usVSrJl}uvzthdkI+L~JN9o2)jX{S%*4ITK;_0ulOEO3 zYkTkb(>+(G&(?3HFCwiqzzkLQN-GC^JRKyEDHaz1>E9ZRg#-Na3fjK+zl@5I?x$G^pY*^Wx#b3xpR zdE^^z7TwO$-35*9aOq4M7qg2hwy1FiVBZn<&4ZLdDRR)PZrGN4=27+rd_LeT?_QB5 zvpnmIh~^&5NmY3FcS%<`&4ev_#AC>VEW}yd?e<>{d0L=MQfF4efbwj1Qg=18VX{aW zbT*&GIDiDDuJDJpwC3A`%ZZfJX(i+WEy3!D&C`@Lrrqr{y$z!Tujlnxv>g!8iWAkmax;<=?1v*T9YV3<+5?Vu- zbSIC;_Rs$IrR;?{E}g=KyFUv6GiCFBZid#ouJ`B%K0fw8ljcKFk=XhLyx>j!QLUaQ zv<%LsX>u3*^1e(o?qE)|c*$xZD4UVe<-vCGFCSAtBP7aHs0Jp5u zg@_rWVjO%v$i7N_D6@9p((brUfu?;Z8wA+o`mVY3lsZ+LF6lc_dlw&LV4dE6+ju)* z=9pLw`07P9dBxjflk4lA?4B9eG|kC?1+ysPN}*kapPb-XIr-f*>!U%7sVw#An?rp? z+TFkhpC1<`Qt#6}0}Hkia&TgLI?f2k?9Ueoojqwgc0{N%z!(@7$Bz{z{Z5fn-B(A* zMuD|zy?Up34W~un&f|>Vl`&R~{sl=cHXn(UUiVAeof)rO9a4XMxM(iRBM!@hAXYDZ z=H$0Maa+?64JN<{X-oy%vKGXcaJo`SaqFZLBBiq?LKliP9}6ONm;P)WU_k^`9A$(q zMc6 z>iOZkQ|2M37D3>8&T0D?KWzfs9JWz(45W6E?OESKfA=>ERPrGvAt$cSL9Kj z|0w*@WQfhYnn_guFPuJ>hXg4uy!mK{BA!%sAaAH}b*kd{`qv7-m14<<%DVk@#8C-NJE;4-g;t*I`(;@B@xH4f``^Pb=H6${ zH>}9kEt$);948QdPfiQIUy}R_ppztYP}v(|sPw1Smj3kf-`zJnf*pOWdOh#fgU{Z* zRv27}oN|XVdOE)qPUgr9&?8!?3Io*6tc1;Ttn>^5&No(<*!X=cCV+&Nw;G{y{)!sV zqWB4ZccL2z!KqNtBy~uze9M5N761%@e*nKt8>}A z(0Na;{jMp;&G*35omO7c&9#_P`r=bt~T)z|mO;Y%u@Jg+p{rBFgQ&JRYa1UQ=$;zVt-C1Yp)n zTfMvE>$G6V^;+eZT*ouze_#mPF^1TfX<1gamu+t}5e@gw{~I7<^mM#Clz~_6WuD{V zglg0a<~*nrTGxI15IBZ#xc8*CR}QLD=PbKNEft=XxjS8*is1>{0g7IpI-+o`jV28u zZ5z@e3Tlx6ds#p$s8hdMhRm$(Lpji-thw_-+ZER%;E-_}#D&qvf5uq~{*>#y!06Jd#9e%m}Q)=!FF zvW62{&cAwXCq?b%HiMsG;o#NPa1Qj~_SaP;sq$*W0UYyF9VnJO(OHuJz^?MMkLO<* zzj{~=`OiJNRv)NGP~aH{I>PgyXX4;WeHK>=r<^m)BmHVFhagDO$&)1|L*O$?5jZU% zIkxdgCNCS~3ED#uBP)3A$uM2E)eViV;v1Xi+gk!@zMyk$KVJT5()Ow`gX&8p(&*;c zr1ebrEw#dd%A2Es=Dfa+Gi$bH)vO$P=(L2h6<;ou8fU9+#}2r_-nH=YUZO$4`%QuiY2tJ+h5XD5!`HZi$TF zRB|S23Kti{FXa+J9ch}(jCNFP-Arg3S3CQ3xu~RI0ZV$U&}459E#mgOpRKqeTTHx% zyXx+wlLDb8xjZqaML+CtI^)R)TkhrsR!Fj(GpZO=;<@*oztdO(ICZWxQ-vv4bj5g5 zWvno#$&#^Qvn8U*eN(9iEU70$F#Au^SbVjPJgz=?vT9;=-EJ!SilkXCe&PyPC2s%0 zyO4<-k}8~JMA_En&e!u}A~dOdf1dl%djLLBo6LhMPxg|uPU`R4uFR&d$zN%)n>TOHxj)q(5rV1x-DXA9?);XCQ7jf>+ta^0_($ z)jgzH5W)jTH?_OAfMFb%3kA~_4$X*c+%~DMxj;%JW?{05NG6hYjt@4yP%8~78{wvf ztQ1N01k2}g@Q@5?D1$o6G`GBW+1FLiP$bEZ7)P*f!NQK}OV4B(p(}mLpq6*Pgm)HE zAGzq3RjU>Ka@&^D5r}U$(G5(;b;1 zF%q4y&s#Y+)-Jaw$9#OQdo<}&(o9KUQ+U30_lj%yb^7}18i;_;3C7oZJyHMS^?2m& zPUSYT(?3UGMhD&Dj)Lu8|roeGt|*S#U!p3*duCcGm z;$im|HKIwoC(pjQ9Hd6%%`zEnU}tnj@C^oGJ3VRIh-tP#RRF6Df;lw}*W+mC>sPCO zYPNia0^^bnwvD~VdPyt=eMF%}^w)Mh}Jf_t!yWEcQ zErIU--7bB_onBwheufA3huLS&sIFB?D}2D&X2Q1TDP|~a?xw(L-R)`G?4Ejbz}gi# zTDNU{?!h>UMAybH++i#+F8DO&WF1hYxKbRn_SpPJOm$z=c5iv=8l$5z>ilU_zm_%p z`E2GLyUcSzZ~vG{+=*yX;Mc`G=f6%u4iPRmur_v)hP&6MB^D$9605naD&!37*NTelCOCv6 z6K2_vqkNORafVG&f;6Ih%z1$z_Wv4d5W0e-5X!CIry&^ToWxPYVj)Y@X=9L<5~fgT8ER zYc07?~v6ZtZN($z;{5f9j|tOsoKq1Sy+6<<3o233kh>0QU8WHFh$sl ziIcre2!3<^4LS>Snq^Yd-qsfD+EkH=TQ9&r-<>QJZ@r8}Yc!v=;1nSTiZ<7>&T+r# zKry^Hq}E9#1as@`rv#4icP?QtgTpi< zmE0lKZ}??Byx_@0eItHaMlCzzbAs5F7^1_~;T&+Q*2RMunSTQ{b`C>Ac`x5Q`zFuA zOq>TU3q8jxWoBhff+*JrLof)v3sn+WEv%E0lo|9w*g~d}^1_R+JghXUodCRhbI`zd z`aw=k_@<6t@d_K;n$3S6;8h7VrWfk7NO|B|Z7Ps!WWxYmk9U=)FUeKV=~X)A)RQZy zS~m6v?XiMB^s0YYf8O-QNB+}x;2)as#S%?bV&{`~xJmI`=LU9RG0pdkCVAg}FCBJHl_>gn&}hjz%nI%|xNJIDu<5ls9(A=|ez9umr5 zdD%uc0y=6axMWA{`jEi>lqhnH=bJgVmT^1&byli^d%jzsBCYvvD65ZP1mKuv535Q3 zfzy!{kcE%#r9aP{|DwYKhOJfQR1^t%xtQ}wBH&y=2He|%vyY0xl)rO1gf4y;d#c~7 z^zC$pffy&){1mueXg{kqmFLh=?2)r5XD2$XHkCM>89TB@TZQA>9BCuigdg?5>I*tv zWn%%GakNI=8AHm0jox0(-GX}>HwQqxFRxYqf^cUm*JjQKE<@bph2OhtsOQlzK=pog ziTrF}P&dnt*gR{V+vee}n@`;-^fiiT*1sS8Wd39>h>HLTMGo%#YCpJ0jkwhaNBKO# zc{G0v9eHq}O7inIBV)6dA+LWy*t3;U_-X`3Y$~_lj*eI%0Tu!msGcsR_yL>8Lb6po zi^r{w#FM8JqR_Y8`j3Y-jtvewa{XvWjP8LujSMZZl>Ec z0--me=iVwjuIt?U0&ozI$ez*Meop(ohuQFv1+y$1xH}tk^9W?TE&T}L@c|>6yv1FI z+h+cG{8HGn@d=H53u3CWQCN-nGyuF3%spZEs_&sdgW>&oGb67qF}~x^F&G$MA3SsO zN?GWBriF`FW(p+Bf6xySw(noc+YL!inUE694?G^!^wF_KJY2ayLEui8$0D5-Rla}_ z1B(!x*SP@U3#ZQz=L8b_5pO6P^@F9co#efS?VfPSF)5vbiu2#B;Slhpv#j$QY#AfD z;#Ui)TfW`I1cJqya74CZGI3~cc%zRNOL4`bfaNy%+jj?;{L58>ZkOM2?2e6)wP z$P#Xl5v`@#xm|I&X!S<;>j3udQx60OGUqQ}+TD!NjtSjVeaZRhQr-M;n$JS5w1c=C zw6=r{nWZ0UaQ}BGNpC{bNyRoN?Ab5dD|BrZk8-~6hOU=_j;+abX z7%cpo;@a7fspfq2k4?ZqP)F>UiT5@vp4J@Iq~GoV$cY!gl_AqNJ*~HMLdLK!oE8w(uMj{I$$?)%ODtur~bcKJ(s6kX^O!fdMsxSnNJ)z)V(s z1x=C)x2?~@A%QF8M&jgUW<17q93HBI?DTOzJNo8)n&XvyF^K`Tf*+n! zrYmDdpBA6qi{Emc4?p?vXY`CetX)iXI@2+Yw3h`sci?fOMoCs;upOCsXv9Eiv4oq0 z1=wcVi`@h$#?3X81yCJQ7!a@BOjp6EF5KU)Aqo|UXb(<0dfVzl*I`2<+8B`S63TVt zy>v!EsC6_6_La5alA9o_b%)A_mc+}F?vIX+&pZz7PMZMr;lA4`(ZIw3?r$)TT z?rdRK-2&4)i=^rn|6FRTK<@=k$4$|Egkf^N@~-2^>ov(Rxb|5+nEzolEa;rY<-4L3-yhMe~B66`e-xv zNC<;+|68^wazY3yq5)S(~2k`6wb$ko1br(x#Er#+lO#V>nuvA_0p|6iN2Q*eu27IvtoY>5y zF94q1Oho5}-VoOaDXwZUNY~i{Hl6RQMatv=2DXE1uH7r*3$oueFLxv7ukW>MR(O%q z;6}1l{p3`fKzf*PxR~h-A`v3EbR`c$I`bu1hxw|n^RJd@4PzPCGA~)^w77uBNlrQZ zgIk2oq^MF-k(WqwZycO=4$*1d+9cw(9$frQmM3l-P3;PV&mi5+^jizmAIrRjQ41Ex z&_&t?8@+~9-BHoUt;NH72)&GDo|RPI#c%Ba_c#xO7elSRYY*HmmCIMxuG(c7#Pf+^ zVRZ7Qp-mfKz!s{8@z?OnG2+B)(}eIUc@cM%h?xjImwZAaqR-2O^Pc^+28MSz)``kI zs#|sN$McmmwpCnLdat}d4TVlyOmql*3D5_ZmlIF53pCv7@Ocw_d&{Fm|BCzCfh}i7 z2V)9Wg@|n4GLetJGy<;l0@FQIFA-Te;HmNmV8qMheraj;6SeEU+ztj)zhjMH;1!{5 z_POok>kvUYVsnk)rv@%sK4>yR1^GN^_A!7Ll2h*lcT1bM@ua-X62`eFZG@=4c0C;E z_Zi^_nHO4=9qJ;U+ft~nw`+m(c6L-NYPGtP)MN(32?JD+0C*XMdnJd@;uD@EBMp~RPjNy6y!5HmRgA7 zbwH62I#U1p6rOn03@IZx7zv$N^Q%AfXwrE0s^**7K zJ-bqdgi*PKtba*2${h&*WenQ=(!cW6;CI*dRPOeyo}-RG^-Px7y9$|wsKfH4Z#o2M z+G1jUeVknMi;Bb-JBZch>y}ePT1MwRUCbj`Aaqau|P_Ng-t)xwJV}50va@1p`m$7Fbg|uWGG2s_Ygx z|6hd{gl)@+96uwm6^KzMGw1YnfLVPedn2@R&6|Oy+|Ov3)V8&z(&Nl0o^JL&?&)Ki z4Iv80A+UT{Q|i^vyc(gUAgfZLP8iwT%!q8tTqwn4^aFM0y!xB*+r=#}%g{PrS3gtX zW1U0ko1w1=g{F-W%JQxr=j{lhovG!a)0qY@5}k9KoLVaFVYjZAl!bb862smrhBbo z1g>e73*R_$Q~A&%J>Z7y&qn=fw}+d;X7KKz!EGbu|JQbtVa*;(S}GU@B~^-ofj~l? zmz{7izpY0Y|I02Z9VSEXS&{^`#L6i7pU;ir=DysO_acC5Z!hTP>y!lFHI8m15Z`Sd z0nQ0kfnv~WTIII~PJ|97`$cY;A4YlcEQ)irs&<`qEe@ml(d;%69)=SJ_cE|6@vLhVck^gStv3c3bw+$2t2Fo~b9aGf~QLf>#O! z!2&RDEN$?Sy0jK5m)!BwV92J@htW5G$$=T@LICg;#7jS2wASon5ZZi%1Y|ox`c=Y% zndT?kmY?;MyqgR!5#vZsQ_Rbr{kqS%zCto+CH4-hcBFDLf*nIJU=l$dUYebA%bK zJw~M9pj`y^@Te9c+m3Z>xm9s>Ak<8AM|EWHpy7qy`cigSXn071dD(EO{wsT0uB8s} zxHAd#|17DPlFmVO^CRkGudQ(1*qwDr8Gg-Y$4EL0z6JbxJ$`uWDr{B;!A zMY}q=^+q#Dk$c_Dxr~Jbrz2Eoca5(5o0Me0-EaJ~3%dNF<*cOXO~R6h@{S?>0tSF{ zZgB)*H~zDoHv;SoD-v}pz*8w*KOgBfS*`pAQXYHwF2D?eO;iJ`Uk_?>5045YJ@{w_0i6)Tl5*fA`$bgK#P5z?$vw{6OjaVRjj7>H1J>sa+f z0D{fL2{T{M0tw8o0KKbu9L2xxY;RlFlDiTT)RmgIFy2mZ;jx(S!lVK4=3s-ZhDXPx zyU>pa%reiCTJV!RkLKXD6S-H()e>OfjY~v?_<^Qc7O?*i<53&0ZF3afp0B?C)+^^W z3hl``43iYfFvvuq;a`tUO5flNzDr}z^TEq&Whs0N&igL(V_<2 zs#i{nf?xvc2af-;4!s?Lw?FgYdQ3LLNk7)cwl<@0ropO73=hIBg^pW$6S+iqyWWf* zZc_Vt{Gpu&3%H;tL0*!hAvj^oYw<-IcS`~6U%h?P{h?L&UZ`sCbcPR2$*_y}Ro z*%VyQ8P-voseT%N&gH?(I=2+>$8y))A0x~Jl}P#Cd!Kk@plt!mW_RMEWf-Ltt!CsC-g)qFfPJT}G17CXA4%Q=lw_NL(XO#1C$?H7NMj z{V*3*94MH-zo#kjbiB4C1^7;F)u}P~9?q1~5~HcN}o$#29;P-}+8>Z2}P* z=w0Ks5UQ5#wnYX%1_%{tc;+rPz z!MW2F66Kj|M|MWLrQ`6HnAGMW@}XKHi2!9LODwu zcl_>_C$NNI!QOZA-Mo+3){ulju>ZJA%mBB{P3cXb&K!+h_1M=e$+Y&Y+;zgV+YvcQ zeYWtz#&zJV4r|dTJrd*~UT7_XKth)Y!Oja8O?uEi{{Y^a+(+Md59H-tH53kT!)iRk z^|y#K68W~F8f=G1aJo$(`j2@b62x6U5gSh&7Tebz$!XN*%xp|n&D0-_bifvru>6^A zv7NHF-_GKJU&{{-V_SS6n0z?g_U*)Uu@gdi?Dt~;1VGD4MYlZhbY_9#fmnE&mA&GA z9)2V7{qN548QFz8v5B2Sa?^Nacl5|zMkv;;QoyXfEOdw1+xafMay#>L=luU8?k(fm z>b7s;8qlJ}9g4fVI}|8Zpg1&W@Zt_F?$Q>w;O-JgkQR3>1b252&YPa|+e#d8&bI#3I94G)R;u36AGmz!kF#_(6mrw~dyOZ4aH-;PjR|Fu8jp6@&g zQZILQ_*mT(d)$5=mEAYOjX4zFt4iOwzEw}(Z}Yo%LLAFA;4_D?{RsVIi8fQoexv_( zv8=gzFD@q9<)R-UG4dbI!R!NDK2G@!UZms0o1Bn=L*of6(UYlXH>2Y!jD8V_LyQo% z@35oZSL6|!)RAg_#={rl1cvVEg~)?o;ty*ZKOJb&npo0XeK_-I>Nbx!a0kkcoE|9Y z4davy@5DWaiW1<-CW0P=WlodvhAuXlBv=b14aCQymf)e=MH1GkP-SIMv3TWmr6T>4 z%M(hsaqN0b#xG1sQtUXT?x(FCl$)6B!v~wgSQgKFwrFC& zc4vTu9jl6&q6)Y- z4(FcF|BM=e#4#k3C#x`sgRP5O^F69y3L4Y38;vhF2`iW3@L{qR`B{kxD8YKxe9MHb zH`Cy;T1%^+JZ+`luufdHj)8@vH+;gLuX=l`wt14epDF&2i~Cd31OFmZf_!YB8m0A% zTck6tXRTFNFqHnhC2QikIZ`3oprAS=GUTztiVs+ARy@TR#Lt(OO$?^^2WLp4T^v#1 zW*K>%f057j;J;y7_JRU!0eOOiQrZn00Szoc5*>o+@(Z5x2+ zelV0B9$_3fLR^M;wMe@t0OE%S8q^4kyMDdu=)T9_elYd+(&p=?7a*L4eKl2!-iq=~e6JH%Y?)V*M`L4o;BJer;sZwJoR!wv+$ly+KHE>} zSmA{`b?R)5DN^(S7-8M{!ov#Hk=yV-oOuv}D@s5<{WtRFndWSdZnjxZo3aek6yp8h zswI?p(2Q4v`-P*w+-W1R<&#|8{>^=h60{#{xFj&wY|yy?HVL0rM{K6&f3YP3cK)TR z63v~o1-0!Kgw=F!;S3Is8k6`yl&$@SM()-v&?D_pg~1(FvWKmt;UKnutF@0gH=^j= zn|(XDzRy5R%xzOOC2t1(wsprZT!?Z^KY$2hM2k|1hJ(KoATSALC$X=G(5&kqLytdO z->~D1{%)_^l)WIus++dh9#z~5HFDjyxjKiKKXxw^;X%^Nz@EkN*!B0`4rv~l@C*TQEQB=@z_vus>JV$t;)OUpKUh!=vKfpHwtkBIH zLl-AyaCG?eoj4L=mnuMq^vTnzH99^F*+E#Cx3}HQ`|lmEM;2ipe~CGI(E8lc{*A3D zR`pGpGDkW4D0&E8Bkx7OKTvYHTMG#?tbn3B6q8AUGhhn;!6HE^;so7;nV;cajH)=! z7}iGLMw`^i)_3Nf63+&hygl8xZ7QuBy+KwiPOIr?^X-$vPW=*B+)SL>ggSp5`2g3P1Pt8_FyO5H@qYJh>GHBb=kAq)=aq_4{sC!qoOr^U z9m2lf&v~%U4G{&$5lN3MjpKSI6rKGbrBPuVHRe8_$*?#3$?FK1h1lMD%Erx;lGyb@yI5Rc71JZ4?fG*?y8C~-VO9`YdU{*hF0m1<>Vsn3LkT@j zi(vG#l>KDfKG6#JFhaoxA%k*v+P0zHo+f3j@N?a$O+dIB7FP>3!7Z47cvI@X2$S$f z^t^cyM649|d*k(^7-IzdGO_7fKBLqOs)?7|3<}vYGa2^z^7y%30{<>8;;Mn@^>uZZ z_S~bcoIlev93Yjr>y2?(13nK@n_NNg15m(-#nb)pMgL!bA&x$_iPGE5Xeuz- zCsvlzAY%R$)VXAh7Q?_K`%vS=9y@eiSUSrGt_}B^l!hMao(oH?r5;q*PkxPQj1rZCFPD*FnQjRDYl5c{?`8Uh{K4qoy!Ljs);{OFBxX8{ zU)V%}HbTnaC~hTr{o%E~$viON0?t5LKPOLd_v4N2=d>oN`9kOeY`mAO4F17M!eHcK zL5#*CH}TERMU7pQ$4#DRvV=RbSweXF79p*FQgDOAKyYw}z-Fg2x%M1~L zEM&>#b(IYV`J7QX>~;!;gIY{K@re7a>NxqL{hpV3B1yqdPj{@n1LK;-m}S01QAp-h zndsG1UlVFgE%W+I-m3NgXPRO6++Fv8?%p(}lV&8Ea{J42W#z11(}6SIkkSXOm{cPZEwczB+WyHK<;U zj}Y9=_Rb#L5|`Zkp7ji*a5oe>$+HW=T}XQL|F1McHp9F~tAk8!fXA5zQj7;1FSv}+ zlO}7>a{cj0nwR`U4#ic75g|?#us}NMe2;YFUtht@oxH~Ae^T+JFE#L9Sd;RoLA{Ms z;X>&}LtX*R$RZQ$8k3p{M@!ya(X9S%gGe&3)P~^2XDYH#GPKud9C)?-( zRAKfn?#6|H*RPW(+YW}KpG`D5f)sJ5?ws;Xn%2b+2Dx|MLo5XOL4#6`j$abzU~GBfI0^cL@l<16&MVEx*R zm`UtgZbq&<%ga`g{piu8h^sLAG!cxSNv>TB&#mJyc8<7(vQ+mo1()VgxzB~Ut1>rH z%acn-{sh(94$^IVvkJ`z-(mk23AN(_H9jCqN?bIdyt;7upLz8y#He1>4+>zVc7I0X z&NH;70;?A#k7^Bg*nThe2@b+HoiTbEXupH+M?kFU0m_oe!yC}vhA~|g)L$y^{3OB_ zlrXKIUoS;-^&(%i5-3I0>iMCjq6lqJTFTCPe`UXmV%W~ueN!=vo{LDx+(7M~a|#wz z=(?AopOZd&7+a@!JJt*MpNTOJeh?+-vTN5$To5xTW-GEi0K&Gy9Xhj4um9px9(*6O z{0OX$_ce2gXk452^$t#@MMX=wkw=^X)W=y8%s(+!wKaZmn_7m2EG{Wgt=?+(?xuz5 zkraQ^RUfVRA#}=h`E&}@ep(e3^5Q}!&PP&`646lb-}(Et9Yl`DK*8Nu;lLlM!pLK` zEo4g{xu#hV)!4+wdY0iqA2}6C=&QbCGZ}D1_W+?TBk?oAs1n5Xg!$suYSvC1Q3Tp{ z+&985QTFyQKR0`MJNOeT+`ir<+(<;a zyoSb11Wq3ka%>xon!rF_U)c=^h}LvF<^2&$`2So%tepu&ga1-QXUY`7Ft+qb-qBoR z?#+dY&ciTGxZ#@%rsTY)<%klEg&zXz;Uf(3^RBD>uXk+Xn}{wDtev2Z%TX4}PgiTz8W%Ezjc-2TCGg4q56 zP$4k382ZZ3$=_+HtAb1^?nfzs;bFUhj6DB-HsQNAa>jY=UOG@VLTKc_CpZgL5{_t# z;T`_g+%My!cI0>|b;3CRX+`uZoc=7wuJilm6%2Uy6j1eTA@LWlQx-hzU|uY=B@25K zXH)D#oZQ{;uPViV=T6VHp5Mxy|2J28mVr=xFY_nrNbzLQz^Ww;9K*Qoi$Uh0!Wtb&y;uQLK9Sk53 zwk&m}74MD?4s~_%__c6u1g_tfy#WDh)aWrn+|fV5F7F%?yzueGxKITlJl_hV%h5_> z!LF`nH)C$;htp`FnE6lZThISQq|3uw`=U55ZC$QEx7YgYg=oG^Z1*{L>D`Q5uty2w zPC4>Fe+bmY*ue`Sh<157{nm)JW^1>_t17mfDr@-z`i+Oo^kgq$r2ji>{KVeqaTY#$ z`+c04yvBfdgMv`qaG1t};ahRQgB=-?;~e^}q3+1)p6_QWPyhlgas-MLvl9Egt29!2 z*P5ZQs)!wu$odg>(RSIB$&8TK9J89b`h*;MT+#Qt9+ci__wuhJ``Dq4U2fr0v= zAogCGLvP9wIb)XHt?-AD7f;a)`z5LO^M`ar>476*ya{vP_ zRZOU-?IHV1^|vslK`Hf&^#<{aD?W)o8b&PZPgci=rt?iW=f{SxRzf&DvA+_waXx=Z zzk-I#`T0c~*J{-3KDl7S;IFItE0A(i?RdN3LH*F~rUVutTc%i3^(EN^JkQ-DW)`7_ z%}ShLhl4(K+)0&Jvn4rSo_tAd*7rseS4x4WFZ`-*TedS&sjNa}_C)f#woydm`)&lS zFs(*1wtd~B*1vmL>X7NAjTUlo2?uvgiC-9zOP@{Saa-t*I4={gssN^E7?Rn0TzEr< zP|dE-Q<*+2#IMrD6Hy>;7j|J{rMs5`l>yG>J+&PnUo1{d6fN*+utXvI-LVLirwb$& zHLsvy0U9^-h5>udG%Y>;9QrU(b|6#StdH4y|6;MI#4IygalW!`O)vAV(>Dofml(7O zwHS0Cy;6qaHX3^iR@2WXn9QJk9GcvYO@G3=!pu?zX4V0d`jxAC$kyv56vSes^|tX| z717&WFpF5W3^M}F^)(}^bFrGInbv5RrIxH}E${p>c?N72k5Buul_s7@hO`FEw; zKr&qCVfDL9i|)bg;AJhKK>wl4ddM4d*2EWH=&hDr{UJR74Imi@IrGZgWOy42W=O{Z z-fis7D*KyJjAh%!_j+qhS=G+(TTDqcZQtM1tANQSzUn6e$G}j_agY3KyC%$TF71!2 zR*Z2G;cCO3#=;V8sNO}HZq z2QVkIlQW;>l0IshVTxf6w6iRrr1R62&qjUw?zMuk)6NiB#+=3cl~Tdpd7C0m@#~4{}gl-$aoKH{wFSW$meq#wQ6Ks6}g~x-8)T@my zkHU4)s(DDMB}4s5jGrO(xddJ{IfKD$Inu~RO|CU&RxA}GTILyv-KlGTV1dx#nPxa8 z`_=m|$BvSdC6>Xlc$4FP^`zF5T((#&VL33dFVJBm$C@W)hbEJ=oWocq@jq#@L2bi{ zDxe%ryWWt{ZEhlkrH zvt?0JI*{=fRg`~W{FDX}_2&&uAHUECU02R5hUfGa3Rcpv>H${0`fu5tnl0KGme97X z$6#d;{vBoOF06>{?fnV+oBcH*Ke3WTxd9?qKE-`~p9(gMc#@-@c#GjPQRi91?kTr3 zeEOioAM_4;!4b|e=LdV!J|-IY6P`ELlq6UDX3}xcA5tDl>lbbb{@Ka9nVKlMQVdhy zko|&ikdLNJse0{OK2I|$>x>)u*Aq7k40;cG;~RR@_et|w-mQ07l0I{01Qyu_L`oVh8*2`<&U65vT0O4TMJw2D|d&8fIlP4qGoI*(K}g zkT+Za-dE4)gO{q4+G9H%yRyy31mt*k<_$emDrz~BnBG>>&gS(2k^IMFR&KOvSS;B? zuE)7$0$FcSdya=OZXa zA>Bu`M!g|qIj{}$!H9!I73zJ$8OYJ_sK4HzqttaHM zRF?r2$YM{x*TZ2gClo*NA5F89*Qc`rFb5=506TWCzqJ~_itXkqWL`Iad>a@L_gW`K zciDj>u;>!`C7;%KSRoo0FWE(B`{+w}o2jF)Ug7JE$h^bi8TVgkalIym0>j*eBX`;_ zMyaXm}#Fn<&)Npeg`gXf7+xtenfT+u;<%JoDg&=B2`h4y~hfDOPcb9 zsHeW}ALos1ak#Z>Z=~jtgMJ&EHiFHMU+y|=% z#}M~VIpxM%wH(+Xx6-orM7P;M8CQ&_(VCiRr9-Bv%b2F~TR%siLsU2j>a6{xrjOEW z9nW*W0!uT1M4Th(^6(r}ThCJ;BYGKo_Aiwjtot{>F#(0Yb^%U{l-J#&Vu=}bSJ%fg zM;l%DH^3rha-sWb*UZoSoOx5zdA@CpKbbXyV8oid)^wyw`Rt<$+C?oJ){;^AA451_ zib`E6Yc;{uFn;`2mfjYHK^AV~{j6QF7cl=eA_Sjnw<8+?6@TI`bX)zhd%NkP z1zf4F2Ss^20I&iH3!Dwi-P4e^2vI5n@zd!oy*54rs~(C~Vv#d#%D<)t(z_OX$7 zBNf)$!x%M(}vb$%`>-m&?kY$56^M^?F!N*|mCs~nwOcdivn;m3H z6Sn}+f1V17C8@>xqTGHTF-~EAWuAuLV*L zTu|F?uGI3@T(uNo^34=b)a-Q)u&piMF3`=k9UDpxv-^!*-YKB|pHypJB{$JheWdGaZZkzO~3eUX)P zY?Vi5g{U=FXZjyTgVC$r7TQTN@@p~DIB5B%qTkAPp^et$thtG)mH>P(bX-c$Kmf4u z^LIXvEm^4v1$bOTE zxgNF{F`1s~7K>@JCW?J(ahu?$Q?_kF`=)%$W1Y^@Dg0?FgCRY3oDZL`K{ASl*6LOt(qYg+ZmBj+BaF)baF2dEitsvXh2+-d&336-%j=_LqQ!Wfw zA~>=q#fnv3%EM;jF*%blC&#B$M7#16ZQQ@>m|WY}g5Z)br4uacGf}BlxJX?e0?YzZ zdv`Zc@O4~XMyILk`1G)z>+BS253in-9&BY1ZeprA0ZkExnc%yK1k3t*35n$g>A7WQ z%fYdQMpY;@tsa0)-=*X?G|oi5Zd&$MQwGgSzX8RN{idulWW4LKhB@xE1a7vzl{6%K zfOGya_39xcaToZxb6RUMGy5r>g~M=C2s4VN9k~o6Iz)W6zZ3(~|CXg<03^~a=Tkxi z+ZWFPOUH#qu7kVLhQ~qa2F0Qy6?0|$!%4g@G+(G=uWz^^oLWTLZI#ve2ybNc*Bc3G zQc!0lhnBH?z)4o2x%_4LIq3&+>Ttz_mmxbBIK*ngVazc#ZeBXb7$_y6pCj-E!+p~3 zn0X(VR&p1JWY5=;(By!>(JA_bEQ9ayi?Mw3-~TTrA&{>H*kbgRsX} zY>VJR(|Frh0Fuvzl|d;3AOD(U>0H~Jw@3tiJJxeVdY9H|94BSM6ystYZDb?g>CbUr z)tKYxyIJ7w@%^7^Y#K76)X}$8v7D=g=FLZ~L^#+pp`TA!)`IqVE8m-!t1c>n|A0h# zy5|boIbRkFu@94jJ8g5TCo- zt&mJxq}iM8=s;yBARYRJQp+#KL4?ONQBv*i&>=QXNr)^e2#VdLZdZ}{P)(epTxQ)m zOmpt_qQ*?BKE`&m3CfAkLc7>}>+6urShtCWym+2gBOKFLmrJc$wPQ9WXK3Wy(zJ9( zD=_!!*x_{ckrn@^#*b5eGTUHyv9-%_+2t}UqP1`XDhT05Zb6J4BHX9&-OVuX@^pwD-fy&MPq*pm!u zb7Jcss?Y^`13X?r*!J)D1`6Lwn5N}_Ab6oI&xGbx_~wr>&*&plfyyUSI}h?b_LTVw zzMa~^Ha7NJ+h*$nkM(N*OdA}$b)WQR?d=BlVP1~I8u3XxK9s8hY4e!lu8KGLM+IEz zPFY<3mjE^c4DVF-`#*CCbo@|&TGHb}l|}qilHWNq+QN7c5%>l0K9bB#&v2mZbEL&! zY(;fC6kxpA!8_tth5-2UMsjZ$h%+cjuj@G6=Swo_(o2<&>NzVXHP9|717Mh< zc_|Rw1>5J0vT-Ag)9>K-Wc)g|iPy6s`^6_H{7GtLjUC<1mXsuz36tWiqYf+>1&!R_ zw+D)oj3pW4!Nz#)Shi>K^$$#34U$2;#I83jsu_-79pkXR(LBEtAj)LCT1vpch7SMO z+e#4KYE*ruM{P@DfbRV%1uiy+eryje$EQtC>iOS3JMs*^_8Kp`EPgQPYv0g%@@;(6 zT$rcr>qlvp=7l4fbIC*57}OCUQBh7$&0c2{*x}9!o9DdJB2bqz z?3w>?19dAIbTjGnR;goMA@zbsb<=J96l$N)E#`D0k0xY*7&z)SQfNO;zrp|XNQ`#0 zukAj>#ANa(6jx@qP8DXrh=1yYy)?1 zySbOq@j}a9w=%-m!Q>vau|J#Do4b)0-KwRsF^qb;|A;6#%)<eQ$N+#CT zEi8r(SfUP^q9&;C{71F=j6HOxH@VPOcYg$Zv?avwjv1J!Xw$L`Qk_cv$B7#DZ!+Xk zy}A;{voSuSB0B2P4QZgU>V;wpAB4=ChBi2**X;L@B+A)0NI6oBeqJ-Bxi9P}+NYC{ zPX5^FaNToCoX;*m(=_V-z>alaRZq1#b{Vi(sE1H}|A_m-r#uA6*CSzCZ*H%ui{M{u zyYH%)%w125rddfYGV@yoplK$jon}0R+)rl|HnQ`QHwAHLao@vRKY5q?s6ER;GfQaz ze?mN3Vj}DUCIb{VEq(SA=2TxHcseIv1wcGUDIX3b%L$^e?G7Kr$nLWWJ227|c>C#b z|CRLJ&`nucQwx2A&F=c1U-TuZaq{vV3 zw>xBS$aN+j@@I>E5RUoKT&ZM`Gng+p9ASmnPhqi9H9Derjd z*^97zlD8Z@08}}9E#4h1HYS0&!fhYv)toi`F1&^agd=s(d+8f9@B!r5B&cZc=kJ$U>FcXTVD)Z%&n@h z6)!Qp6g!W#pM)4XN-DJ8_d*>8??Osaj@tXv-e~l z9CUKz{k(Ef{8}xBiH1H|3gh6iBS7$3`!$Qt@B9Kq!!+spcr2CV4V*^*Yq;0S61nUG z&@UiE_8h>`a<|EU3YUEChs8`Jm$MK=ySDny*XJG>P0z&=vpvE3J>gl4k8B3!?aJ(- z!esSQ%pKI>l~_!;5juY5ybo`s2^`N9MfRS(YwU}9+;UqFw^NGTvIbV5&WFX$tLtqDAL)y8@= zjCX6djOrR5?kY}O)fu(2TO;k5cc1qv4b#SYH*sFSyU~i;58k}$9AUe({Pn1+VF16q zX2_mB$cB6!{mM?`p>U%jOx4)|_Mh?RPVCi<$pgZ?U)LBB^UK+P6BU3O62(;X1TOG;90E zbiZjY#|gq0U-m1ucF!L>o(2br0a}Y4#e4K;)-NzPZbEkds8k3#9)M>2^+@;upRph- zUIl7A2OZ|IA+291C!_uL>N%YgBBX8i55k6D8}Sd7Dk>9yz~~)!oiX6_C$2k%5-Oa0 z;pw?Jx@#V%2YgKDq=%PyE>c(C8GWHVWbbm!okD>RzUc+PK(La=tmeO+?Uz_aa*r{u1uJDDAdOzEByvCU`K?YGWkD+#{)6CB%wqKgIQ`M8dwwA#<>R#a~Dv$wR z_{z8Uh`b5Df?$&veOjEcI1XaWZlc8OW<&OG_a|R9mH~96$-;XdInT5AfeD!dAmUAxi-okF4@=YDY zglII6iZ|0n#z5D-Q-JuQ7FLm}W#Js-qIlk1hAlIigus3ipQf0LLs?n$WUdO1+9p!t!KC zU{0X@Yd~oE;k#gfQp$w<7rTOqOutyYll|PQlpBF_>YdU zn|P9A3PFP2F(Wq23D<$7gAO6eE_=3}%}N7XDFN__j-3?YKtI6=&EorI>mbJf(vR{2 zj+$uR_g^b4=BQKsJK~q$gPhteGk9KNoGA3hdlmq%(Ey~Y1LuP$(UlLS)V~nq6Vl_$ zpQl2gGYt}H0AcAFjIj`1n3B1qKyYxZ3*9c0+t+6bEO`&$9Zxo-w>?$}b#RP-(;ig~ zE&RX1Rjak+2m>-0vO?!~fBu~ed?3G)d(ZkPK?~kBOL6I_rgZ&nL3Dv8pX}yUiH^e& zwI1yk!?n{h1N1|O@Q>@!1!Z;4?8?_KGB&m-;qGD6dvsThIe)ml6ikcd2fR-?slm-! z)4eLtLzk2F_1HCPLuh$~`!7PI;4PM{hbaoo%&~smUg(es9-%go@G)EQ>rsN<%gO3TR5r~sg+cg{G@owR!jJ#NeeIg1n z9s!N|&jk0>71C{fXvOM0zVY7kva&ZwM?qovLl{{1?l5kBZAr2W^M8p0pRb*=LhaTR9PKYu7bp zPgvJD!;hfew>q3VgKE8F?z$sH99108vIRZXH!s}) zCW`-$33K=)9`<4ScksaRpvvv#5Tvcq&{4#3FR)^oXmn?>^su+`-7GoOuBj{$bs2&T ziOjZHwEsg7s51dOjA_IC!`21Lt+>Sm&NDEr?UWs-8WxvOvy=DR=SM9j>Y~pdssqo2 zoE9|a{i^%_r)R^(@FrI}_OC#P_@(cyIgtCPO(p$<_!vu35nz$AbV)YIIBbA+{K^I$ zH%Yr$|Hm!RBfgt6{=c6qEQip2 z{a0$?|Ln1d|Aeal@%;Y)xBr0@{{s<6mIfklab&3g0!9A0Lcretj%kSRY-(oc?c$M#Zz#mvAl4i z3_L^Jc@;>8Ale-}=z}wAEMx=Rjeik=or@HJBLJ+xHwMbJCKE^|f9&tX=A2HURwgwHSaW^W zrgInHC;^=SQJ#RfNMt&tuph;-7JNv@;gV(bL})%M5+d3QPv`vCR}BE_WZ83Z@Lt2p zA_BdCBf6&`H2&hVDncfslyY?sdlPKFfQkHehU1aKTIS;;=2@EBjcnQ#)m3Ry4~3KA zI(}nY`aesB`A3wVBXoS?N7sgc-Y`g_xKe5~*5lm*Pjlsq8~u7go{0YJh85Kc#DU&R zTHCDp`&Q1K?8;6M$CAPmDYmP>E9s55LowH8jAPoNg*T4;{Ztlu1#F>hl*0taQgVRu;*vVbqts zHyFWKxq?qG12pa%UuLpV$FkY91Iwb#@LID+eimlt5hOrZCso?zu~l{NDO&|~3qM-Y z>>hkMASg4&xILSAl?HFZh9rRN3APo|SA^bn{v5ycslrl82o^R@Ge{l`+d9o~#{>+J z8lUAJx*R?QN(JzLYwVQjI@)79Nqt2U(j2>p`y{a^ze3k)D%njF(&%T*yUb)?k&L|9 zAQDXFw;XL3aTOf@vtlH%LsvELt{Md+*^MWgTxOEO$uI8)QC}J`+cQ;9Sr`1MS~0_{ zVu&Cp)5AWhsa6PrVsX){+O!&_j{)(BTe9&lYQAotNfJK}n+HmnDAD+j#jMDgg?|%t z?9wT&PZ8VnlYcCM9JG(VFE}yMc$?loFLG8MKvn{GetF z+AN{&3#I4~u^5X%`GPOx7bp565QpJpUz1${=bz~FH4Wv?%4zP$sS;6s+k^wlFAI5{ z@9ic^j|=Q`y?J)d;B^5-TDv!;@yQh;YNcN?gKb8XZue>xW3h~9~=`bLi?uTqfDH&h~pR;tvxp@O6j9X0rj)6DVbtPwM zyVpl=RWG(x%;?9Jx5h$3M7wgcJgcpY9TlzbiFen4V}xH!x(e3ko(V6%y?fNUX|ZJU zor=5qp@F_IOi*=tBU&hNgck}%17o<{t%|VTLWx}sC!+fv_t=>HbERH~Z;1N68kPSqL^nuAg9yBp$d?0Y%-8M3ZuAr{ zOHdokj(}%JWKVi!t=x0 zUm2}I-Q84A!B%)Yw?fV2;1 z)w2O03oKhJM9qL(`2w$^s7JhiTc6&|@5Du1cL|SCtxpMs-+4bjSVcM9x!$4wE=GMI zFprHLlAUGXqR#eW%{Sr1siI&#$lBLUrR&tJwVI~t((V;@0_J#~5z&pSI-dFgQgh;@ z-KhfywIhSmT@d>riCXCRqcN)9!^{oJS<9ODNMuv{RGfKkv{b;OEZ)NWc!1ek4JS;C zO1ZS?0p5hwEc}2`S1N0~0e>R=_BuvGf}!6p=zXYnAUtsl*{(Tq#^CqII}LZG@AMu8 zn5R0d#MaW}Id8L)3fZtV#_;ZJ+vlmX7Ix*d7G7rIqxn61_Vt;ftd!Px-I}py9#SSH ze!!%4LJv75?Kq1;)Dk|@<+fga7azEIn%=20iSf35%!jMbmH;;Oq=+MSX1Hb?)4~@S zHd#2j{XInk))eYvoo?Mrda=zz*S{!Zb;Dj^xJC z=>A!H7XuRhP9hm05|H z7yiz;FR3{wQfs2c%5NVdXrssWKa$nvp;B61#jr;x`xwU~ZD7o83!eK9l)_?ss&l_#0)Hj8B0v-MX%-MT{$fz%tIReTqIq5POvb^^ohQMiPZ`{8Wok7QV3Y zx>auEPiSB{!=n59jdl0n(HPT8bBToZ$S;H1Bzl{l$1aa8EZ$$2-`tZbZflc4kxC7M zvM6PKD5N>tqCpn;MV4Z=bnZ_eMki#bRQ@b^Z8}?5>fl{NM8n?R1jO4wf2;_>wy~C8 zV!W118+T_8{@RP60e$^RCqdMz%3f2ZWKAmzAyD)0O$Bf8x3>&ff=}JZ{5@zw$@F`) z={l7uJU1Fz7s6(pdvppSNL9Qu67%(z3Nk$wksqYc{U6Bawufzz7ZLqx3-oY8WHCMV zEH}o#Nn!U$sZrD*f9hyVfUGu^wMN=Ijp8OMm3{6lhc`dYkIaAD4Wokz(ev(?7d9P_ z>ZC3Ln9)#jKRdGrW^qK5+<7ff9!(9c-P3wgYoHfi+I#5{CErC#kE;DBP29Hp6gS@? zL%U4Mgl9hd5fBxa83{Z0vf$UIQYMCR3I_-j_1Zq4jJT2}91NqZ*VX^971E3zg%Cnw zezseoZDKQDh`W~2dFD;v^wj!Ve`%@{7im2`7v#QR96zbeG@R6aAScLL8KB?(C=r|6 z$@ogq%vm1MIPk7)V#^Z=QBqlOB((%+Xp75wI}pZn6XtR*3xn{p%snQ)V0}a~L-b(~ z$_ej=xXc=9+yykBIhx0Xjja(i5DKeK698{AYpBq1~h8%e@OsQMy*?JK z+ns)b@1;Kfun#|4U?5Lp(x*}@O<|ZhqrEKOm3MelCG4<5z8ug>z@$XH{H(eQq>L!H z1Gp_%+!dFo)*cInSZ+V~o)@BSq{yI>fioAeSg%b>L3&9`oU9dcC%%CXktE_r`!4 zQ+|OA{dVD4_^p=$v|Y<0e|G1SVAW8NcZY>PmY4DR<6HPo-u)4Ie>P^TvE+tjs`97D zvvc_gFTTG~Y6@f(tf9TwU68{rV1^KS(bSPX*}G$Mv9&&&HW;(8ZR$s4eiD|KKb1EL zKqg5o1vtcyFR9$E(1-5=cYd@t%PbT~f$QnF8wgxyV_Hp#r7o(UT+0WEOSL$ky=kXwHrapHi1@r$VP=fG|_Gy>;p(H691ymPF3!m#^mZ!`*t9A z$S7gF-|Z`&<&n>~0+}Ic*Ft(t-z#KI#D2FF%olPF9n1b{>i+|to(q`Or$tMg3>czL zpWb2`vW2soGP-R^ih;>BKUGzoU5D5_uq>5rQ&$7qh#2*D8u z&8B|ig(~y0M5m->!cK#qA$#1&Mp1DtX(b)kso1U3l1B`cda;Lh?s^<42GE?+Bz%UT z%3kfpueRF>h4ie^!AvS=Ocxn;Fw~E>oICgdc^#Md>$x9f$~5|OvJLPAMa0LMz5a-w zyLfW*1f^csUw}i$s|bPGArUt%N>M3Kc}ebA$C#yo1)r{AmCc?p`e@oP%4i?DsPs(J zJ1aD#y0*2}dJJt!WTU0|!etdA2*LUJr=y!R>`|BemoGgEPrJB@VZ!J6sJ*jvEb01{ z)@-@mwtB`~e~nX%b7%5c0hO&;mt^ag}~@P0)7 z=0n)IuK6NJVrY=Sg~p+_qfSm+)>5K@OfUvZQ2g$zt~4l1^#BD* zJ)JhvvH$hRUm1)4TI0I;rwZ0mj`4MKE*<^BstYalOjN~YCL zc(xa~q||mE|I@@T&h9Pju0$YMShYe@TbOm1JA(zRb$tI z%ES&@ccb*KA1zDzRN@{jQxU2^Afd;$Y@gMRX>R-pa~*?2cK2nUnmS(zm8#?Y{#D<3 z**8sQEjx^lJQ2LVtSAFy`cpccorn%$Mm~3NF@_8(#$;PR^AmX~xq{qM?j2vWqD&Q?#N{{F!Kp~gNSri!Hoq?zodS4La z+~Y3b!IsY~32$*<65WFc$rDV!HEzJK0XVI-BB%4ML{0qRzu_X|rd&JNngHEKhcp%& zUQI-s<{2{r)feA#?o8mNw(*FO;%9T@90X~c8fh&E006Y!2^rHdI|x&C?$ukbNX@&7 zBiEPG>HERF^~M4N^7@$Eplsg-K%vsA$?D9x6Vf6hk<535)@`LL(RdQ8JLX-4$Bd(6 zHkNIR-_8arthv@iZLJWqVFgctY)4(Lhba?nm4`HMz`0)``7YlVKP$ z=(lS@{`DC^scj#9Uu2wz9XqkuB=}{P8U6@M7{Ntw%yNy^#Ei|V%}v#`f%0Nobifi~#@9;tc@b+|y0oo@*~*_PFZ6c zP-UP3;Y}Ipsz)3QQ7+Ai){VWhV>55CVYto&9>j!zt&miQ39FwbOwsp2;=x^fURZs^ zOLC$#ic^`3ZA1E&g0GG#0AG0;Pc}E)?pj~V&5wQ2H9V#QtrN zvjV@6y?C=B{Kip!+(Mw|qc@s&&3wsNM+-kdYj(Qyn>5<(9L6m=@;ptMEut4}m>It( zG2*DU9%KONH82<0L42CcO5|G6FxwCM|JZxWzqp#_Pxwkgkl^kRBv^2Ff;$8W1P?m6 z>tMkNFt~egC&8WIK7+diAKV7FXOio_f4iT3{(*h5?-cQw3+7Oz;K(m_=s z9N^ zKtTvL#W(ygR~_`bz!Z`C*~+%l ztXqF8;cFDh14jqJA!uGl5qs1oQ@;zoZu~lbMUcJEiCOlAmrWByVU9b+X=F^^P=bdbkXyM%QKZ8x0Sofu*I4c^Ti-qBcFNVIp=i6C@TA zM-FzIK2gPs4GLVF(Dn^_Y%upV)m$=E++4;>-jfkmEg?MwRgVW>F44CgC z&a3URjUiP^^LkR+YEi1IxOTiSo>#zIhVH^qALYI?;UwAaNt!{#;c8ixW%qGfv4KTkVu9vK8xDH@4j(W)@k z zbC9^vWqaMDCMDuy6Unt68K4TiHO*-KcGzz=CVMTl<<-c8a{9Rl-3}z1Hz}2HhQg5P`bPFy z#KD{#Y%{abSaU6f3hbvO004|U^R{h{ieQGR1YYgz7bnZTO2!S|*aHKMQEm8Y7x)#+ zA#KySY!(3aTeae*B9*8z6jZ)=unoUEDjcu{T+qvzD+CZ1h*3&hh_jJY5!s|`Oz;0! z!Rr18-Df!n3|4W?{8pl~3>pgBk)rzXZZa?$jN#fQ5`J%WHW@92MbK!s%HaPuRR= zi2s|-KK|>Od*|-zSryu;!p?!bOj;GPH9wVL?*`e_0xKRX;}M;>XtBz!-0E$^MT_T-aWUgcubHTeTw^pi{=xwvEgX_IlkrtVo@Z9&kZrmd%00d$ZoMIeorUXe|}J zN1u{HWgIdB#Zy*R&ELr{et&7FR^D{jZlgIo587lZh^iCimPLoeaV>h}0z7e4m3mr7 z5e>%rOzH%e3YcWK94y4Dzt47c^FWGaC;YWY5oafHCPIVS6ME~KWkaT8Fgfn*!+5zR zAD*l$uiVdCpN>Uq$~imI#rXy#t41eo?Qs}QalmjBmTvS49O+tZcq`<@-9R@IO>C5O z?3RC)gq2=h5V5(;XpR0?I?xll3cRXjj!M?ko_~6DIS@s?xX{&Bxp#6_UZL#c9dL^x ztlv~U(EhDVt_cy=C^*IBmXw2g`V-w&ql ziR3KZj9v(R{y#mVa1f;MnBkjWkNdF}!<1-L?&kQ2D{X!)zDrtA0EWZ94~>b(#UNVn zIJdsv*!A`{84g?P@5mx{r{P!EKMQ(96Y>84jzFI6+U9eXwp&gcU&W#NUzhc5EQl-e z&PK%1x2>F^&FVhGz9$7f;D)Cr4NsLb&YVr1Rj;Kt11xNSSkKBAXWjzFEkTwfWBi92 zn)Y?XAi}9ZUvk;a(r@uciEvNnA9!A)zKcf!(W8P?xoav=c3~E)fb(%$s$w z#i)*2^wYK-eX3ah#1B*AaH!ei>G2iyykHRvCIE#k=%?i?A8NyZ9>24>m~r#=$R}rt zQbl;21h$hvNzP`SU$nV#6I=M^mGywvHR3qTc(JPl!0tL4)BoN|NlKbTI%Myug|w?3 z9eS^_w!4Q#a(#z=FAN8*Tez;_&Uxjd|C~^$Ji280FJXoe#O6(Kg`cq+J5%33!c!B7 z+UqQLx*4&EYqfx!CpSiE=>TNONBN0=DQ4k#zbP-g0B_)N%}Y_`rrylc3xb@H)Pp_L z+Dod?@1_t)4A1kATqXu8ptR&Zfjf)qA z`k~^K_QCf*?8i^~u!WbSI39)npt?Nas4h_B0=srp40g8tVaQMPBgRkw$cSVmOvEyF zUE*@tQ>uc+;X64Y!Q*Dvk~2O$NRh^?_SJ(T zZz4DQVVmcZuHJ!AUZv|d3Pxz%_X;m-6}x|R9*2mfJF{PF3j7CG|Axh6y*Q-C<|7*` zbCpdRXS1P4vr8F|*+sdLnEM|Kbc)8iv-!HFM^93N%2%G2Intg^;(9&v>tyeSBYj7h zgBm|m`GSsictA%vEceM3K~;)HrNZE+c60AE8=XBt@~WftdUw~Abhecgb@+)wtf`)| zpUoT1C+jehPs*+}XMxoCYimJr-g@yyY+W~;@Nw90XKyB*SLDHb1{hU!8I9tW#%?1X zYkk)^&(vTAwq8b&=o=K8; z_)#JJ*}VK(T{n1B`t%a<2BXiv1LeRy{9iYAb*{8<^HgMsr@XW@)sIIIfvX>PC0kGZ z*ECfimYtm}H-YpB=@FESw?T);SDEbjEb8w0f7}P;;T;RngF^(cb7L|zs?TkSdpBr!88IiB|?bMwLB8_$?AX!5MhF^o1Yat<7Y3G3RR9?>h?ve zlXZLu4u_<%E+>YphY&|~OhqSOF$jVi%1;v360OW}?pG7BSM|3sjhew?Du!uBeb+Cy>`a%XF)U0=?PJ&d??Q~bZ z@5}l`aHO9BGLWxcO8(35CN(loGL_~SfMULR_;1bodPv)e+NWZ`smVKW^KXkTZ&-G7 ze(#vag&vVFx^*l>W^m~S=;BMQ!Tsq-2D*YdX!(!riTmcKTM4Xn!7((o~9Y>^bdWvCA9Ufj;lIvsLFwC4-%meoSIEw@R?ZI$d0Y z!m%Y9B45>!T0Ls)IKV2~)@9_{nvB0vfuz!w5vPbClGC%So!-KOp_uzqxwvZs=^P{6 z>e{AbHT|hjP6)AIcEVewsCF=N4cc2WN~pLhU1+6#QU(YT^%g*$ixW-wmb^LG=OKF^ z3%BWj#zB*tiEv2b(o8tjlu=jI5Zg_B%sh{= z;_0|-Fd#UM)tjfSl}_(VunZ|AtDAod37Idlc6iUc?tC(MQo}jJML#`p?`o$HFB)OQ z)}k1iGjKdYdF#n-ss1WmY+CP7`}>0>t}xph4Y7|!FN2xh|I2Gf-iv{{T(ac+$_Y<* z=qGTk2Ez5{Zi?mqxI~rn%P0S1(DxfnS3%Ygv`zh@mTP+?t+3``i1(xWC@3}VHL;E* z9$k|pk%c*wz+7Aouit*ORN^p~q3H^4R)d?2XZ4t}m%|C3*5aFdx!xMi%AnrmF)d32 z?QLH3HlGl7R}2%lhXwAB{$SuYoSh@|7mXRBz}}Ii9<5*q&yF%-uOw6oAy(<{hCXO= z%`%As5FL%&jPM5x&}?#&ybOPB3H3FN9PqQgsZWqu4)L=82HWUh_{!$PxH(%*Ne>H> z17O>$yT8jIbc(g|>ydNO!N!qEVLm)?;xhtVVdi~!*a>f-_{s0U&%7a4Iq)2l4@LI) zqFK2q6tmYgkefG=6q{6a* zvNsEke(aMCDW)_HZd6BYnGiAPr_Y$6i_|N9{TQxzpza_5ph$!3?w)Oy9W>EG+x6s) zG9rpp?&D$OdvrHf_^rbl<+%SUR`0Ey{4i84EZ7q|Ku@#mcb&RgJHEN^0{=CmD~rn2JHH61w1EJn{Q@#({IB8)x+ki71w^f|AV0-O}FT;NqiuD z?{y(9>Nkhb3GcbOYD0#kO0jjmg!F}(#?pfs(ATIKW?RxF3sIbqk?V+@9G_*w@ai^< znT%g}IfleJ#6OQ7!?%TN#(ghX)Evnn`yuNX%MbZK?XXKJ)IL9FRp3o*tX}Ss)htvL z74u2I`1~MKvu#KME>C9&ED@4;UcL;VNuyJWLJrJL#U`tVTUiyPf5%uLwpU^wD3oUGP@Afgemh| ztY~lhzTeJa5-ob8rL%7B$5!H7f5Q~CT9#q$#)@qe*XZWMS$sLjnImhhTW~W(}pf<)cBUsbc$S!Z5OGKW%kyDGY{tu3jTj%RJ;cVFNQhVuu~0am@v zc5ewek|f-sv%PnFnt8%>x{s%&Z%}VLF;`9Hea{7~dH#j_wYQmF??l$C0kZpPK+tXQEyhM893PPjL>5nFZ`p{H#V2U*{M?-mF%;9P?K~M+2 zQ!SCJl@v|#@zr_j6JLeFY5fUh*>GU|Nk~nOyDsYLxzHx?@}?x&-8aLUyj3d-ZU@Xj zZ}D0)A(J+~&thK`^D}wlEsp;yztbxZKU7-$(cL(n(awL2f3S&Cc56(9!9E*~jzC6}}_GG41W_nbG)|G?@q@<3u$(z!SOb;1$!$Ch^%l%#`gl_p*M z&5yEKEaww2a^oAFbu%jttiWg&l#%^E%c> zrFfH(d?FF-VTC`?xf6~B{tsH#@-JF;!NQ4+loETjB$H>g(!v6>jYN{V%+1Lo{R;~l z`jwwuzsH(A=1c5H;VYeGRiu!GD;iJQf7T4eB(&W$*xuu)+{`q5jT#ZfF2+SE_@wWg z%3lq6VvWJ|hi6^>lyUb*NOTo#3^8sp`ws(+wJBfueY$0txtpF6~Q`-t2}n2}Kzv!8Km^71>7f{5Dxc z7G_MLelht~Co1=^1)7=?c;H@&ZBU8AdycCSX)BLG6#_9fp{g7N3;@}`Cs4WIM7^qo5=XLZ2^w~j4OIFGPto%-y$ z2J@3COj;Ql@X>U&L>O_Wx` zG(D`9tIpMEjav~TenK`!zwad)HldQA%kU&t?lF?QL_lF8g%=+cIG$;|wcSt|t_S>h zKvK%|K8hnTA$1Pb(fProz<1mj?JjSYr=5Kjegz!CHm@VxHj|^zC*tV88F7mKiQIB* z8L|%d>}^)Q3K?1<=-AgjYiHB@o!Or&yG5%p@*WR-$pIydG?gZlUc{iKGhE-h6Uoi?{9o z4I{3cv*szlt)B*oUE}2xo<;}#y+PbX{jC!}1|sRI2n{{{%gOxG`*Rt5q`|Ja7q&>i z0m_Yz%(jwx+#!b@_FF^EwqJQr=po#K>3*MWzihj!Q;!1ofg_0?ix=|)2GYXQ`+Q}L zwCL|cD&Au4;yCSj+Wf;8CiH0plr9G)6^Q#t#Nu#8!_)cN>7FsfP@vVRH51QHCnMyu z`*Vtwi^|hc7qrp5zxCjLI4yY_ZH&bM^hK8q4bV9bkV-yF90M9SP^){X&q5NfWa7-jn~nlk=}jX%>*7iuY6nmR%bELmS-S(6S*VF1sK7q z5jNht?xo_n@T2nCrLkok2OE;_X(+f#(fe4(oq?Sc^Kif?@A^%+@X@yT=`cm7%ebEI zbM=SAyDwMTnLKF@SB%uIavoEARskZB;fNwWkTOkq%*;pyX%uZ zB5DSC`s3bK?uQ6oxwO=cXh-?{Y ztm<)erZ_!2V`bgBxesz55znkiC!x1&8<>$)Nn62>xXkdMv^BUSMphp-55~gRQVp87 zvlpHIT|D2{EGEW&t1U7W+t05@pDmX<3`-^QJ7B8Kmtp3f7Z|Tq7@G;MwfdBYtg96@XNIsf4)~u-@Zhe*A_1k2 zwIDT~=uF*6f=>Co-5|~Hib9|6|Cbf-FNXgALL@!Y!^!SIeadTTwP{Gj^W(0HcQWiE z_AxBJ=_8)>qwSslbG3+enZTdn!~Ir~&kth1CYk@dTy0%X{pkO!LqZslSCXT+^c7yd zva?9Mcwg85ZYsy|Xpx7+RRWnR7)wIV?K}M6%KlFmIUFJ)p!Id*hx3%q-m}etB){kT zwI#|JJ0x_$KW`#aEfJBpmSs<`tW=JA>gkcTw6u&*P34RFKb#F*$(rg(1gZS}oBB;7@{{E{&e++4b(L{U2@aO@El? z{!c?1^g9Rtdp%(wEIiM>VvG4`G7}RGZJsiK{Pq73AQhF66;GFd(VG5Xf2RCu$$von zKa+;feEOgNjucK-^bh~=Euoj}wox875 zsyXcEjU_SIV5Ua|%kjHIacDb3gfq!g=mbrKb7Gs=mM`^53g~={Z>@yzX>d?Zo?p{< z51b{mZ+LU$;BV8Z9R97jS>OTA)js(9`^%H4CrSPMISZFA<7=!)cJUJy; zdL~6iR@Q0~g-R$ioezqNidtr_nO@!3C(X>prjeMx^+*G@IjRaNEpKGjAu|sBw0w)ItJr}zW#mSgFG!gGBH2(`e|JwCr7)0z@ zpO{l8zyk9R33|jHf?DXG;1!RD{96A^GOq}|gFAz-E!5zg( z<~B(p7lkEBv;+A=@NNcE?m8bvIukQv;QegJw8=gltv!wT9Za*-;KL%>IvC{NN9f9T zK3!Hj!A0ji%O~swMM=@11>1%#AG~*$J(yx8-dle}>|rA&Rj@58TuzZQlDJyGhldcp zK^Lqygu6!d;2Mm?pnDi%)?yr7^JtLZh8B+JY8=3$3F`6T3LCso=004lheP}vU#`Hb zxJhq9DTsPBXN^03Fq#1vYYy5Xir-IMNf)b%V*g&RytZnZYle5pqf4=80>vR>DpX$e zm}j*c*+OfeUJxE9hE=k^){>PD%XTNJWR9od68Oq^V+irsRC0d-oZ{DsIFXxDlZM!C zpOXgKnp*l?|7Bd;7qZT@Qk{4Rd>}!b~fNG5NYL;UKXtHCBXbGll3<{7-PC ztp-$-Kk7q&&5xKO=52SYC1 zbcw^SsBBGb$ZfNsTdsS)ZCZsY-s?btfT*5^nFz%8L}dLt7Du{V2dY$cZ+>1D?h?vwK(`yw&G80bg6X+VJh`X$w>+_^6OXX^K4+1k{VN8h(Q5)Ix z3A>)mZ`imVY)M<=ILX*@w}d!Z+i{QW$WM>V5ZV_|pA89p2&KCDys*UihU-v(uh-J@ zfWU~8QL{_eiEGWkp$h{A)fA>`oMo;+(HTG$vN#*?*+nA~mMSk|P?xj4zvoAp8JTJ@ zp2RND@pVXwvH;?_zPKAyJP{gdAnMuZiQQo?Y|r^NP(?z5bFHup1-Mf|sC=aM%@%O? z($T^4!$>j#BBjKDh~<6+jfcqBWb*HA+RC)h$pL31ngSo0_GT2YxjT2A?3U>}OruwV zDnEcaIvVY-u7H>lbK97o4|88B55$K&>0jo5UybqPePh&4&YM9Fmf>qb0zFbtS`64a zF|FE=W-dL1Gloh$u-~t&2L5ig_uRL|v1*v{#wNCSY=?%d6nQq;@y;)q5qr~*uF`vz2UN!Vpbohu(BHNih>g~wzJ7CqG9XS1bV$c7awLpQKYxNU7 z+V}kCe9hVS&~(ht=F8??C);Vq{JQ8OC>q_pdCXjS^evO;3RlX){0yTxFOsexjagjM>Q+4Cd3*P6ag=b`cCTR8j>% zfWN=29Ui+kk2Xgg6sMZ-jdo;%uaMSDwX>(B4_D^)?8uS&#UDS#zy+4<4?9x zZQ0--4pQZk4d#c+P=5T_k=x7tyRdN*X_?IXY4rUqDxZa@^W%Jt(qL-s#Np) z5`53GXdE<^U{LJ-Sv!8bC{A|ms2pWvPviGj9NVTPXSrOGLk&$RPojOPfPO<%uK1R) ze)GW9K~e6dmbiF}!UfsR@)z#!f_Z1bqQSEDp*b$~8=&=C@cy&%-O9?aXzv+6_8kXTJL$k5d&oVqs(<>}1DwVy*YUIONbTX1@@=|me^Q?ouGnkQVx zCzLFH9;Kar=6<*@^Po%ee6Nl~c6dTJgVjtERF};!Sl=C zPM<>PiNmNXYN>-Zp77E3a6T->h>w!(iOQ&7q~OJs8lZo?8Do}h_9R8A&BXk7HkPaC z?3mxsk70J2vF3NFe6BUSMBjcxF#IWyf-Ke0iC&2V5Y@8yPMX&*=MT083mqjael(J4 z%wBKDBbTjz9X-966B?h;hN|vMp&mx?(YduTKKn~{j=ZEn*7HOL;`$KIKOUiWk7ZAh ztZKXaCsf!ywQ+My#uF(~yN|w$v)WyUXJ5~QaB!t-jFz}MZB|c&$@$~#J+lfAZ2Aa` z#8VA?(|G{K6Q{9o>Qrm=D@@HXn;f?P#p^rP^!HC?+#-V-(CMkx)7G)%Z?kxZ_`GbnOJQv{*ij| zFsL~oPU#&?QFZ+2@=^w_WqcK}^5OzCQb_o2yYNX(J+G5qxM+?NA^ zAG@Yjl#_;fwNK2`-4lY+Uve(K6{>re_|P>LCSxs{x*5OQ8sMKhgLO^T`XqSuV(o3r zr=2KL-YfB|eTlCi1OpFdO4;ueNx6g)Yc=7AHS!4Aqyh_ujhd_D6v?wseQX|zp}}@~ zRO!ZoO@s(p-sdC*PRblOzuIXf_`)qnSvs>3fre-?5^| zz%ADGti2cdk7I#o@;b%U)98_5qL`Y^X2QY1Tzbe2wi%*}Jv-X-8PTNH_w08c5LOtb zsGv!nfQbD)lao=;TVPA#6Vs(n%H&k&x%~d#ZK${S_y}+ZhR`0Kos8TfgK3Vn*q=R@ zu%|;0UCw~yOa(snxKjBWB25m;^Nw;~*5PcdI!fJwZOC3$JOK?JhtJff!#g_j8Kt5T z3*=*9&HudIRfjWqY*!qd_*+&k$?*Yuj)G#)Gs(l!If@`=SF%MX7xKv$%GAgWS^jXk znbYAK%#;2=C%{|iSXVd6XO%-9gsd5F`6Y{2&qSbPhZ~U5g(5;r|M3S&U&$9BL&ik4 zyDzNjcfVpN)kMQ1j4jy@6|iAW3tuXArh|W9Mk(dp(gxX+7ZZz9LO9jyDr7hrYUVuK zBe1(iXaiXvL|DTToYnh!?kDNJ#B@5zRF2$^p{z@-j1tt)wR^oDu1{~^1l!YKZMwPK zxoK*`2ICFi+z7bK(gx9ZEQA%Q%zWU$aRsErQhp_k5>^O^L7^vg*Q)+;{|{zQ;_)Lh zso%bf^^%?XE)myxGJcfsEnf$%6vyoJw<2nYlT%=}q?w0tjck<>6?+jvyYnC}Z2cM? zqM~ynsZuQhkcB6Axhhm5I}_946|e3U($G{T^ak{g%uN--v`cqe6SH{}V^mdCA$)QO z?Zr!{O87mU4>3kck+~_CqiI;K??uK?S_~3|Xy{kizR^NzvXgT(B7>`v#;2rF1idi@ z761^dj;HUrQm4vr{UnYa`fM|P`j8m%&40q?WBl_?mQyBja7g%C%>G(*gxogD-E$LK zTWuxvP4zS6>Cft^Cd?)S(l{K#?xW5FOoE74kAe+&62VOq)Sh$2GH}hstG+E2slEDD zv^tKtT9m{-LA>TUZEy%`Mls9+mu$a@dRwMb9k+qd#M_ z=`X#!4HhTUcn9@qFrZ@)pe2(3G>1SJ&AkQsAdu09%R4i_X-J~7HP&rA;5koDQxmE8 zyE9Y5BAgh#65VoQqpkauMjUDwUhS7kxPX{3nn5Th3IO7Pf!1eP1op zzc%$E`Hk?{`wcgAP0?5oA!}`p&I)Y{&^5#rN_o}Y-V=6;!k4M%gIw48dtVa=Q9hMg zym8^TVBzwss|r_#pZVLg&w5~#-|F&;$;5$Uyz`npCsF~4M0aBx@lthsT5^+o$uezx zfl{ljiPGnRvCTP+V=nJbd7y*~kL@IZfYS1>gj?ILVTx*@!;pbfY6R}qNFBb0Lw}X&1U`HsUWge2&?<9zh}eD?JrH5T%TW%4B~oei zdaFczlt~g;0Czk0!nW&8a>~}zabK!qa+K%{+7|p~4iWGWAjYWXt_uT3C;^A@b(m__b0Ei;^d_!S1 zOpi2-L66m%`9a~<(Y$&9+q74$^Kvc``3@0j*}$(!Z(+bEA2+&1g5dhB3v0Rj$kEnP zd_;!tf!;Ud#~rqes1}#A(Eu*#-n|H`-Pz<%wIQEjF$)Rz!+6TkF8ih%q_i-j^Mi3* znEuNE3!ZWyl|XiSFhggk{v5qxAZz93=7NFS0aX&#by3g@Ptv3-GM~xsSk@^W&@h|& z^vb2^&@2h}1*;9X_BC{)-FP%Y<*V%1&pGLN-V1n|~9>K-PnOGmX~Xva30avAi9apgMf&oK4=ul}D?Y+3TVonCnu5BhAIH-N?)}=g?=Wp~Y93?Wx1y(t z6;I9nVdr9^(Z8z@`3WvOMuWb@P%85VkPjB@nVcybY{+_MIeB&hrMm(#3G6 z5sXc~`e)3XOODH#!Z zkcE0k;dCX%;A@JyOC%B17!+0*-Zwkkaf>6Ygj->|MteVkl@wJ~CH<2or|7oL z5B3Biyd}m3EKbuBkXt13n(euL{frTX0P zI0P*lA>P}Xq#d~fPvVP5P~war<*=~i+d%u?Iut>qcCJ3PhV1O6CICW~X=t`UT<*aL z0g0!COb2<93q9#v_FF+uST@m<7`(;*wyO4TL8s!FExY%EzXI$na+}tzFsTKFlVU6o zCuk^|Jb>#b@i^LF~4f*sdSsah{ zKm4|xydl#fg5L#7kl~y|b3{nv@1Tkid_!XoFuSMl@tx_I&CKHX^OXYSz}Rp=31F4( ze;-lS2ZoR`T4=C01~pV>)GAOVb*e-rP^Ibm|9I&&H8eQwA8c2e@Lb&C*VwMzN?(!h zn31tvUmCCDxWdg5-rgMC+){6qP#&5YQ*y5_FNybQu=o*?kiO*}z?rA2-#Kp2XKds` z$2-^_BQ6XgdandTdS0h|>iS3-@T-d+?Uw5t0=Jrm?gGl-M5dA&M+pv59QVKJp;S;v z{=k5=?l^y{l++zZBa3#4g-ne>E=cQj27`b#)mRW7Z+CO}qOb$lb=uDQNkai;M4otx z06_6~ikITO9-a3Ff7FEVT)qE}_hrC`5-m+sae6G|U~BknP^kh{-eUdx6R!QjAEz$; zXAlU~P=uEOAMN0#o3~iVE~HZ9EWyZv0U!RHQ>-#{_%IP(8rugUw}kv@52p??f<%45 zpEur)+F^+|V*P3V_md^O|Mt*~P7Nja_niOvxlG3q!GQ0ZO2Z#j*t?xacOs(66{+e}_Xc<| zTac8Zsg^bV?fX;6p|set5~i2RJ9Kjd8~6w;V?{RuTtZ$&59NU)EoVQg>I|C4kq=Q9 z^I3+rOqi65E2HnV%w z1cJZ+&okBU-Wh^bhiL-oUm&_Kp9BjjBgvr9sT|3sxqla{{LPsP(v&1`6Oc2MGmr;P zOm4Xx>i}gALAuu&q;V#+PLqSwZ3(2pymgsMHY1!)u9R0@b3^0!GU}4Ok(t^Uh%YTa z7Z~cHwuC81b4X5zCclb2Xu%Ej{wet6?#X7R3{HwWaw9x0?1^OH!+XD~+O3c9cg{qD zWOTqfWRhswsLRA48$X>!mV*yUvL7|t{dDNr5!m*kN~m|0$#taM7trP`-*~@jE5;cl z*=NAbAD(Bk{`#CQe~V`{zvLyLjK+n|F1->jxTIeKsWIb41N1z3(UqnJ5wgJF#0hk$oo-NAQi7kR2x{6_Lp* z3wpMF4I`1vD;Kx-h>&Vsz8L-f4%#3{C_L!~{JpRzp_nhpCvGb#2|y#36w#19&LhOA zT6zyZA8H(dRreHgw{D@;eNLbkv@Fpyqb&b!#|z8_hPJ~cizVV&m9m}rlMy_F&)9&~ z?ibjufr#mtzU_W=6$mn1at5l@0>9V`fOyV>XuVi_C{)v=(mo$|&&Gy!dt+M9k9ggr zw*^C!Ob3F2)y3Oz^nh2hlEPExB%y|Lx-wxjv1T-!31wWW#i-4$ZZmWP=0CULN!&=F z4e7P~=);-oiy1OJ?XJ3-=!&x7dc{r}Fi=HSJBX4)LLrdmcg`ES5uS}&+YyT0OvD$Q z5wV#u8AJ+@1hPHK882(3nHXmTJO8DY>!sC(?*W|q<o_BFg&*6;?wrhpfVtp%iOHo@!#PQ&Y`l|MN7PFrr!QO)q*!64adY|j_m+yu; zs+K4%k6%U|4c*yaJ`+&jlxbFh_)^A? zaj^=>T-vb^sZ0qyGYBA2osXXiN(+|9f-RF5ZL$qtM>XO$C$dxa2vIdnhck-){IVaQ zKvP%9UZgxQb9vf*gLGw6oCPFl6_wf6Qx!HLg;9BenqK zmLyFUaR`;jTWAWZQ&5LiTr17NU0oiba}P={*ja>7{7_f7c-Q&dd(ci$F(Yd)h$`}W z`pv`R5#X*~+v?hSxWG>bsf4$@RwOF8PoH7Qnl(A9V3E4ze6 z0B! zv26K=mjb;tD7^elZLgdB=J!x*g?Ax(k_d?X#XA4nUf+rAON_aL- zydQPlN5LeSmX~`0S1*H+P=W7!CxHveP42?p^`xu)-TYf!Zm?CXctHazGOogk)aWrf zti?Ia)Gzp5Zif>@lPw2{DT0hgsVpA9X$|dEA1sn|;b{eQVIlqrEpZ<^(`WVN z&C0(>mC4(+%6QR*oG%x4dxVEUN$)y-{SifFvAKZzpwsCLsAh((o;lCJF4hVlWmRu& z8!yj*rR91WakmOfy{w8zk-90Ma~B=?vow-{_Ueqeeeg+YqD`zcJeR!k@$>eY!o zrv9Zw3DBmo!dB5BMH7H=))O-H+VlpfrKP3N-0#Uc2|4?Ywfxe{a(*YIy7twvkC>gM zV0!El4yXa1xiGQe+8U&9_ndesr+%;GWzp-0%LG@JT=1r7p*qIrBMm}df63e$a6;$d zmJ-^PKIAh)q(k?g%l$B{ImRgN>yb;6A&b2W&i3PO+P68eGrsSejI|grnYI&Xp$|Sh zv{{s`B`5(0);a`dRiWMd{OP|1pppZ}1pJyS4S{>S@4D!7rX870eF@R@GqQ}rUa<_| zukeq`*{>3r_p=!Re?WrhWWQHO`>KJk?ciHwRDFQ6hJ{tN%qAd%jcREdXVF;jDm>40 z#)+R^sey!!Y2FvgsI)lWfYQ=LBo5&S>i7gz%qJxe^F6g^R4Q3&WL%>?(Qz+d7$ zFgh=(5e}p?RsOqQK)L02=GZyGk#GG(K(I+UDEUtJ%iuCZz^36hmo9m)kAY@IGD7k2~j0vyv-yQrO3@+UVsIt`OqN0cr+U z<*D3nFat;axk}^o_jN!z!QD4vnT#|h2WIKSYx1F1}YdRbL_1{+!}3W zgiH>qS)Ec@-HsLBj(6<@#hv|rUHGUc->U-rtw~SJjgpykX2R<&>x~O{iy<3CQ2`ls z;$5%X4J8TERX-D8R4 z-nhv(F?lX(-`DBgMh)8pOxqww3lIl2f`6F=v9s$j54YUjQ3vL~=CF)BqFp+AOjU9HkoMEB)VM}H@z-ilhG z*N^I`W={(Vg?#JcC`y_B=$pU;b)rfio@Ig-iW^TZ>`X!(MmTCGe>T3!wqNT1(skd* zfs>Ge^W&tbeYM!2q2OEUWDM7R=plp8`{njPKsmBFAq|IZr8t$2CBe_25M+9tDbkp z5V+=;YJVpDl%P?QXOqQ7yq(1xsX26czjd9kU{dHTW6s7nQS7F)M!LF?$t^Iv zX^jVYV-ab6r#t>)S%YFqz)bU`1-dn4fI7Iwk+3Pfs~H6K+*qTw*Jj;_dwqA7-uYMB zSnDjOO}K(hjttP()WsE29U#*Lhu z@uz)?R_k!l*4Z!Bcm7&Ag7S_tIYz+oUyUy(jR?O}|CK5;%*TQ;1);fIH3W6EeNo)? zs9TLh6BKL`yph?(pe+s}r83!c?~99G_cw4EIrHG{tS}q&jiyXHIZSy!FRa()rnkII zPZ7(tV^ws5Que_a?dL&Y^lY4d4vy0=xbmqbm>iZ`W@=^Pb6$Bk+UUR8(!dT5fe(Dq z9N~eKo@6>1K_tZf-MIwaWs5_+BV^_q>`;J*Byi7vTQq8S8jv<~rrvbwUoW~&Jgx-9 zI{%}Rf07xG6n{5M5?HmU=6>PmI`h8rEcAUtQr8ZtBBRbU`KclIMOEa-6xN0M1mBlU zzC&&SP0Q~*bQ%Qggc1w$m^8_|Y&GqIzdEl@up9OS^kss#SLjsNc6D6lYjB z?$QjDz4~)tHKTGfV%yIAjEoJMEQ%@-sOmXA6|#ysKKHSEbbXj0wMn9bw(tZ`q8Zha zuJ(urgZq@@@thJ{Scywn8s*?ZQ!g~NZNyf~8J z?lu%~@u7m%{OB|nwGQyUtmWwY@E%6fNukL}G**@M5d}*;C%=SNoDaoAYAa&%gIM)=IWV0BX zOcl}Tk<78ujEDW!!*R|2B+!X59i1E`Xy89u4gzmnYkuCX+JE-RDfmYHl$CIz=m)^2 z%K86Dd+Vqu+wX7GKte=Hx|9?UY3V^iLPVq+L{hptlt#Ksx_c4_k+aU$4X7u{)D$WWAa1D^T`?@?VldDTFyG9@N|3zoX7Mq2|Ht#q61xZ+3Kf6ni=y6|OMCK_yihI03A2D~Gtrp&yw`mB(oWs3d+ThrJ#U zU)_7a^0AbvkL}f^rAjxB5XVZo2YIdzP7d8K+w0dd2iMe0UYjCpC?08<_Bq~wkyA)6 zs)?4LV-YVaMi|IB5S9b!zbx6}5r;Q6L+-Jor5pVu9uy(;IfEQ*s_iqjfo%K&>au1G zo`L%2aSS5}+<2QwdBaQ=c#aM^S@vTunPcB=u=Ik-rmxa=O>$f+2gzx&FYVK)#pb(; zQLU@zzMy3Vf};fmTVq$&bn&PPCu?jlzPL=tE?ZRni#MzbcY||vt*)rUYAEYsvcC$F zJ?#`$LdN&FGGPBATTfpC*&jS2pl6K|qF3-HXRjo}cQRPpqE?cu#q$uSR{QiuN zXTRH{h_TFNwPh{zwz_Zk>x1LA;Z!2VHWi>xlpG9vtiR(bh$$$iS( zUwWNiML5z80!FBl{1r&qXlchnoP#O1(t8|%;*58cKcyLsCUIxH(^}$;Y4ip1)f)~0 z%+?`C8yy#aIdp!0?50Dh-sz>4c+dA*;-Dm1Cp`24wEwu^+$oWP z=K$qG?#!G7?Ef5)X><^G&h_~Wl5^z2B)n}yohm78E{vWHhX@F+l^RIgOATe`H;`RR z`>&8;I2vA|CC~OG?8(WuxT4&JFBx$xy6enC{f326dO6ga$%O*yIvhi^y_R2JC4ktN zs`VL5Y2p~;5PP&TDsB`LS5e$EuYbRxde|x| z&=J<~S(PK{i|mg?B7x)s=rc6u5*@a7+;52|VObzHhg`hu&BMs`(l`z^M|T<3=3caI zVGRMrKbaaX)}3|zC;Ie|>F2C2e>ac`e9FON^)ZCQQhRgYZ0shZ1PP zv(6Z#=qTCEQ?2#%k`H}3v+}4#eyFf*{NpW#=5M3?Pb6BqqrYXUmdqJ{c+1|269&$+ zQvXK(I>+km!_<}6K3o|lhbyfktFL+!>__SM;^eXrN3@Tozioq!ZHvjTK{o6JsgbXZ zgNG$26a3BYsBJQpqJG~Ov*axK?^^Ov;kSNn*Pk|AlcbP*WH=hx0!=E9^9N+$pB>ULY|oYQK5=*(pg-Fo(E zQRGSwOA|>`@_#}q<+~1?9W-Sb`xR>x82;FKlqlvv%0aH9}Z9iXQ|n7HI$;oG(tn&-*#Fi3DLl0y+F~OK%f!LElp$SYgiUW z2;?I**l>&+%7h6^33 z+H)-ooPft&}JLRS-AqDLxQ!Y z{l3F8ZJ(uh)dqf1Xq?dXL9^?4a^Qk#hpPnB8esC4HrA#MnI&vHNf{(u#5d7eE33;G zgKy4<;40^(qo>*V6+^zoUNcc~ghtle37SiCc6It!?UJDuE-w(?xxatE=le*|TKR{? z$PTZ)&0uBn$JEb)&xzi#Wsw{LWbLDe$pjW9p44LSW1FP%O`;cxKTeb(Rn6{i<6v6H zZM}P^UzMMTq{+2{>2jxDe9Zagn`^Ug5TDr+H^qvuz;%Cp1&U)O(dyZce)Ilh6K4-8 z%V5p_@hff`PDg_1Yp(jH$Kz%GJ#HW6=Lq#r8c0cA?^J5A%UD06JAVaLY<*)MT;_SN?k(jD4qU3z{v&?e=x5A2Rl6t8HZ$n)PYB{dZF!?VT4$ zU?ek|`R;<#Hc^ch66K>cGn6n!hyroS)8vf0?NKJs}lS z^(Bzd#vv+A>oZmeAit-ABqFZfIuZTnA+{&h8)SnI~zK`rA{Nw?1LgjwK4d-H#py zJ?7fo{xUmMrAwz%A~JU$mZ!B7`{H!g;@=49!*~4!u^GSbz8)j&JCawTOy4UDYubX@ zW}ms3+?K5q-K6H{cDZd3Z1U&@o{=Jrn8+WWaz?Mu?*(S|AByhFc8nO1(32oYoODIh z2O;YyiS(EGe+tzk)%VI}OWiq7ee1vCjJp2*;coxpVctyK=)(cqa~{1XdwL3AW&{2% zLnRfMk2ZS#iv8&KX@4q{-l>8PeR>Z!TMnr@*HxuSCBWtA!hz5RZ`V<~{E|toef1wD z7{5%=Q@L;Pw?^XAQOi?iDH(Trx9-|XIQ(-he>UolZu$}S?m9HFyD~p=}FNWYx3Pfd^cp7_Je%*7@#jo`zdn~w- z(D^8|X|@1k!ap%zqY35?k6Cz6z2tkq8vL5iP0q~f(-)80I)^~{2)7B}i$e$5%%rbF zuD`$R&b*;t#4~PvdYk54JiR22qFSO=ZBZc^>Lfh2&W10}3wa#)z30NX&d@qp7b%ez zKjm=BIz2`uwX;)Vu?qD=Z8GAo8*XiM#jtEu`<5*+OLSNGdEOS+Olwmq)KhH zs><<_vob>DX8|kqi|CqF-`&uN0JopMLkqY({3fULKz!qNe^!FC7}vvYnf-Ipc2rc% z7oQAk>XtXOU!+baF!Yw{!<@g!LV9-fgZqQb*9z3OB1*e0$(moaQ(oSBk)yb zy1PrTk9BNazh9e7A{+f@OW{$@@TvI@2R+eyUx!HJ0TM`w*<`uV@@sL3{PLCnO|cKI zm0Zr|=ok)}bogBc#icwcLRIibNQ*(q;-2uQE%3H2V^b}--4u9F|0W9qS zaHI8KBuKqa$nzx$3<*Nw0EA7ZDd{`QPW|U+YY{%)%|txiS)ScjfDmM-f+Jqy#-Uc{ zr{2vtO;6tfC%g}S`Aq@vpMHzFDu>47lI%=8UtVo9PoXkUe*Em&zxadZU1CD%t)#TP z8N(1wl?RF$^?*_OX0Ss(r)2m!CxKjVC!USuI{|Pff^qgZj!()n9_45)fBrU=Wpn3q zK7djHNFj)G19jKg!9G}1zuEyPCN72Cmd|MV=Q_m@&#sP=dptL|H0n=)nCiyYn#TZC z$hS@%%hEh@PnY{|?Y!iUD5Zi%-hR@{$9lp4;D&jR1gQLzVqtTuVQ`BFA5XsOQv3@f zrvCp05^?Sn%>4^hZoT*q{`v1Ewdnr&h3*C1f1c_81Ny0F)9ku=f605D=#JUaN?COv zF+8+01Ps(n=22ZBs)H(_=YlN2!u{U>Q$3p*aFBEy=u{{!?}8Vn`>G3xrGx~)X(R`* z($M3LYlMg><~n!U4xLH*KVi~mLe9Z~2kE*;*|ll_pc>|K-d!Q;fl4u%hr|HhmFA%F zdBLw$S!6Rl%eY4@H6l&F zyhcPo6iD0p_n7`NCNo%Vo17I5>4anv1&(B? z)GYekF&i;hY_W7&1Rxx`IM;vth ziHo^14y|h3$A`=%lc{uHy1}Ca*@qcfuRMhsA`)q*5D|;IZ_j;#$kMND^x1O<#&*9b zCzH&AJTVVze}{*k+pN-3;{P9)N@CFHsC#JWw2spK>lfxgsj$fg>Q>|nCHa}gL{f{X zzfvSG?@D{h-BQj$X0v$Iy%HbrVJ)~yQ?SW4W*+CsdD4qJF&JZ!Nb~lwZ}(jeWQs(4 zq}64uelf}%-+q<+-izkAJ`y-Ek}D$-MtlF)sPY*zo{_QHE^=Q9ch`>e!tj8s){`-X zplL2|;T7-xz86}7%7Ate|7$FZSc>c#Jqygg&`g~i&4aJoL5LM})lX8>Q92On3L5o} zor?L+z5_-t!XJPGj{B%CfQl}pov6aI>mDZT`={5?AdK!PfBn=LJm}i5hd=q_ z_A*eAwWTU?)l~ko=enA=y3zAOOw%C(sT%a#$RR@75M|E(_hC@~_XdWC0WGuj=3$re z<0A~w8s=k&I`5dw+~-pd6@{D3OUpR^#$o;PdBIc%|69VhS=7D7Xp9$vyFNXCBS{re z{q{*MbaT0`!!hd9Jo1&QY?oW);imj7E<~)4JCFm1ieoj_DijoPLBQLdBO~v`33lN{ z;W}iWz&YKUT-O{UU>3tO=Q(@}(U%_0BpR>}N{n_%QfnhK@T^cbTT{FD=9a%;b9V7w z;>9p$Bp0;y<+~}IfDa$;m!;NH|{3u*6-h{<1`=3U!AyU5?AyXezy{ahw5B^9#RE}HE0G(_%c}EJoGi>`cgU^_Vu@3%&GlfFhA02Ao!)h5J)RcnCkst|jY>DJq$t(osLj#2KacQzGp~%6}GA`A3SgK!3?> zilpXCNa8R5fjR}-<1oJcneIbMG2OiV+-uMT>nlxWWw$)=*XItrqZpg^%DZeo)=4~f zf+0`NqKSTD*_qX>`Fuvkqwv=U2fx(9?*!sV&%}g;1g+>DkFOM4c z3)6G4?pP%K8s4TjZ5&(d_S1vV#vuzyweJIDN2mC=3<-l#2Xp;N_^)$OxH!0H9{hE@ z#%22Y9!0?ILzjc{-5IOi$_g0YFi(EdN9IHLv}8MGLLz_Sw&S?+ zyC1RIy%6c9Nj?e8dsEdEisL#8QDO1zCE{>WQSREZIqzD|7P5$foHet?cNPggzcR^C z+Sw8Om@db*AnfUGq!XywfvgCKg!RBqbA6L57bamF>xF9Kx|@Kqlm%*#h(rCd5U5cg z$*xS9l_ED@ohuz&wtUfbg#LN73iK`m#b=|I2||4yFz*OH5MDLRVIq+FEPNLd`8+HW z?@hc~UeZv*X^m3Vy(6A6-;kY|0xS2XUo9fRKi}!TIZ2sc0Tr=^uTz_cW>zORHRKz@ z33U0tlQ;&(BzfdU^r_HndW92_-}X_%P(GP&zrQKow|`9dZw-Oc*5?eiZ}k9WCMk@4 zljQ8S!gwBLS229KEM&eK-j$>ZdEZsMzqE2!UbcF)086q3Fp?mAkCF`PWdI9CuYccUKrMsa&+5!*OQT z5_ryDq>^KkgqnArq^7L)-ODkyZS*N{vfhOKY|5@2sdfYo?~^A_GVuW7PH3;e@RJ># zW+~UZP0~$RLpOUJuOBor*Z$NZg8QP$r))7xU8DAi;Cl;O2)(mcT-E^{Vq90AFfn`M zdM5Qnv8MW-SFk4}^1#tB`^M;^N$gAcXN9G65hsjWN|Iw=R5jHNvM^}@mw3N`%n z)od|5E%|kK%M~N6H398^B39u5(K9XaIFzLM`nunTOf+|A^dbD-IttZZwqzmjx%(>x$>Sq&nMO5nAOBCzK;Bk~mkxR1v*(^IdZ1(!qCupB2g< z#yxvWlabnXj8+4P5&0Z)Yel+T&|>(O;$F?(XY_HxwXl2%m~ImsP`xR)iMK2oI_*2X ztolRRPNxttq|5h>#J&X%DX54|t*n--3}9mW-TPN!vG~Yi$=PB}Y&}r#U?{ z!+ZK|ouqb5Kl}F6jGen5c40D=H1nH{iPm1YMi}=*|F3qi<1)ja z@R<1C)#ay7`a0%F=I=k|-y(efY&Z)9KMSqcPL%O3lg-yAM!h59@gHqA>wa8j5nuhe zUb77%rg*LqF$v9@Vu*};3I=?_Z%y~3b)^ukLpUX-8g(rID+h(JoQekwi$9u?3@Ded zO|WI#xxUQ1F0cL^YB8)qDRcdh zT=&--YAS8yAUrL(+1vBf%1&}lIx6E%*Y3nDn|>+cGs|Fa+{!prZ_h|fz&2~+^G+s1 zwUJQFIfU4Z2i=Ca7uIDe5fia5G2SzDnv;H@DL2ivb5oQlreM#_hww3eB_} zJ~Es{awj;Me5o&{>wd2kv^unx*R{)|Ih%n_VaFTKsN!;&!DcNq(A;d%)A8{qc1{B0 zyON5skw$SWOH7LU_99mjIRdjzM9k&vAJ-WJma1YIASklED2k-f#i*{ftR@FVO+S*= zX#U>k3M3lI5FR_3eAAuzV2`8JQorO364TwgPRC&amr-_B7j#n!w&rveyu$$(b> zP5uWa$_<=JeH#IXVC=^0$-r&@&iw-p*t@pthO1?`R3A3b2%DYPv@u^zAv;}P-DO@a zw~aOkX2d+KIGyJ;U(scH>P@aD7~GD4I}YM3b`n6ii%}vpSY(fYPx_uk@z-k%x6bzE zi)Z>?_=)~fOpm)!Hy2Y1NI+Gcsor5h+A-P4^}Zaxl$YbtX<(3nqnTFN!wmrU54S69s$u{or!Z}>p-jS6juLlM$;=nR{OM5SVv_Q<~l@AVk zl!OaT50DJYYLlPwc3#Mu-X$O)7;2~Jh^z1RXWqHtg`No~B)rkL%FefwoGz-v>wsmA zg&h9%-4xEaBa<$<10!CSB8*3-;J1F7m#Z!~wL`8KSZ{h<-~|5@UDZbehnGI3FDEp# zn06yR=&DHOU%NcK_Ev)+(;?V#-EJgx!&YQ@CPbTiW*H^CbA`mCQSU7JDdx(k2A2*s zdD~qE$iFsTY;Qc%lp9OR?0;|}F-&{*0SB`kQ8WAt)i2l<-x*alf4-7Jt04X2S=efY zIS}>z6MwY**Af>SB=?faaFmDsej#JpwoNkE1PDWsj^=h%2+||^*&)R7*Bl;f{A#CX z0$iz&% zgI=3#xwVu8T-~z!rBwP$J|Kv_W9A7EX>ObmMt~7ZMrH>Xgml8hndLG6;zh582YJg~ zD>?C82`LWLB0f@@#)2U6A5szUk+D4*diA<)a(tjR4e;%Z0R!gbio`XM3S?wb+aa`4 z`tlRGyGeDt1_AxOegk+JcV%$`7?nvo#8{F*@$bEFS+TUdJ3H&R@xlHHe#|^?3>4i@ zZH|Q_3I6)< z$dAe^n%b1Sk5K(%wtFzbdQAmWy*bpCC~V`$Q+7>59YEn=iZFlqabWVu9O|j-b&zLb zwT_Gz)4E7fR-#OCX0Cv`=wztjbTH5V82yx+dr{~ruARiYiPdWo70!&y&21j(f7LWJ z%42j-_E!}vGgxbfnn(_4K%S8)9=x> z+zD@rd8HMO5)~v}#3LJHM{P`+=vANxzbZb?F0}Z$5T~`>-MNH~+E@)#mK(>7DyF)5 z2)K;K10VrG+Qi}rUd>kGV-Pm4`UCnz%3CGM@;Bz$rvsQ?5ThlcuG3K(_1yJ0N&7?} zDgdR4uy03Hmgu3u9;j6Q7ic{tEU-T8KvTv@n;hMTD$M7Ij)i60WA(z9jnPge)mW)^5MGr5M@|^Fkz)}3Li|NA4mBh^%x83K5b?0dn;f#WFxq6TX z0t#8$A&F4vxp_TBv{?I|$(Mug)(ZA;Iq7Ntz6C+Ib#IomAebaba~Oo?x64y|iqH71 zZP)A1>EeOS)oa0XdWrbYi9S}hlM)upZw#Q8h)kZCl+@AUX3Uv@6enqb&jBwOj{<@{YgjTnEF{h$i{WOe6#=ibNv#7#irr0tt6P%Kiy>Qc1u&9?V5 z)bX({>rWSEBqs>FNwn}@VeNDE^S;k{Pn<43#&9}5<*^Q*O}{U5ZF@`P1mSuY2C{$1 zxkQ6)8{djGkJUR}MOpiE8 z_xntzmsIk~A{c;BFom)s@E_Zu`Iby1#5W7}vm~C|H=U4W6i?6avnf}QojV&#d!{j*pHGUeNEHusCnrdcjLY zB)xh4ec?gjG4J_GCGVrV-y0P9+}V$&n-1kpqv8{zf39|B(N6L$l+nuVFKkuw6(!Do zY+-6LYe8$zUXVQiFWAkyFbOh>v^ANxeQGqESw3`M~vu*l@?QO%nG*u~y;{ra$NAZRlGj7bUhgH5GByiI6XRi|4&3n=yPnT53U*OL3daYi5V!%_qHpBXIGij{qPtZkGY14OC9*AD~@lM<>o$@0q1m>)dkEd zM*3g#`QjqL5QYUtGt5{<{#Tw!kYrTV-)$GoYd?Ywbk{Xc!{&nflXI703`75@DPp~Y z7|rio7IUoMb(01B{X8;1dx$E}>@ityZmiw-PT(D>0H*cBbXQSkU~s^@N{XlqTPeZs zBCp6g@B%uhPXLZV(ECG~?WIgAeYD!uzTnqu6~-+a*565Z##9Q=?~7c#06X84Ivn** zB;Paz4-WbhSAAWI*;@bdWT+(4+R7CN15CXh)YxyaFza8$JkkwZQJhB!+hBEWRhwY! zO{o1@S>2Ss3rC|<2wJ%W^UGS^8e$i@!|DiTL!O5Xxc!0c{yDW-w;NTQaj8go%JIAq z4>L&n3{Fe(cH%YL*;z4u>m#4X-Wv!32;vOjy$*68iQ2w545Efd`K1O0(ip>RS25*7 zVr5-O12Zrc&4Rgzf>G9rDS;|tpYfTDdTJSe|neDJAE#Qa${Q1oP?#h!p3IK>Bb zGJLN19eC-I{W6l{=;OsL+VrJ}yXhP!;mapZ;1br0%&yq=QN2ASAMvC?fTJd?WKME6bDV+Fq_SEK9gOqtC|@RN*<*xdAxXfk%9?Wm(Olb+Zb<@U92~XihW?oH;!~pIl(^}w1Az;_6`hUN&E3pt~$5) z6tvTU)^RxghP#M}=40DoN3Ly2plhd1@Zc~^SS{qdX!}_FCZtgx&3M!Tv2B?N!Yqp~ zG;#^j;RUqxxv8IJs*m*XKlRMx0OFWXTN$9mg?%*b3K*!!Q2{dM6qg6L?$D*1U!q25 zmRf1>x!!ZF4<90aIN~pSSY%Q0{ zaRc*;DDAqTh8+;=8`pr__Sbu~LI8~EZ8v^V$++HqMLV{g-57ft4(fa)9DHoW z&Xl(lQ=+1uvuuT1HnZfk+;^LC7&~Q!Qw5;#DSepvSPe?#foXcO$R+Rgs5TIdf4on6 zraUZk_Otl!Io^sFx39eqOK!84QM@uE`jrZy`dcF*U(|D46C1g8UE12r-9Rk-eEsgd zMbq0-7`w!Lsy~0p!Jv4K7bnjS_vcE2h*z#SUeRVMYJg<6H%cgTPeq&&vkH@e=v3K3 zA&#A!P+K#i76JHdTBajP+YcqL3uJ!;BJR(LRQ7)NXph0Pb*ggt!O__@wk|~W+rOpmt>5gJLScyt~)S4J0!+xVUbd0u50 zHRnNz$VxDma?Ep*gs|}eiwU;MiM*26-EHCNL=_N-|`xq>#WPjx090jt-6DAnhS#&j86*R=| zc`f=eEtkgA{++kgUYNDjhN>i5*W;w&*yY=Da2eV$rCHZC$ceZ!=DfPr&M!3fiQn_- zI`bl$mS=nBn7|V;_lDZ-s0LFz)2IPi%me}kuRjN=0vL+Q`)ARUQ`F2IW}##9ByCv= zIzcg!iI2$Anepq_d$tQBiLDa;G8Ii`cLHIk5+|gT1Uv{acX+TfMx)B@QCDYYh1g7> zvG6d~MfIZ>m|k7H!C$TCXLa0+If#DR1ZjDY6wuD#xfCX5}p!!tFW%<0L48}0}z4JDK4{Guvc;TKfF82@J);pxRzcD;i~Q-*7@oH$xdb+hxESmNu8kmV z!bEa~V)l?Uwb!&TU|3=py&JQq$GcuUYGC4n^v4hf7Z&m5MCHfe{;fXZb^XpN?5XZb zEtO;iZTEZ=Qw5_|`&`IAJ?Qy&k*iaYKl;`3bb4fGYJAjlIP)xudf-_-sXit1dF2OB zO-?>D9loq=Eq-YqogU`7Qs7k4>#j$;&E{}|^La+`_&N>wA;r|32UbxV#Ozq-^4+)| zujBqIW|XAOnpmh1CWrNs&JFAh*Y-0>L+1q$nc!Wci~Xf%mk)@!5-G#2t*HNSOj#>n z!J-dCs!u&<8&1um7rCb+tVN~@5op^-T}1MXrkP+XMtw8Gzu}CVj6~STSXIoE_R;x2 zi`%Y1{}$SRp*&!CyVgv0K;#2h9Fr>Z!t9+0RX=;xSfV%`>B1)Wf%;mT4+C?JVbo&h zMV6V~aSW=){6J$cv>p@v9Ex_XXfVTPBlwrBS` zA{RL6nIv|`5qZ!91<@kd0R3&!v)56N#LKAz*$W9|SZ|Wug<5t=&6!UCc9^W1U16}& zR%(jkcm(Mzn9L6IB|V*V1;}U0qtIL~X+zV~OkAN+A<4>kEN3wn587)8RHhqNXGNZy zzaw}3!Lh?p>rqP}Lwkv@EA3D2bbTe6>(FL;a&odF8t}l-U z^bpqT3rb|hXRL=7z~(sm;8Q%Hp`LzNfaR4at1EBv(M~eAI{Lyc%(t4Me-3Z1cv~wd zZv;rYxLE+r={7=L^$Eq_z9I$Z%I+D&kdER;NzT2%P1K0mw7K(3=j|5<=fek&U4_Gb zD^X?^h<4-A@NW({;Xi)j?e0d^F#$i1eg0FZl~j~Y(e-Iqub9HL*c0Q)-ax``ZFul? zj8WPKIqugVu%2cokD{<-d&Rr7IufgU_n&wQM@_!J^M~B=Qrun@--K!`^KG8tqI0F= zr)_U}#`N1Sp10))@Gm`%Ayi}!k5f?CpmGslOlv=#O?)t++jHcQGViqW#g3hr%((qI zU6yBEC$wc1u3ZJrQv(eq-x=#U?(Vo@r#dIQo9?%@k^)HXSQQ8Nq*(e(oQ@ACG-E+t z#JAzXrrld7r)H)M=7kT1kO*wUx$uRSdmr1`l@l4G* zo!?4;QMk1xkG;yn{g$TeRKryLmIV-3$VmCc<1F z&d>mImJ;H1{%QC*2Xeg@VJmvU=Zoa4V_eDg4#*qDZxs_83rPm`MdwIc5946S7dBR* z?YWQ$HYW$ScR9T^hdo_LrtnxO2ZOoX0ZP?ok*kmha@y$OK!mlBX7qJtGeGXkw82T{ z!1@FDt^PzhIEyDH&cvv@3vI?09U^q6x!}6p{;!y6s~))tCjl8=qaym_6|w4R&gJww zGSJuv)bA@b(0PMRkmA#I)`fyAoqZF`8a`v))Q5wjR{pE4L`h&EYBArhqg6A>UVL9( z(zDDSrIbYpg%?y!kNNTmd&c@!*9#`UzElYniRdNG{3+oXMzpkYT>B`PP7FY--KtiM z-vS^o!GQpktlXNIm^^Zr(V32$&;;7Z1m9Tt090IswYsK@v#$MCuGzLXn8$hpe2Mk| z1#h+D6Nfhykm&3cIMip@DQsme87EpQGKO+4ZhsBa(BmOsdA71_w*Aa%duCQlAAuB- zHGBl|H^wUrF8j*jH^!otU{COb=c+0$8dlPh^EmDX{3Iq|0~AU*<&C_5a|DC<)r||L zS&<3=j+O*PBw|E8uoP$Cy)pQV=EdJI42+#TesXMUCAl2lbM#A$#c z&Mw8&`uj<;t4D|DnS{90;kF2$cLZ{EiS%qartWllvY-Mk{1fWbeF`Sq6NL3VrE629 z{;`u?tNi(h%k)cr^!OqnBSpawPd+o6Jr^k*(IiO8c&6xJ zBV~M)ua=u{C@EOVc$VJ4=w9L1C$-~gw%`G{!RUmfSQp-dUm1y70{C zB;rd-wl7QvI}-hQ{wdjP2GtLwLoJ~x-e zjr3+l@FgP{$;m99w~UvBe0u7j9ZY%Jes>bE!xF zNqt&U(6?En-#(=Wd~*j@wk0P~kbP*n3&!D&Ft z8#(WwKqdCn32|E*xYSgnwxo}Kc02BJJ8=*7)e(gxW;FE&B;o|NQ^Jq2GCM#V5a)#; zkCU5+uPFfuHMx;hkSqY6XR@NO64dF{c=RHn=K?zB$DG|CT5qDeuP@LChTF%_U@U5) z1L*uXA9>>t(BLWQAOQy0Qd!npoQO=bYap*W(t^Lyu-1TxII$b&fv5h&%~?d}CpA01 z(YL-1zViAQY|;$b1W0U*F+wj!p3HWFqFJr(G%M;d$B4&QMHb8EGvHAKOQwA?eQh%x zoS*wRo{e;&i{Sf9gVXo&DSqj~mil4i^Q&TZtUu|wWV}3wEc^@tOn_cy`NtQ>pFhd> z+hv6)l^?t=*!!_~&PS$8&K}uSW@HDlFxB5Ssh^8zR!(X<<4l+IVGeDM-!43I)d0`L zI!DQSxZVDzqaJ{UJFC?LgaH6D7?MpcCp(*mJ6E%_@Lm4iz2hy)&oK%9VBxa(+B;V~ zv@-ie0m3e3oIroU>74&VM=7NpxPSP?M?qIGl|Qx0J^=WdN=4k3l3`j`UfZkL_@&^v z)MH~Qk2rwN15mBFWGQQA^o58S1!Q`xJ_8Exs)uJ!awo3Siv8A%e|5i>`!x!bfDiuZ zB*qcQECb=w80eXR9u->-w@B)LjV0IoCGq3@Gu`3@txn)rkN58&GI*5vNPV-)?8qzv zG^_-YD8;l3{K>b2+1e1&MW@;Xo|y>+t&{kob9;0Yc^K!e1(rnEcKYC9?$v?Vn0Eiq z2=Mf;s!Y=9N>FY5aK@=$_nh&FVD5EJR)WJ9oPYqHM$kv>@1tjjYC*{er^OyuX(+{^ z!?9mqmDdq#dpz*L50l;H7hh3fMo#L%Rc(+<^U_<)JL1l2e8g>A1#_1*c6PnQBdkAH zZ6@C7h$_7OFzu{$tZ+K+m>Rk#H8P7Y*^aSfh}7DDokHxJ#aW)@0A*tZrUk& zsDorCt~l5JW^QtL!G&Wyw&RHTeZ`JWJV%w@+NCY?cT7Y}0wrru83YdWGV!VMInW<5 zNp4CwR6Qi7u5>O9=?w60x_-%ly~1OoepjJNiX9i)Du*V=eszqrzd6!~xBfzI&Ci^_ zE)b8OVU;Ibuz7E=co`SUX-RaYN8dRmoaEKM{^rr2=vU61nbn#PE2*F(ge!LI*#OyN zCwN~!bMl7iq=Z@cr`sS|lF#Ft75QP=Pk@reWl7cz!V1hW=|@#Q>4T~AMLb%oB5@Cx zl?2#|43C2C2NfK@bQ`$3s5ayJcZfiS$Dn@PhV>R2H^iO~2QS*kWnaPS*#`1tBP=N`oCGNAD>!gfb$+0V%M zE+|btUtQ${F}O5rBek>u>kQ6YmsLvdFzyy+YyITpl75|&h;pzUyOr#=^%$@Lki!>t z0DQ(O$N}JI)?V4dNw)vxLA5^grxSil=Cf8;VIYvzvLP1|OWNDtja``~G!Z*%6Z=#g zIC@dZCrP&YXpdIq@#9Jwk&*md*`|~!qs4AjdE6&ak@rn(%~W12naXLjB|a4|?sa^t zst??*5=q%xTcIx|SM+N+!+~1^N#WzC`wh1Y_Fss4D&Bu`+A|z@$i_}b|G^XUfdIMn z^#1|u-?YfN;g5+hdknL|xesk*298O(JD%VWx2~j|Us`SGvmTmrhI$UN&erxt9M%Ig zf>)%V-4GRK)Wc>q0-V%{ucyBBzyVg?0r-=Q233TsX;{Z-wwV|L$?HbDInkq#Tl3p(7KN~zk{wImv7B#2`L89VQ-fHRQ^nS z>|eIke`$cD|F%eY$WPcp^j5)2?r#71>G7XO-4PTM<&5CLu{iikq~&7kPN2`IC^3@= ztDz>@4Jxh4qPKl1-nA_S{)hDhsuT0{r&VFsZ@5RW|(_rLZvY{o%$lEyW zx>U*9HgN&>-L0GbtfJpavFEKcbBIBF&`Cyn10Av%2IG{c+Chp#p7<2r^K1xw!g6Kw z>OX+{T$WN_(A7YY&G+^20==>00cotdTTJIyxfE&4u3Gqs>)dKG0m{4=#|vOfj_`to z=zD_5Evx=vOG4GYy^}ZvGhp|3;#VOVT$_zW93H7Q5#VH$dFk8@fiU9f-;avb>p%GN z@KH?IqlmhG*+>7pO9P}JH#dI@X2L&rUYRri|9=^MwDu%GDMofWQ%g-S&I(3n2S5s7 z5ho^4T?o^!zfNzYlnq<9Q)SsuFL+`CKMn4(?A-5UcOnuYzc^xTeVb=`WCxGRr~0M$ zFtgxM5>!(uKI2EnG)wv`Ux4WQo;FjNLm?X%l`1^T>@rrG*gA&dOOY9i$$;^z1dPQ# z#jG9d6y4?ew9j)18r=}qx(}#>(Jn#U=nPw*k~mInlXCOdsk(a^8k?!&rCR^*Z|(7; zmTw-rl@V3T*LJ9}nJlJY3d%G;`#-$+&lO2WZUUmQ^-Cx^7Mvbh$9t}J2G(V~%PSef z=D@3h!;i`__<;a_6fJ!;ELHuex08r37`v|~EkG}rOnrgvsj0Ns}PZ3>&?1l@EAk1KiVJI6lM1gpr~dUw^VpX`h75mi~y^%UjhO3;tI+(q14 zrChDFUA-Jp%AH7`v9GldNkQwYko8PKU_k6{(I-fzk5%}^@#(Rcn?mcu4MG&}=HTa7 zSC%h7$;nhNe!Z+hQY?=RBaIS*0UT^>KPC)9UN#@d=}6w0H5DI?#N9ZFz23wL}3ilPzz^- za0sTpUy2a|Q(NFvjVF2phreyv&Rll9G6Y{`U`1QV!1foIzbEhQquV8+0}O@l#_fb@ zF3S{Mb#-_>`n<>%-i;GHVYMj8Pxc*YCqx|&Se69Bcc|bge$$}m)fE#S=OPg0d0TCi z&N4?7#U2>eI2;Y;bulc<54tR0obU`X(pj2++O$-wlM4)g4h|B1W=#Bjewi-4_q#-i zOCPS!d2zjJdi%WLW;wj9*vG@@umwih;(^fdxr}c?gD}aJNzHN;d*~^1Z$38Tc;827 zrvn?aT1K%2=WW-H9}T9sAX@_>8qRHQ)x(;m9TLcyvxCEcm${OlqfNd~ z%gw#ElH<5$$*ZEwztbb27uvSEf$MsX?E{Btz2s^ty0Cyc*VI-f1Z~jeC%4k>Fpy<JCwxJ+s%T8tWTaQ?9`04Gi~vE4P+QL{@KvvhhEJ z(mEVfw&rSw#YgoS?K)zov&RzWNVV;?6W^qY%l<$bbHx%%@o?-1pLf#lzI)|AVuo(q zy-R1Yxn;Eacisfv>9?hH%9NXor#+-1naZ6N)Oz&Yy;6^h82d7HBf5InQ~M6nRj1q8 zc{`8;)0S0vbOr?%FdD+#l01jsqwwg8)l+*!UZ?bA&Uf(gN~?RfX-aF{6EYQAp5+|1 zYZ^>+YjG&^SZ!xvQ#@<*k$ho1o!)OyvV6JOU(V#1Us`u^?NZunDOTI~DB{!2HxykMyUl4{DG|*r-Z&+c$iN1o$uyNk%Fc2Z z)3zCkZGFCDs%3f9bcyygMHy`6rM3@r#l4@hb)SYSrxq0TaoFX#09vJXG8c2EGzHEFx=oVm) zf_xVh@ubhCSfxOmSfeY<3$o!3ii zxjr9qj`|iH2~6@G4;6b8z>1iAE%P#1_r-V3@aWQZ~^3?*QX(eKZonts-BrTw@J`$Cg!y^!d!jZ zP8&1}6A7#Xpjjh-JimJ?-l`IdUku-@4>g zzVLS)#9SGaS*xWZZpuw-jRINw1h~tX9$fitAWdJ&K%I1LI(d*P3;|sJ$tWc9^n-`Y z|KS<04|gXN$Kg*s)N2IpNd=vq;|WsHNO-(tlF5^k;dMzd$YV5hPceu+-r!nS^3F_= z4#su><{21`o`pTrzs2E|CKYUQQo9Qbq48KW+ z*X#8yD#@jgL+x=l_*Cw5J3z(GLthL}XiK=2X{B@Tv_9=O+Qcq=vNu&n1uV7Fi-3eq z8DaGtd1(<6xyj_Oz;B$F4+DG_eTY%zSAOF`%`&vWp#iKjhRO`hfU}_$L{?nb}rMiUR z!1D{8mhDo*;*Z*gvKH2AAP$F$!xXBe2(MU1ITB9_-LOM_M=#$W*XBq4C zB1aUjLn>7~jJru>c$jB7*}WwgtGj*X-B8`Bff{b8JlP=M3uGEztZu`Z*X3-g?hnip zs*YCC+z0tsyx;l)JAAZoxKMGjA-4w{w}a`uYsZALr7?`a>i)b$iT?lU?YpCz+_rt= zW@7^P*~}gM#DN&I z@l}SPp(wj+tb38Z$wve z-RSxSA+fnelWuSP8v1dj5P$Uxd#X-z*4_s8&04g6T1%GuRvWJ0lay}IYt_~w{f z4K0+WJnrATf&+^r>zy@|1oVw@`UtG@_Npg-wC3L*TdAijj|>Ls;z^#0<1orf{erU> zp7ftj0u}+v%F4%7*wuJX9oY}7(iLaFK`sTcwJ6n(7+n2B4Z33u%_qDgz7uEGwl%Hi z(5ua&O5rjy<=!sOkMPp_E1u+{Ct&LfmAN#0$dXA54D3PX-Uk~xJTo1yEk8EH=+VYc zHTC)w78dfX*t}I`o$+G9y3iC2EW5Hk%cu1$mW>&lFxt{isqOV)Zq0k~3L9a(8)p|y zkoYxh9&UVDl_ENmY%4>hFf!*oKh~rX>N612Y1;cY4!3UvK6~gxSz=skntsFz{Lrqd z9tfO8Pyzgr$uJi}A@A}*syj2MUs#xNPs(M#)B}UCdGXgs{3eVTken18Bjc(^NzVL0 z(p?b)-4ia~^mI?;S3J()(%IK*l-{-0C3_GxC<4MwjL?smBL?vZYbw02)*Kiajt$cP z_g8XqxTb(n@SrhNGB_#k&ySsmBzm}i2h@=tu))NpngM*EVb z-0q{iq((RRyRvpfV$&imiQuOtPhO)3bb2?o>4KfQ!og6EJQ0e{%XzgQjL%E1c@1sr zxHcm}YFcCmjI!VRuLsNE+na0j*Qdfv}Nk?c0(jX|!d9Uwj*qiz%sI z)F^!z;8ociB|f=QyfE5m$0xdh-T3}q`*b@5FFr5ml%^5PCEcD~no&eou-!BgW_g5=uNJg#jy}j8> zC_~-Q3EE#6S#b74{4+sj*;PXNs`+|akt`NyZ-OC#fjKvCZM-duDk7~p$NODr-WCFA zNq$`BOrn!@=NFpxKO<-Fr*?c$7|^`uZqY00*EZ?+GnFL9yZi3>@t>B*8v z+ag@BVsQF-VJBhgcd#@4bi|rf`?+s5%Fzb{CAGmX zyjC=6Y(4H7cQEylJsOO` zG+R4c+WM>2s#q_g%t8Wd^BrWf7M}Y@Kcy%4ZD}6sxM{jGOJ5vU8+5E*Pb=GRE_BHG z0{w7etgX(zfRc71Mh@dCJaI7L?bV%y?IcmJWb1bG4g>2IVyMZ}2c_Sb=+dpw0=VH) zl=X4Ld`xA~25DLVQCL&GY+`#`MC;+B_g!ZBk59@+XT4gPjw@eG^;tI*7M>a}U5Pg% zsV_G`&5YMu`X=7b`OSM?A&fIN`H^2NfQxW7!s0!&#qKQ2p@28mDPa9lU}Bzoonhn()Y!K50?I$ zXE}ozso#J2b}CycE73l$wxqqj(5OF^X=rAc4gcckT@9s#5@l84Gd$|}dl%o@SIjI1 zyUgd=6)4~QVxO0DK!6Tb<39RXx5P+KpV*Zj5L5Z51@D7PtKm+PP_6mI{tWFn4do*x zZ|a!YDHE;UR`<@GSs|qn)oQIt3N=qgEc$!-Q|Sk~c}$@nY(<>=8D4Y(_me7A8MoW2 z#+ob6w(d68)QMb-Zgk04sr^dYYibHT5jQD@bh4{EUcAs@-?j_%eeJOBaPJgplvlmPHRA==YSMfw`^X(emE^Cd+Ri=Cg78 zGxo@{_TiorC#3X)#|swoJxww%@iNhC+(CrBO&KTa)3{q-{zx60W7VD%txl(JlvyUW z`1I+LzNN^Iq&m5n91o||88MlGqZz}qf< zuNvVoF_@d;4$2ZvkZ+FN2g*?hnph#U&4?mL(HT~ zA@SwdW3y6UlSAL$2+nSq^9Y4{eEZ#INb1#0yX!>9GsjzVQu0B%L!ag3;48*Xq%dMm zrCGCzTo%cmSH}64-5Duow?SmcS?FelqyV`-h3;Qi~SLl2~`Fk>yI|a(=F;D6@IHRF&YByi)EpJ31;4 zy|mievxc0Sb&MuwCbsNxJ32U_u$Cl@-7v)=Yv_UWw_sYcGJf=M*&cvjlzroGgYTRcQK@dzi0To6czutV-o*XaU z6GSlj)UB#7wr{0QU6EKfP~;3tdi1_R(B$@f3f*Bc(IQ4Gc>EDe@1Rvo`|OF2pR9U^ z7!wmmd{pSMxS4DPDy`kEru!gDT0`bu@VIn|XC?SJw?p#Wtnwiy`=ag$X5GB2Wqfej%j4nOihPu~ z=*fn!qKwmXcVWl@;Al!~>#3g^n9cM+p&YPPx2}S_lYPHYkaYF&VC;%UFLDHo1JT`{Em zhT3dG#YbWtzg91Zq_E?l_1vRT=+e$r(pR>i$$}sB^@Q{Mdh@87t@i+L=SHhSfXnga z^!c})5w_-ILVK5FsNzO9hR+%=edzoR)e}y4$`VP*rWn&Lw@RMGiq9uqtgeewsWn^d ztBPGmgPmWF97Mg6>>OywF$&n*bF0$VsFyY{t%A&M%6U*0N?22?MkIMop(J$4!pf9p zy+c_=TD&Yd22+k3eP0@vgq~CBD`N2iz3_2Q?%GB-UrO5EG;;NiCp^kN;PEk_YRKwO zsIbO+`ESPhbW1(Ak3y3RFBajqB}OwI8fUC)QKMT|4GbNME~cCc%`tGw0LCUCz#-s* zFLq7V$Iq_1%*Sk0nUOWR$z)o>_lEqcC)9*0Vx34rwv~y=oYa|usrB-#`P7sQw~J++ zO+|us7d$@JURIbGM2;Owr55fGu0`C7-Rl)SHa;jT&4q|Qzt#G9Fj$1K*z#!qy7VYj z&X9Bn<#~>E#_!$B`VB!6%)zobwZC7eeV&@svbup$km5gg5T(HG0xCL7t$!D2JX)(R zJ)F<>%B)tFT4mFRv5#Iaxv9C+5&3iL*2D7pYrdXMMvaM#Du-UTPgpWIz5M{yq%<7wCrkV!;iPS2L4Pi5Vslx&qt(d8ZqF36ZF3DFMXOmLtD ziw&*)!+ml{>Z!-`W7R-BW7F4;q8WA>NKRLLFf@S6*y z|NbyxWK4Sa_te3bOMUpo@e#pV!Y{WFYImF$nQn7fx_5%{IjxkgsL%Q%tv&3vmh6d= zI97f8@}Y=$YT56et~?E6&dh7?ns_QVH?FiFt7-cBNneKua3p@q;L{BsE=Cpl!Fr1L z>{PK=Bkbt&oA&C6jPgn8QKN-sew-S~L^iFcGI46gUd*8f!y4Qm&f@Bua~V}IDOt&V zbAi&U@q(Pd2)F>4idVC@Be~q5Yhcf2iRAcB)krbF=x{n00DT|jsb`lIJ*VV4ZYV|K zpO$T9YJ2=cZ_8%!@^`fgdgR08t~(enTDWR_NBg>5Q0$vswevKbSzDRWChkQxUhI~u zbRI&8KyzFeQO3wloKl8TV@Ov`QU`S z%7)?|pt~z3%s^o%OOyjKg9dyjM0-RyVz=jW5BwZ05@z)Wa|WiX~1kVn^nD35c3 zPin*CVPyF%qfTD@j+cPeM}sor*aWx3%o}-uU67XR-QL?0PYXqJg!iF z#tXFYvRBIw(vZt@L*Zy9cWftmV%&^KeoOEvcW69Abl4i55U=rJ-Y!+dHo=kjXK{H5 zvsD<2JUDTpbDEkqzIoWFXGbz9?bA6$c?NFY^AcTU#K&7W=?Jio3 z%EgjE^;^@OXW&uW*O6kJcmAM?g8(pi6(sM6LB>!aK%JFDfk_anDYZ1vEFD3W3zwz{ zdHv2I4sUGJhv6V-L`CyTVzl&kuVI`i0Z|H|1%8W2FmH|?dk;)oyc76Agym6S*4=vm zB?l?x%)g^nyE%=3*VV&3IMy{j1c-x(hu5OQ`Em~bFEnvqN08akVY0>?fEOio-H2K7 z@vfCCySbh$dzEJemzMU&*i2qLEZr{?4qMCrG##?>t=(X}i=*}{Rq<-wUr4DjD|^OO zSxqEhd1Y|oS*?x@jq5~r`Y=6j)2GFaw(M}@ug+lE*%`M*H;EeKszH2dw?!GAjwQ?C z^iU|OlSc6@pYcOVFjSg@mOc7ly23_oz?hreXRvFGt_jDdKBk)?%IznY8C{}9gR45w zIA^d7q;gSZm^=A!(O{1lGSfnv+{t;0w_lYq0?PVb=KJpcLB(U(^??cy^Q2Bdw^Up9 zF6W9vT6G9&KO71&1iS_!!69lmeg!xli0;*8FwwPt;cyD798O`R=)o^Kznk~&_*D#e zREWhKk@mwalY^g&0`omT9ds01X0l*X#+@$x%E2c(Qzti<{;TF{eXa7 z_M`0DOlRnUd;Q|Klc#1HrR$F${Z`yC`6g6&=v7FsLPz0F8-ZxkkPEeYkq52?_|h)a&WJ<7D;ZR6jv>XB-=~(&_vux(3fxUa8rF}3)WN@ z^vqKLbjIGFe8neN`I zyN<1t&upMVt#^YNRCP7>Gy9jE@-*NHfNuh-o*4=ezF^#=(Ty&ZBsaq(q3i7n%~xEq zuV~8#T{S9TJoPo2+!65`x0p_^6)|Ui^;Wl;zwua}&#V@WmF_yqd&*2A&}P`?&Y&%n zE=dY@ae0^c5nKE^p#A~Fq`H}SVe$%eA-62p)l%V?EX4-$;nZ)8i`~q!$madNguq*pDE8QtjDaE|1CJ3vf)t9{%|;V{EhOh>EF zVE9KFkDda6Lk;fc@SqEAq8JkA@T3K-~@xifztrwmdwg=y=V#hGz6AQMd z8{+#9`d}Y6D=|DF>#30W{n6-o<#K}~VGRPqWpzD`Ilm|p%9cYJ```7ag@acD8t0SG?E=Ch9cy(n1tfq=t$T79H$^Ie@ zLpxui%H`hG0;E;D%3iGjkp_mzfdiNplWMG87 zM9K4bHnodTzymM))%@%qRKA`-TSTNoSE`u)z?VB4H%*;_GO}xBPs58Ea|MtR4!bxH zfq*c_?cf$F6is^fwkaR&`r)-l^#|KY`KXH;yfr00!u?nGIc7in%!;t(uQ4Sc4G`;p zMkCW*=w3Uehu%wWN{rdL=0GL)T>xa4!J>BuwdK+4)V2awbj<72cIj#a!ob>8^r%Ft z{=6G@w~fbL;bt|-=ga6!*q%WgKtgMXW96NiSte$SL7Ub2$1(tMM~2?(K5^U918}Lm zk_pD=1sd-oi%49>BHJW2D4y|yi$czv$0u-u=aUJRhpBYRtI zd+Rx@I$*YUs{=8jrt)K?{{zo-a}*K{Fm*u+&wo_P-(7Q3KQV_p>=Y;rYvoA)mib=+ zlWeP)18M%LVxYMr?>U;2=jV1Xf~T=IscZI4A@w)$Ao$JFSdYw*jZJauupiJ-Vw&1E z7t&tu`^B^m78=Vz_Bz-+XRlRHQHStw)r%#*6tM6HpdgtLETL6i53hdHwN`#Sg~Nlg?3G@Uh;TuU*f}Tej1Fo(B2=egl)Q@^5&!p zrrT8%O->dE5Rz>FrjOvtxd`t8$keg;jcNg<=SW=Mhy)!C@Te-qpED6G^{;U-`ru`c z=Nu%i75Tq}!T)n5VErhZy(aQhX_+t?!LO(3yLm1ugw5D;>dr~_q2z?HDOY2}4;+nn zhznVX*(&8>9iZ&xfyBJq3eVoumfZU0tOpp#FWQ*nR^LXH+u|en^^ASki-cbxG96oB z;&Tp4+>a9-2pBl$!fps~e$KIj1CzmV1Okl9IevwJPy~)J2#67!6MhKrGtTi#*#AQ# a-?yxzn7fvK{q+u~2@`{h=gRf2h5r{jWFf`? literal 0 HcmV?d00001 diff --git a/documentation/images/session-uml.svg b/documentation/images/session-uml.svg new file mode 100644 index 0000000000..2990eb416a --- /dev/null +++ b/documentation/images/session-uml.svg @@ -0,0 +1,3 @@ + + +<<abstract>>SessionService+ syncState: BehaviorSubject<SyncState>+ loginState: BehaviorSubject<LoginState>+ login: Promise<LoginState>+ getCurrentUser: DatabaseUser+ sync: void+ checkPassword: boolean+ logout: void<<enum>>LoginStateLOGGED_OUTLOGGED_INLOGIN_FAILEDUNAVAILABLE<<enum>>SyncStateUNSYNCEDSTARTEDCOMPLETEDFAILEDABORTEDLocalSession+ login: Promise<LoginState>+ saveUser: void+ removeUser: void ...RemoteSession+ login: Promise<LoginState>...SyncedSession+ login: Promise<LoginState>...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Storage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Local...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <<interface>>DatabaseUser+ name: string+ roles: string[]<<interface>>LocalUser+ encryptedPassword
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Viewer does not support full SVG 1.1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \ No newline at end of file diff --git a/documentation/images/session_classes.png b/documentation/images/session_classes.png new file mode 100644 index 0000000000000000000000000000000000000000..2c06a48dec44aed35ff6d0afabec0469a0b7bd48 GIT binary patch literal 134582 zcma&ObzD?y^e&Es3?MRybPXUOh#=hzptOXN($Xy;APg;{C@l@r2-2MbB1m`lD5<10 z0}R}~!Q(l<-{;=@z5g9`-o4*#S4THIJ8Xd7=x+} ztPoR%2!D(-t*chan83fJUB}DXPI^|d`V8|P-rtMFCwc|*W^W@Vg(Nm?U>$o1TOjcR z>B4Kc7Vui#PABjJ_#ZPyv^h#c^NMR*sQ%+b;!>=eho|dW@fSA$P69p3@s)UL6>W`4 z{m?InK{|~c`*(F-K#VK{V4;yfxK&|E2o9B ziJW$?04H%LU+nlz4ETaSZdG%~hNz9qMjL~^^3Nmbpqj|7GkFeN@*7`}UB6m+?f`qa z4KdqKf(9l&_28EOyK+DWSjji$Wx@%rRD^;n?;|U&_*>laYZ?tH?~7-^@c#_$SQTV| zESckQU;n!@f(a9w&6zLZ8V=wzxHP6N7Bybd3O5A)g~6}sTNHQ^25PX&jvqp#Lq%6~ zuK(Swvl4Jhhn!e{@KV0H1)TEABM2Nu4V=+#Mu-4>n)u}lM_blSuz-F2S^9+=c%u#! zw0&YY=#$;Zr>)T3Yrw*;XIZ4+&P=5)e8NXo{vh=~?li}PrWyN#*0PcSH`*)rmRKf@ z2e=39Esoj?xILN!FDzRE}lU>_x?+l_X zEf_1^HlCmk+_n+-Q1+!ncOt)Ix8}K1gIHCDQKQ?SaM^}{UbbU0FKi&~(oKXS zKjI1hx@kula8rt<`{IOW+__4h$VvvW(Jj)zuK`y~0tOBpkLeSdzF$YRjazo!Eqrgv zP;A)nWZBUB!%X$h=I;}STNN+$pEt*u?e+>1o^AL@n(u`9AMsf)gg%|7%g53x@_N|l zhN{l8oHT7wmhTdIHw%&0&E;Pa2A!kuPF==$4{(lbe*~G0%=gjpGnSS9M#i5#2bCdQ z9|H!m$x}JDCLNNdDDHDXbFnaW!R#XvF9z)R?`@$_0k-c_2w{TI`b3l8~XTHJe(G;q91l}?{}WG8-BPL?(3;_HxX?boSN&TZ-zG(4;P-62zn#Wn#5iP z)(;$DN30%2MIE5lxcq)lBj_^I@SIwM5%XuKX#qg|X+SNo_()kH))xItO0k{9sb_&R zXYcFHQJLOD5)GP-zq#7GS>6j=SA6p`DcvNsuzKpz-DKC;J2e|BwJUQ**J(2xBT`<> zST4S;MMgFp&hT3);e3cQ@_BH#<|p#yom4LGZH?N4ZW|KTYc{{K4`w+j8ed6G7Xdt>6xDXa$ zU*%IBU&dOm?A>J7gsyU4AUcyX^xm&D$)5IcLKZK6q@QCs_ndNaKJ4Fm|BcAC({0*; zlQs2O#ZA#19P_m~pA&l&>Rj(uHP>go6pw@2H07?yRAC(nK9}Mz5-l61=cgvMzhbA& zWG$0uen%2@;*fhYvGuzz|6=VJ+7a2Xl!UBPQ4u+lNA2ZE(D7xvc=l;GvAm{pPNO;d6dumD zyOSe{)^#{-_VV}{nayK8)aKk3EZ2>DI43Stt$$8fl6=qUCg@e!LFOFkv`={79r^e7 z1V_FPL!?)mytYoxIlDdS--ilLvHcDmA!omd|H(UO3TE@%S>6cea8p*(t3?+A9z**xH|16&n6*K zR%0GH-Jg?uZ#Au*H0XN{)|R!L%rS*O=X_7F>?I?C7|Fq8xUbaq3HH1%?u;4gTX8x$ zzMM?E{xTDR`%CUy7Dv&k+ixU0o>h5?5^OF>v0nu zJw#sebc-H0V}MN0?ry5+aS2RR9;ejkY_%FV$?3`)bh66Pj3uUePo>g|!h`(oq9aw0 z6;Z+W1bw11bK7BrSW*fP*m`q^9wFQk;sobjJhm{}+u9i!?!T7cu#A{2YwtR6+(PnA zxwfPB}pfKnWKPgUo3lm>LluKeLrlu~h2-1+g_^-_eoRIyjNE!WXHuo1D7l_ute=|!slNdvAsr8f~gC*d|&K@H>2u)ZKtN7 z%JsQdkS|^Anty_oVRFS+y~?-0${)I4S?sIimQt3P>^n!fvxZB59Xs7LTv++}43;f! zz@6j=P5O7r0V|4ptiGx%=-7z**mK-PS+-H7*ZH;)+5L*#=r*rpja-Yba2KhUSD zo~r?B1e22I;*M_YmTQ|WoXqIH#DDtgl50tm6K3_1Rj`cgM%>a|(S)t_fga zXCmvCqCd$ozJqMCmYNiQuR-x-yS{yCP5U%QIi6dp553cby-}a=aLRu(X>Zh}3D)$4 zRb$fa*P+PVJFW)yj%TY@$OnDs)$t_~dZba9=)p6O4aZ_4>aB2J=jzknWAxqTab6GJ zez2E0Nb=wuZ?dr1?&R_>@DDw`VPXc&y$e93)t&79E@EzpfX4e72~%4>hxGw%NUt@{ z+EeQB4*C=?#U3T8M3i@Lr6lB((wkE5FlXdOExG=4a~Ap>=gc%_h(_#X0V~^u+x`t6 z3`|lOU~o(*b#AaCp7in93Nv{M=XpsB!hB<@Qc5;77QuT3lj%-x?e_v>Rr*3^Blehp zg0xqX=vuF5TSOh+@93`a_#Mnzsyda2RJ~YPcK$Zwh&w5IJc%ft#r$E_JMBnBB9`KF zoM3#OOcE~o=(@yDCaIu-WTnOgHW~Rt*)m?IuRMXzLmulv84_*1Ni!*s9J{|Jn zCI1~J#rDI~U9K)E`e{ivM9!pE;+3pB7T){UP|Xh|qs+UtJA^GikgX3dHj?He$ZDly z%D53+50h)8BDSCRbNNu35mauTo)McH@(nAlw3$H)bsJrM<&1C5C8Lx<0mcISi@ z1^4)|KvQ2caKgui!7?&FJHlsn%k@k!{p*;G15=TwZoxFD1epMD|F+5s>})&!VZ`f0 zdwMhGH6@Yb!8pU`zTY^CkBdIWcWe+;un}yZJ3J|;~%6CupTDB z-e=2MiDa*0LWa*OZY6Byki;=mG#{^l@D4pdCzTkSd4lD=)pkzD0`Wfoc#g;OcrOz{ zK$-rt6e)gp<%6&8@7Pb1nU-sXRWuBc2FrT;RtV!%5OLT{2y-v~kh625x|#3Hwe%8Y z3QmI@N(nbfH|je2@T+11lV%IXsdTego#^D}$5(7gLzWHE zv&2>OuB{9^wWbo{&l{5%__(>D5L?OPZ3BPdZ(-I_zeIauol&_jvJ$k8&zDUn#7;Yg z%Fx;_v_l6IAakKWbeCdahAIGb>E24AZeb$;ae|H^b-weI=WZG6=Rdpy;tY$U@6waPTN^BE)V?Ryev(McWbT)8M`vtx8{RSBIO6JKHN4xjIGgP0e zAWp!*_+1fJsOO$2XYg40dMT`arH3o|X7b6HUVaddFJGqIA#xBF@JZ0II-Pm>`8i{6 zuDXduH)l14N&gYv!csfIRxC>L_)~#yx$MF8A^lP<057Y@iwM^_QDUnrN(Pl$^&CH(PxFN!z!fd+V$0yY)L1bxX8|z%*`soTfz(;dJUHzwAHIiBN z3`zfbiqB>H-H8wB`nlbkFCh?aHdSy}E!)BKOoX10Boh^XPx0ZwW<&4@oua%)Q z7$kq5$JIsS+RFNJs48*vw2j)at8yGk6J29aX`}hOAvWYOJ$qj}+seX-Mc^K$|MN>? z@=M5t?=P_TgA)SeJok!O9R;JYWwn)X)vWtkF8hbv(8vvyOvQ4|QEsZ&Unnkal4|Hz)vrl&i#O04+)xJI1x?q{{7;T` zl>^Ak>_fb(V4ceq0kcgWwJa{Q<2I1klU44t1OSvc;4(emj>UZ$_;*L44}g`Xz2swH z5aeQmD;4)1QbVm|0r=D_v=%~%3GE=bj1@yIjD>%A2?nMxBixTs?tP~kNRMxUG(ED! zNN;o;^hzK56p z-7E&?Bmn+8`oefGlpcS0;ul%Ewr&dWO~0$#0z@vvfLt+uK5)NFsA0x`@8K6VU?~MN zT;(;evw`oRMn&b78&BkakIAoz-{R*l3Q)>;0IFNiK=!vOZQw5c9G6|nFYzEIO`aOu z3DrCJ*ps7Be#L@Ua5Q+@)Y>mMz+YNlUWK8kRPTV5ZHZh3pa7+Y2d<3ynIr%k2m!2==rl&jiw%n)zvSVc3ozP1 zA6|+m&i8@)7sm2F9sIMrJOJOBOm=CmUV#V!D|K#M96#>z;ySI+bpOkc96-NpjPL-0 z5(Z`@7%Oo6D-bilv@xO7mKSk=d-+1ocyYUbuPu~9)(-=R028$RE-@Ip5|2VCFk=8w zN|Q3I0#qE0?_4TjZBMIyk^sL0&U9hRJ3#E-fr9Vrz2F%r`Fl?x8bN?mX)ZJbly(gN z(n~T&^=>jl^`8?0YyYaJ*O)*xOZGy|!cPBxP_w$Y-lU#4JtzZ|A>rM<_hzH3{LW|V z9E({C;n7vrqJkreW$pJ&z6J)B(E?hef7gYw_nEl@;=c@2Q}X55OgUe*^|jUU{V1$O zkO_qSYUrgg=PYg@{^Ro_e)ciEtiUiW*$QSuNM$g*0uhS>i zYQuyyALj-WT<4!@HRcAQjU9A!=4$kNhJjY>ybZ@mtA$Ne5p3jVS($+>QR8BtPKy)nl7gWGAaI&Fzd%#^It>6Fx7f-4P?VX(14r`5F*3kbJ*0CP*f^Uo^aXdqr)X{ zTYhjEEOC2y{&8!?=*8`$Iqsozfo2BUe*W=3YN}L&yrLP@Qe*xejfS1mFd!L26@a+J z$^uLxfEja8Ei&a!xx@Qa@yoBX*XoB}hety6tp}{@gRfCRMf6&IzHda%D;|f(*f#R2 zZtCqB4}93Lq)cr)vav>&a3iW_E%F(Vs?)q@D_t?gIE}?WtlHepvEIGj;QG|K@gr4) z?f1fnCErR?f#U*G(l$kq8th_A-|l1hl#tV+0F4T{;k* z<`~yA(AT1vIw^HkT=vxmETRd=pI0V)-f7a8?3)JOtiJV{<72#E(CnO5*_#n9y^zkyuzBVM1V>F`p{K0&Ac>Tgs` zn6=rjXMO7v#FtLF7fu3Eye5>=Mcx*-U&oM)ZT0vhI0R|MH_=#N#Q_OOt?BYU?u+K= z04ek$#DKyd3s1y&^`SZAi#{=vGT$?#NF{w#Whh&^R1>dbSmGTr?RBSV0RaO9x;I1m z4L*~#gvrxKGj!5R0R$%Aa(G%!*@}B&-Y+%3mEFoV3^8DjrIeCKl2!2rd_AH}+Sm<+ zWg#b5l7#W~$aPm>y#eQ-1COJIiPGt`+wmy+x(n_$F>`4v25vWfu*B`n|SjoA7OX=TB=GS%4 zW-~u2bP^&#f9Vudyszwk>fQrmzAO0k`iZf^N>L1E1Z?<2pC7Eoa`Og+ zk2$EmXW&ch?2KZ#sl`*6OsGyNeSn;GcAPTQ4~o#MyQ>fsVc_;{7TGC|qFqK!u(78qSX{ycH1P-LJhm+5_bYh&YD0-JY{ChnO2YsFKV) z;hJI$+mBZ)ZuGBbMMSPmHF8Rb0P-X@v=G6 zmZ=gfJclHcg|IH}GTy-Fl2-(~JJy?Sx;OUTy<^)o*M2*U7YPKmsVZ;`({;{vOb8!~ zzamOc&jYjB-m5uatrkm{c9x3<0tO6j`djQZCR^;GkxC2YR3IO)3< z24vART1^^~>e;RfW$hbwnF@eDe!ujwikN3BopNYxR4El^ufiofO`!U1j%^U8WK(eVj?j8SU79ing zijfL*2u(hFkje8TDmsK?CCQ8!h_;S`y9)#{yDc+LwPzuvqo>|WUE|W_X@HK+{&e!J zur%%tgAX|jXb4{R?D+e22>#760q`k|SDk^@_(IoifY3?>44K87xGe$jQ9!oSq;)cI zgKAwBvf=8eqrs2`@Y$6Mj1MJ%{0(6ctpd!g{&q7A%w3wS09aCYZTSgs4Q2q=4F`u( z#u`Ydl)u^|VY$K2N-Im~-^OrR*OP_YfO`C=APn$fCo;oL;&cd-^vkPNhLy#zfXGNp z1as138PnfT3LJln?P^(nw(6W9RNBW@0|(sRFR%#S%PXJEi5>JW|J#AXto;~?OwF%d z06}gLqGI`6l)@vu$r`XI0lnBu+?V%yvgPXEZD9DD08FO@2F4A*I)GxZ%=GOIgBm4( zrel8Ss1}xxtBLnst%9f3U7B?C1Njq>EBt{G9dG~||I-9-2JOjrRC13V(^NKX>MS;v zxqfXEu@oh2*_{Z61UIa-Kf3B&ZAAsZDBCI0q*!C zXxzcQ?-&^VAs}=EQd-?vo8C)xpie|hDK|}%!vNuL7vog~E)>Ycpli7QA3te`!qwfe z+AbUg?Vy>!parsiD4Yoez_89`3Mn>9*02CL9R!%iFd?J-Pm>l7|8iZ;5BuU_K$lkA zor|kP09nC1Pemfn4%xqZZlHE--{gH5Tin+uR^r^XNc&o`x$qAh{2!oGsJ`cR?M})@ z6<(vuHv&@cWv&{gBZqGH23{ezp{&rQ(@AY?`^5equW4_Z;U@q<3IMfn$sWfFJOG3y zzO~Sn#(KJ~+TZ0-e)l~HjD(PTrqfho+VQg-K8Fb1sokFu;%#F9rcjlrJMT&JuI&6h z80DF$?z*Ho9!8P#%LwKDC(>KK$8$@RH#&QAiS1F4y4gwH$AK~>&YXXlPorguo!H3#vS0yug?DEOfH$$uraG0Lq58WYJe;RK zwO>71k*zs(;0f z^DZRK3An}|Wv?WNCxk$&zmX;3w#WM-fhI0ILI&E^{Gba8QwsuSO}erEy&o_^Y-pe} zZ_G8&&2Sb>h;%}U(+%uL#PUp#$%H#o!JIFw1j6y9X*cSx;fZ)E>s$>X_S-utap}QO zmJRPba>7aAW{|b716q;~9?+1wuB(o0S6P|TJGPRNmW0463f#X%P?%1Cl77$eC4QHX zgw%`0p`=l)=7j=Gq)^hti`&QEcjv_Y%~B5fQ<{b4Sxv@!I+@NIjW`TknY46ZMu>lJ z&qVC6{r&tN0x^zha}nSX^dPB0F?^ASsp(-VpbLfWF@J)Y5m1Oc(hG6wZu$c%cun?9 zd3^Mry4@B%sjs@7RJK9PlJ26g3W#Pa0IVmy=NZNXXR zdK$N%?PksP?p+SNQ|9j<3eepsuAtXmA8eY$)SkF!f=LmeW?#(U`SOd-4WJdJ{@(qL zWoYAH){B8HjdzPs&5!89);ls_+Ly$pz{9ptf_-WtW%>9M*^>fSz+n)zm6gkT8f>uI z6D={kRb~c>$s`vHis3M#u4<1=VlbzGrHTt4uB-yWN4rbf^d);yDjR1Ia>YyHUtgS!MZRU6r2sgpub21R8sQY8DL*M z9WzXiu2+YI`D@SlAZ;_lYv0whG@2wtBdVItG%kb}LG~*}+5`b?&$#SGM%(u(n=qp3 zcdUTHx3)8@J{@H<4iY({OFy5rQOhihZ)F@nc@TGB;fb#^MBC50kYVpgUzG6ZIMOdd z|AdntJPZODY0;|Va`a^QLZS0~hT#X71suxBn@J7Qan6Hw-fJ2L8yGgXpOuU7K2_xs)LA z+?SVP5Pt`@Da+reuwubfz`EJn8dwTSgB_w^0sHJ?;swnm^UpfdqHB#73rT;n=H~|J z4sCzvbq}h|=5NJ`umvAb8}#M-MFpe;AHdSm`iub>B|Oq2l~IrZ_iCeZ;X#evPZ=_Q zmtyz}0i!(gkZp0WR-J+}O$R-mEVlm?D1Q-JdV*|Qjqnc_?73?HSHcG-b>6}`v2IG9 z`@S=??$2}v<^nnc@knGR(0~x~e%I27;ZH&q-mS4w&s#jEb|hRE-L7HcnNC=~Z|(xN z{{UFW3C@r3Tnt%j8*?Y|T6He`DzIOLae(`(YmQjd|wGfHs=2f+GUMGEF=(WAn`ZTKy zpsGn&WD4Uc2lsrNXj53>rnkWa zCX+fv5ozaV|A;P(gIyt`6Vro@O0#b;t#Q)t^vo78GF=^eax?E0uy#$+{9rptUk|io zWo6VH3`n?@d(}HKp^+ed%O$#W>T$ee!9T(q@Yf}f5gvG?7PL!5UH4TSANpI&O@eZU zuA-W%GJM{pw)eN*q*fw5ZwAgU3xvqce6F#tYp1@hXIF}fw~+f5D&Bi&Vk>0BnY|R( zc0G(1Xq)+m4jw8KK&@0TtC~iWu_^e$b9+I5u5Lao*u5peO>aek^EVRw;7m{en^?ni zx~u={IWkE+9_{JQ4knC#)NBF)5h?DymAe4~;FwA}kKyLF!|zGX$E2D;J>pyi$q7l7 z=~V_Eqm?p`mwg=Lu!enl+h=7uDo8B!gwwms-cN`r)2pwnv1_-f zoQ#y716kzt_P~xCd7p?9*^FCG4W?W)^rH z@fFvIQeBak{77R`yOv8+ou%AexaK_nwAOVN(iHAdMJ&bEU*0{j8VO8`iud7PbkpSl zoWdr~+xH(Q1v+O#54kb`;ADiJRFG!<3%&XBL<=PXOMcP+E^Z0pDaq37#Mn9ELI!y0J5V*WHq&@6iB zAP`>KzP>bHMo2JU?@Q1Pbv_}qWmTpbaWZgP;+H|N)V9~0W{d^J_VOZzvpV6Wl!=u# zV^N$GQ_^W1t=Xi3GxzFUGTbP94r=ylk{oL}jkD(?icZ?K_J~S(=d)_bvwcg zlmHu~uQ}A1voXn=Oa%Dj>9^xaDuL38dRWsy1~Mzr4nxo87dOVfkW9L@ z5<^1rTz}lqw;T-lr`XKyk~Al$SzqrbK60!2ouMlXD5*Qp>f9(ho7WZ-xyCnG7$=dI zq=EBgHP5fNth=0(u^7kbQL9R#LjnsWc~##F%;m1{TkpO&dle^Jkew?YGqj#=W*PbE zp4-Q8V#4mw!H{N)$}I^*2=qzISY*T17VLEM296+u`prtq7oDIB5(YN}D{vrAy6tTM zjAE+07*A8VrrbtmH*c0iIe(-{Ar9m_k$%9w+Zm-0c^}F{NvWQo0}yFQ<@kg-Pe2AX z1IhP(U>FJI^i(I>cq#Tx`L{@J#HLGbDyYErX{)KeB^c z%c=NAK!mkw_sArprp7OLl65vu;MXx%LmwGxR~jJQgo+rh2Yt~Y0k$7n`C*Ufg1s_b z7Ehgr{}fITgUf-OPr0W=>8W`yw2T*!Q+3QBwI|bAz@Jzv^)VWfVH$UhH}Ub*1K!!b z=HQF&W*l^RA00Bh5CVNMv@O?pN-zWF`ezh?O#rYRzx-IxX=8LIYMeS$#XwfJ}8vOB^ee)`)j& zzj_sMQwJBUH^P4?o=XGwzXexq96RbNo3en^$eE-_M~V0=Kz&V%_twogs0^Mux#hr> z1_&o+Tb2t~clMEP!JO4Sno$M8Y*%_Y5f(MS&gEj3@ohPZ_OynsF(9@Qxut%7){Vo- z-d$g36V2@EGvgs>NH#X_%BxKfR~QenFZMR6MO?2XH;5Gv)NivsgtA+{wDA1JYD1J> zzu73rwoRs0#%TjL-N$ z3jCvTl26W3{+=l|3wo;tZ9Q|a;bJe~Ffb+FKReCbvx!U26*;UTuBAK{)F2shkiYa9 z95I|gYj#b>JeQb7yY+a;-Y=al{Z{QvDeW2N-I!7hXfD^g2Zl_0YFZ9j21AG+XY^I2 zC&L!;-yP_T%n=F#bC3;dDa5udhV&NRleTK-h|SUQPGHuJPK31xzTAfb=InSGZ97T% z@)#hWW5#SYgu?hxXi;o^jd*_ga@qNKszG*#4<9FG*ortCi)q0kHKi-B z3hf{V@m8a3uN8=+fN68EMa@RP3(TAUA&`FXA~4>vI8$Rd(C_=M!b;o6d zojB~cK4h6zbe~cZbN#9{X&+_U9SnKx!tnhDQ2zaHUEp;95bCWZ1MNNF@{e9(xxD3q z0fGONzzZ~}i{qy(>of$xWT|J*E6^{DH0Q)6)9O;O4?ji>IeikZ@3o@Wnz{?VM)Qd= zRVZgNfxpeg%y#htiK z#B*@i5>Yj6p&Z)zgt0*XcI_a(bj;N#&EI(yv=zAiHXt_4jTNsT@c#@3_RPa?;RivU^7nn|8=w+06(qf{${;mPB|51lgho(QW;`f zz^uKf9DR3AM zO34L3cp={6ATp0nW*-L-V@v~|89i+3^YQ-@vLeHK*tHn0ktoMJ?Shm31mzw>Ba=Oq zSDE&7EdKbG{jeL|KKJUUkiA^oVL0K1o<(I9b&vF4ena3dc9kuUQiywv@s3RHBTAJ~ z9fU5u&pyK#VL|vNeX@S8&r z5SlB-C0At9biuuLiNvWN+Au+Cx%f4Pi{IT)d~WB_72?*OFgD&HGQR)9P>X(;R%ytM zofGnj*0T^K%VuKZ&-~3n$<0Pc;rV40T~w2Z5V$xlTU4m=qWb7Hnvr_gP13#V2rEJk z`lx*q!Crl44?h)WWu4T076|i?`7r(sim%IJ!O)o2Do+s>eE5jNUI}1t z*&Au%5I*48$9lReMai(eWYRAvF0i0W#49Ip;a;yr1IVEYb&Nk$91Xla2anFV};mD>(J* zI<;vPlSJRdKL7L>*B9loYPs9}<0@nZ!%vTD{ddcCDtxku;rSGDtw(EJ-CPt}Rn45m z0K}bpGU`)dw0o}^A6;$R^lSXO%}*zm67QbK)aY7mBi61x0CaMGT#VDRxZ5XCzol)c zOG)+Rjpwt9$r{rt`^xrTI~C*pw@sana;`@KV2YV7+j4Gi^n84KD!X^xW4Q7+R}LM= z`ThrwmaxGldbgkc&Og4nyu4xjaYj}LZhdD3ww}Ylj%bhG87{poxn$N9yxxfVbZ$6S z&sfo8G*c-E=G~dYDbt`kHRz%=F5dCYsj}iv&Mvj{?oIUUa#pDeh6sn-bcZ_idwMz^ z-)i=S0ZC(pqX?aho*|-E0lbltz%2mLcn_yTbB=Qn?EX>~*4{NZUr-HWJF(tWXp@|> zm#v=&P@Zt~j&{7s^1DX2qpG;1lZColaM?$%(QA3-byqhE ziKbZxdJ9~)emO}L+~&=<)$ZO%I4Q7?J2nC)0=GVv}{|fKsX6?Z}7PVr`;L>lL96wUF zu8Jrl)TJX525JQHS}+$(q-Eke%&Qx0_7ja&nbGkLsWXi&cEO@71;`SNL7g6{+Entm z^r`i$wHh~_u&y|yu@nNFliGz47$oqG*P*Bs$fuX#SGsjhle>Aqyz6i*w|wqe%Sj84VE=-MoWR0Hf`B zHQ-K~Y7r|K@sy(R5#b8cf;?QQ@rdvP{;iKV%~`aF9+T!q=YxiYQEek?7D(-xtT6rH z40+3@i@M!nP(U1zA^3 zB!AIKE8M?($S~Op!#^=x3sRl+$QgLO#Vz0jQi)ZbGZ(eVe;Hte>0EM-89>&$k zqvyz{J&ce~-kUNW;ywO&Z|@h%X+!bLh4I3j*TmO1e$=ct(vkItv1~|r-}((i3_dB**)p-mLT~kb-f+I|3A54M-#24}iDUff zmY8H`SHAKfW={$%673o%KZ0Lm;Yz>jq#Hc3i0*iblxgvL!*<3(!mg|zyhG51>Mklw z#Cg6K`TF|wcv}T^8yg{k_RWz4{iGJ1Tl@80D9S1fOZvDG-*@?b#-|+n{ym8mqTs|LH%Zf+-chmZRg4a=Bb^qz zOvl|8lQ|JWM2p~^XBh%XJY?zt5oqJ2#VaD~6es?kCmYqYEOd$c5qpKE;)e8f3z#s4 z<+Pb6*GK|q9{RoiEkFDkVW+PkOrrk`%i!2iFOC1oyKM3B>v&>I*bLqT(~VVjkzIG2 zo=&eda_Z#+v%>qS2Z!Z@Vg10wRfW@2F6`A;@Jxub^(p5^^bZE1U!N3cAC}R3)GYI!@wwg=a`;7B~9Ms_vJ>1)4CevcUfEpKha%{ z{SQh@jWTp=clc4eF8#P%N5D|N?@}~LI6hBMNGf!H=;cO>ES_|tlzCH#NjPslY%$hu z_}&y{Usbr(I~(;zI2D;Xm%t>mTPAk;Eg$U}mshu)Y%R}j?IWY`rQ4c#CJ$Js*;mc) zjLYT6A?rR*MS@|}wf5Fn|1WP$yNW$EJ&hEN-{u`yMSPsmgPqz%l$}_LM@krF8F>|} zik<5%p8{&2K@da1>3y9}A<=j{%$|?yuc=}3QNKt84sNYXehtyno4bB1L_kJ@p%Fc{No2M^ioW{~- zrapmHJwT0f8D__6(FngoI)o>={HnmCIY%KHOsI~WF%UQn$9e~gEFP5YG^vYAgyLf~IoZk&s~*A0Z!pl;fHDcGtEG^=4_)1#FFfC5in}!1&5XqhRR9*Kxyh znFLg`cn~UBy(&~dCKvb$W16d^dxbJ}gwtpRUsdFzvrq8a7Nrzx*n$=pkBb z8}r8s?QPr>@@=%l?HAsSTxiB2ZFbUQPfyR3vS|g9w1Mh{jDzz*ffk#YX@C9dDtC?0 z-I6G$m^qn_xproUCNlS8Qr@sz2*@N+Th~{g_d{YGQ;7PS%D&mgg)#Vu%!_zf^rFd- z`NG(k`-TELWU}(SGL&1YLtHkz94S$W910=enRLw2^1MDHT%HhUKG3?saI;Nl0~oQf z<3`rna%_5DOUkLa#xQ*y5mvePu9v~VAPGs1_SL&jbpZicOY_ykJAuF%*?uaB-IfS~ zjwI^|0-OUMu7gq&$`19W-L{poa>uA6+2xeXjTE=lQYnkbw|9>dgq&WcBNS#DV105S zb^S3UfzcGtYL@<)1&De3Xlvq`jPU9knSi)JWl2zGdUHo#JFs*sb%`gB@Vq20DC4xA zEp>!6vMVM)i3!4NPF!X2_0&Z>gc8`l$=cZ6SF|hrt0-$6hW*H|fdYq~N^5eV`;Nw$ zhpAwQ*z6^=|ECEpg*lv~inN%if&Wg(`x?HYkk94+oAm~ zICpI}dxp*Dda0*}V)X?I(X&K%4R2sWd!|#}f;l#{k?VYwjf5+?f`@B)V*%o`(k~t>s=zzq1mx-Zm#3xl^8nub zt{DGDYtv-*tmuhLges}FY1yaD()SIaE{(Rc@+J1yik`f~7azU$p&W2kVkzOdm3a!yLi(=s7s z$7eW?ORD(mR(h8(drLra2$S*FTL8;Z$cv|Or-Y`NlTs|hlQSfo=U8YDrYnL62gT?P;FPLm%;V+RfE>Z z)^qe-^x3kW!+Rwz2|?(}S1-BU>XH>QTD@pVTS?2nhTj&&meWmd^^m&gV;giMzf3*w zWfgY1g%0fnmA~vb31Pdo3~k<@#o=uw#$tUr9L(py#f#Km~LxETAr zrJcaT%|zKyk!_+AW9--)VBv9PHkf%#jez9&BRZd>nXnAR+dT6n%^bY1s( zex9&z`l64s^WxKVFB9&+|09RQB)FVhI~gaZkL@QuC`59N$H$Eo~&6CYpq!%T0+`5ZfrgJ+mGOW&|N!{gr!LWq!UvgIh}2gV^8ky^Ct6`5F>fy0AjHmkkx0j zg89x#J6UjrBPY4#!L7oNoE2#Ii~a|L7V%$6q~nUe_<_}|-TrE9vmL$a6Y*`m2lrp4 zy64c$A-%S7%e^ZWleoO+go+(o2n9EcDy#;lqV3Hkk})1wJP%e4xp9wb>4zRtF(ltS zg`$m(D1@DuY}_uhr`Za-Sm~4-~Ky~`O15~wK0pQaC8cjq7nN81k$4}a~V{nOT`^E9&?NjbC%6ehL45vfw8<-Ta= zgIvfprm{fS)3oQ>M^gx&5U`c2sqh|PI0l&Fxd2C>;s{^k{eL|3)mDmhba&VIuB_FoOjkDgX0zxv_LUx$qRc2 zOv2^{;$nD8;ivPpzy8g=;s3N$sFa&~KqQS)a=!97V`(nnk>l3G$t7U0SF%yEroDf4 zRI06i?e;X)Zp)f5oVe=KYCM*bHC$&Bw>}tX2+BvTlRnOW?L}$;v;@sTMJnqNVm^L* z)yoiQI;CUhD9@?iO>n8Qx*bxYI+4PCJLl=hYdP^ft$8W_ZkeN8Tr+;P;Cro;k8P#o zHwO1V17H3#-}N<(OXOWZ4fHhRIg7V$=Pg&}dRr3OwNCaP0_vTRzr}8K-tDPq+xirr z_IwY{Kop_1Ax&O(IPEgQuCuDSmRz>?s|xV5h*L2}$T!}3$X`myZG$PgS+fwR@Sdg0 zleu`5OFsWd261{S)77TL=#$F&WclH-c<-_G;5pqma&&axrmJf8;I{>VTFBD<5EhtW zsJGWwO!m!}*=Kr^3itE*?1rzt&AWHTcd%LtbXGMz4R_cf*#?3Re!cqTBIlz}h3>*; zMO=@WMrh#B8Rj!FY+1Rq$gfk{M%lIZ(iT?%w>>l9L znmM(${_k{>g(<9$TjLH{9TvB64{U1%@mf$=GZjC5)y;{vnliM`0YWp7bnDz`kQ9qDxF6La7bXHRM=%CUatXn0@!%39`0f6v&n z4<9r?3Fm5v>i*8!pq64w;R#R^V+#AXn`eTJ53qh$N=bn7H`7TzzJLEbZmj*dp#wNj z3YWJ}^BOtj_&DI4N97qn;Bq^L{B4catn(Nx(H#IE)pvZif3S;Dykg+8@i~pKp5}d0 z_IC-h_^p%UR7hVad-XD%<>8Om8~5x38%$OXwqnKVfzGw;XFx;rS&E5a!t7YWoOcr@ zte(x??Ft=^ju$UDYqIP}S&)5MyZy$~ue(+rrQyxuTa&_1ys;6~NB`I(KV`qn$WpyHY7nxG|< zRIz7o;-3P!h8I2(Y%(|wa@Sk`z%EZ<1@ zTN!%PZ;74REj0I0HSyc7(%`cFKO^&wKc7^1)Q`*8RwgV~cQ#BA2PW98E@}o5bS9AE+V?=_vGW*Z&NUL;`6+>fq=T(vprOd(78D_n(w6#eha_`T8;}?f z#!a1B0xPLNXHiBX1C1zZuak&BnLY=GuW{^G8-s&%labKn%)pp_-m_M4CjTsbZW{ce zmbmf5+WYp|mm?OOgEop-(=HztDH+}(gpJa)T%KzpER(l}`%5H-kK#;p*R6d-?R>{3GWyF8=g!yE&N)`; z0Q#j!T|kkKxQYHd`T=}bH841MuTo8CdbP0oh*%Qpz302|h-yE};`FEyU!tx(d@s~@ zddv6cpj@izq{=3dDuDf8yNQ0cdB?VVMexpqErIlLnibuR(8rD7pc~Q95_bANYX}it zT5stT@=w#6DjK^~QeBsGs`083KO`S9IzhDI+4uqHyTs?ZZ2p-qPQnZw6S22s7?mmT z5m0>VZ%qV)tibg#zk!K6u7IK|*vDJi-o zQ23D32I@9rBKr=w;m`r{J&7qu?QvQT#SLJHaC!ikc~%&MR5pZTe^yZReqzs55Y z2ih?Vn=kD+y~I{nX+4#_rQ4!Do{!(dLh=19Wui&SWL%$0ift8W9u!@(MQqgA>FaHL ziR09mvY)UueEHD9Z}_yRwQyPySHRi#v6&wfs7Qdw>~yHHk5Wz(?rASa7u9Udo>Xod zX+)GBN`$ayTb#;OqJA)o%V36~scpO-o=7~6m5FwwWcgpreN|YLUHdO0%AhDi2-2W* zD@b>U(t?809a7TW-O?#YgVNndiF8WC2#9pY00YckgYUb)|K11R!9Lp8#ep-|_&jUf z>(1XDi<{U+a(D5>!xZLm@^G;)1>uJn4P}k2hxakGwwDu z@F9OdNMG5JJF?f*n;Jn%1P3=3j}cA2TTw{rX( zdurVR+rT6iX}KeUudM8>Ug_bBbV)f|K8}|OxXP7Hyy7zwkau$ifrm@1QWwGH6b=g= z8YMlX9^HT2KNVB?G1W9Ipn0G8nb`_@%L(6!#)qAoCUa9&@3#n_&&AKQcdF6Qi6Z4bJ|Tim(lIv33oNQI~Kl4 z_Jjf-x87>q4JtM0C=3nGx=gdlz0uGM0?e6I+M7Y3aq;(0SjDcC4crBhPI5A9fecJU zY;(6pky`P-qEndDowD|v+pQCbaBbR;2&c;Fu0wp6I!oB`5YtheG2V2NRouP9x6+v% zSiyayU6jFL1EVlc@*;3(t(vvfAq&C#F8AFc>7$Xmef3x{$MeoRhxuHOUr3d5q;A*W z?}OS@zF4|AEKiH&xO({~XHN0CdO1Tc<~@9W3mrBKk487Xi0{^+%h1|CAgdmm>8n$} z+EE9Kq?xQkG^KRv3~um5Q*-sE(&zu19~*W?;WAF|&4^L1sL_`-3K2hI5qy=1?};WC z4sI6&IpgdtN7do*a|+i2c=GG*4|@>w2)xgbyWEMX3My92B{WGjdadzh6oK1#*nir1 zi#k&f+=g!pc@0cru&Em_0?L_-E`l|f+K%)n%8p^@HTei7Q%szSJK~NXsW-&fca%ws zsR$feutfcDal|BS*;(?~X}$zaH2zh7@~?HO=lW5!t!x1ba%9@_})s$d%?1NJO4b4 zjm|bq z=%~YUC80Sjflx1#{oZwUWkW3f-MZ4F-*!0|-@jekw_>tMo4I751Sc0+6U7Lh#Z?u5 zH^eh(`<75Q$(o4!&vpKDF8&*ELjS3BWbq;9%-dFCaw$&FZ;ujrQ|Zyv=HYo;vgu<{#asGsgB?HN}9x`I^^rI{c~uS!{zCIlvoEf zSQFB{%gcV?|304DFp8GxM_f)-nn!V`5hU5XhqY7>lR`84F&i2o550{MR`vq4#6Iw& z+jc^ub}Ya^OSJI4Uob;{K9cxBI2B`P)iqG-nF0E#b1Wl4HQ{r-AK9((G-2JIXKlj5 z3Pp;eCs^Gc&)HgzHuQ1_mv(~mlDQmDs)X!bwS>AMpS)`dqBs~D{W&l2I#6}CqOV(O zS~UcldQx?^l*^z3ZfVo43)2Xncl^+-Nq1^`i+Wail*Nqav2)RC4hewUk~BpgeKAZ+ z4Jfvx=>he>J@(d2hc>rp)zwEqp!rCgq9fgX516 zh?*b*>=wuevw1lHSFN1&C>y7$LMR!XmsJW_c-mBdA2_qxqhh)HMH7wceJcrPdVvSp z+-JW=dY`_>TRvJyV{}cuNgqA@S~b;i3h|P<_vd8@hgI7C`%V!|c9q>R8VQ4Y<91s@ z`Ex>+?EqO?{s5;6PKm91Mn?Ey4EC9eSo{@&fOS*r370~u%3SrsW5PlN;@61=+n(`B zh|Hs@FU32%Vlyy0PHl|LIvtyqAW}PJ~9#@)22l?Lnk<= zs#wJgwe4s+^Lgfo#e7+d;9mN-M6tjknK2}@JEeB4cYA12*t>qa(Yo5KQ7>0iv#ona zV`$p)Ibv9%l(fILe3n+GAGTeyoX4=O;pFJ1XWbjvd};Ov)e~J#yS#Nc;Nn==RPgl8 ziRPvk>5aB4w{bs%@tYp%VlQTG;8+8z%Kg9wE9}@Fw(mV#FHNNTA z|I*QprgP0a(m!l*6^-)fO6(?bb5Mv9gL#|;1w14KT=zbU_BrH0@rcZ{KHN=(tlSK&J6kTd|~wteJMnRhq&j<3o+ zaEv^nC|mP^{Q$KXq+7ElJ471R)hlIq|jU|HW*{COX9G7Z%L#&^0#PtTOYjs2;DZ(>3-DNd;y+YN>E3pG?#gC+5g7R2{2 zq;B2}z(hg#U+CS+Z=pvhfZ+xsCS@(#PJKlIMo~){<8U(7*@m*jQqA&Pt&FaO6~?NS zK}ywX+}r;;2GEzf@Oh`{gY8;OPS2cQiVt+?a1z`OYh*&U-@IDPr}9WSGuYnGMzZBv zgmr9sgAoV(N&XmgNwzd}el%^2Z-i*rVjsz`^4EY)XLe_S$+$IHJI`iv*>Aa?#+?>N zmc11}ql^r!Uj|cg^)o2`{z5z7tV8A|3x?O6QGtH8D3_wuS5xeh{zlt|tWVU348GU= z#%OnUQln|N4*e5C73W@T1In}h)_6UmQ(_^6y<;dgV|^g_z$-7IGh@r;sg(OPcP?Y8 z8`CLpYCH>v%=gdTVY@`cFjQdf*jvNf6p5N$w%lVQ_cfm-r63}KG|2dvMGE?bVwQ_l zO}R>L%sQKF6C$n{_T!{vTWh{qg1u%iX+(GoE<1J?5SW2|lA$vE)3GF=Zo2W~jG8HS zoPhZH%Dx|eV$rfgA1jp{QF^MlxI)BjzJ~4oo2>*BNQBficr=7EjX0L2FFtjRg=c&o zpAGg_2!CRI%k9EBWt;P_Nsgs!9&I%pQTh5s7|Q?94psYQV8w9zZxLx1q|PToYj$=P z^Gm;N2x^!xXPo2EQgg9&(X25$_o9!5h#YO44M~n zK7L;rsOioF^LfV!#`^!At#>T;`7MhA6LygmIYYso%GA5QrgdSFM->t>ch$lQel5d8 z*gcdv5SK;y#3I&t;N0#0uK^X7x*aWQ;cM-1q6ZfV>@j?CP~o6wv;d&YOLM#preps0 z7gcZV!A=$Ox2-^Xc>C}9eI~)kQ}}cqd5`u8J1*xxc zh^4K=ini9*UGAJhy}cnXdTIy6bJ02I$9A;YD zW})>8eY3+V?{)S07rx=ek*t_(^GmP7*K67KvLxYTvfjSeqlo{GT47*(;C3Ot{wwB( zoT4G+WvUv(R-@s|p+}dygM(%nhnGJAF!x@iSQkH85(9l6MHr~1 zUr&OO3{+Yk+{@kp6_r!wC+^INjqrm@>-+#^az+$?PG)lYf>X4(U(hvjZ&_EmQnS`;S#} zeouqqH5GA$#K-+*vzjPa>B@q8Yp(VBXfAu6MNkLz$0X5d4{E&HcAsk}bhrScp}~!r zq*N)opo>|HHl2)2Ra=4YO~cT0qp0}-)UYF$KPk~59zCP`_&unwz%SmqDE$84S~jIb zj3#2v8Fkr|{l_3KNe|uuDyLbDDNN{0M6s`_cy?J@=H}&sYi^4)#k>8)YZ5S_T0?J9 zjb68F+y)KHWzmjFZ3_~)qiv5CLov>p{C!6G4QEH{*z7(XY`4Tj4TXjpHXG(G2FkSGJz$^ zbk+1YSI>*A|Mb;9{nT>4weGh~of?bjO2*m650KXpq9%a;+ON$rz8uSRT$4r#2g5y@ zZ+^a+Xri5PfQ*DkVP>)CApu&rxf4Fpm?ya_^wFXErK(j{iH*$*2MPCQGP zK8-Peo+3N+F8$e%r9KCRZuZdC0gvOKJS}IP_=-g(^{?!w2rztO@&ZOxyx2`PShqH` z9bc$mr;9~mf&R@WZ3_ASL?qFJgM;LEb89tnKhrMU=Ja$|q(f!Feji?EpfRR}#d>Oi zl{9HxNvROJkIG_v6hQA9teKQDlps%{KNtgs0&~UcBQ|J_F5vaix0z{MGB>N&TUiOj z5*Onr&9!fJ+(A^7b-{^*D(ug0KHv$w4VtjN;4(PMHR=d94+aTO2CJpa{ybiz{4&9K zPePa6$01kF5AkAe|3adnA%PtOit$AZ^qG>pHv7kf>*7vX*4Ds_wZ0OIJbfqAVvJb3 z5>C0Sl#)?m4=$Qr?uMV|a6p4a1aoq7ek=kFGlqIw>f>~$wqG}EE(YM29*vEOPS408 zw?Vlr=)rPxL%7`y@JYV4ztC9oy6#JUzDX|k)bzAtApMdtSqZ^Dp_xm)k59Xx-Btni zFGEn%u8+ZGSJ#Lb(H{F1exhZ3p3XB1Z<@T5JIa%IB-l`({|TseJSc->jTY^r{89n? z716>y;T>|UZ#FO9gBH`mXw;+)l(nQvL*@5QSSuXg_Z-sU?CdVf@83ox%nVN|PDfYW zJj=SHLWP%aH(doKvbqTZKNU56`tv##2BOsEX4E~Oz2ALWTFuCXBV9D`yw~C1O18JR zbH!i!b-!BicvdzkcH-Fe5e!Coiodp%mX}MRc-T4nrW2v32CvBGL_Yq1J~d-5iet{cr57Et6N{&9_N5Q?6}^ruYH)y6}PRjmkVQd@gTKoFhgcZg-zs{hh<-T z2vm$d`rSt=U5BmBJEuI&H>_c_eF;KoNA8i=nkfF8u1o!B8!-4nIuF#GGgvMYFJ;GV+H-%nuh!R;MwNBTJwCvf2d!8A^> z{Eq6;LqpHRn3dQAdM%x3KChrjPqHm5bVgbF+oI^N_+%Rrb)JOM@uA9*MWrAFVU~A+b0YcdPndgo zW1|{8<`-!04EOck!T)_0far=HxLOEDrm!#YOlnyB)#C^q4V!11rmLW+!9@es7?{Q# zejP~ru%N88fCqB>lYVJhh?ZAw=Rd-W3p$kaY{_Yado$Tf#G-W4Q`}(>IYC$|v8whUk;`YW!oI;< z8T#ehZ*iw{IFy{d4{Vb^*eS>2C5^Q7$+argd6}N3yO+LxpWJA_KKejD)L)MW>eHs2 zlZ)s|bkw<6ZfH#OYW3;w9_Od?rh45S>t}YY`aVW{t1=to)@tp7O~cjm;;P0qsL*-{ z_E#<$HQe1^>@hlDUS~7Eyt#P^2<$8bT%5mi-=94ip61)8QEb{R*|e%=e_9DH5~zK) zk#2?BS1*AOhVSb;{Uy5M2Mj?EOoro1T5t z5Q(BBV>*uP?Cr`H`uva|JH2hp@h4iNhih5J#_dywVxOm`PvU|tD8s+Qi5yt9TC9bi ze`f#<*rB@9Z&O~vu8BR||JSF)!oQ;;SZdVUV3E&I26#CcF9AnuRM*MIF7lgEA6SsAOjPf ztbg1*r9HRFNHav!cCFw*>hBO-J6%6KAQ0Oso{Ui6z*{}I{v`I|PuwtW(96Dz-|2N!O1S85Tjkxity?eu5D@R>pKhLQUm=u1R`(zO(E;-nf8_B~lv&As{^D^Dz1wgXGfJAWZcgr$9+Jo*r6|0Qh=ck85aQhyb95ESmnR;e*e-s!EkO4 zq*7Ym?m8NP;YWBM;IVdI-IX3ZBw0oRSvw`tsbKlT_OyuQHt2QS>( zQdIwAskFy<{J?$Pnt1nE=tyao^FIuMhyLl)nDA#`?!^?mu7Og9^7t~7Z7{*n* z2a37knbohESgPP%DcAZhcTZhS&DyDXDwG^rKzCz#*Y$7I`F5biQ~(A>TO0_rUVHDN zKOy#xH9Ko(0TNP8QKiiA8kgR|D>6gG=_vcHfs6ffnOt$?Xs+xt{9v4aToX_iU^0sr zVZMRY@*@Da#ddfZ{ntT6inq7%jR;cuZSzT)D8?tNEjGerezi)1UV3V3yG?Z8I-r|z z-@*si^G}z&Ooj!KAtgI20zV52lTiI8pY>3UsQs_?fC~#I08^ni!_U~%ifw2s{;6q$-$(Z!v<+7&x(y(=!3@G6sQ7M>H-pK0&T$4~AvIJlm1 z(wSjBcp&L{_2)}<#@llJt`vJ#8!n84m!IESs8A#ATG$Vv+lPGJKgk~WDm_~tMYXp1 zq(K2{m889QyTzn;zld~#X@4a@-B~1_5V=Sz>x!^@su}oqV%I(K&y{xP-GcjGBuSfn zoUEJ0W?rX@Es3O^?)|863B+)y(q9b*?0$lM?(&-vU6D1rVf5Yiul}5e-M&bWkUOhy zAcH)AM&pyrX%gwSU7hH)98$a4aKk=IgE_;wAW_JO)K>gS0}}?A(S6krsOIPZw^EN+ zFy*R6jZzV)#zsv#6E%YLuO&Hp@4CQHMPIno#|J3u!K49lwluin2BD$lsCb=5HatI%ILukK zBg06!b|V;L2i`F};6Ej|3Vc^O_Yl{gsXHbCrCNSRqI~OdU+fDR!D*IYbg1LsBc~LsSnWXsg8FfUCf zxUGjzI1a{h`Oi~NwmtWK4+73F&OU*Va44$b6^SYVPuks=G{f{ zMTE@fDZWc%Tx5Y5qB&rhzDP)Kf2sRwreL|v>e^QZJ(K#YN0ecw4X}XIC6ByDx9MTe zn`b19*S@Qg2r87!SWlF>D`gmC^z$cBW;UZLH}H4G*Z=75B zLn93?`G;juy=U{anvo_%{7suoHi~aaGDJ;QtFi_6t?oZx>Ny0Uq!&PA&ODZ*!g2o| zh&E)(8rLm%v_;mHLMtw@{K@qdImdFMaN_rjr+1|;*1r#eiM0B1$AV^4Knd*n|O?yM#KHXwmYinnoU_ znQw$1ARkv#Q*&=pqx5K}q(mC|QJOFu3&lP{P?U#~^B1CEegvHQjvQSun`xK;FjUA^m@@=FwsULJVYdCr?gJlrst9WZ2^FaN_>zw&y1)u>*d2>Qii#Uk;|> zbq%ibgq~)QV&}O~?t%!z>1{WW7EwN#S>U_{q8vbk` zO$7;=+YH+>Q8?)G%4u{vgLP3m|9!JOQ0Ox)tyVhJV=$EfO$`83D*S+C)G@q&iSk4nf-MR>tg7~nNmYBVAs{%|cltoQs;%6H*M1RgbQO-#%QgJ_jIb3?QtF!y)@^;E%-|Fn@!+K>Ne^WV z`Szs+y*h@F^Q03~;ZQoI!nghII-6@0@U6xnK16?--Jgroev#gOKDW|iZMT#8N)eOd zd+1bX=v1E{54#(VA(aDNWis|*`C9gq#=Tq>4q6CHDy-`tK!ttWTg)s1*KQZCvKlc( zF%xjl;kGZ+?vKe_o3 zK?*ST1PBb!G5R6DZR;04RT#FP2`0)rEMX0~;3ORgY zUw~@|*Z)!v_hThTpXBnLfD=Bw;|R|sMW8<}3?MkD$9{7{e;bU5B)I1bHiiZ{mHbQ# zv$sxO!_NQHE7?tOXM5;$oHpgg^(zYeMA;H&4e~9_EJ950awRk9S<5rGFjBlZmjQh-jKN^iwWC%joPa}46``1*L2**NJ&kd zc$IA1Pc6ZfUp*|$wk`KdO}CwMJ*nh&AGI`-WfNaZ*WM(Ut*dA2Z81ziDznM)sWG9G!SaHa`1(G zMIoOktcx|o{-J^oiVjiWF=r6Y0C_Q}jNb6#Q`C~{aJ{L1KZj)aU2lLZMpRZ-CBrs^ z+rErif~U5+T4(&l>@d&uR=ovo2&)ySqPnLjBC1DuKwcZgaavs;^)Q>Sl8Qn zDY`IzG1bPJY;kflF|qVTk{>(&np41hKYw@cq$N5kNG|W`hik#uf`~%fr_g*9-zWLq zx?UY>gCZCo*n&mKVkczm>|kRBY4v`=4dvEGS@d@UPQ+dw;$PL_e{Uncx6==F!VWCoaDlbjZO$fX(nFc$57A%w<+;`Hl3FG$scnR1*( zoLDX9A?tUydOco}$S%+4z>F4BHN;f5{Ow$fHq-h(S*yetzPa-q zAl$s*mn7X3La5UcHN?`TrkEc7RtClT0rTso&?eI#TDx;Cv}hPHQop|H2;?t8F)|Ii zxL;VStK0hZ=8nn``ZK5qB^vrY@UcK|&0xOV-IQNInJz_@p-M5TT7_dF8qG6E-`m@p_{L!R zRvatro7yge(f6L@cw^RIU${`u{AJjJY-M;tKKm3_Qid9W6i~QB*wv6UODk2Stt{J1T(?R>M885x*XFD zi1^D0mWykW^8=D=V+zitJVdb`z6>uqYUxzNx+v0-c|UX-%2MLiXb_RG*X)YGeo!e; zv0BVZ_>QHWSqz*Umsp!Wvk%@!P6p1u+5~+Y8bKclw25Q@{vb-q0h5(M;X#kpLwLYz z_aiBb{_4SCfES66gh*+!nho;okL?=JAatf*^-_e$W!61^ZO!8uM8}-IM~6B=UxU=Z z1Zqewb?+W7>bL~)zKPF0=Fm)kfm$-LD(|hoO9noLKM9(UkJg_MF+0G(I9aJzr*pE%9>XAhN6+v^-w@0Wi zO?knW_i%1t2Lsnm92bHv_xA{2fT&751Y%(L$<%7cjU>KubqAdPgRm~ON9GLJH&J|^ z0VMVS%TOlOhbnILTZbj;aUUK5UAKG_BbW-JNAOpLqUZ~>R0nRcJ6a&mEL_=qqv9pkxO=t!`t%+>knk-mpg`6jp(x9ety0tZPRzYzSh^HD!qVKl^+|#7 zh}8#-4}nS_EJkcAAa7SVD`{mf1`{g$CJ4j23|%1BzBFJ3FB(iqQAE~95n1jg=y(A- z@P}HOX+I{qb;~jL{7GL|mFs}|*J>37;q>QecDEh2Nm$#AHfvhPR#Z&XxwVBn9yx3_ z2sEFLW~|o;c*<|iW@KwQP6q_0AK&A@tcop^T^$tuSZJl+9Z7!FcT3jvEL(9n+?*{} z;=b^3qHvAZDK+T-%C6eFl3ugkwaV0NWgor;qg248JaW;QQ6t6bjS>x)%BK1y4op_y zi;oyN5hIF{)V*{2Hdytn4K0Uf7h(b8i@8+W;hasDL`e7c8i=zsE{;D2nF$5%X;w*9UZs8jEam zkCz`8|aeV$-i}XxA5s7X208`r%$pAK!MysI9DA%L37nYEN;c;=%5{r+2kxp8z?!NGY^ck zGB-#1ts*|${A<{bR&hB{rUv|p0^xy3po6oAeiyBR2qNa_8k`T_aQ#ZU;?mo?RduK! zFoOS8Rb};)z}PRbn~#i&m>|WLtfS!>gSniFND?hxTMSFs74{(i)VP`S zpJ9;_9i;Ch;)Brj-oDXee5Cdtxz^uQ!#==)!M+3art*IRWkqMd9Af5j=~Y~VAs57! zyER2`Mp}Vt0RDH+OSH#i#!6D8Rz2Vv_JhM?46!}KeO_00wOqR#xPGk>o)4CBnw>x6 z8E(To&bxWCD;Bov>0M(r{~UJlJ!Hb9ai`&Ke4ml)Io!OMA?53{LS#m9q@dZY_p$eZeQ&cs3&Yxt@f`RNC5WQ&%Hh}noy zH(`yej2WxLZJv)2Me=r5lvljVKf0VA+7dHKbA0;gWFWRE#@4p5X%L(WBRx*$F1COl zLu_H(huIT&t4eDg`*76r3~9tRoUdVdu+gk%6m$JNL#|wsez3-6V_jr;)Qz&@0&$ct zBBdjI!a#DeJ!Y2C46nFo*a{^+0!8;SyUj>paHQD@F8!;iFkYWJ&AIT+)zRGyv)sy| z3;uh^ll7xQ#ckDRFBV)@wZb~S9sH&qu#yn;r$M zj#9YU)8=1gKTFY*Cjt6P#$cRu)lL`&cO&k7`)D{)nOlv8@GLyDcXQb;XrZ_%x<~Wp zM9o#`_jhT7>8XeEiqH|=lXT=21$-r2z}xwt&}5CLj}m{k)PlLni}q91uV=vX|FL4* zEMU~f z!I}!c8cRgbo0te47M890Rg<;0Ad2jaq2^C{n*0gp&&c&Ytsh?GMM~2K$Ji-e?hv2% z93zdYS+ymGgn#03z5V#>(Chc4f`CI-4-r!2e6(EJOk~v@N8pG`7P`@NIA}k{+L|SO zg~;yZNYmmxxX>GKtlD zV!k?zr6Ux1veQBY)NLQvQISfabw4K2#V)4jp~iXFfYaL5!iZ6<=Zjsd zX_-WY`a!&m*CHmGcFAvMthDyuHSC=0yj{g~*lDVC2pr>+XnmP6ot;X1s>!*$I<9J3 z+R*A$n$C3@N~y6FO>)y1S=-ty+j{YH-hMrYa`e~o?O`35^B7*9D|{h?F0wV4ccFr^ z;q3>3n^9&qTV7zkbjXBv;Il%M=jA|cUDwg{PDWDWcR!`D`3th9g}J$^$lf@_)G%CT zMd9W|u|{pnVqpFcZ}%41Fm`8sJ#m}i3kbsar$#MW z3`IIIk0d`lz_7sjeJF3hDVac()8~)D|GzEqwF;~iQzf*nc`&nIi*7&@k1~Ty9TaBy zd|^Sd-SciRTUjc-edEqD&h<3wPcp5VA9&`GsnYAcg+wYDkMHLuS6XM)F1XI(1v}2T z(94GZVo9QmYW^50%%m7~0cUF1Z?&Q&^k@;dU`aVV)G#~Vom6j^L?(D1UF0D%BfMOF z6fQPwxQxyf*TK588DqPZhtd(F-&b|2p2pnvID7aNnbCjB2QCboWbp|Oh*d)#kjS^5 z-)6oWbSu+J%c-^^eC7`6+K!u-1ZlcQ`dcOaS0=-Wn8OiB2hsG>Z|1X#nXZ0v$_wk(k;J@|wr;Q+X+GL)q%5mQ>Ex5Q zZmCc9JltEZx`=+DYK(($o6ezpCw@QiNMP}Fc`fU1i>$zI6F#782N&{0N;RauA^Qc6mg||r(F!}ck&&TI!bCNvr-BHXhw!KK<5E>DjrOQo zm}gL)ws88@@;B|OKgrzZdpgLh9k=cEDda01!Kb4Jq~B>XfZ_h#&AUNS^E)*!J|u5c zdiBny7L^*VJUK4aDJ{B&N+naI)%fL$6pw*3y20@ozsn_u8zwixh>*oA$35Mptd;>M zLo@?kr#I27@e2CQG*4qpUClE+)Qc?_TaIwQ(dnG)-;Y9tP~YOwp89LzF8UGxdlTnN z)jcjni1)VWtfwDY(OaR#>G7!fa3>+O>>E0k2{yUNsVvvQh20t@(tQZ;@hL4v%E>*i zEUeg)DvWIXuQdPG0%T^Icy!>&3193XmC+_QbH^Hvm!^r)pAS9UY!PZR zud*6yR>jWuI=o)V+KG@H0+Y2WTlS|*|u()e^_B`AeTP?f) za%hf?GJ)Y^k|dtKsE`H~VGDk1&kaF^ z@a35ixd!eD*e3aD=g0U(*u-q9-`{a*ibqJLDQ?%K#y>a$6W=vfzH?hRrp`-Z`m#FP1*cZ2u*5mV zyMzm4H-P$ysu^rv9DVP^x>MIpHwaaC-IYj4deq8mXMB-#ckQc0i(FK(bEq-QS@!3d zl>7FcokD));3@z7UgcTUWO_#CyyI*{y2pu&d2Fy$+A-;sBzx-x({?Rvb?uYWm2q{) z%5G8+OOE?uu!M!jufrfuu5&?ViSCzB{pjaT-=TKK)Zsdl{in&aSv~B8Q6=@ZF%K}G z$;xWN4>FMAiP|>g<-fYv2YJsA%B9~SOV4dKx5L)c5eaI?ZM55wSNaR($aJBTh}n-p z&Hn%t5rqQofl7=T>Qa*P7Fs`sr)p|WNDVghSq7{I;g{A~{a6+k>oCFO=Q^iaDFVA{ z_OP2#?pumywUz<*=)aHhJ-mm01BAx}(5X1CyJ8HqK7pwyZ|4`doP(OZ>Vu^+%Gr8v zxV%1DV~H%|eooAj5+0SmJUo>QRotLbMBKL&Uw?D zlL#ps!V1T&DY3L04nq|yolC*a`^jS9imE%8=R26|nL(7b7s7jom~Y?lyL;lAaLu>; znw${Q{IhdPty3X0Wm7Xm?zCVTqU0_NHGvlh?;WQNbcCN?PzmdV^!3{G@CtW$%Z`O` zhWhVyomAExFUfkA{3QolLv2_Zbq#TQwRyDYn$IKI>s0+*pk9O#9hoboTop zL?rog&gE{A#bZyVlp&89yP>Gamr9qvM(tT3D3@9_q!m9B`Sg>(l13-(Zrb_kQ&(pn z(Z_(~?`bZNPUh$4b}^XZ>C|w47&paT;(@kF4{)NJo2P#g8S=PSK!<r$d( zBrb38v#AuY$WlQZN#)g54MZRLsR1OI#iqyZactdiJ9VLjt=s*Bp1&cRW0G#8H z@^$Zm1hMSJ{t=VPpFnZFOJ_x%#ibN1GQ0jKjh=Ov8KroyoUHsQJCpXu>a&^$J~g_3 znM`?RzEE0!a}EOFQ1Ch*v3n!55OM1E=W5p=1`$xjOL&Y^#5CYdVxv;CVo>LGFYU}8 z6;E+@?xCD8=`pLu9TG_%Q;;kG&=J7aeiIX0f#kO^tcq9SXj?s{*RZm?riM^$(w2Q^ zU*R(!%w7ohGHKUhkmr>~rWV)1SdBQMYeA!voa&WS9aGC-(_qzHU7{EaC9QEn2W+E@zT#k-Q@0oeuTEjyvO$@$w)AhQJ8NzclR3YQj$l3 z>KNBSt0>AKaWIH}bLB5*;T1gD)2I5I2>?e>5DiX?q-~K~1j|rE{T!PyQQ%&t?U}jc z_+;_^(|C3U0`7jN#`_rv391ZhR~Ctc4<^mMl2Jr=wsns49jgAKf#7x+X!~36H1M|u zU<>H&Tc~dy{{05+Mk@-e3Zt2MLi=%uN4^g#|E!r}5@6`#ik|^cuVk8`>LqJ>10eG# z#LhP-tmYas&I1(a;`+cbtA_pqdhmdrikO9s!&@X4xwi+WyPS)1wK=Rr^(+dk9G(G)G?QRvnYF`_3eci>3NwwS4(EmtHF zXRQ}A{3P;(>d!sK$b5*2lXne6D}i0#k|Nyx9)gz65}{J1%l!8YH6g#&_v<8?797Q) zp-vaN9!-F#cSN+I{_Q5|ITT3xRJ2j;kF92P1PYnZ8gOpvIwe?$@047oDU@33+zIf~NC7OAyB>d-pI? zH>Z=JXjvK0w2m0-nkF~@KX`%!Qj<-sH$l~AXj<8Ect*ecVatQHCnYEnKC>;m#wF2F z8b-9vl%E@;EE<}s)TZ?Jq=WIl8S8c4j1xU9iT2uz9gvclhQ{9IUQ=oU-zx|bi zewz8m+wSDb_IN5K_8a~C$9SEWR8Te)2Od1PzE)-6 z$`5~iT)KzE95>F~pdZvs{~jwEhO)%x;^9b-;Bm=Dn@BK;i_GmPO&I)ml*rDR%o^m= zx&%DSu78XU&^QKYktvrkYFjM29M_n(C>6Nd3expRuAB$YS7}-N6u?O%MSO=}u%}FR zo7ZN(vSk8H>Q$^>?Un5l%Y}>k5tN*v4fgBGDx`Ice*t*&Nn5tW&3Q(R79Wv+)1dy= zw_L-S!47O9$hJ^0xepp3#vLeIN+f8X5iiGjfc+Q#48{c?pWIOmmk*#CulrT*+)*06 z`bi}gcjI!l);fQhXE1+f9$qyw*RZ{7e>R@XwE=L7arj=!`8WA1AY{MU6=NsnW5b2t(t(d-*8DQ4aj@DecOxgLo6))5#zOe!Y*Y-@7jJ z(*!$Jx6b;IEeexEEg@_aUatm-rPJ?q+>6BE=nfJQRX>m)>y=ayS(wXMP&dsW{D0yY zb2+8?3MXDfK8Q7{^jF4?I=}o(h^{o&)C&>W2F@TpomSy9&A2qg_OjwgOfHUU3E$SR zpXq3nH0ZV(Ebe{iYf4~s@uWMbFV)TOzsa(9g#X(hobP{Alaj$;?~e(>MV49P!*1x~lO#-w^f9yC=YBW;#E!RmNMZjQZ7pZl&BH{DLAY9B$@cM?m>@!bqZfXi?Gr6Q6<;*nOfek6{_!hhAOK=?QJ z+MNGU^SD6x{e7eHRLUaniVQc5T2?%Ge-g#C6O7>V3mzg^N_4%Kn3L+XDW1ZsXP=ux zrbFME7qZNr1%RC|{E7_jcN$7lRkNKbj4f;4sl;Q;%SU_RlCI{46vZLWpc19%#%5hh62g)M6MP%NXe zE}D-q8?TM8C{Q5i{$Y6r5@@7Y|3g-JZ&(mM7Zk!+tnv(Y5*zMX3)0c9JM8lu@Bk;<$F%M5zu? zM&%4jJ17baEs?Tx(70Tdy$j6Q`bjsB@a-}*j3!{Ne+Lkjpwx{IxL=7XE=IINUK(A` zil*S%&o>=&G9QuxM@#wx*DpOayIcCxo+Yx8@wGGI_!2=n9u{#qcl6;r(1M5qi*oVq&B3r8P^w@(OTwm zC=h?Ze=M##WcR^5N-9S-UsD>S!W>sdOR-7TQiZH8`!Xi^aa`B^N{{Up;t(Y(Zj3vN z$}cZs`eE4xRKfbul z)AFTwNnijT!bvqZv$uIzg(cpwyT3#WANzLW(h|qO$-t67sIJ=JfRFpGJi{W12$p|+ z^-aACmWC5$rC%S*teW9PARn`q5Xcw4K6dt4673KqTl9(Jp& zWiuc9I10gd>bN{3|8a!BrDBn~R!CnFvD#~+-4D;(QR==cqL0ACWQv#z@%@a3TfS>r zRAPuf{tv7rxGrZz*lqVs^-GJ%R#QKLR~~OX#%yp`V#kM^W6wL6qp~%u8v80Tc#3$g z)}_80Y7J2!MuA-~g8!_LegBT-%^+Ao z&8gl=+d?kf3snmP5NxM@9Y*Shw%kT_#OnQGmsj{E8C2_do z_)0ml8?0yYeu!f@g4u=4Cbj)onQNk>2ZnV4?*6Jq+FM4}sZzT8wrZ?}Dwwuav zBHs60Yl4DP8`knlBW6?qy0j~pSOyBxP5SbDx~tw=oHjCU+34?ZdF?r=!nNM4;#Yel z`;CF&>0vhTokk6^RaTd|AikhG2#`k^$^1=MnZ&W)`=vC8+{qI;EOEbTDJN9|xH{mV>3}{ymr69eMwuo%->|bFrm3_` z)NfcWN#w;R%+KcN`%y*JduQGAr|`+U#Qkrn-TIu9Yza&547L3j$6;1a(?30&?V4j# zk)X$hj3^Qcbvh}rKFhPJ3QOuuo!@X$CPeRqcfEw#_7)BAJCL+~p*ouTF8|<$gwY~5 z(fZcGBgnK(v?U%)z=iEq^4F`-vyfYNaWUVl#d?5pDpD;G1W5T_NRd~>jXQsB+V-b< zQnLO1(}sW!9B*?mxbx2q}jBFGD-yN!I3k@2%+o$b*f9R36CZ`nii&6)tQ z69z$C75orIY)p**=3scQKlin&R9X=IUxdANSd`t~Hmry;2+9BoA|MP%ND4?xhje#0 zO1Cr$LrH^_fRrMg(%lWx4bq)Thu^x?`}v-|_xry4IPT;AOP!f3);fP@EyGm)zEAqp zP6UDn1Vnb#?pUVD0aB<#A#$wOD33c6_BYyU+-G6sc_y$Ko(XtE%|;v zru#^TiQ7)oB3?8sje_OZyPRw@ZUv!jNcN`4?Uqj=?-Srwg_uR$v7PV0&Zj6#6uwp6 ztEKKxf{R3Y5aAc;_mkZY@^D&hiTil@siZq=E2e8)CR~nvN+fsqK_Tg+VST@Rkq0@@ zwmED~uuP|(TF)HITP$Hv7Sx@6h+d{dN;AbMH#SNJGJGjBMCyj;Z9&%H!;8E#{ z9L02GEVylIT|A-jh<)Q7oTZ6E`s)~)(4X{r^M~{pTH)%Ng+=c!mi!k`kTYU zCWjW{H(=9Ec8PQa{OPBcP58ej-au&Lh`u@1-F%|q)lf0Dl`}Z3nEG~mZZ&a1p?T! z=iE29vkT*5bQcr0icv1`kVxIMXBs>Ng4xu|DzlO%7Wnp_x}nt_2RLITnXh{WdcXdh z^$(Cdp|7xilH{}z_|>?ZZ6O#9Ps`Uj`x}|{`zdt6;)+g>4;BsG0rp+d`GqyM@h03om-k^sO3}n#jCo&V`20cMzB`b$|$wPWk)T8B%~oJTmZ$=*J+E@AC356w@NK;nktAl z`zcv$YY8n2I9I;Xa<8~oCSi-xJ7#YxpST(mQ5RN1xin5(=oNO?H1{L|p|p7{Z2age z>Ek{V1GfETA^0&pcBuv2i=xamTj9|)WvJ|E9<)HWrEyEEI*&+JSVMB>}n6J zn{ESD%59J9n91=lq)Wn<&MQdDw}cKcpE@qiX1!193)4VNeaeg!&LEtkJ7zzrFywk# z927Rjf|O!LUVIc%o?6~d!R1!Qt{cTflScyB6vvb zRSva4xEpd$dBfWP8iD}PUpDGZM-b^J?l2Kv7SZGPynJu-9-Za!7BMhCYkDpucE5P5 z3pqjtTW33-86OY4alvaU2ov3i%X}=_H(M79%ShT1O9;)wx1IObqX6azIcm%O378`CAj#-^2%bSU) zsXDc;DiX`+bK7-P2ge=V1cFY6LJS0^OKNVYX9xrZdQ%C1 z{Y;~yOp*J1_(xc6-b!(|?<1 zB}a#3|B@1FlH3(kNdR7cX4%<$2t8Ot(2#rW`gLn>xOF}jM^(I)ZefccmFeJKeXD3v zM@1a73nsmGS&bcKI5kttnBA*qo}ID>+~|TAMm3Xl+NX~kZz$Kw(i>)YGMu;lvbOUJ zPdxqp-Z<6Jehq=9;nA@iv?O((>U>MWr_vZ!q-&>gvt(%uU(;^Xq;?Dw5gH~wLCGy3 zMjt{IMnB=Te+4jtT%IYc^O!TbmjxSHktge6#(vg&(9RWXO4TOAq-v?q&e?7`5>@}j zyr8ND#|t(2@@VEu^8}^YO0d@5ZfPWr;o*n%sF$r>U+Co{+x>=IWUb~{^}|l?I&F@Q zlrE*75x-x37?HK=v=X+%O@Ji*)Ry>*o~1w)zL3j;x6&$^{@A%^D z`j=R!gJRe0-5;jkO{5&6bCbEfA#uLWW@#Ke?k^KItM3qG$$0;GJrcazu z`bs*!TcP?Im`@IU-mG)=h1Gq#1^bi)@aEUBYbPY^5az{W8vjk}BEax+55>p<+XW?q z5M3M}xy16;fiO|$#uJi?okJZhlDpT-S>D9Vp36}fN|<7!rrInljRrBCzqlXBvG@tN zgYt0PoKGeBV-J_wi8czN=S%&1oA%Vwzl6c!@)sKbO`YNirkG9B06czDDe%cnpF--u zL&i@EQg^UcFmtiU{r=?p$OrlPN|9PCSuxiFN_3W3w9Q_j9izTz$ZJW`?1v+#VZO(e zitCI?diOpWudh7`;Cz<91a_FQj@B`&AxABD9^^79oET#N!bJX|j@)MdI_UqO)Df8d zD3zYx`@?B2K(pWeHHvS~!R+@ysp6jcZ$eQT*udF@jL-#*(`rEm4jo>1^hqvV(_mcdcEN!X8phUGXlm1%mhW5M}pEGSmm>;KV(*Bs=_H{9&C%F1|54b<8hG|5B5K^RCL{ z*xNky>lB-_siw&q(YE9$sk2lTZU!S861gV56={*t&DO6Kt7i&uQ;-GZ z{pW1jF54lGEn>FIaP!AwfHInA6MT5>4+S1h23;cgLh^-d07=PKnt}sxzvZo_o7j$xEu zC#CD+cv4R5gA-=DTHTlQI(B?_h`uG?9j||(j5)o7TL+UD_{7p35>?{5V5=-i`p} zsX(5_VqOf3Q;;nEWdK{{^J41wt||TQQ#>21!U_|H|IN ztZ44ogT$& zX}6z}5x#3BnoWTd!tCk~cuGNGCn1K_=fkH~(2{-)HBB76a09`Tk$KG8?GsFypOy0R zmn?a_!>y7iw(fhwe`y8?U;J`%nyM`*QP=i&+N`P`$=lIS(GbS0mcrB4JZKhQKv16| zXs_Jo)7)s&}efIDf$P&yAddfr}}8Wr<-M$?0`lB;K6_ZFs zzi@4J_ES%oVBKBuXSX0uwFvs_WvM}V^BJ2JDd4TVK8enn##7Yx(8ht~@+!Wpi|eVF zfEY}~t}RO3DZHy8>udb}ZxwDxHH$Q71m+Wd~fav*OyVXCF`@O70d8pipnjfB9-YugmIRbatVMIZHK}*E3_wn48(r8aUIAr-d>1Z-8aEGy&&M9F_d*dOO=u&~` zU2Gdu)zd5vk1R2|I%`XKZ2B!BvHKMbj5E40YOLBxm!$k80PWMsmSj;3o}ozJ&R}W3 zVTi8TXz$s0r#Y=egT=Aaf?2X4B6lX!CBLHc)z#)BWMrgMcOo=L3`lB zi=>l?FSK7$xfKI8leQeFHxyy&7cHOjLn{FUJWxzGTgNE> z5hGmdoYaxA+3)`}9sLi342L*s)Q+{ZchL54#iC7>yXR(at;3)0Wy4@g!0MQkj*C8g zJiKMD^P_ODag*otGk3Zu9?fvBbY5H8=mCwl1w-TAWTp`Ef_2P+GI*-CGqN3R&gY>CVt9@*g)T%Q4<>c+Q*o$j% zI}bQYJ-E)@hd-hA^ntA>sC&Lea2gEJ408}Y_+2+&&FY^m*ODhX=ua4s-yOQy zyhRf4K4)xlAguOoa31(D0fr|3S)!KA&e;U}Kr7G&fZnE``rh|O^%gO)J$s{ow%0qm z)*6|G5(*K@ci>bCOoY`?eoaB=iLIvWq{og^asb7zF?#bS!I8FhmE0q2;B93vDPFrD zb8Q6=XfjsFi(k+GRmTqfRh!cK2`oJChdY{nn=vv$u0NIQ`}}AN94tIyRiuxtsn>+l zQcxI*Gg`1*59b69gPi`Xmlsq(wEPvHCSr;LensVd7wPuh?&a!}xdVa-x)WgvA+hJw z%FkjigyAp;UF){cRpx-dMk>KgHU#3#uHue;6%aD=$JGnapqG@*3p>ckI|>? z2_*-cpmWtTLdujId@F+2&c9dfP_Q)UgTz)PDXPjJu^jxr4}5+AHV)f$TmdmvHYq%X zr30GQHXz8u$ItopFuGIRN4sX2FMr{M61s9ny8$ut_s9(h5!pcm%i ziU5G36-94r_o*5-tvv%v*a)|=0TB;5i`-YlH^A?WOhea&CX@y$@RYct1ezE~llFw5 zmP?;y!UU^Gk~iGQ+*T?>5+EI$iEF7W29uiIMBpy(Q6(6MXiab1=vEykT72V~c+%w^ z7xOECu$xYoMmwK7TcM zdiF`*^fo!SJP}v%s|=OIVFyBIDZGJ57o+rSXFa)lSz=<4#)?9->#l|-9p0un_UkWz zmP>smLRjYwSe7>kFyQ#5*r=zW$5}lNIM5fmMIs4#Etw*cz3(k_00bQ!jHBJwU$sy& z`i~Tm52OeK?=z(pNCCcY;6O3ka%jfgG1*VIXr zcLigx28}5<1o~xqPFxQgbmN1DOwBmiISu`H6|wyBJbJ4g5z>iICutU`CP|pKda|X+ z_CFWlB8SzcT3Z4WqO1igiV4lFrnk1RKmS;=#SvX^5SA6Rxr>S;3@$(VZ4)Uiu-ovDC;5x?8|H{5M~n0t!V0AKWA5Hv*)4%MF(w z2_lib33Ek#ar0wagsV{rq|eOzp5u7?e$Zch4BH<3TryIZ7*gWgdHD?Zgzqj-4sYSA z_h5S@+8u=|`Lpc$`cL zZa+{UP9X>NA)duuo~4GnOcA~hd9lRaSKH$*ws>UADdmtp#t85U<8EVNFB|LI&8YKN zVf`=^;sZF{7QH60RgoYdK;%i$VodpO?kdPbI2uTA%*I^YJlBbit{b&Yvn zz(mh9hap|6uAi2D!WseN3}MA~8~EbNcU%wl?-7o9^X)n`yB_xo*R&@90meZhdJjs> zHG63=Ay#dCAzh**8#YUyJEjna59UoN33M>fP6y^_($(hUZ=W3)5TYXL>(K#A^S@K@ z?qq-MWrtau&v4mMKxn(nk?>Y~uf;ea5x5jcQ4B#qv1_0q+C$#~?5sg4{S^^g{{tLI zs^zd9q+n4+(k>X_3`WFv+{N^i-r*W{p@cZbt4l}9BoJo0As7*O53t?cVjqA~MB|oN zvF|J6Io2IAg>Q_ezI88NiE@#u!kShC$khQ{;Eu?L$sKI5Xt#?r+OuOLZnM2R^gWXk z=P5g-2pu-?5uei$#@F}Jq?0~l-T#6&B{i9M_z*y@$ehbMD7vgz=6<8RF#SCNh#~1_ z)v`{t#gEe@AUeXFt150{QWP{_3p6kf++w>lVK?4gUoOx39DEOW)CWSRmS@~1H1BpJg0 zA?mheOk5698B0!hOAUq^FV~BgM_t}s*r3-7o0L|qeD5C)@jAtPvCl73Zl!J6|I&f0 zMAn#=xvur}jgu*Vw&^)%5@&};$EIjq?3C#*5vNkK^ox{$ie#2t;MRz(c*b16^n=J) z^di2-YSF7YFK@c=VM+a<&1c~sIi)jDmCM0 z0F{~(1?GC~yVPfpe>IoY4mSGO#OBHG-;T@jd>_O{Vy1SAr{|9$ofJp#QGI(fhI37U z+Uc`Ew1OpjE=MfmeUF3q4;v4lAwM{_pFN}(uI~LeOGxET`^``bu(0pUm-Ili|IIGI z0;i$RV(tjuduKe3!Zg_}iehRro@7k!Nu6zadmroR{-WeXiZTmdiwm!3B4X)rKnEfI z0f8Wmnsz68buOYZH*V^bi*mI;^K;j9+=MZ8C!e#gS21bJ=O4p&(Bpk(R**C;!+@zB zPl2&{W=C8|q379cp=mNA@&{K*ov4TyG@)FYIsfw(~``sziSGT&% zgQ8{gi^e}XG?8xBZ@6~J2-|Rt$={7p<6CRNt7e<-BT^b;-H49|LhU!4lBJ`GRo|eU zJey)o`%DAauWI1(m^|8IjvNlQbnIRFY`y<2q-u6F?{wJHv5BPJkAzO4A2r$+uV@sY z{=_cWrUkC0?Jqm@mo9V%rgX5*MRjfNu0=&H#$?~@1Zv1dD=`wq8LlHJPcGRSl+JC zF1?o!Nct(pJ4$j4Jw~T;|0LY7sR-^F#DY8tRIe^tX^~E>eH^2 z&78!l{!I~E0MLe+z;TviN=#*4mT+6}fJaIf4`upM+&92*3XxA|>@;F~&dI>-%$wJH z1ZJv4dtC>OcjE$>Em(puWKe>;PI4$?x_u7A}a5cv!FRr zyuIv#8*n>7+v3@>y&bC1$m=My58n5X$OkMN7xQ12KBDFIJS@8U!6GDfsCl&BTRxkQ zLwu@Hy+vN$L;K}NeuZ{**NtKiKrSb{B4ED#&&7EJ;SvhZ<}rR()<}6h8y-OiCl_9K z**_a^4qET4-tncrS4qvHJs}}# zdA>+gmIQmRIMkjCV^GGu5LaJ~w2*B8xJoLNa$M{4G2>h_!pG2@9Lg$6=bcvcfSyzI zjiPIJgsiK>*v)a3_uYQp$K~`;x1qXamT(6GK`7M;$`@8KZTaj*Lp3Nh@Q@okLLHq{ zcu1wG3pldEsDzqibs0eg)cgLLfA`j1wpWq%R+h6Yyj7Vb-ipW*ia$(f26 zA9(UdG(+_a4|39V!(cBju& zE~EMj-fv?E5C5PPncMJDHZzHS=wqHCTl}CH-bxmAQlmSBt-Q)we|10(i!}UvA*7x3eWe4tkXtCzC-pBjdC_ zpRS^oW8yNReY8}@B@LJfVzW$GTm~+x+@r3)OWs%y?+1oo} zkR|t3$ny&TQr7sv*ShhIBIr#Ksjx5*uP?p7wHLq-|dfBS`j26%S z43ZDuUOU+oCL6g0u&U@yOP@EtPz#He`4qpx08~|kZoR?Aqn;-D`Cj}qCV3Wn2>Zr1QE9nMZn`6LY6%132-AE znZ_!*P&mre85fABY(2^my-;F~ZePRRR`C$^A!K$>Cx3GVE+Ux_bT^DJ{Sc|}h6T2J zJrP@vdpH}n+pWj>o-ZCaP+}#z-b8Sh>3qBZ`%q`W(_m1A5&*xR`-KcL%;KzYF;Ixj zQ^Lk^8i>LgucPb(!#%amzIQ3O6xVSA&cgf(*^xJdw=qFBl&)N!*VKQYY-#~bhEf@>pQFFEvYpY;CxM0l}Qz>O=T<&6O(>x*Q_Q9JUe0C z1-OxZiA6zDK^3!|JLym0uu@?TL`I~M=m)L6DAhic4rMA|c5*JH@ywzdX-*tDTDo#r zR4Jv3(bWP8E>gHSikhqlGhHBCmjiL^OBk5R1j&FSmcZ(0ykFp z&J5%z?z-hDG;Do?@ClIfU;7-zo=?}DCUsF3bm4l3&yizpXQ4{1q84>BT4!`G#!e-9 zEV=_@-WRgRYpAK}_A3!I9~^e;s6w9aCccw<3cTMjdgK_~ps?7Ylrew#3Xice`PSVv zS+uRW^e+0-I*{QWI0Tt#kRBeM=c?X~g_ADTA%7Xj$n`%_V6jXbx6x!V?fndi&&A?Y z$j;=cBGWJN35CaiBcQR&PK(pddT{8$bPN=7I@HdzhhSoo(-~pcC!FE}?8TYhxj$rb zb?E98qFF?$GiW(jw>qiAaTX;)ea}v7G0yC)RIUoDu3Ib= zjG2R)B?`aIOG-U1sx{P`E*~M+elRMc4{o5J0-8QzXzi*mtnn}$yu+gk)0yROBC3P& zxdl3QJY0AcSJ^m+{I=y=nedo?Pj3way+M@8-CJN$&wkLJHt0+KLQOD`Mi1RYN7%GF z(pE;Rf}}ExUb75RBnC!?s1(Zct2IqBx4XQt_}-`7cD;BlcqAQC@2(PQHQkkadBvN` z1LiviC?Qd`I0xGW?`cTk9S?8*K}gZ$OZ#u~=^Ou1W3LhB+}3mHWU+oso{A!+0feg;V+K_c|j)>PKJ-VIwPN zw1~QSXFh$1KrmzZEQYT*O(I~vthR^A%KO`EzoY?Bp2KT&-E=Wo=dtp=C3B->Wsp+m zVbzSjDHfssIVN-QXlc;hjBci{_}wx4!%<+Qe-?RdR59ce2u6e7wf^Zwfk1;UkcBUo zUkyG)Mc_(Qv;k2B5&S!MbP@-^)va;`iG!%MgO!Z&Pn)B8IftM4l3frw1|>u5HE8=2 z6Q+rRlCks!(~PlJ_EowTbPVceDI<9`uhyLI`qJpEf7Do|x;Sm!#_&q)>;7hZtutZ7 z{Nt;fNup@U!=i0`cP|cl?IStmO4{lla^nm|`gxOUM>iW5MnmN6_}G(h!6Tsc==Wr( zrr+gh3JavWXQg>5GZuyTVA=!_|yJ})_t>rlb6nkxI8 z>RFIRQ!R;4Bt`@4uk*NVnMVV68+$i-rynQgnz|viV{dDHS(bY_Ac5hKy-gCb#VLTwJzhxkhPG*${ zRVI;BnAG`$nnc*_s{vyqM=7u9%DD_Qb(8aMk3UTaa}WP{+KA36@E>jAs=0M-D9 z(L@sBaleojPU!YZN$7B_rZ|h^tlX|DA3Fdr>lc*OoZ9SP#-qnexO2pKcEzsByA(n= z&+{k0gVR@gBo8HdZlHV1F|X1)-$aq8cyp+vL>{G84eI6C%l7Cd!64|1O9Di08yPc3 zkXCr8eggWIzQ?~=Un$4}uDOn-V&R2gcsbR)Z@}Y^E2BvWBh?JCpLrkgne+#vqi^)L zvT}J1OKTnmdU95aS!iU-MpyIPDKL>zk?53tX=Ma6jE-S33TATh~uqQ|HOt1bdg9}(O?u;1=bszx6+uCj$;y#WMu{`0 z78^tvw`rJF2l~O(Z^6Q$JT>y*N4+weKe4Nv@)K^yM~Wrfm3K}bacTxFb|-IxgT*@F z5dbsp&_X@`UafrGVRltFi%Erx0|@im&FwKNz( z;qGtC#baN<$V7prgA;uK5yM^--h;S(F!2@r;f*65WduM=-`6rVI=_E2u7i&PRA zad8y7?*)354A^yYoJv7Iphc9n-1hKi;3(y1_qrCKv1cQRzZ{4jWNfGU6N$O6_|xfR z*_dM^xBB1;=ksNAZo3|?Kk|B&6AFsoC<2FEHWuLLe|0^s6BvTv-JzUKx6=FWxIk`D zSS9GTBB$mf)eEyr_|a61aS832{0fj%_9P-Wj08y8C(fvn0;E;IHu8dE{0TNua zpg-5pjtVwNj-)(<>3GMOZQJj{uGXUvhxv~AVNg$=T|(A!N&ps>06TN4M_xoTc2n9v zS2V3vqa6*|6T!*J`pYcb(|xHnQ$(e>nu%xkZpd0Z$}#km=TKFUIU_cdvA3&EgG7|fR zGbnTf2Sr@G+`Ddok^m6rTLD&wCjfCu7X~+Ra{GbBdf&+Z%t*0QKL!6@xdp z(%|TeMPuvdFDl%`>+^o&cWuQP69XQA5Agf`JN#UbW&zeB&u6GG_BLrlTf)WfBd=WJ z?7b6UDYpgfDm$nXZOOOXJclIjZ-g-1Sf#jdGHuRU=Bxes$~Di`Gos^GbP37KWHGHK z3^5Qw1l5nig1~O3A0f);%^wHWZ?v~xaT@^P1^Y(|wdwyWg+~9opQ;YGA?(&%1ZA24 zofR&2+lNG$y-WbGchZt%aTf&p22`>$rVQ|LjB)MKNibI1fB)+zNs~aADC5Kw2#7!0 zDq>7>XiB+FIpZdSiGYc`LN?-oDV!L9?xze*lpu(~U@-?CZ{ZLqh(R9tUqRDedgJR) zfiK}fQ^Lq1N~)$r+?v~htei{D(p&-^+rdmERfna4)aZgv1kbG&1#Y4Ubc`Xq+rSM) zAqC6$HMxOLW`GK$?;1SMG`N8M>7V3iqcK~K+P`qbSNsSns4r~T;m zxPT(AE0ewtlK;F|Dq}q%mu;^zP z?NJ<=fX9bWL$w{u1GB-&5XpYsU&IH}Z%~Oni@w_$<;#Aii<5yHqzb}V1cf(dJ!B=v zZE=wQZk4KU_N#S03QwFNKjT<}RSI!$O<72zkB^a`#yT%ydQK$K88_({I=@ZWRpxKnE_ zU(w3^VcJYHe{q;CU;j6wJi_C+Gkv}lXFh6I^Bdmb>^c=yA0Pk-gZ}nO9C%yxsMlb6 zwh6Pg`T(u79WIlEC5k}Oj9+*MOraI!sys1}{J7F_lg%JuI16x?l> zndeNs@P(5+>$!1(;UdCjGD&e_ul1z+-#Nhwn+LYv>}aB$oM_-Y$sau$a!syrTEa9u zMNnUrpB+?X?EB;-Nb8*Mxt67m9YxvjKp7|y6#rN0b%X2;$sNae$*o?sX-c-Q`JsR= z48cR{cpR4A6%0+Xmmv@&BY#n=%HZ_{7s-%hm!v$II~!@6;SE1NhSuTuClclH0oI2w z!Rf4?SD@W6&w?hRaj})biq=9P;QSuN?vmYWtD@EOX^9(Eo~bt1!8gxF*W-!a*kf;T z0o$=qup)D!qu@JTr_-eQw0GoI3qiWx;rM*h76)A__Zw?wll_3bz@NnU-|dES_}5PX zEpumnr3L3D?bpR!6X1v$U;?695^2k>t;+4>5(6@Y4&(loj5l<6nS=+WCNR+Q*0I_$ zZXDlXqy%Jr8fl7Gu72SF&2ewO`1#6CCrXM1b3AR=bFSs!!APk+3&wKs&t z&NtFeI8m;uN$3dOfKH)5fsB?mmA~5e-#&?~3IcCAnkFsVL14e)*%YOUTwn{dApf0_XY%f$#KS_>}@A%>yib+^4|5qkV9L#qL(#8Nn}2-YGewP)q`M zI&C&bzvZ-x!jPS-zfPJbq$DLFYLDu(3j5`&-7t&?n`<+eR036<-`1`G^6^MZ2WV-7zRxl zNc1$0s!j^ZG|?{61~W{~VY+5{{^$+0?4+%7>Q=hZc%pQ$I_BHNcK>?E8byR#C!1?I zGx|+GY@7PX9||V^{BPk|cdCD6$XfkpaWE9nC<{EuUxhhtPzA#vF+Sw*`V01h));fg5$yYlLLQ$rJ{9Osgpx_Es0#%iRmMa$S?ma;8=f!W=5G zv^$@j`j^$LH&{5Q`&b(93tq^vcfuFU9r-3j)T_Z3;>1%BIQ1=Bdhs}k?Zq_ju^E23 zDb?4^1X`;EDzdgF#(it`PeT(_?Hx~!fXD*}XIq=x(E|IP9z+g5Ak@bN)G)64%mN~K zq+VBY6_Y1V=#}bzc`@KVpB>cL(-<4Ieh~Ax*7Br8I2Q4V*XVJ9+md7CjsSw2#DOi7 z!d$t&rM~hP2#P<}F+b>jwpk6@4C#3fCWUf26GxvpVSTfilOdSRPGZ(9>T|bRq?8<9 zc#z|{_GmiNg?r-uQAMbkSKMOyLxS;}D6RlOJ!OVq)-_Z?3Y%ehkE7FL|A~q7gfIs(z z_Hz#Rx!jRYzk(7=K#dUr##Dt@#6I1^{O6?t@W*em;(Y^FCPB?f_0ZI{xxk|Hmr_^v z;})Yx44vcXAP{(8*7NEY@aQYObxA#&e#qPA;_(qqoY)toZ=jN!T+R)SHZ%i%zf{Gb?`2L@ubYimQz;n zjAn5ZypsjntUH6O8iAk{#o|UUT;YX8-oy(aN@tTkmS8KnW43N=G+gcF&(vPca&Z3c ze>Cyxznb`dHP+WyE$H$RYC8XMze1PS)h{4467z~Gnk8y#H1C&-MdF*(Kyo0BhjX;g z!+*;O;3CEgn%_W96LKxgO7BeeED%Kw`<6{a1JV!Je4nz;y!Neb&`=x2 z5!>F0CSMlH@2j$%qDe!l=2?BdH+uJ;OP~}Z8Ae3 zRqJ~Ab)kQGaf`VmLVowmk-TSrC-|a{?BDEoa~>(ROOPFJdb|lxDS&Uj4^B5&U%(vb zp-E@?nWK<3v;=Yqm#iv%4dcR)LvOEHy*w9Qu*`N*h;BJ7!_RQzxbX<9)L7Nbn&@9zm1^T2 z3)gw$NS2a%=9hZQ7DPp5(D?9pc6HNnRiSIFI7E>$EcJ7D%uwbJf91gER=gc`oTtX+ zJHxdFS0O5vwI*keHHr>i859Nj5`D3c9(LO{K+Ns}mdo-Lcf{w`8W3fipzO23VdRt) zQ_W|vn)6TDZY3glHXpiO{-;0jfC_5G@jZI=pM?Z(Q8hHq9;q=HeScGeYvcO2}igGyu%XhbwJ)~Yruzk1}yqp0uYbG&+?#|fEkZXoqSFn`+(TCuqPtXO0( zKwXqILf*wWT0g#L#L{x}i*TRXgZFAsV!cHKP-lGd*vMg$pLAN&l`jdBJXXd!cb*!Q zH*VtL&s-kp4=wN;gL%lK`V=5jokdiTQF4g$+EIop6s(41*4OQ4l%A?cmg$8X#B$z* ze3Af6oWo#qzrf%!?>1KPD2g(4?MgIzv+z@(oRFM3)nfhK}jLQMb)xRyMvpp7V88MY>QGuz*stdQy|mus}W^sFjj%#@RDmeCS8GH;CXHf^#IVM{tAyaB2GQ>U>pCsYm%85=YFeIi@eW(H4AOu_t>QsisM0Nw|$i>wRM1LhhJ6Nfv3m>L65cA1|Yh zrQWiCcy8uq7AUe``MiycO}aVp0c5KR_Kt=t0(u(V7T@X(zYwS|6 zK6g_qbMz``lz!&Y?009Ea@ewBL=W=1S4k^YE=9rNp*@FL!KIv_5YJq0d=5${YCtJmB_%F}n8Tx43G{Y@C zpH()iY_5CLGBBJgC~o4%<9m|5>|mq%5#@kj0W`Rq&B_z+mOEbC!2HgHQ+k zEv`8Z20E!gpP?k?Fj7p`lQ4O~s&*57K@WUgD`^ADC2W-U@*013sWh1wL5XNJvpr~6)tIq96OthmQl6m=HMd69}s81hPKgw8MFIt{a@1=0{dSTskm`vigmc;9TnU zSvvEi_ZN5$$h`O+y1V};MpOLJsvDH;$*J&NJZPx|{bRPFk1T%EXZLVk_8n`BzUS0- zs+Dq3PyOa;dE2&O`5FYUDlA_nSjcU%;Yi&~Rn_&#^9eWfZ+#Lapc?vaDnjHwxQa6? z0a{$WAe~L4$6?u!8BgV8aMwD&dwF>2K+Wvj?A5bIb^895FQhFVnRROyD&6(_9%h`J zp0arK!v}_THNcu+rp|2j;yp7|2ym@S@Dp9reyv%qk(W9=QZhY@>6^#g$p;M<j$rilcE@rWBc?CdU6xl6db~ zNN>|UR89ki5BZB1Pq~5PBi1qTd)hg7W=!MZ4=qF#nlsW8#8w{EUVVMbIZG1y@+N8% zBvI21uKh_fHn5|dy3frMbkXHn6}szECd5xqPS$mnhkldGhAz<>Tg|ea6o^U5BsAD1 z>o6mSr43ztR9F4EuGLsPt}uq##uJTi{jEvIFojFry;serP^pCB*(Gwu}#zQfj;qmBBqNtMho6OpN|%t$r( zLS)#&=i5|(#VEEU!;r>%KW(7*0r4qR0488HC*i&W(b~1&no2$4V3Ir?h*cHn2;((> z)!fY`^R*zqee2Qt%-2ceXTZ-n(sb<@RS1wxPqhYUV5lNM`tM7IY(Bpy?UUcidUITQE=xm&&#U z{DAT=?2e{gnQupV0$-J1*8}>l*y8O0bGY#w7r&~`;}QUn+=wdA-ga^dJh0-@9UiZ2odSRwgKOa& z{PxEZnOTN2fIPRuoR*mE9OFXwJ8-12j!&ZY=s5ZjFJ2XkFA%Vs47^dBn3VDlQG#>DOBQU7ErHKIz=9lcb66X8Sv z?e8vm(0tv>{2^<%YHZ$&Z>n6OY+R;rAUa|( zcow_4FE_V$xIXWo`Cg6H$tIz-3XdLwxv<<~!o+ytc3o2e@Es!d-=Lp&c#Zjebj*(C z>^}-RZ{-@=aTh+E7I)980d(^&$ZK4CD+-YCu-Mt!@7g{76e|=U6UQ5;1ugqA3)}O~ z9F|0>=4l)X%n+x%9md%!j%eU}jz%;i1(HaE`nYfAORDZ*OyDPJ+dW}TVyqhHY}Gt@ z1oUQwdP*OgIe?f&gl(W06Xq(QDu5wjiQ;QNz40Sr~FIpP%hm)p2%|g(DXk^uO zD(gp;9@aH5!L0&~I{8@J$7};F6*lj#pEK~rdJIMfwq(Rji8Zd4LV3BoB^%v5)SBGI z3S_p1iQ|uz*SToI4qjM}-thizgFETGu!VLX9t(fPb=?`CN7>_xF^Er-d9>wbvGVzK zj92*^AfHG_I%B%gtZE>&c2##^nug4&qO_+`*4pG~_8`HAsDH8lPW=PV%Y85;O23eg z|ClAHkTJ51Da~+i(hE(AR1V`hBO$t3XO6}h#@VA8(YLV{x9hiujOoXt5&PA^>~tfU6=jVu*G4@O+;l+(U7{de%M&WF~pw11pkni|Eo>r+V!9Y`4_B* z7svj?5(JYk1P=`2nPczW-i*DD3yXs$-KVcG#vr8+qCfsOo4|4C{_v29xJ)Njy~z~s zoxd7Vj=WD_k)`mG16=60bWyCGXEB%GSx%AG7rG1yCg7#irVRg3yQG9CQ>IA;vt5BF zQ+1ePALM+Dv=#ggqLeul2Z2A(30Y{Orf31xY6#k^|CQ?ob6qy<*=mBPfN*-wEM07Y zxn{XOv)tP^gizF?+)0X86{}WxSG;M0i;~DjdJlE@4n=tpevQcfrhsSD!@1s*RxCVr zKd_MzHuLn>f*l+={`9Yj86!T?rTG`0{pF7YonqePzbkCyKDk8mfhpMykv?AA?qd0= z@@_5pKZfRjXV9rgfxN@Hh|&;XQcMHHWd=z68=yaP@;V-ds)JZdRF-=!nO^kuRUKtZ zzU+>%oGf! z9P(%VG`d^1LnbEh5o4@m)L5Qd8S6k_b7d98X%3HcwzF4Tb|s8jA2-KnOn$TEZ>jvL zDQ8L$c;~JO-Pq3pUzfb&j^(YBb-hq+df6VfN&M(0uEdBkt zF499eXZd0>=mkKLr|;(fuMS^>J^t8`B2fGK^t>!T411s`5}Y)V7(ZQRb=ez;b`8xO z!rgL;i(S&T*hq)cRY%!32UuHw^~%_#8~&Gi%dZKmdf$+uB1)w&tobhwL)d8(o^X}P z)QwgJrdlo7kbnT$nbW~%yy}`q!o6jmrQuD-JzEJRzToG)`j?+$iwg=n(51UtZepVy z&f{DWvVz`ymH6_^{BsBM5YkaMfxS?n1ZZ@?`H#^79PjlQ@X8>0FeB$E?`K6D%_Xf< zZZ%^9lx1Kj5%ne+2H3;%r@ADel|S~_ph@~}mPo^%SxF~ujXq4!sje!7Z$g({*K8gX z@+<}@#5)s{=(NB5Ha5o0P&0Wix`^Od&1Kojl?N2^iO+M@Lxms6JxovYZE9<)i9Px&3(I%)i@}I&yx+OckDrpIA^a{sT)4cPQK25z+ z#F*l7&e8L7+E_)Lx44HxBauqK(`mmI(KILCx%T5kK%(RwFMm;X^l8jesrlY~Q6b7h zGT6g-idN-}qinLJGN*f~l}Ff5NPWKj|FQKR&~R>H+b|PiMmM?;GkO=j2ZQJ}Y6L-| zw;&|C7(Ez4h~9gR77`^SArd9gd#?$i*WrJLocH^_^}lOb=d9x-Gkf3rF4uM4_kNxa zB$_Fn1)IkP&Zw%SNwJ;arYhH26(j8|3CJ+)Jl+1130B&>Asaz(m}$xsu7TgszWMt*TQ)+k{tumnXQ}Ki_R;i z&-!UEo?e@bd-~|dcFj74b%O$Rm*Pdv{v3rUfei41iPkG1{ELV9Ocxm>cM}IH2YRQJ#Uw9BW`YoAO3CIxg+GF=S8lAU z-t34D;(5n!2~lM;JMwR26KT3%vQ?QmQ~Kc&?SJxGV|F=xw#CfMw4btW=sUjyF2rs5bnc`A zrz-nYUS28Vpw9QAj_m{qp6;_kN>31i?KAdynpj&Yu1{WHW+b4N@ z28+eXtwk382L}Vb{jTBc#>Yzf+7t)dN7*7e9k~{EoGdV8WOnK2)gODkYngxV3UvWKT%s%V-1%k5-x(VN!bs z4H&W}+_uDd)@J(3TISDU`aJkA9b+uHX}p|1Scf#KM{R%@3d4rNf>X)w^v3ezcl+)~ z;=09kM{cpo$b5HjA!UC>5nPQ2ktc(kVpsaSlz9cqXF?{*Ey&nc#r>w{-9Iv{^t<&% zk(Q*~!gIi*oj-7w^QgpE=H(Yg2|;>!4vT4c|B9bqV)fHqi1G&}JyL5l7JQcO`N^M4 z^!BRQZm;!g?e+nsT(#r5ENvyRwVzU7epMU~*5Zsa2!~x}D^cSR2!Qu2hw_wmBf;{E z$NoD6w@>r}*Xv_<3y!}XdGr(e_m^ei`ir)-P}hkWWWj2Fk|U!kHs5> z#`5Ixo_D zogFr&KiAI45ARk&GbzXgU*5*SKfPOt{@}I*Ypsv2vh#7CHIiH+2%!5EK>!CAS3DNUiGaT8YaNqmP1`3HEP z$Bm{B#}29>OA_b?FPKsidBFcL2b|+aM(tClgo1f)og_CYA+0xkUFx)V8UFlk`x{R7 zBZ?uHTY#J6AkFqHS9!48d(K>gw8vY=tdyjnJan`{r}E72{9zEWreItpGzCBygi*oT_N@pqxW_#t^b;nv8{;Gh*iJqXlA-1F>Y2 ztqEJNs?I?fqJoaUln$c@Pft&0Sj$J4Ne^N0wICyHPKtYf!ICN*o+ybaF#Iy-V}ObY z&$|vO@Bwl7@a)Bqm;8sv@8b!Yi%IX1;+L{7j^FQYw0enxg1F{GvSKb_QXD?q9GV&I zTF4mEU#q=cIb%6KHQH@6f!}!>$JQRnT1X1@Cs&gpEd74^6RH)_upzo9eNR5O1D|n0 zyHm@3C_$hmU|7~~LL*=NAgk7$35ltq{BhCn$&Lf(E&!RpfiS{1{1p=NC@LZI4ZPJN`Z{w$OG$KXy?=l0 zE$|jGsp>G4(H_TI$FMA0#S>^RUh(1q|P= zogYr^F={I{_UD(Wh&wVNGF9kqyZHqNUgh7Ksyck0P6>py8FLRh{bY1X)_h<-vrn~# zdtah#Xolxdg8R*dz%L6w1L4^4Py^)moEwltcgCX1y{x-)@t;nM;A5RpsKXa0&57?*&xO46cHA1=b!ES$GVi&EPH$ z#BCOm34Xe&7iWa7gjJaj2U=pH3&G3BpmycEEXU(?u_LyHFFAAlLZhNmcPgK0WYyOEn1{ZX;YQw{%VcvVeAWy1Erz(Cp>#O>-$0*7wQMs?m02`D zJKN9lB`CRE_!FnWdxOHnKC4a&jYDI{1RBhsbz>& zq4@@?Q{7^v(G)GsQDIbbdN<%rC=UEdNFZ?=zq}Xa-WOjBrJ<5eS_7$4oz$i~KrqdE zRyzDih?T{E>%^#acb+5Jw&v8lG-md2Q?{8QGjLu>Eam}9Mc0m~10Nwz{n;U~FA9Q? z9~C?h@<*dZ-<(S9F;<`8-nm>A%yL`VDI1yLsrwp#CKw$dFU|9+8&QX%Etu*$x$m_> zB8fby{42{d7x$<9bBN4LOWXwtq4T-)A}HD-n~xR2u?ELN`*x_0mRZck}y!3^orGUi_}e3NGdB^fPg@L>iY33o}I>^JVqW5AMs89EqoT z?9fDWLx>{qUQMP%xy3fd1Les?;J*2bXV@xei@*q`HEg^<99_6?;;j5L4t3RomALbR z+|i^8OFfXUQwR<`aKAc=NAd)jH;reAUlHP>u1Adg!PqUwrr@&Hf%fqPH$} zKlIwma&caN+mVuseNWQ<{!=h(<{N}YZF!~?w;% z19>y}_M@M+>O0og#d!>e1(_>!MdJ^WNH|#I+QPA+b|N5Y9;bTBsyZeq`m`;_0^r8RfHiX9 zt5o9X@r1=52Y5L1g;1}GeDPbugjP&N1rlDUToLVA4Nl(yQNZ$wsnc|e+kD3}gSUwx zBd_F?mAjNDC+^U;KZa+hk|NN)^Lx`i2?2e&7*y3!Wc+6W@-N33*c%u zN0)at*f(x*Td?S~`h;7GKGE@4<(H}5$a3wwLxu>DUn@1K#nap^Vkfe8tgW91tk13X zzggb_M?>gv7WCY%8%K{X5m7vWh%Zss`cglFwPfy_G8GXzOp9jfH`T>eBzc>Z9oARs=A3S(y6!HLY!D^x;mfgWCK`qZo(Pw?OTODx|w-Ww}j! zEzeU;SCw1#Be+;?Hs3EEDlpYcHx%3hQ!YOI-EuqhXT=2ok+}oqh;IUYtrF2*M%bqk>e+iX1IXv{y_= zCa(j_EtFgm_-}Q!+9L@ka||5m$bS$GTFH(`Lm;#YocJidEo##mZKPi`hm~HsZRM$D zG^QUOJP3Dps#LN7po#oj50u<8kkU%&)ngT}6662^N5i8d6G3+*|LBa!<@;T@l6OxZ zu{2$`(J+`$=pfCLIgrJPh6@B9IoqzPJv%)exk*cR2+M(LiAKSe0$&TQB`-{_PKBZm zGsKTQZCHK4lbLxyHGdni>+%A+g`2LrYg<* zCFrlUihX0u>k;cXUVn*l0|5PZ#2OWw31C}`ho2`^f0qrr#PSgjA4{q(8-ptfWXg*Y zuDZz-YnNz5^_u?iZ{zPA=kDbLuWO4jR$tzA*}7EpLm1$~E`b_eTd;LYB%s9CTHHf_ zVXsF(MUD&zm?QZL2(l%P+snVQemZnz@b}5{%~A$<#&%|@-qilkht8(JvaZu1Yle+^ zTTTyv!r=2Zum+!!XT$U_MY3_Pot8+eUDz5AGG{(b1exM~QaRa>d?5VZS42z}b}$J% zc85w}iMM#j6-q^DugdBC{lV#TiLc4-s5_T4XFKaR?gsDieVoeB)0U@9bm$DU+eU-R zPtByxY`h6&0{siz`^%ml=$qVT>)?ayaOXi|aRb~)=rr62ViW}okW8L>Y}0M_(%#KIhV4bcjumG$+_A!(mr z`)wWNf*&6oMw~_o0~v5+oKqi!VBn0$Dw@_dW5=xc^6X10!pm11%6R-1{S+P3*u1x1 zf8%4TYwO7fDyz(YAYt>C9>J%{tkQ;;)GrFFLVTD^hi~g}f=Dh;lXHG8759h8ez9n! zh&nkePwnj2XRIBP`F%-vJUG9;{oB!~ul}{aDvS{OHdR>8XVD}UQh1Ufem>at`}=uQ%P}^Nj?S{G z)>t9nRqG<0v+zdqSH=w4zTvAgIlzMgT^8|qLveBh@|2qveVvE>PJT6<3?{6T-IQPF zJ0}C5Fj>9Cr@)ITl08|Eqz=ex=_ZoB(PnWv`1Yd6IwbRsf$V+$s)jgOXX6yl=kg!- zhj<z()e<6RQ0TE&xS zDK5{?zLAT5Jor2Ly5CT{dWQh<yFXNER-_xzVqJZ#7Cl4o68uIxe$Yj}0= zDD}vs|Hy==&Nf7`N$<#Mz?N-xaD*a^>%{p}O$X_mr6rA;(|v%BV>p>@P4}C5#qFEp z1|`Mmh`V^xzt?r8<^7{iEch1nn618N#G%#M+a3MZfAnlxrq&GN&fz1VDGnwkNli$8 zC|C(N2M!IV>x78Gd?_|(M>wDR4@RKwUV*aBzP`S*gkoxY4RnSZVsj>P#-!ExNZta= z@dk93!+m^T6zTr=rhxaR92@e~$Ui^yjO6rwvTsm&l5W4R7B^Uo)jz}0|7kvR# z)!m}wcx6yaqnfkW>~1$o)(Y7lq+erwz=$uc%8Aoo&Pf(cb3`xBV%)o|FMG)6L|S(> zqGQJFzZR;`A%?ZEg!Bx(d}{9cW#LGJD3I@|G5Hn4j5=_jk&uiq%X3PosiQ(s=%Qzl zp!%iZ{5q4=L%EGcEvz(3fn$aehl}^?v&c|U`y##Zf&(`}KuatMpXy2W<6I15{vT|* zXuyHs;9zW~Q>K0p6$uOo;i7{c#1upmpWwi?X$YXjyC=)CL&TCPV6{&xaT|Jzz9rjH zJH>UdrIQuydg{*~b+%6ZUZP}^(pwu&kc4gRq=~PqQb>y?x2c5_i9$aQS~+H)p5emL zd&}CC)GHo2aV2`6*B9|>4vOUWqf0H1obC#AWtG+pWcE_8Q&PMr47{BpS$TW*PK6jd z34y6=@9)j0V`uNx#!NIw?H|i?tbLg5FHgDjIh$8hKN;LHwCWYV_XP5n&cY z1?n%6lntrPg34AJ~NFMXJ#F#HyLsmdUikuUtkMqLUl z|Ia=n{&RnQv$v}j&!0xjEyzlbp0%F$IOZ^C4Sj5O4!HGF&z>^6f#WOlZ1BC-352Cs zdEi4?kL>}ADi5J_Fnl_*S_FA+f7o#kT+);{U|9NGa!TZ{ANL!{KF8Ig*-6<_zA-e( zU1^#oBOpO6hQ^HSZIAmcq{;ec_~cHJ$A%oi;5v% zL0i4-c2h)Uzliqd538v+PP?=I5^YVfXW=UQkjipPKKkVAQJHek=}zC?igk=(aB% zh|zA-WoP-n4k;JowU56Uu@^Cm2Ivs(iF)YJy~*a_o91hCn>z{Ej}Ipt=bo9-^`P7< zpa8hls*-LA8dH=sUL^28NgrirOw)4!6Rql~T9obhZi%uGH5tuoDi*;0L!Ioo$9UM+sykJk=dwNr25iI1qaozW1| zBXuYo&gZ{|C-E#O6&5dH)CY1URgzK zS6QvAVe^TM?vX)bRbmJZ<@&qr8PzGzz4RDj?ER1%+tiDDAGABCUhLsHWYc6Eo$UA1_{8t$(GGL8p7^rVth=KIa5m=`#m{u&wLAg>#Q<%^ z&f6@}n9g%;rMKkk-x1G))cRn~#V9k|^OCiF1*zdtDJ;{GM*3uPY3FKDBVd`se|x-( zsaFR2&UjvM&Lr{{Y>ivlqoZo(&scPL0Ww)mWfGefC&vk#Tt%rYYthl2Fgn>;?*u-u znTX@zTuYiob`_ws^u$_`;Jlc11zv1@dbyx)^H-kuQh{Cmauf|do!KjDI9S;~=9IFX zb>nV5UA{5B-S0;dvUYG8HNJjiHtq43lJ^S7$oy~IUNKd!Xgr_+N%MT)4Xut}Kb zxfM!~Wx{~FD5i$Kse$viW})HRT}m`_fn~I)rRum%(cpU0moueCB~Cnu|(JI_H;}hRfvT!!WZmfw!rJhd(5&JpeXo=~3lM(ZaoYw^GMnYPrmU z1L6ZiP`m19spVe~B?!JBI7-gk7>>R(%GjafwSnF%C^6XlXlHq_Z3Wo4py6PfF;MNn z!QH%vdB>cSkH|6p$@steC;J_NpRH}opDnOojlA-wL3kDo%8-ms1kV=)knm!RNv4tv6tk5(s7;)6ABo(pZP^ElE^kQ+hQYnSfu2$^Z^Ys$8uW0nl4G2 zxa|o}nCWcx`CADPM3^6di=x{T_l9fTw-y~ZugV+qpAe;HSYlOHW?!SuP%-dS28!C6 zLm9ke0icyrv}wSA2I>~nsD6j3JEYaRQ?XHxG-`w0xt$NAJKrT=+<9*;PB8o<%v!_b z^|!|kuDG^N`amJ3d$w#RcFp=bp%GuK(qf%D4@kw`2Oz=2dbyL%ul8S6jL~ zb`RkHmLT_NroD=%%z;>@09UyA$5XOw14{&5mL7sE?%>=f@Tqs=I~=mBU#S>=fBK1l zgxf)>rFm~C*UtNy%-k9asSMzruVzw(KPW9vb*C$FQob8hC+XT=u?w_%5fgWKIv@%C3viszGV)in z72xGe1LL$(_ateGrGK}uxCq@7AG}KH5;o51r%YUBBA;W z3RQ-2Mj!eaar1IriBG2zWAuJdmf?DyrGKcNZ6(KZ9DC76^?S8ydy(38=+gI{e~1V} zG)6o>Gc6B8wejU7du^>TlhAf_Sm*h1+Y~u0HrB7*d=!!j1rSu>dkI=dq9%Yr$H5ZU zYr=vMX2~(d)3`=V(PNR{R3>|_r}op?L}sreR$BNVEgc*YOX_cd{YatXCEQu=!TSEM zz|gf(s3y=nsKX(YRQ+e7Cm5Ja`*-Y_F;2%!*9)fat-kC}2YWZ(&>s&aqO+CHp2rJn z^H|Kc1_m72r%1Wp-3R9Yz~HC^ndPa1S3! zl^Z(~$47)3-BY4PFO@oCy05N@9hHWTrK5LunbI6Y#8x2~*yEPYHQpm^T}04MiDbD` zpIRTmZ7Xq6~VNpEyOx`=*m%l~~yl%!C@&U*5 zoz>VUP^L2i%O=14&;BoE%Q!B)n!907>C7+*z&I=7V}3hM8p%f^jbZy?H2gy zJ5^eY+=Crw_D}ACkpSkJqN|4i>!wPSz=IHy0@BG@2JoN%Kdl`m2#8|{4X`zoUL#CS z@G<`T#%#Sdh_Rm9E!3MQyk?og*2y=H=ShJl4Z!DPv?L`O8^u2n)tFGiJ1=6Aa<6Dde{~tS+YRPG%SL8IH0H3&f+iJlU+fu&$ z4b+ei??X}1YA7lCW|~IS7q7k;)F}3X$F0+E)Nn;_$&8k!#G0`NaqQbH6tL8p#Yni_P@{~@bAAb)UZ0A4$>P5QspSW5Oeb+k=o+y&=3n)7cgsv6r^C$RC8 zTERPY?k5igY0uy+l>=P~q_P$*&21m5sEeR%hUWP?r#4l?)LsjFQ5g??+|8?PjbCzN_cirfDkM}j|n@t zLV<9mj43b?Yf1cW@f!`4-%Ruf5Ao928PA%QDq0 z3)NYleZ>@8?tZ_O_Sb8@;R{+o$(SY=S=FpXPl6Uk6*gac=2vyN+ zO6*7#Eca2;8!b3Fdaa!E%Ertis=iM}&paan;$5JLw-vCA{(SuYeyho2b%n{<@AE5w zkk{bmNL>2|k@}+uSly>+1CV#+{fNM8|W8<;t!ORbNRp(erF8l zYaLm0pBG~l%l-SgUfaFO$@1UA#YkIEM`&li5Hp_HS<`58V-}pP1STXy;`D(Osq@pJ ze_H)?JKigRCBjMG)pg&@NxQZ!D;bb?p?so;z`sB9UKcM?2uMM%4O_LHGSG{_a;nT_ zDK1eI@SeUJUdQn$QuKq|Nc)CBZ8<{9AQqRfpR*ZSvKLnBax{ermbh?M#dP0`C(nUa zf7lPt;bm%lgW{4Rm}h5|Ygc-cg1W5!q=m@pKb@2;PdRSJ&VUn4Msb2q(PQMfk0dblMzg}s}fKyJz_V)cMv|<0OLllAniEw5XWdc${unH6mMS3b|3Nfxtod+C%@Wc3-ufEhw8%o%A|Thi7LAZWtCqF zsI>`_I?Cg5b3`0R<~Fh}@F!h9Xxhn_{Yr}|BY0?l`~{!Kp?@#t!GNr-^s+ zFP6SXIwqwLj^FN-HicJ%#!WoKt3B{aw&Q+ z?8xcpW~QAm3a(u|Q5K%MPb-62N+n5C?ZQ&T)Tl=6J0JU?@2TAiO-6n>eY+w0G~68* zuFazQnSCz1pD0mv;C_YwTHD>VC?!*urchIYwaDdLf($&Rq=)Lj0jqT?RvekddMz=8dR^28&1{gZ>8z4C#;ZOax{o7*8G-B0) zrdy?0@B533=kba&4L{M4C@j6rz-NQbTT{`uH9Pxw81^l+hl`9eJOSS0=Mu?lCTpl#Vtv;R81y2d&G6p{9N%L=Y z(Q>!CN`3&AAOn)J2xvNg5U6**LJLeW-l@Y4GT#s@ZkGL}xs#*U7Q-XhhGajd0c00&9sNA@w(9o-KSNhu$(rk`K2<}$=b>09DG=^)%8U$}m9|2Yqd2{<94+nhk>kGVv zEmjtx63O#F;y*H;eaqATVsMLQ=5p3=ui_I2iwu`)BunV&Z>wnbeU7u2x&Dcp%`}UR z!;D1B5CPlFfZgo23(*;A2Q33?JD|Bk6j_W9eJg#-u*&3jlwGJX$E}rF-^*;&avTi* zUA%ABl{aKd;)HR7UyNwH6@2pfgKNtSE0Gb6Uf^A*T}dKA=$$R&4_X%jX}zs_46fo_ z|G9i}`{(DpBdjC&y;Q~5#4zX zj6$@1SA*%k423G(i@PnODBTmT3=x!5NUiScP}Hmn8lx`C9t(wR=#93 z@i_n2Y=&RQ&r0zEWyzAA7CZKXOrH~6mV?^t#OJ3E9SD=W`l11|xJk>aL@Jvvq1bIG z>AqWMpD{kRzTu>vs)AWMk!m(DaOUlEe!Pb9(rN*U`7nXO$FkU+*6!!t$f- zd-`C&*yD?$v-uNMc@9BF5jtR!X8?r51w32!J)7o)^{t{n{bUL*ca_ra9LQ~O(?g!sC40XUhFRMj#T(x3WEK-BQ&pspJb&keGeveD}gt-={SAZ6b*T)T?2+| zr%0UrxPOy52oNjQ?U%o9H{I%!xfERbU9~s#rJ$l=0%Y_M{T*Ka{QQqPB~t&=iVVTk z+->c(!PzxW68Lbg5V@C|b^da|jS1-~3n0f+@-HVC{Pb3?9tWPWF30j=5I2HP0A*Oo z8_|Tdq5|K>y4R~+G>ESF$hV*IFDtLlH$=qW+wZs_Ry$Q<5<{Iq=Yi# zi-@$DUPkz0Rn}s`t3gNnllz6h^J^68m-ktP`oh#Q3P*cQnsztg9kFeJcjfJ-wivzd zH?A)jumZEAKzm@1W8QAK^k`?7yQ~Z z;m?bLwx06ubrtYd1YC$%wn&|K`}9k_v6E5%_DB~hcRgu3%Hit~o09tNai%@Rq`fT~ zL#;0920)ktFXqAq_UGF@MPyAO~3t zOg*PUcmcm}6sdM(O*4-I#-yK`2Q1frk~kN6HgwB}OZ4DEwTm%Sqk)7y%PrAVK_&3= zuR`0Odr;1w3&5bz^iu<$rhk$K;RvbTGk@aq9~bX0zM4*-ggBf4J`h*&^=L)^@(_nx zW;r!=k~}kv9G?G`SGWkTU)`fBws+_kD-(Mm2jUSJ{&WbibaQ@$O zr#1;5xnb-8t({Ls5o5SvyAEhWZWi@bk@M!pMR)L!Yo3DJ1N#^S4Q+lDMaexPob&xw6NMqE11{D6^_K?W^uTqroY(B%W_o+p|$nBe>}Vvn?3(?+;t+V&hc=rW-7vpizXC zZ|`P!sHKK_fnc1l6h1H~*V?fkcWnUrpZ| ze5r?{s8_G45iA%1Ftw+Fi3$M7kk}tf#(aQ-$|Hr1#s(I8pexCO^@p|tc?2*Bi2aSQ z;T5niFf0TCf=LDI+hcbradfi$91T&I1H@Cz*H{u49)N`bI2a%-h?C0!UeA2y^|eT) z>*-(*<@+{sV$M~S;19fIVrI00^w&duK{#rdlk&9rQxlAZ3*WklIs6EYVBnCPGf3|+ zz~FN!K{VtYQ(XW-?+C*tps_3fG<4vsAdn?il!j+IK0HvgF8KYh-S=nwz{3QaY!sE{ zi)oFL?q2h>p%A$tTzE#L{a0d;{t`+*UO{SgKFPp-Ip1@|6aYmsDehWVi8FWvBj`LE zZG~puCoRQMioF8nPoTzGr_QfQ@4yX~;4*=igs3C#{M1(K;%PWa!kSOSk!hAqiw2tMhF@SgQ=QD6B?o%1=z z?`Q=Yjs29J&^ADF`b@Et2cPJg>)IJ(1Z=N$CQEVL92K4$F&N;-is7<~X^#yQ`mn(4lM=)^Ar+LtxFAXdIhp`#1R0dj5GDMQMYM$I@^SOg|*%Gv~GMJa{RWM}RnGVomr) z0z#X)J+xFArk`MWPPXh1`YQeNjp;!7`ZH6jyuYB z&Dp`GOB(feVL%ul2w#~2BYI!t~)N`mk%iUWN!K!1DQ5z7mfOFgk%OnScLSacDTi+s#cY{HH|GxY~ z*-@2_tRtiWpw>Ltaj>G{9W~#>_k4;LqVV8uG8Hz-Liz5u3WN#ovA=e2c}k)mED;jh zqxis~e>!Y1W$)@o37lWybU#ypC4t-v`xT!`z%K;bRLxS=-nhZJjqb`goxs7> z1>QvbNR(U6{t2SxG{A5AV?pP_x8#%3tUXk{+|D)-Tx6_7lG!+(6OTm32^$Qa&iTMG!nno6D3j*5lDI! z^x@Ck`>G$|I8)t>Dr0sbNor4$sR1a;GJu1#uybta?A)iJ;%6HnrDu+6@a1sSeX{u%mkx7~3pM%=%`sE>0yiZIU zohSV@*M&2#NGu9xs!s10O))t~b#sOD=3z9o?2b?O7VtM&2HJrMl0$zasTm@h0J=|E72te zGtL}>)4Fn@(qnJ`;m93?aUx#Ox5r)BZjY%G#c}?`cb%!gN+KW;Jrx2q^xlWZIosrs9Aps49 z6|3Gv4?iuQ2wn{2{9`an0t2-|4ERMS_Kvc6-%EX)b;LX7D_zmf46xM$?@jJ` z3EUhtoh2IJo|DA4I~)^ zj^yH|MSNHar&K)Oc+l(;udljcbyOIAv3@4$@Xbq|f=G91%mp|gD@;y? zGDG#+DS}Q-hcCyak=Xt6?V!ZJ%$pCjjAdkG_>llo0KT}BB|GF4_OB=?+s?MojVx;?zEm1_WlqR6PXQ&b0pl!eltHc&fx&~K6igU@lCH<647+i{_C zJC(OiZWwoHUb1a^HXF&re+O=v$uR)uSHmc`P;@#3O0h0iI9hNzT$fA%UImF+lnYKG zM?PC)%2A7pV|%1(HW~1zuZzGOrUVSQL@Gae)VjDtHFhYNgdNO(y%=D#^2HG9`Y=9S z(o(pS7J#NmV}sPt4PKk2EHF)#c(==&R`Wgz1=?=7FwTPdZ)}d6%C}7}w60>4MdtcuOvA+kP_s-Id3AOu9SCxEh#oX z-(;x<1U$G4F2*jpF)xsh|O5&Si+02z0LrPe_8d4skxRNk1!yrX_JRHb7uYE~c9#HLe?!d4WC$xVxghA)iM7huR~6%E z>e}~yx-L#~AkBNQx38WlEd0uGiJYZzMo&xU+r9fzCPvrIZ>hSm}9!!G%u zCx#2QxUwN1fM6hJYMpDZ-3EJ>eZ{wBAXC;VHIJ53p6yZdJ~+JBwD(T-zxpjF46whb zmF591XoPgIBGV38Cki4iK@LC&qw{f2s@L^hkCw$2TLf}<0(0;~YWgdQ-Ti~KximrK ziCzTmn_;0W+S_!l74|?6NN$f5Qz%*I?(%R3(QP4$3Dyke9i>$3ND~h$_X~D zdLdq^bkl3FVyPxwXj-k3+N`o5pI|klf%<}4#%&m@ss00!m__K|NJ>dTf5od&Nb3Cl z8->aR^s6Zf2hwW^Jpw>r6g#-NFEAwZaME>Z#nCWk>m|wzsz%>|_tK1-8|JpyleBHt zS)4;PPVWh{yI^`4Cg31J*GB^|fyT$eDL7mTnCdGEBS~(bhbx~atDO`g8977iT{7x` z63q=idq<1$;Y1|>sU(BvKEgv(&Y@SZw&h*EhY)$LKj!dGQ`4sJd` z{#Am-t2l9gZsvn4Q6o(~?3}P@)e#S^O=Q}buk?FZ@C2rzA~n)0PL7*n^U&Z_5%dE5 zicvOTh|PLJE16UcXF{iXde(f72tKNOQQS89s6cOg8Rv?cAFu$qEs#?0;mt?sw&DLH z?PWGRb-|>5j$}E(pHE9kcWd3!%kIA|Ao$J@hrTLRdN^#_vCdh)y$8QNQ+>aH5_s$s z*<>%}Yh19hD2@qhIZ!ANsSCuM;Q+~ZU#sDV2$Kdsc0VUZF;^ZHnC(gfvjS5?uCdIU z-ZL*|t=0l>@bYQ022(L*6SIsQaOOX2_r|j1oiLUf-~imydJ#pQpy$=k8)GH3iTUH$aaUJ`cSx|(2<;H= z4NndN!jabuu~hkymGo_I!Y)k#C-JX|tZy|6eQKXB*#Pb6;&H>o3slg(M^}0Tt&=Q;-c-{}r{kcZ zp^S6?)wOtGir_xQF0leso0;oA9fbW84+T*@Quxg^9Sp@Jx12A9WfjV>w|19g$oIxC z_=0@z#m?;iRf?u+ne|~=!^CtgxeA*UUr?fuuxysP>39Z~c<+`J8k2T4Kz9XHB%VH* z=*b*TnHg{Z3}wiU61Hx`a_c#rm8k;m+}4_AK>juUVZj_wAX>i|0EBB3J+kzzf7udFzLD6`z0D6l>CkKiBJtMT;31U++O-3JaSq3At13n-1#V+0;sqHgmxr7fi=O#)O5MY|wz*37H_TSw;TA{% zTcwIdk8*Uj2%5dlrA{1`)Lh)pAGu}V49B< zR-!?1FIv?i_)QG^v(l!$PnCghrU7#2qC2+4@zO`E+iE7`=v$pW53c68P5^{@76V!k zA4aG=C3MVt+KAEeNo$7Fw~-kMkH^D;zxn*kNpftg7nHWRmJ2US(MPSXn2j zGnby7YyS)E7g|6ISoQm->`uTj;+e8#tMdpGQ0hEo-g^13@&zzXdq)G5VRJSPUD!RC zetXj+g?>B+;}KD0|8Ha5%K!K-#7UeHP5>Apj18qxCkuubmU}OJs!Kxa1M+TZuiMPS z%i5w}hF;0}w7yvF*jxSi4^tX^@h*C={SOXQ`5Nc6ZZr1aDxzlgrydi10UsdK1?s>u zh=Aagx=@x2uz1TIWCGNRdU=hax0v836Rh z;d>aUEy4WcNl~&iSgMW(`yROd&#%E98=&BOrenjaex08r&C|5G6WZ4J-XcCX!_vMX z{0Wo*$ci>@hrsy~HTbd>V$qaK^>^*xB=CA5!$O(=M5b5;|vHA4dnKu5$ z^s5Z~-L){Ow}i}Ed+zT-MQ==ANCJ&8 z9d+Q_9aKM@tSlsZ>{W2eILKoTnHRdScBhh{d$yo_#x>0TyC}xK13Uo8sIkruD&-dT z8ek7@0RXUd?*cO#6Me+kEnoBAsex=w4G*K%j8)XHD3>IVEDgfBm9OAZ21e}+cL!pM zEByA^YdJ-LcW-71BadhAtcdGvxlXo_g#Pzc8drEG9>Jk&N8Qg4->FEx=nL!Uhq(&+m8yUeiM^~ zcolBO;v>&G(NbPd%kRTGM>1xr<*y=mRYnUk%imflG|y}w8+^a6s^mfgyV?Cc_y9yM z$e=YInECfhL)lg=(rE)5RkAP&(uJxICk`EJ{6&jteR|hJic!U{@ZrOBzVg}_vRY1b zxs9`XG z)MtKsuu1C;1y*ySo{F4ZR2j-)sKzu@L)H8gglphaEYASmbngGamWQfhhb;D2EX$LE zT(9?!>Ft5pq7wBs{4wt?;}Z3r`o_PAtwp}-1Nt4njdP0s48ON2(k zegC#$-*|(yJOl-Zfr8hYm#_36$~Gwf4`oyJdffwL3&dWXa({5}-Y5Z=C_sEv&pG<_%!F)ek;sQ3ht#e`>h z`D&jVk`AL{AUJnIyH*>iKtU=JeRu-d6>nMFx2zzRBlMNOK@UkGXaCh`9@0?V64BFP zJAu0#kC~*Fn2o@l$Z5m-u{|h>xs3;USvAU5E(7CaIl+d!m!XOeoVx4%=vtU; zDQXg&d<4jsaiIgA!77pG0x9RT22A^el2zNw(^`-UdRQ|3_lbt){&Pa#1GeMwgpRQr zTF9iiU;hC~oR(>Zb0KBOLX|lf^W`KKsP{U*a=NJ@es(xcV-3jthR{aw02xf+y96p#_ zzh<{##=I)zw3PY_rp;S{DLdVRZ`sel7l)`K<>^HsW82xj=LF4db_1&iW;xkH$z`J8l*n9V_xiUswlQ;|Kdo&XIZAPU1u)mLiizfLxQ` ztDFchwL@f3H2tJ+bYBJfe&aCn5c~~1Sn|lFGN-(2IU z4$S%?V3PBw4^`-Rg3klZfK>>6dO3On@V`Y$_aqi_AY~7rLi2m8;!VIBy9%Dq+)#!F zS+SlKYZ7SFzHmaGMP`$XA_59-y+z-=K2k>cVI!2D4ZiJ(`iVhlT7RngRjgRB3dYPQ zTfOlu;SXguW5^+0RW2R#YsjbxgovhmgQKn2<&-yC(BNR*L4KZDkx4eB%a*PfyifrmK7HRtg0L0zwEV1y#h2q{{YK*=6oofn}*tcD; zYg0ZWhu)Ltr$MqRcvPdoqU8Q8yt$z@tuiVg7~QYnw<-gn9(R>=uC{>_2zwGBIfTgsv^K4Z4V>dffsn&7t=`7uV)Ztpail}(2PW_Y^Z)!{)=GMQR);^vKmpXfq`D3fc;zq`X>gu zovBaZ4S~3im^gY7h0Y|rS4-FjhOv5GaqN5->$;5%x|c#y5hSmob}v7wc1Gks>=c)M z8wZRF7QU8m4bZ8gK2V}{`nzZWIWNa%FyfPe$wISzB~W*ui|ZJY6D8IJARECP@s4B+e@$v<0zN5~V0K%2NKBUPy*c+O1z6*2EMI`}n`q*@<%@RM+ zPoF-_R*Dye?|4YmhIE%R?T9R|rocsXN(y5*$oq3Z&6KuHO+Iy&(D9^~b;C2Y zxlhEbwY{#CdIJg%p_Q=zaO_74RCj&)dIUZ0FZWjA71y4Tu*Q4x3?fo5 z>T`E`r3d)-c8XP>LGxQOE-t;j{(=&i-_#ghw?GvM*YG#>5Yekuoie4-Pw#f~ZzUO2 z+y^q-T{8%7C`$WKi~URSqmJAKvxSM${?*JsOz-3NJ(o8EQ-YN)U;8-m7$d~~gl41A z-a2h98#*s{&!p=feS%Vyplq5Hy&z^H7&lI|0Nr}@Il?bm8czDWJo>UTGW0z!C-|MsgFsc| zWFrAgH4#yJ!r|$$PnNZ*Q+vMUHhPsgF>3~x3vS()+c!LXM;K;0qV3eUsHPR-C6dsX z9^j5E?J@t>yn2;hB5!>^kN0T8geF|{2r`0gw2XF-vcbY>a#3nIkIODM#g_SK(tvlw zlFe^|FcIKE^}Da!ckiV(gs|25?6X#pxrI>%3@8cTdL$h#mSYkx*zyO?@b=*ydL{Y4 zd5_@!+9L2wvygnZGTNb!kFd}0E?utb9I$#cDp(wU+$Il*ut4AnRgAVo+31Kep;m`5-N>-9e?bmN*kk}fu22cair+fI&nJB0xZF zNG`t^Lko2Q`lD3=Z|}{B@?)Z$&1tkfVhi9g!RAyS?(sfRgL`cui*h8V#YwKAdj+IV z{E3-%3g{k?l)Vd!(n)C}1&+qvb4j#-=TxawwAsz6TR(B?tG0Mau>cmpx1FT2+f%bW z+Za;R%!%;y{N7D5@Aw-Od9{Gs3aj3K=|C@=EpHz!sk-=Mmp*=C1{sUbuG$FJtvdV| zlh=QE+WR-Kson?2ygd5}>*?}~OjpO+ozz(Co}aNagcJBRTR%9j_ETf~;zRXP>jZ7u zvrBitZEO0e?Xs1M{p01ACp|&Z^NVUaO+S})m+r!tShRC;aR%6a-d!JF^dGGq2%j)$ zxh>i(U2)!**6m59^Iotu>SXb-{&$@hxpSoUGl695$*8!v4QoX4d-}&Va$aE%`~9~{ z;Sow#$J0e`vN%}#yY$EVeUd#6EoH-ch=^HtdH@}qr|w82IJ0h`UE0hj(a9 zPbIV2JDztf6d2zFj#GSv+JCru5wNhCVqp%(g4oGjLF`Je@9yJXrHQ)OJcJTBkD{1Z zYQ<{8+y?UKgCj3*@Bn0yqT6-gk&i5LJ|yPdzYj9jE)JTLmEd+r!R^}h92>V)AXE)B z!*GUa=Xn;b%hGkdvAQb#rPD1prf1``x(GbD%fU#=`=N8ogHAmlciVN99RzPxAA|;1 zoK9Kn?@VZVZAmL znL4a@$kaC0nG6G04E+7J6{79EQe}YM+9SCAH<&a9r?~D&Kv85jF^-E}9h))!dHE0(}~ zA(wad3!}pJ*>_MkO~!PW(c*BfM|5&t3i`M~`We+@@im{2qDIg?&D!&Lb=32Gv+uYW zp?CIMO|OIDxWP&Bg8s@8A*v<5^0(NXqSa&FI`knsYWOE0gy&{L2NA8-t8@e3n~o?O zp2haqs_WV};OtK4zmh;t_Y(TSXRUyJwdY+mJK|KuTz9Ann+Sbg)Z$2a1?}Nqf56xf z&W0CA1ElDM*5|d+7%qcSl>0d$Xy0GM$Y?%Tq3khQ3{RJR4tv#lH(U-i44|I!;l2Y1 zGIWsz^=%oG3=1{|x=-XLFaaVI{d*8*aEu3^q*nrj;=mE>M&37KSIAHYBKbi2TgT~) zP3n2yILQn;qUGuF6`sF)^#Hh^!E^b2Il<62a0WQWm?=9!F4hqovv3%Q{Tj=m`AxfKn7~n$iTiMm#&K_~c5l;ZC-a`yT*V8O!-bcg($3*O-K>p2>4+5x zFsOInOL4mr1;m-yzEJs_;9S9k4QBjSz-kHP|Bx zUw#SQy8qRW#=Df|iQ6-@pHeEaAdxE2eWXd-+&_-4lwG*NnrytGgGt790@4AmG|_I3 zm1YA^Qx$o4(zRy}vL_(US9M!TDv?6p!-S=L*jY-nnr);^_SSY9!z`}dBk{C7WGm7C z&1tz-nVaG{Txd1_3{t3FIvlojI(RGfS6DrqTuF5Q8|m*o@4`ykb?B6P=j1O)dST^s z2Z1}>W>jr*(A@0&d*s*v*z9(Yood zwii+SOqWS`CNaMphQ6(*U!3kfTmEH}Bu>5PHgihoX*1RBe87HhImIrYR5pty#*_Wr zcoG42nK65f<}@<_lotEAZ98T9VaNSolL{l_e|U?_Gh%9Y>Qh8R1lu_=a7RAc^`72x zoSe-h%{JY?r=0Ssxc-WswQ5Dq{73tnjjE=jlZhEh+f2WsaXY7#C`G2jDR8&POKSyJ z*K_Nh_}r@Uh&Y-eDM}7S6&@fcMvu&^Zh;IS?zVNo&u{+?RWu5>SBKP)>`U-49vsR`H#ng^cC#wtNy!bY%or^06tHt=;%j{b1Uudc8}%O6oxF;)ty=mT?f zj%g9n7tD{7Y$&)3woP)%Sf?yfa5OE zM_ziMI5Ll_2Zju+rreWD`EU(GfuIfP0lfNdtNbr$%XK~#+c)Th4o14m5=C*o2ZWKDgp23aU$%q7|nU(5EdT0M^;}Bg@Y0;qj$H~{;LIm zHx);)Tf!&7XF&I91ODs|IhJhQBu=9(0)`kj7&MiTed5glR84j;el3Y-(Bpre5;IQ#uZ@-AY$NNh)QA*-G zD?Cc0W|MEjXpBPea$eWflT=RaN{;%sH@vJ7fpqT zc}&SOofluXd+Pq$I!&r5@nbV}C%L+Oy%Z9a3MY$lQczWm*~;XF=d0N_&+3Ma4`&I} zK1I^W%-la~Y}ZW8lk`J%TQO=glUNbjcL#5obSJ5>=>rK+?de+2&Dj4O@1fi;t_iCL z&{nL=uWh$}bYI4UQz|i>FXOW`vK#d&8 zc&W-JkcA+FF7U`9PcWmu!J1SReYpEGU6R_Nirih4eqm_Uemfp(LqLJSTMt<#72*4! z(tqUw`-2+Y!a8hD_%pcc&?F!$?jHM{MDRNBs78Va?r!6PG7?LO4EPTalzp3TWMqO% zi0KO|R2Z2bSKI)XRNi-ys!}fvm%M1e90B(|q5i;fD^K4h|0oF0Csdz4f+Tsu7W!804C$C?_A;mn zYB8JmWZy)mp^NwZen$J<8~qCbs_D^->4oGtbSUQC#%j_as)XAUaqjhIFr&-+usx~j5=tF#E;8v+b$E5W39q!AnYqN^sH|BVtjw=j8!qnQ=UCUHT-BIu0)p5R|q@DzTD zmaZI8Ct^+~2gENjF;s75&y3VOPax0KH0$?=9;-xKYrR{Qw$uPt$f zq3p${rF@c&;9}l3t$O3`Uko%>Bwc9UjgZjwiEUl~u0GL4=AB%#GYsrD7dA_@>*3nO z-fC@&dFV~*5F3PVaxBG(hKMh)OQQA%mXDd~ zm`xuIq+$zAEh+e)QvIdt8>yV>*ETl&dfZsAwG+T<@EXejt8j~C!`1Y#2~B;gTN#V> z_Vq;j(2r)U>Zf$a^i72k9&K^imzQX*rs8?U#mk!7E%LML70%ga5f~#ym$w6bK#La? z$N~dsRwgPqxhfEr0FzSOa`HOnd5V5L7?LisRF24Rn<$Q?0(gK2w-VVG7X`xQ{VS5) z?i`mX3p4A*ZO{&f_Gv}&vUE$_$91puwFDD?{~o8Si8unVjng>6H-rnr{XjMNuwJpA zlmeD4g4*YKO)Kv&xPjWx=m0T|JD3C?uLnoReKQ~$d0MHh+)xEUZWtN*+1XLzxRE~` z_pWK1J^9E?y`#;_VHNiEhW=7S@qtQ7JwoR|n0^RQepF?{cHO=P1#;ns0{X$u=btky*SO*1Y6pz1-F%qJSQPH3pv~D>qet&AiI#FG{RH$Bh>Uz4)QTybo1Mtv$PRqh4`VFgc-zwq z`+vVfkWJ_y_^hbc|AnGcLG<_l;hM$Xn$N%ymhvNdmYV*a-*XTq0j+PJnBNS7;;jhS zA#Xq$WgO>v<-|-E3CfP;v;5+d2qPt1dAoE9vk{aJ>a14g&5al zx`%>wBQPl5JT!fgRKD)07J~y%39c7NC4gFDwLopCWiN5(4w8+2Jw+|)eYC;~M(&|{ zs@LdS2n6X^iP)f`w9L8bOJ>Ei(NO*?!~ii@pB!>kjHzN)R@+6I_Bb9lZF8>B8!-*HQshPPmJ>_^aZp+9<4-b+4W()bT2M)q9{ zx^h{d@b7^3li~g!Tab(=)&SVdwP%Ba9@p1Dl)nHdqH&)BF&hGUu z3KIhT4X z&;?S&fV!B{ZXxTS@((@L^FsW>5TLk^0*H#7Iu(TAepyp6_^uv#_|lDRH%r`1bvKmY z4Jz^lJjlsxKUgfD;1s-Stv8lmz|Ausq zNYaTzgFVn2;8K|G2#n)|0JDfV5Lpg|l5pqu&smE?xRS*LyB{e8e7t+p4F%95LGi5u zLTssSDTh?u`z|%)RT{qLsBag}W1awwQO!J(>%r4rqL06Ow7s=G{rd5dsXQ4vPyLCe zUHe8sm%%zErE%ZTzKDVA(Nux`Bdd$?f_c}L)^N5uR#g;KBdBSvOIGMnru;viNAa!# zLjGRS3;e)d&L2h<&&wAMalE0Mq*7Wk&mI-znP}4ZpI?Y$-FlAH`lZgL$x>0h>8pz5 zXrB8Q8_P>c`)u6HNiNl=fAv0nocR1|(q%O}wu^gY>h1JEjZ%)Q4_2ceRUbNPoOA*T z@hjx!Uq4xRfgZvye{X%HQvI!Cp_51j;f~;bev4qtaeYS`X0J zolfp|#aZa+7PFc$Rtn8wyD=oY?v>>@Kl~ zFmeYn@b>s`ovP09+vA0R_vIQdj53qf@B=lVdlq+MP9>(*oH8XcH}*)&iwTaG$GYD6 zCFkKIcRH8`dfo`g`$9O(RtsHgotovrYM(7bD%X(E56e1!j}}bhfgB?I2%6K`NV^5@ zGUxW>cD3zPp?34S!}YGM?Qxb}2+elZZQg19qcJxeyMe~v?c8o#yFGey547$2zdh+L z?G;XS7u`Sj)U|e1zEo>xOpi)9=5<(pFM2zN!foMupWVi4v!l_Wb7S5uZz$M97~?F- z|A@zd*$k(6T)N3fias7CmW@t*_5yz4b{xuQl#pxCL1^B=Dyo#YN>R7lK+4!HQ$YsK zlywvQusW}-9n-QIyM3t4dB8j2P=-4g>bPJOaSm225Fxg4&jbQX=A}=Z(#JD*oPHO8 zOFglWV0nV0>y;iRzaO7^SNSd3WFf)vN zH(dhn{A5OO>$}H~6j1%=Uz54FD%jzXweIKw<4)vVE1&=b8(LQ>yS7*0&EsKW8|zVy z^O$bpY39HSAoDGS@Kl@}!^1mY!i&Gr)Q?!qDiGyonzPfXLjR;2Ie(N+sdY$Zo-Q`A zq77%Y{guWHREj^O8E)-QHK=?%XN=>`rDTN{%wz6Mt?u@%%4#SOO?2=4MWz%TYFAUa z^qLug$X`$zjmdS8Uf%FZt+$wxrr)TKn*%56DrMv`vwTTfGb%ps$S^CD+2*fm7&eRE zTkj9FA6(GqZ(WNaFhOZUfKMaJ5^&ZqyhkCba!@8bOTvbn4xdO1v}~E4AKz+ypr3JV z@kT0kRbFc*v|EFd1qZJT9oLbQ)o) z4uH!X)pCqFye@q0#z8poR{8>64j-H4UiprU4jf*37jElq$@6LAvwDThoVr8D~Yg^R6(m=}Xm`J2%W6Fkq&jXL74gjo4#@0TL_>z;gKjh@t^R)e*o26zM^ z`hEStq?5&{j{G>$(-j~36`Ez5DOUQ0d}<6k>YC-I>)zeK%ECEXIgGHX<1p^xS&AN0 zi&s%f;rZ63NytKuoAU)CC(hKFo-y1n-TjLCgG&~ZaFF9a#Ugf&+=@SN!>KRFhlfdH zM)EWeEMmLYK>3%yGG`c9#r6hWY~^;I+$LL17w_(8;I#08(ybXahzG36;NP;Zb;;kZ z`0W%Yi{FaV$t~eELM>@8e<}(;_z~}Q3FF+KXQ0FMb$Eyu8@Ts(O+#2H{z-UUfra76 zbx+I0NwV45^oa~&BLZJ8yQ%PRq|8=c6N;~`C_2!7<=RkcSHj_A8N4A{iP9Qx%aVJB zf-*W?vXq&S8p{{|hAC>XUHd1ifwgO8_=#XQK6t;=J}X7pqX4u`*KUd0C6ugO9z=Lh33$Fzlk7C!&~_Me;5dBTv7Kk`B9=dOcK4`70cBri@)B(wXd2{` zh7S}4#aDewF=)PiF;B6=X9C}qg&ab3tv9REf|qT%Dk&HJK4I9Oq(*EQITNW2CsraU zm_)>7QjCof&8d$~GbOIHt;Dh{zK=R*1!)#7^uGL-!Ql`{pq|5mes2O7PwJ^v8(;n- z78i$o3jRTKo1WEDc|JRHZ2z(9sN^2=#9QOkVDLeL{8i){v`z~LtO{1YW z)Wj54gLyB4V!M1utz;GRUXJo7QqfLS7_Mp?H~AC!FFuVv?xd#ataj=Du~0xvDJU|+ z2o!+157w)f6#nExkxU@$P(9(_z=utQuuTTt#%%_UafqdW~564etKwWJ?r;UwV{o zgm1^sm`@tI9=lcYZ^o=HX>YqrQ!lQ=I^Ih^Zpl!FnxY~ZSV64sfC=~uTTw8s?%~hsZuxsBJaz_4!43{&{tH67AcZ} ztGZvEh)B>-KU3YXDxE**Z3lcoJ)n-6CV!f0#Gq?YE47cJF>G4(2%h5`7ZgfWHap%m zbKNyrig((s3*g`X#M$*l6FzL#>UB9%+-<^o3B$vC<>{={qAAvLuLJrrPriewZs&^? zR%uR`b)iw&qepUD*r+c+@Fa{!@XaUGn@SbhhRu?rDjp~q6NC}U&C8;d^mhoK!|F)1 z;%ax{T%9OI?+df0rJ}G)!s?h)adU`25q-tUmPmU5)?}Xk>R@S#NSQWx`h4 zTXSssjFV&JbYkYJrz_$7_Wq>*a`&QL59jvip~VtWy?dk3&L?i;@xh3P!J|GnARzdO zwB#`pXTver;(6SY1uxB3efk#ddY_|1-Tx^K6m;#vIr@si*d~d@({+@FS~`ZY4@rKJTaR8lCMrTEltm-$o0&Tx|v7#ED+?BH||M zFE1Ao@N*T|-8N5q7Q`$pHZx^MOO-AM+JjakQ%zFcrkT%LHkVqD5rY?7PW4KS>Ewco zO-mjaS7E281`&yNY_(k%+X(o}0M9*HmF``Y2)XjbTpST|)_A*DH2VGGy@2IvR@crt zdHVbMB7Y*h1MqOj?y?-`@WLC&JO%^0UQnLC#d{fUezrDZ$@xT0*sx;K_PIoqgkq9o z8N0UjA=HxX>ZsDVKE)|fsrw>s%%-(6p?Ky(K?1{56!B9XOmmuNkp6C>l7lit&)osXmGc?1 zl+*3yu8rsQZ&TdYR`q;ajt=8OdJ$P;RqslFnht*sikmyX*uNO4kY@+rnT!vUy<1E>=4ZLP!g#J1Q?$Xw2U}3a?CL^EfqI z!f=`~!AATtQl9LQ z^uW|x`2G}S!s1K~!|n#P8=DA1C8&Er*kLpsgKk6Te0(G>yVC1;NT?sEH@B_R9!Y3M zZ7WgAu~(Ol8@w~pWYD1gq<$&mc@fvP+x84?ipHRqTGx5>=|b11?kLKuUr+TyCU!6O z+2Y1xlPs=WE491wQ@^pZAy$=SDRYJpyyx|~t~hr!25pdJwATtqYoPi|t(-uGzW2|q zL_uA>k)lS(9VF^ih542usK)E9_90~DyPjqkg+_ptAw+T;7<6WRM^YNlMX z?h~KTBvH{%5lrpluSz{nQxlJ~UAOed5*NhncW3|!hPa_x&`mUUWDtXpI(a}jfbC^B#2(jdUXwrus&peD0@=9;KSJ^a=sA{fpsOQ zP+V*sdp(WSwXv9Mf9CN#{cl@mpsn-^OT%}W1>~wZU1}_0f6o{c$aL#4ZnLcMp_UX& z3lvH8y@l>T0ThuD^hwK08xz+h%6_eVAbNn(MHEf+{InofB66FNt+8W

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >W@*Og!W zDUZMw6Al&@fSh-LuA61PO>Jdhed`+c5POdKZI!a^Vxq|Wqs{j;^G3${G4wJj$;My7 z=M*wR(rqe!Lb6-xB^*y-4QY^)=`+s~By( zIG;L>XX~ziyz8F+-F5*}qOo1j(W8bRF~Hfq(w~WMmCdEe$lFIcb8^RSXCcVAa|Ay8 z&21yrxW`B>vF>h^)4!jl5c_lv69YPTFT zv+u%U0spng0R`+DpU~enhLu&r-+}M5>2yKRieN9t?I&!`{ygTG|yPqinW&9|%QE%31 zYFE&?vAH?r5VDod7ENA!-!b`B!H|FJ1B-I+Jkj^4@m^e9b}v$aAG+Qy%vbPTC5x&# z1XC`jt*Ddwkyy&)m|cXEv899zd6>??d(wBa7pGtqNn{zfiM+JDtjg;4u3kf6&50tM zB987+3SU!c1-Fyp8(>Tb(^1d0 z-547)u^NaT!Aw&)Bj_Q5={}M06i@W2T2pmA><@}c zi^Nt&LE68eu*Xz=LZ~HdNz@Q-E9NwMq!BZX0RXiW=A0)K-1)v^GUB-^wZBq*7!>y_ z@pMBLmeCqCkQ;{#m5gUuo<|2V0BpVmZlY_~4wQ>RA`e3&7A7pFAOKeAak*qgPd&?6 z9Dbiznm zHUtcm*SxN!Jv$3DcbQBUXt$`w42@|rXpO@I)#5t3`aISkU zy8o_pv%*RqKD?RMXHN^6y4u`MjMeoVBLm)9mn_3YU3#R`yF-eQ<%+HH5F5* z;~SJCBb+8}Rc)_K{;LIu8#~aBWw%p1#_9U1FW8@Bi$v`@Lh@w984Ix78w2&RCWM0Z zp}zVhC2KyBmb%OtLEERM{!}r!;oo{`iZHxiBjLMA`QpE?cchb%2C#1nM9O7uIE^>y zIluv4NYy@`y36w;YFTE(Ns zL`W(j(ee(vEA0GB%cAg;EhW%=OZvFDHnoK;OngnS!^EhQI;Q1I>TQZv+xse0?!{Mb z2>`6Apirq`mv?xPs>Jtp<2#v5g~_Y&Xda$FEs5?@qi}YE3fZ+Klb0f~NIs$5R}uD14L!4_?;td|`q_ z#ZmKqF&bru(fHw?RVqN`@EESt+h(z5L0>Q)T*p7?>HV1%@*T@&U)_Th1mDe_=$)E4 zOQbZDbO;;PMDT97;A<>1MUx(Dto)#39Q+xzAXPbyUg-kqpIOqa@9Vlakv)vme!v+k z@nNj?aUK?}dPGzp0Bw}eqLB5vxbJ1%6O@sK(G9E%%7iP1Gy9U;A$n3Da9NzS-AF&cj3x z{s#lFUxvQC#^aa)hSEV3V*9^L7!1i1m=@B4+8E+_$*xaCG@m?y2pCLdIQv;xw>KZ69jkhRT-{-i_X|P4>q>6C#Pm1BjUaQ3bkNoQ=OsGwy;0`Ti@C{N zqo5WdE#~+zKGU?%Ze3m7$ElC9aR04_t#+KD_vLeD;z6(IB2T3yRx)&!6-q4dCTbsg z+HcD}vOA0<3dK&9O7AxvsEOzI4`)vq)Y6-4W2E1i=I~yMZ2*2@v%wteSgo9 zXQX3*Z+5}jbCS(`9`8}29w17>SAC%3#rr*|tWYhyk~I5=?4)T!kS0T$uTc?dN{Gx5 z+?C+o{ZO)$1JV*lGD;+8l|s8ph!lreV&nE7i-$>KWI18*`A98wA#(fEq8(G$CY_nw zrq`?6MiVOt30sJ)-pAV*TlU?uuCyg9kA%hYv=7F-w5*~f0!1$B%Ctu$MoLD%&_nti zN=6^jK*m~zI$jlYcSWQc!T{*tMrXGcA%QK@H(5G&CE3?UJ#X$#JE1HtBYIHr)Jw?U zA&@(MAfThf@9n%>>0Ovmj_kL^2<)MpR#I(gntqT{v@*S);@DxYLi)x;F_m4o9fN+; zpym(k^0ZNeXWcKzRV>Z)#%m#%nrFm8vTMg90E-A!FcSacU9n#vX+KlGA_z8X7F~|W z7iN1>rjk2a%ULEZDOiqC@jBwe(cg5!_qchkg;F76X~IZhz&^ZdsdV=JI!isCicD^A zDv`1vS?>DT!42H~5Zr6*j)R&k1u8XKC@L+!O-N>h{+_diGKPL&sZCIzW%>qt0O0b- zL@_~&g{jM_3EN71-ka=vj6_=UQj{$uP4(Y^DBf|`>1(Tlqob|rXUBa+Un|t^)b!*J zy;tJNH6DC<8zd5K5A-!w%E^9%x+%t_5BFVK{nnpa`Kbk?0#(C-Z<>oNO^B}{;zgp7 zVyhstPVt!h4%7c8ZORWk?e0~d|I35q=g$1X1Z7l!=A)98{g)B!pzTvc7E*MOVS=PA z*w{VXUqaClq+91;lU6SR93GPhOD{B*mrbyzfIl>2b>5xz}UJmuq#Hdk#gwm%ghU@0Ua z8XQLEU3NBqwhB(n5i|WLenAK+3%}K!EIbLW;*R2V31i^iP+54!eyQoJ97C+UdUI|6kpK4>Pj{l^**_ zAP)IUqI^qD_kegV8+Uyb3Q`XW-3ot4a78C6kvJN4>$7HOkPBH$abCbWTsKK6Ja!u{ z`D|jo@RYRjgBaaSK&2X_=Pw0FuNnso@Lea?gggIIsunP$_D+1;Wk`>nE?;F`LZkdx zJWtzogvgV**WYzm!Hx1sDi(a(Vo?H0BKs`dFE_=tdR1>#CbV{`nzRe#Z*5%jjL0=z zTBL>r+~?9j{g(gOIWPdp8qP8VCYZorym8c*Mf#2X z3fF$4nBDG%3#KM0KobxQzXIN`C%!{gB;UF6m)lM(s_iEyb#fnEw%Tau)p!Jogn@`eHi;h4A=lA;n z*2s%^rk-lC6{J;Yy>}&4P_A_@yP*>MRn~W#y;a=-!3C3>Avn>#t zetIBov}Wz*UVKqwre!T^SvghFbmlXb#J9QP%O-4g{H?0KCw`PuddrGJ(^adG{0%RS ze3G%8(f2xmGIE5lg?Zn;OV4TS@XxiUK^JxIErPq*p*&86H)>wMOemuqnB+}qAOz=! z#LP%o3TgQAk$IGt+|z>;5ZJ4Yp{4S#AdkZ1wYXGtU*Va;U@@qMgV*!~YXb^de9Gc)lf<45JI4MXMCrs;M9;Ih91?rN>aKC7*;@DNZL@;+Q( zZ$~n8V0PG1gWmQqne%7%ooL zCPjltbSFZTRo0Qb&kEw6dFt_Mop(Cj?r&!gh#AoR0=wtE$7+X9%-%blU$Qh4Q1!W^ zCWGsVQ<>lYufh>R2Lzb5jC|96>STI)x?!uqu(awwh&_2Dpsb-AV%hbLoUxd`(6^?b7~iRIky%l2_{nZL(U%hz4z?uP zJTzdq7u9<*5NGVE9uD)7Pk-W31;-Cdq1`^iD46SK-%&;v(}qyVhiX+E?>j-f9~r2d zP60b(k2X3v3;r!Z&Z98Q(h3_tG_SPS=Y0N#OPDp!gH~+3rMjD9YJ}S1c?8vC!_%!r z&n$P91G4cJ|HAu688kS|6Vf4X3q4+CI6@hLC?e}%77qktnPxs#OnOuwMgFXm36U`G z&`3>6mDn1h_-e0IfPH_ZiI4hdo&?I6D3;sx$jDCe^nWh=Dbj^)pW&FqL>;14Ru^Y9 z6Cpg3jLHbW#%17L(56AVr<2H2_b>@Z%BrfWnT(u7(M`7>y4dY7ap$f_anraTw%MkQ zVd;y2yv!fjec8|OCJxPU?%@G60$W;Y(V7?z*SCqjjaAXW0BMIhk6Vtsb50G2+`tiL z%@W>2c+3)wePm=&iu|T_kDZlW+Mg%uoL@5eIdsn2{Riu&i_{Ez=4*=+KM{OT78;C9 zY5p7nZZxkR?#0(o}9TR1Y*10~OTI#VJj9r;05W`6IUGCD`E{!Dk>^ zdqMj`F$!J4h~jZHamW8>~)jbFGW8e2!Fpe_Ym+(*RoTpwWZ8)xbz@Or=b&9(=KuYH# z?3+bS4I&|3jv1A}0Of>AlCi(|zJJgOb)B=6_1bt?LE5ug{i0A1E8rnG3bRl?zrPpN zWubSz;zmg7aPkxQ-mbOckUe4V6L|0qXw76iI5ypoo*_Se&R^`{veu&+3uiN%qSliM z`GK|gK}-;DCB}s|%gTLyn*#^sWDUDSbTi>cr_~_*_2hOiPyby_Wd>vjXD@)vO(#!_ znuv+ZCc&D6 zegOhQ^uk7%mSm{#HrAz8-Dr7o_>g`mOF-n-MHv}PASt#xM0P1`_9_eU!#Yi3cMSI7 zw9&`!F6^bdfhU7}Vzh7a{viRTW7rb(N6FAEwnZ@||MVB;x+e}=G7(Ix!uT|hpSBQ% z1U@*$Qe@-V>T)#fe6_@=Q%SP7`T+XJKw_j=-4OTN4he=g6VQ^gNzb5j{E6oQGnfZf z(`_`x{ipW`>0{fD|{VCw!*;-Yxcd;#c9^WR59j zb;nr#;|(QR{(u8_lf;lLUWW2bP-bSfFcXLG!lS|}y!B`;)$8m;c1af~xDyogfJe!| zrUemkm5d~5PuJJ_{|SIpZ6B|X)xbR?H?1*YWMATnvdJ6*C|x5@JJhTcEVJER+;?PL z_dDQ=AGz)SE(7d$%^-Sj{zZxqyq72Z)H>3t%k0Qr42=@Xm>~9fDN1VWL=s;Ut`RR$ z7Io&~!27ZyNjhF{KkwasNfg;w(#RvJj$N11PZ|J9U%KGijwV;K0j zE^j39NwvGCGt)$i-^Fh4jA*r`$B%|z(<0O~9}7HnlLvLk8^f=p5;qp&n-XE=-VRF# z!~<9s~%xSmtCMe676=R zP5QH!)uNKnKSv#uurrLvt6c+9O-KyD)*=7EDA?Rnf))qa+r}qs-DJtG7p^r@F zt}sq!_(l1GNm|^S>gqK*oU_KhrJ??~R$3lC>0^|`BX84;hb#SWyW#3_K){mBZ<+3p zwl<}U5sX26*kB$TP9-Ri3}0Bel4eV})zo*Ne`>zaI1aUF+PiPXDd$ADH96WaOPK zCCbNXR&u$@W8~Ah@Oy6%5loa!1s4etq;|3I_Ci?unt5JE>~-Y`G&6*AuNzyLn4zHC zK1o3lnx*M=IqcSEpgJqews9ZPR73@_k7J2j+MtTyq2f&HxFTGjPOP|7&EuL_(t|#A zrB98R)3xo8jc1DaEQOlUpBSp++7PJBsv;;53?FM2??SS)GRq1}zvrE-3A2`OeDaPD zdXbhs<$1I1mXvYd6_dEI5T+#}^Xqq#+D$U_4HupU7PyVW_wD%oj1zWr__g@7y%v`} z7AbbE+|D!5_&{EqYOWzNWKFjfY_lo$cpP!}!zS=z7XHaEQJG^;n1VrIjQ@!xFD6hAdyV1jN`dr zu>J7br{-x$4G}>(ReqOrb7p|g$0Gu3V~9AVqKSmVkm5hoG_b9{?~@4=9z^%=)OLtF zh`tk8N)ZwwELroqEJo=i!s}Mp;~lM%U%DFe(sGZT%JZzDwmGY~KTiX_N;j=O4BC8yRSip8IF!6Io~b$c967x4lL$ z+z?!bV;?*=);xZc@XZ_Ffh;TjR(09`s=7c(<<}FGW=j&&(V_Z1!rlDyYDk)3J`nfa z=GHGNP7A~8m?}mzs_YOtlJ3GrO=LEN+&7iHmilM*$9%;KFTb9Q$-I(1q?PFS1b`tc zLb-JG)9=1VK%L#_jSkd^RaC5wVc2n4buFcH_fM%hO}9Fq&Fb|J#C&$hmu?UyOvWI1&ap30y++->OI^a9F$LuK zg@aA>JB|W?q?+Mf_w*e?Sc=yzAz@LMil9_(m4BLlh}5&|FoI3#!=Du_+v08JLy6rV zDYX%m@<~-u8k=4dbVyY}Yl@}Ny&w0;lqJund{OX)89j4(u!0}xzdwERKL?dd2dLg= z^ASnv4?s&*SSEP6ZGgk zVplOW&i74qwin5xQmde;a&>a~J?NRC6tA($f{i#~$2R8pHH8j6P!68UizXGwX$a#Dn91cTOc?^z?qAr)==vMfyjT&Wqi( z(ba2uQ}H4i_X^h(8<}*joqv$1@(k`bcg~_mlbD8mDhn63=kIWd$zlpCjsu@Th1mPC?ZO^7=qUy^J#sRmu zBZKD_(d0>j1i8ucwATXidFbP``qI!5CF*fgR=qOERBwV}`Ch@NofD+fn6fc!aO|e{ zzoLDZ;=(TP3%E0}AQRudan>~gg>)iC-VRKO3piLHykY#QGW@fa?<|th&*z8K-DZAX zBv$!(o5TJtKTRk4S_r zcYjs8jga%&3BP&B+`UhaFrfEaR={$bH;UL%1W|jHX!(aZ99C)s(@Fm1+CSBZS&FNH31P7 zrQ!gL!jSkqx6<0fV}gvr5>p)-SrfiRAFeNP2CnrubWyuv6JnFzda!kKH(EJFu`Mt6 zzAB5(2cK_H*PmarUVk>Q&QKtRebw@PsZqas-?WYamCo8-{@K*A72d(xKL(rWus`&E z(gLW-!uAX;b!*Mh*AN&w+H{g%w%*N_P$CWAmJGZj8#PDVS+0 z7dshE>B-7F@7>5t;<}migZ{BIE0dGET)H2g#dv_FfWWLmNMi{9D0Dq%g|@_19b!l& z8D6u;Ro$}aUeYAt^5-G9)*tNXL75BVmBSX39@D8gO1|YI08XPk!!~5mN?5X|pZVCd znS1&B^O-6=9!}l98?;tBtnT~yjjG5}|7?m9d8Xj5a%^8QepeeC3z`TzW5>@N9{?C6 zqJ!FjTIJ;;r9`}<5TCrC3APdeF zJ4|iL=b|V4&dvS%`z~qVwvx1<m%G;I0hsM!Nkr90+US58gtsXlfYo%}Ca(cZ0Oa2QTX;t;}+f zJ?l?4Zf$S-kO(H=ucV*0rcV3hvu5|8tC)6Ic;Cg1L?_XF;>{+3z@RZtLs|Mcw;^8i ze+LIlX86xB#~MFV{=X%2QGdIdiXjMI4uB5fq0qF-ZRLHtBu)}a97e06sVjbgc+p* z@ej!7kO^DcceP}-lIZn}(S==*(RfeOh@PzUb&GekJDq@n0wPV0}npeVzY9 zEeVl~uUwSi%_?7PiInhlkO<^3xg2zN0Qqbue7iD`WGUB980^Z&EuuNd-G2G96Q%*H zm2=m)Af2Tgx|f_R`+vEPiKIAj7V#a0Nk0!e=!aro1!*z}^qR`0`bY#g%p7Zxt2_Gp ztSsu*GeI6~#s-MKkjEEQXASycq_@s%#d%LDv=Mu^nU2r=3WN z0Fxjghg$)AA+aI(COv9cez&SAY*AtNzz6Y#2_UyUQx$~q|FbbW ziJPDnN{%&_>=(Qiz3ySXS&osW@X@hmY?pfscZt> z^Eb5N-Wae)313R$54FQc7FSFcq>N5*^)QF-ndvD&7?35D)s1jE95E)D4s*qNGU`V_CK)t;+Sct#^Uk4UXWU zdjC_Qgof26I`I1v8FIxEl$gYq8Y7$KzJdO~_W2+k^Pm)2-`!?l{$2GR;>B0eYXP>WUQgYN)*B1N#&;eOfo8aB^O01< zzx%RvjwiP_XbWD+-uvgrMuy8!wUw^-3ZF%WOnSmvThhNFBC#~+v{T7JU3~8ywW@T?B+y|MV8ag z@re;|axz->2g$A1Y|r%IYtw1=Czd~BktGO|tGtlUf}-6E!R3XZ5deRv_wYY{oE&1< z&INH6Kkx0NkfcAuBPP;6B7)}qr6Ol!&)_EtBX%A`ulQkaW=(Pz!ix^XC-QkcURx7t zQt}Zt%rZs3pl8M8Mod0ScX8*tHLfS=klBcGKoOx^*p0-uc4>wSm4tf+Mj7;%A5uo* z@rF4ycr&f<*s)=l5IV5|wL%_wYB`=zL7x;UaRt$w#Ca$S!vVU;>+M{~@w{V8C99xABn^zm&ba~Pah2ZWl z1{aRUlOkCm((|_pO`9ZrW@rRNeUa!2G~uY{CA^CGVC~|c0R`bpoo$1xGqMaE64#aS zyLLX)0!C+_ki_k2K%+@cyd$*&N6(NuC^tgBw6jY=EnnSMKh9qRXWgO2@wZoOB=teK z`3MV^h?<7y2Szt!Lu3LFFC*+*-X6FHig9X2+_mu?2FdAFlz`cmWF60{SBH#YizWZ&GC zC#F$SjQ^ozRa$lb_2nysd1?-W%?X41Tl5MyZA{&A4}sI5Flgzkc0kW1(nYn=t_zo& zM6;D5`#riPW~h(cfWtTH0_3X8{f|q+_7Y|Z1K_wZa^1BH*Xm^MQKs`u-Dcs(cG{mm z)xrRvW2NkU%X(dNv`ZMw+>%;9o062Su>E=1Lgo?!&Q4=Li0DR=vn_|-6Z_@udE(k9 z?--cjjo+74!seA{&h^lu7D5-j!^e)w>MA&mMmX^69*X8~JBC6&k8$HHs0cFlR=5q$ z!V8#m1pYjFDgI2YaMhsL`QlxqK{nF9~VQ&L$6EHq$edBGzk+eW`gMvK|3$RbUw2M-s}POKr>yXOBN>1 zNmMhThjx7s+t{yqI-V7Nq;qS1wN};Zsf!dc+W4cn!=t;q-o|}tUa|u-Lnj~ou;VP* z1vpc#Uu~`i%!qVBhoGy^o?);`r6rZlMKddsJ3Lc`80B9cgfJc*6XDf6AoZ+o zwB=ducmk^r&-l&9S?ZJQQVZ7sfLnykXC~8b9$#r;kd)@^p||tpx=2iYv=t&i`Oa;< zPWarXC5blQ1lFsCg+;|rE8QCT7Ya^O+g7_SGYGb8%XD!)>D>GhWJ>GnH#kU8(>!tr z6I*?Cw`o5(IgE*9F(Fy%N8H&14(#&3Cvc!=LTbuu;!8t(AC!u(4s9p`7O<7Qqs?+G zL(=*+mw`t!@Z!8?W<(D%rG$+oDB=S=oXuR87SpDl#AGQYQzXW;qa1~>P{T?+MEPc5 zOw8ae7urV6(Sk5n$R^vHBF3SHDw9+Zm!ZHLV+K||P?q-R>bD0`oW+`wiLVBRNg4R< z=&ZNQh+c8H3Rf-Bk?YYYfF3Itv4#;f@_iXGy`v#z$@CG^aQK;NAm!)_t9U)>Kg&MO zH~C_f%=getFGhDAzs?F*sW5vZ>!h`i9}WqilqwGROXEMGBY9*jVA4tp8Kl5R$PM?( zD7Vq*5Nex?-PwYa4R{`~wzlbzK{0g!ja~@XyviO?G{RLhTwR}3E{(lxgXy(4c^BQ= z2k2qzdIp-Nh(bGD>8_pXvzdlIZ9|Kp&qjM?xbcC@*|1c8lOYMPc;UKb?0*6@*x0%1 zF4wcm=@t$b{4OB@nK1kI-XF;7Ur^WJcN0rurE-_yCuinXB!Rmv#rZ64m3r7v$5U#z zsNrj28mYP2nkj$Oh3{%_7x#5PN)H#T_Dk5oCfZREx@giH?d%aq`3_BXOxulLnn4ep z1BLDompsP&9O7|!~tczowDf3j;(3_)bII~zkaQJ8&Z-XT<`OeJih(WOJO0@ za?7Lx%EAf)YY=DvPWoNPnE5Vi6`&0f#b!haU!dPo4!7SRhS2D~1ie6{9x+T?X18(x z7K(VDjl5bX+K}^Yo~UOr3EpuDwUn1EG_K|KO9Oz4!JcKQHV&!he~Rh%Hu8XUTL8Qp ztW(}`vlYkjDqEH7XQ#INY!_}k8g+f!)5bGv@kSvyG~=bt#PKvMq^wj0Vg7WU7jMlU zag_>!z={R1Tf$jhJ^d1$M*fUvC2@Z zLxx$n!A~*k*QJ$BVrn-2j9@rW;eEO2@{34(#E33lCBu^^@BWkpMge5Qm&p6s6D~NG zy}n9R%O7XIRSE7bdvqCM$*L2JY-Nj4?dyzau;AOE*?Z1{7UZ$gV1NM-ibtYvA%SZM z44n$YzsENRP3u+@{zOU#l*>vTd3Cm7Ib*@AP7G_(DFLMeu{z80j~CZgIw@{J?4)1> z(9!D_v+PA55zP@j^#*$i%nY!}rilH3zUcR0uaZsu=}TcTM8ib`)5&s*?ro3*XSK~9 zk zew6R9cdtCKJ=Ov4Kyoc0J3XtV_Xy~6qiouwP|S68s@n%%#*VkTWLo=p!pZg?8tq1l zw8g=LTaI3%MR+T-Ne2os*luWcyOJtt22Wq#+he`NJpWw{-{e>U(Zkx&jq}zNT-U3f z9l>`a@lq${4Zeg6=Xvp=FpH-DT==~(lCi%vk>Tr!N7+>+4{$t?oJHtX6&-*=fQW+M z`P={0q~a??Hv~gY5yUgKmg6oh=e289B*&7KJF!UqTYBqkQb zx6@dt96~hgMnzBQ?bHfB>6VTkHKJ%;QbLEQz)AtoN(x%~-~V{`27V0GS+Y!}#*r4a zKGfGMGXsb;zm^~+6Bz3ou`TA$qvQ%5duz)-JdbV+K&SAp!s`%bln+$jw6EHJ?ars- zfu*2}I{M-hnQd&t^WNc=^T`mDG3eL;7ugY`@A}_#nrDC0X^>SJ3k4J)=%;{|r1J8g zuF^>9EEYwg*1;GGiPgNmcxF+y0NF3k2~$*j2$$%x0_y+lY5*}}!B616psNek{&x$C zet=G&-eZnHZmaQq$CT8TUjOqG=2&#B0B0(rl_X$P9w2TXf1BZGM=V9BxT`%*w{98T zNi}%1<7Q;qL(ACXlRLW`D_aMCI8gLnbl95ak|8F#Z$x z=*j2yYp?Sl`~l?`pyK)@@Qwn2?x%fviamJ5pDA}vpKD_*$EL9IxSOz&VBP&1uq)UOUC(tql zx-KiHlF3i^%v(RZB%DP$H($VR@0S*F<<~8-^z9wf5z)go?bHnm$^a8|0Gd0yul57a z=<5-udcM9I+w7(fx3WTC@u#UW@8wJxFKpWu=H16emLFYS{LS%!{SGfb?5fW5hLjLM zV4J&YQicS0%9j}Z`#W_1U}T@Kh=Bpl10LIv*K*a;eQo}!-fx*to~V%r?5RbC#_!sB zFxp&mMD!8HE2w?#w!Ba6s$YxeRZ!gD|8Q^T$RU7f^b5_RaL1;)#c?=)Bd`+tJ{Z*g`G}#|dl}h}|IauH;Gv>uR_-`R-x@l4)l?m5QXw<+ zlVo+(-9Ni3zJ*Oo2CM4YqWO-}4E@7V7@eQ?EIAMP^B}dea$l7eC2Tx;@-u!{p!Gz9 zrz#<5Mrq5)RID-2XYN5PmSWWVqW^#Lxq?x6hNNa?v4Zraj;v$N>I3{yL-~IlHDFv; z`Q{J=arkbhh(3u2WN_WX=Enq1K3mo}kQ0fToZrHhA}{`E1lW{Qan0IGuW5SFST`W= zSUHaUfZdYZY?JoBq;o@z-^e;FWoveUVWN_KR+(5qn&(-x9?`{epSmzbF3vSu3<6Ph zqUm(%>iwSd3Gt{B4C2(k8lh`MK6o;Foa%6}E7Zrvv;FMlvNsH4xq4qBY^)dz-XeZr zH{lv?DS%CCDtq5}=U|3T%<)beBOwjI@P}`@FU+>ILRSJa5oO4Nv9;J+saGvv1R0f^ z6cdb5{Bjo@f);u#28S7Ud}*1n3ZrEmPv|_8?&>M1%3jV=K_rGiWw1UD2d2$v7l~HX zjMEV^rmt3=Aa~1cD#Pq9=+KOWuVfjWfp2*B?K~(j7&z143|u>>z){C%$Nh>4QuV;| zlfl_{{DwYmf}Tot;84~9RX=#&qI0nR%ft)!-JXYh{F>y0W+D@p65Fj$_)}G-$(~gh zn$eZ76g1vh_Twyw;D}HG3K(@6;f1EU4hE$8^6moS)7;y4HUKtF70n53t3b+^Ew!x( zX{iPz^1STF=kH8EX%Og}UwogJ${^t3u-h$=BV$;}TfABMt0BDlOJhbG z?(HWCU_!_vs!Z$196$^rV96KDBepyhag-ygEy{%rppI>(lG ztN#C^W?sPf0Ix{px!#O6%lv#WwkB0m`Z1nmgYUwpcb0nJsFAxMu-!fGsDo^=a?rm7 z=|#VaYQC!}{?MTyNHKd$rq3B?bVW2cigm6mB3^VYHbI5-fO-1r{VhNJVN_V<`~*Z zm=^p~nQ0qNTPN|=`sTy4z#{y14U)=!)7Z&AmIuOJFDU1r*)0jqvxD9*Pjg#pa}W#P z$@Lo|&0mAijE$I4cn6wdeS5leI0ya%cozhmX4;V8Bl8Kd_@MgQJ^%>oY2Dh0f3+!l zdu|^*_&cjWfV8*x!b1kKj7&3GXkU<1NF;A4P>A2_Qxp63ebl$LcXDelut-RU4gM3WjXm3ISA1Lk3O zg#{IxkHt_t_;|5%Z;H%#6LLfS$4TRDX`|q(*tUV6@MAdf2YpkSkEzw&@o-f%JX{6g zAIy}kq|GGf~ExW#dV#mL^HS!dqo|Q* z+~1ScD*jPx$2)B0{an<DF{A!4lv1=BGFXCfKBRPpIDuXh>`KH426^+z*Ao?B?Ne`gL-!v06p)!<*gCF>M@*KobWvx&*uM`jvy-RlBOKrA#we4umDp4z_eweGB^>gcK@kQ zN&NoSr)k*lah*@K;aK8A9`}x=+*RR5o6WxB{D-pJ#6PT`JU;7@tiPv?%VDdp31gMYX z|4P3c_$`Ov6_F?Sfr?R2UdYk$|4v&J{H~A)&{9r?4)>_RQFkTBoq*Tp21GYkRz5hl z_##^N9nT|=i8O`?D`Dh=v(IR8Sszd-Xo95)@ASJU*hb$m0|{?h3HMeb=W6e^$@l2J zCW1*rj1hMC%+uO9acmXp$yFb60ctg&zELl={&T->=|N(jiclBGSR?5Q9ev?mj)Gz% z+uCXF;Af_1U$!CmgS*X$W@+lL!{Ni~ABTgp5mDh|7VxBg3r&?qCEgr)xka;lTSR~~ zX$(O$HQ70&Usf%1>G&;WKzZ_0ek1ZOugB(?g6;UH2Wi$j+JN&yFCF}e=R#F~MC5s0 z=f8pO9wp1zAUBtQ&a|J+Lz|csMXpwj^S0!7Mm&RBl-)0}!){N%51~VN-d%mGj0@iN z`@&qdN3!-eZLs$@vL|y+A^&aTM1$x9yd|{gOLQev)N1^Il(S^0tB(%`fcv>qomXn=lq#QseYsQ1(a%=4xy{-u8j?*oydywfa4TcK{;9XHmV)&X=#9 z8MFP0@l;&kRSS7JE`|gpGqBU`jK+tSC3Ic<+OV~Ar)jOy%G{BE*AIF$R9%0XQg z?abOvVcLzL1!jbK+K+!NG53UJUhS;c+I&9Q-DFC8gb~u(-+beR0)`ngsnX)pflN_IbzoHq91F zPw;s4_ym>vf?*!ppCV8pj=TRd>D3pMss*`A? zb9QMle(gS|X-uuPJcG9$NF!ZC#cot%95I&jpyZmnV$c-V75^x}vJgR6y(R1TZc;Uy zpr7ZPPW>`m)J`A>k-c%~g<+F+0y&fx!AvZxF^IB2?Woa-wTxpVbF^5ii1E?>&sCZv zkm;Xh-j_RTxp9s7hRv;a zzleniatIMwI+lh$0U9kXk-ts^mpodu9FeP3p@hU~r-QC@Z-cY)cjO!JM4ioXuXX-s z#zX`gTn$WO5$jjwh)5OQY3zmvYn`}~lGX|+?Dt=iS$Ykbf($I;XrU zD55e_0-s$0Po-rkUha9RqtJmZdWflkuA8J;xA8cj-0kRYd)-%?*_a4e6nKQm?~O8$ z(zJYvz}^|?VTG&+aBoZ2Y_$ep{mRF$%~^d~tS2CB9PjllIDSqrkmBJ}`2NZV^{5xo zHe^Ulvg~|7>jf3L@P^1fja0AiE3Mt3ftn{86*d}i|+@(>j+)Lzh%qZ`I4EZ2g%_Ra8yb<6NN1gSvZ2 zM}1vd4AR)hHp!#t#=Np_g)=E4W^X?lByOj^^`?07sl(1Mqx5owpzGm|IjKZ$3+sUA zp#2>pKA>MBbmfjGw_EC1g@4jcEo>2S7?IC;INMe#O9xbPED~?9-l#uHKIJ<$WusiW za!Lqt(m()#6-U5KGYXh`!=xwi<#S{QY13a802+Ro(xet)WE+VJ0!8#&l%@Je&x4f* zEG?I)c_E$78{6dNp}#5#Tb6jKZ*938%AOl#*IO2_^42neZg*V5vF5`+m!)K++WGh< zZs?4Q$!g!L8yWGF*fR;S;*co5FYEME%ug&RAne_l7v4zyvvjJFtU|sjtl0DY27Mu- z)KnXn{_5OSws^AJSM8*_&cD#30LFvt2R?WC|CY7S)4+OCoCR9^vFGkbEl$0fie?0k zN8Bip!6est&0X>+xwdUDh?>Cb^r~jKDlxMlPbxRQhFrjW%kjuXlm|hKr2jQptdR~_ zmZc2XQNDA70fuBeZ@etT+b}i}k2O>)7Z-!J95eVIv1tMg7pIssyttzhp;yO;rVUZuM+?6 zwD}rwNEu7{pkmQmNwd(_`2>f!U3#B>fEhXac%d%{-{!-M?;T)iO5vfCKvuxX|oqJ=_jEM8^8-kWzScJ|BYpf@{H- zaJ3VaSvSrF?im}p<2Bqmcp!Xf1cT<1dRcUGkl6zaJ8z~9$#`qm>~eM1%c1I)fy%WY z9E2lU{%)UDqG)a`?wEdzt6qm6B77!zSZ~YwGLcK+c_w37>O`S7k2`688mrkeN3D|H zw!%U|*9#=cq;8PjZ zY`Le$eok%prv<#5@41INY_r-lC=VS{c7==|C4ZKt4Cr_l0^{CWtJin2>o~|+1#t|f z9^x(e-6n+UjeD}C?;=<`;Ma678RR?R)j zuf9v))yrcy27C*T181OuK{^vs9Nn#qV2{@&&vahu?v9D0>c5sbut)Oadd1?xt-YJg z+Pzs5Ezw;yAl$OmK1x=!&+w!-)}D6MAij_N9)mJSHm*EWUxFseCJ*=RpP;O- z7Nax;qq`0FjFG%;+rGA1s=m)#(R$GcCOUoDA381%KUKY-Gcv}FR(PIB#GNb>-N>0y(M&Oi!6hW1xN#Lxz-D4a@IgHo zN=L0Zv?X(xDnd`~45s@HP_kVijx@tP%FV@}WiruV+$W0-C4w!uvo$jANQon)kJ%)R zpWUHPifRuay=b^2rTeQ?bz3=oDOOQ|@}Grc_r-$YPELOrPgU#CA1<3AzO#7IYVWY2 zc-iYvDt*YFBbI4*+=bJE=uRN2x?&I@BY(?87S2w&#;jBN-RYhV`9-U8;&9%`Q$Q!<{;QlN4cUPg^2!HvYYO>&LN6 z{`l6M6-B^cfHEfIIgeb7Nv5h1pR}>937BRku`hJqM}|7kRH-mh&x%H=J^_?A?Bms^ zTM(E}u!<~{r33HV{rWUk3HW3d@+&`!7H^eya6tyx?oKy2hJHloz#iZsd(KRMAA4M; zXzIHi@~)wE9=aK1*G8qc&wTFCGvWG1C7JlM?rMs#mK2_)F6`YPa?d=jMGd*SIUKp` z8@qJaCDr~JSSm5>0yCq3?Nuyv<~PsimN~YWEn~Ssy_c@gLwKu$fpF@9dZUi@yym;`TCX- zo<%uEdSD&O2TijlEph6OPi&LMoj_ehx|}m-*z0^!Xa?d}BW6T^CSIVz0o9YucvZZq zMCRNmX1V-y=6GnIp-kyU)CMbNJ85rnWoc^k($VxDLq(_p{YxXc)vM4?vD_jEtq9+Y zV*$jct3bmoqVXo3|9>J(9M4qgI{B%S##x_BUh)88&5v}xTZ^FLq&kPTgww0*LAFU=k^%h$lG-W+BU zawR`4^n=<5)Y}4CSGQtH_k&m+L71lV&e*GhV*sC>DVC6 ze65Mf_!En>261G+81C;f1>417rHp$m=_ON_ia&f5fVH{OTIi?MYyH9moTL1#>X6Z& z(}aB2PSn@qb;5MRMXqaRbgMdnx1pejY=Lg%T30-Q@}czR!7$jF5AzMj+A>K@9lS4r zl`XD{MAqtN62s!MTwZXMn# z`_(>8z8e&neHVsOnfvJdoS&K*7a7dyIxZQ1CBSCS=nH#LPd+P@_}5IWVBl2j)RpE9E>HD>F9P zD=H@LTJkfUPdL8~TAy3e9Rerho4XS_k|3%&SG2S@S=OR%Afv8>6d3^@{lpFfxSXi= zASuz0@TYcpc$s^M-F%nOwyq7`dCQ-pYY4UDS*M2dK~RRs@F;7*piqp@2cO-I}zh{OR9 zDRdciqi|83MQqZv?fgF1cqd&%)6WV)o~pgBE7t-XYL84NYh}yBMGbQD_)dD*GP9B3 zPBJ3jkBFhcc8Ts6UBV?)VBRYBi{}l;LRtC}ABsk8g6^|*yuA!;ae2%1WdJqL_@$}K zl@v`wVNOLQIm=HqjZziO(tb#*)oQq#wF(a?hYQfr`F>MjsO-3h)?|rT6_G$YfQ)|A z?o>`o`(Tim(212`Yt(>|%8ifYqnC!+m?CPraKn9usU|_*8@qgY5iIT2MyGw1E&4ub z8;us;;pAZQJU+c$UeY;I8PNiIreM*hAG>C*Pt@Q0h}x;RHS@X2lbew%I{Cn<+yvF0 zUMvQxDIe~dHeN8~7H`qwg95R3>Fy)%+QpSGm4OdZx4IfsvGq)(>=+J_V6xZX>n1q8ABpU{<^hNVPfNQoEsd zuN&^Gb}XRnC{&7tOkPIx)}q|CRUBiw;X+EpFqg?=>41c)o4@Sl2gImhie`M~g4Hr5 zz=KA4-l6Xe?w_lpC5;4#RF;VgU2Sbu`|O{u#51*m^e*yu(r%^`-T`ejez`eCXUl6V zy7S?VlY6|*nq)A@INRCPEy0n~hF?B9ecR1Y4CY%bY z{Ajp9bu?49cGj3yUI3bI^fwk!39+aKu!%K0gOP~W~hnm&F{0yjY-tLa?D@ALh1ah}Vk zix;l{&&IX$S(diZfw*IklY6a0OVZ!{X<)iyePeZR5&VUr;>z_J?<%;{An;Pqs8|*u%DKmXHwCnhKE_96Y|6a-B zCS)(RHo6_II*L+)%z0awhX*v=pTNI6W#Q}*Nncm+1O)eGfPtrV*H&ipp4ivc)Iv2qp2)qFmLj@ zAdj_ClOzT!_UqEZ?KGuD^0`ni>T-^}08*7Zh(T0C(-qBLT&{op(O5?r0weFSI6yqE zW7DU3c>KUAl9i^Ja&nTdfM+>c^{GiB4?mdc;;7;UP-C-`_N%2>~YHSe>H0`s04EH^hGu?i^*Sp}C`wQF(;zZZM9Nr?hWdQOl zKkga~&I%wbhW4r>_5+xaJyo zX&donOZolUOEP2$v-Nx<5|E>Y! z0hj%1k-1G%#n1KZ)t!WxRPG&mp|hr}=!^G;cRB;Z+r#BhpQ-j8ryG8~OR=pMyA`f| zVjxyWj^eznL-wNgmW;h5PbPP3(@p=Q8oE+vz1`>un@(%mSDlc4NSv3qkE2Dr+VC4ae!CrXFO8xaAD;}V+llOx z{^&nAeT-}oY6snlJ^e_R3&?ni@;e?i1w|9P8c4zXoo2*&2qSy*u8ZHN>}JAhX}~ zn5z70P0EQz1N9>+I`M`NVH1q<_tGSi~ z$RHPrg}fUM^tSEHkWWVA*fS533Lj*io?GwczgsktC4xKKv_mfMyuD6?jvg~?Q3nDW znM@!htk=S9Pb=pA*Ih9X%X;;yy_mj^DCBlL#U@K1^g%+lTRrTu@DMI-;#LcV>gWUG$2u$41*QwW z>x2t<>=vBCD?KFu#AQb|!mMn(F zvQ-GGDIfIm(6U=&H|Ae`y{s7wELqryZ9O~)&%zcE!$7J|5rbeaO)7Qnqy#Lu$3(@)aXqJQn@emonz3_CoP+)HRr&X zi4vO)mR=trIq=J=)gQV)uwr-*(lMBu*~q*5jgZQk3>lKzGBxaS=ge)n%sa^gd;*g8 zeT|mo%nz!uhHsMO)2r~zU1c2Ulglp-Ai8?wnFo1B5iYawa`Gnoo%anUPB83yIv`{j zkod)nI|e*$`wu_e!cQt8e+(3bzimU*cJi7!aixZ!>qEdM{gtsylKr-zKn}q`r&I2 z(Y0f+i%Hk6;q79sOle5WW*-2g4#_cYlEZ28ZxAK87XWYDD)`TBRtWFE1Ndv0H=?m{ z{5vOVXmaSEFM&>m?ZEY%$bY4;0wIb_so&yhj(N#5UG0)mM6>^QPsH2j*D(QoA!2_IBq?gSt~4C|EH7Bs=VVnJ1WGqGPruPvo$ zmwvzBR%bFLdeYdGRy@icx^k6mxIIs7k<8~X%iJmMs{3G3@@(KA3&P+Z=-rL3N-Pi& zt<~EYV}JygtsS+A$H%il4qJ)#veS_dya!di;n=&VhpZUIMPRMazoGr>d!nLhg}~tB zFlttZ3`=(jd@5E2%4(>8MAWVjr(0KoXw{8V0MPhrlFfgu+Zxc4fLpA4n%{n&{vSzj zbDw*L0D>o12Gf)bMLWm0cTbLdth>nzQG4+Q^RSRk;?9J{X#w8Q<;PA8L+_XJ_9dsL zZ9i?3`GZZR%2P2aa_iDBR?U=*uF)!#ikFIh8 z%)Hz!@M`5$^awzH$ps=FU-QmhiFo^^)g%ACyOYLO2WC*(WCu_8a6uM}gp|pkX}9~P zE1^M5TP~mQp|;>F<@eOo`_dl^pleSqO?aJEF=hlfv?_@lGyhk2&;cHc7r+o;x_eRZyx-+6m>2*j25)uf3 zeZ4fJoDDjnk`xC9E+r&nd?Ir9b~yiJvfucDXo&G5wDnPNr5FoojHoK0oK z=!QQp)=k6FaMEWne|b_0JY_>`XZ&FwM*g%-zlm!UaI>ecK~PMswf@U>!XS{PV^hSf@ynxV0E3NWTz<_T zM2;vw-n#W&(2d@X9W(BI$1!a11j-;V$q1|q5vA#5fz{CxbiRu}WCZ=g*M)kkRP*|) z+fVx9s^yJUEnLX$hQgIdAHVJ8wgZ5mvAT7dxs*U-)C& z^izbW9Tt~OwIiGtccX6At;)aZrN>g?d^0o`kNaY)$--~^8AdLg#Q-|hKW-v>sq>|g z>LUWcW}9O4)V~St=koS{c2x(7bNI9=5J<=ZN6p$vobzQb1PKfiCi9{8DR9--4Vky~ z@%dk0FO4J)*=UGK>R#WKe0P86S6vuL1Em$Xy&&RtlmzQg>!UI^Q{=jhlUD;(B$!SH zi`cwrKFo7DBZ|LBhrj+7~6jLtoQvr&-)L~&*$E~bFTbe-*cUFfZ$3hdzWSDEC#(m zh8~-!;kNhwS&;e%I_7)=cEz(o?Mw@H8-U{k$PZ)5e#0T@&6R*;Nl>aoq2@waDBYs8 z@Hc!~ZPwq?!CmqwcWF4xs{wGEhJ#1Ohbn@^;`|pq3hS?`w=U_Azw~=SvmF|IEtWxR zi%yNk3aXHf!vsJ>v+J-R;`%J}yUq!dxo(F#!q-JfJ@#TGzI1N->|gFPagkZktd9uT_0Bwe84r1iaDH8MG6dXiyCarO{<9?u+K9tQ3yuc8N5GA=b>2T} zitj&r!_Rg*VwznE<{CS|xItdkl@O7v#O)$oJu-9};$)anJyO`G;j<3h8F#4bzyHAr z;Tda?Ng*X~BFMBRPrNarQUb9yEmm3o()6=K4R;4Zo$6gt!tBcWRM*;&r9^bc0dv~& zgHF+Jo6mGc;SL-DVUP(NT&135HVU)PJCF|*?*&dU3Szro+TG~Ektr{KyK@nIm5_Pk z_O&2XEkRJ0ZQe3rNCa@AIQ_3Xf$4q*UCzBfi{JMr|Ht;WHNl5rq;GCyG)YR#Ju3>2 z>$*BAS4|~(+L0-|@XDz~P>dAK4jf{7-yLXuig>wWB31&la2%Eyy7~U;1+YkPn42Qu z*ywcMourRdY-blveNhOU65Pib=?9zy@{7%22yxg8t^9c9%PTL2kko6KDwHh6p=1_r ze&~kJiAEhsg#f8vf;$cSh=B}D`)ZiyBe0{qYwEE~N2>7bC2Vyi+No?5ai;s4`Bzx^ z2!Q8P*+qC z>cU(<%5gg*ESCZ3DZ{DFI_ZegL~P;(3=L3r|Jr!L7lx}Wo*0JTS9mLfyL)sDf9cJ0 zN-^AqVXE9vNa~9a)3>|f8hpE6^Blxz7` z2XOu53$Zt|t1iwrIckJq=ly$Y0~NXm`t4XjK;IpNQf8aul z@&OacCmQ(~3yBBAkuvL{f(zM)SLbP-;Z9_c_ZeHDcIE`gv$F$AE7mx>-das?d&-iz zfBW$ThY9ad-_aayc5|Ss99NqXv(j(u5gcEX|1uL>bm7|Y#Qa|K+Ct>RTO&KSNC0h2 zpr_}VsU=E%vzBdib9?9=*|qPk<*eV9{*`=3xwo;C4JbaflGA4FtWkv`XZ6q%MPha% zvT)xw<1;gv3DKeHwpLHbT{(-Nk-(KWN$AP;dZZ1rEi#`qRs@q!s@fh!2h$NxL=s*G zs}y+%#ErEZa+`C*wVa)W`8q*SqG`l5te363w#+RY5$FtO&Dn`b?~nB#{p3G4udS8n}SJ8zzJQOLFhJ^TK^(mQW5B0>p7m%voy1M_R1~ELcSvC#Wh%B@sfLCsH#p=VhydgYi#KxAw1rK zAvWEH?#`DWOO9~OaouV5D~tYjhfXzeNkdxQbXc0!cw9GVL#@C8o%RMZZH6r3D>c}n zgsO~$qnN(aY0-X2A2xl1)wl<>E?43e0_%7cSQ=S)2ho3GJ%+Vj+aoEKVYGKzDBL1K(vk9DxogmO!K^hBd+7kDSN^FBxA zUc`#*IN!9KCfLrZ?KU$1CLQwb^KR5pOmv`eAlea@SQ0spJ)dcnY!ItCQ26-)%y3vJ zy@%9$m;QRd8q2Ikl>cG;}z`)&upP0p{cJYUb zKG_WJ1_)7kc+K^-6*V)YnD~CRLRyQ`nb?4#Iw@HGp#mY1N$oylh>*M3Bn(Ptoc%^R_vs(1nFj zLMejwG5)7Pvet6(QYCx9ZQWD~=b$H--k;7^RY);MsyJp*tKo6*yBSrC%S-(dZSuIn z%KmCW?0qMvLoMp8hM3J+1xocVCv$qb!4>tV=&3y$^jwzrEsCh-gN?02vDqruWCgy` zFE0*f(Yjd-#M9nbB_tzi^gTSXjpY_NXr01M>D@}0ZVKjrECln_6YF4dJm)PVOeHgP zdhdRlk=f&GQZ+%kT~gi^16R};Lay*o4bRtt?dF254w^b0XrXVaxsWyjNJ`6TiF9%O z{k@(e>STSK42Ar;N;`wbcJDuL1kqM;Y@y<$Iz$|M8l+PnnpV#4kc5N{Z3Vns1wH>0sK=iE8%H$kdsE9EDMk6y+u2IwoSLbPqXM zlLaHQO>ga?)LndwV-{z=xGoEQ*~$H*g0~w zBatxwPQ|SLz|VVGNhLK&qnq0Slg?&v#hLmhe;rPN@ei|Pvq)6RA{s*(9aD2Ljh_iQ zv0fusx!vPcw|5Fz4CM%bp)?s4y?Zmy z4*fP8_fF>7OjVtV&IaP=BFrQMH$Nv7d7`HVjK(1yXa{>=>myS2+7pB=d>|f_Tl2oi zaY#vA8#A8uI!tNvNcjvi3*b16atqOZH za0OGgHoL!FaL7O?CA8gbsPtZgG2apRx6>IZ0@ayeR>X{?fJKwbog7XayGTRIoyg;T zWjqGOL(aV7SIx#4yfYT3zmOrQy05nl3sboP=bm^-QdP8@OT!>|9-#pTR#k!&=j>=|bIGqD}BGtmxvFN=YuZ0bd zP<@n(Y`*(t3rjU=UB*l2NwF1Bj24_J-8*P^qF=XUu1hrTndJT6r-jLJ(@XL zyeY!a-EO<3*ljs!VJgzdwmm5}gI2-yXsqwu4(>+l*Ydd`8>FQM-Ww;`4`yuQ{Xu(m z9_ZffEkf_hAgQ&QD7&HB1(S+V9|r0aAPs!<8NP_~I>7Z9jo+?isS<7J9vrb#eZ(+6 ztP8cE2-$Bx;SciCmG@j|{?Y=g`|fnFmiK6X*1Hi2U$8U7Qa%azp>0-T42H9XgGGU- zHIC!$;jL9*$ndeY`0}*Rb<&VC7SYXc73|p@Tb8et>S=L`Xm6z7(S=5{S3-ri490g& zg|3oi(ZlyF1p}|hOBYUtF3;X&7qi8Bpo(~3?Pb0c^s9duU7%fpf?Nhtq|6+6KDElk zCxdp{fr*Fe`b`!dpZz0O?&YU6SQ~*e>Aq7F-9@vUN(yKs@dNa8_i+V2v2Db+k)!#X z@$jRd&7+%$-5x(@f$LY+CURh<;x0q%rZ%h#2{D3thlT5g-gEV$zV8$(?z!4Gpm&R{ zoY!6)Vs1>`IDq-SQ*M*6$*3_q8FsHj_Ow${?cS>ma}aDgY)I=UFO>{L7 zp#u(<%V(?fmTWp;@)h#8+qgTLnp zZt)=dC7JiLZDdw>9Me3=+ab5{vIFPJ``dS%8BqqB<7pG%jgk2ftJ!^s(0)HZH`1E) z1tsN5^Cpq+c)8gf$?-i!QkX{a?9xpjA?Q*4ye<{}HqIjS#dR5u zwLh2m&`T4x40=1yT6w&xZkpQv!?WY0-y3riZOG`hCIP;!1v{YMb7-B9PvM{?QpCt4 zS(RLod@h*Iw0!D|giY{cF_{Cef-<*j9LKY+)R>tzoCd&bGn6u@8J$FJ*~Qky)!83x zqHESsck6P?=zhtB_<`=*wIGE4kVCE`C)LFJ?@zb1*&m2to@2_44&6wzmINBuCi|il z;C%%rt8#L8%;gC_Vm{ZcM>ZCX(_$t#!IGYBX)|ES&;tl2(h2Pi2eQqj!rXL@1+z$u zrlZM)zJ$voDNK*wY}GuBp0m!6Pg#uj-kZYKmn6Lx4QxvhtWSJpCZj#DQTkz|w9mIf z>}=Q`eYj-?vUAFmg*G05`ccb{7!5|G3PL%o@S zu&+;-w`C~tC4<5OV6hdxqDvKl)#X5IvDfonsx?V>fx@jeK;g+8fC!8dyg%6av3+>O zwDHrKfjqiHA|N@5KMP?sgIFJR5-3*4R>!T3w}A4joG;R$ha|)MBY#|;UsrupZArVa z$XLOpNpSYR6>)!5Zj^02oTgtyA)B_u;BTVxvNDhOBV%&;e70HM<>q!b5#A za%Ag#n4=fgtHQSRQ?V`fcKh(Ggfj(45Rp2g0(pIyj#LQ-^SGAb&^=i^q}x<=QwGu8 zyw5GHb#EX{G;69Xj3T7Gq_0stWNP5q=KPDGIc7!hEFyR}3~8D~6zhvng0H6*L7Htd z+KQN7w)IkVpVsx9qV>Ld7vkiT!{(@n3wD5fhDfQ1BjKW3wn=d0fz+$$)uUXg3A9h) zXlieYbdLaWgdkNa;pNkx`7O9biZFjw#T2H%CxFO@;02zP&F{i%rua6)9A{F4??6sY zD!9dnT_tAUYJHz*mhWvpr5SHm4sDo3L&`(H^yuk;t955> z;_Q2e-WH<0sjhyk6pB-|^nFyr=QPY78+mxe!&G!k)tb~zF?uN#g~lnh&H<=~AKfE$ z?xBbiXI7sVPj_O34?-k;mytD@relb}MM@=Jw0CXLID~h9B&F>wA7RmA0372g4@%#9cbVm<49^pMI|f_BEMs98_2)_!!7lx?W`7P74Loj1_sFm0N#_ zzjmXR3B%levPdGCOOdXZx3#juOLP(;%w~|-Oi&_h^F4&Ez zR13N{IV>FG!sjUc`_srDX5kjL~an)a`OiEDI2 z_kND!_a6o6^LW{ATJLH|owsfJ+?YM6XKwOtdG|)n-0fUbf~OJ$?esZY!6Sr6Fy)iB zAarQACn%`>O(NlSzfk=-LmI0nU5}{pSzfB^{9nC@d-D}WofoKy`<6UaOS?%N^jBgG zyf(#4XG}`wXvRL;(qjoyTdvjPJq%)d{PtI_#`(C4uudtWMo{@sNY0H{q6WA|JYgs+ zl&k+^iw2?M!^?Ts2^3j8Nl>3s-l?n1rO;)Dl5shIi$GHYrhgOfAuL9f{ed;@I1!-8 zv0G4Jk`9^VHY&e-<2-@2!P}wt8={I0#U6zWkY9iEPu zpc%K^vq=CzVOqOO1i(Y}l5=s{fzqOg#2(>E?jz9lr>7fTrLTp`n>>*faKXU!Q>JQ= zvB<;~Y>X;foGj%`#_n0#5lkJk9gT6fW(!1#Qg(J7(je(Oy(FAr=wc-Ox4=D?(zw^c z&3EOWE_Wi0dG#H6s$3 zAE0_g%rp$^QJ$8#H{!MS4B`9Q%En~RzVP+Opxy?0kH)EIi;r9AghW`KkkQfDCSB~4 z?>+$jWrBX3?c}0L?e%N{(Q=>Qv}{Ou@I3hZX)2D#OicMg&CDhn+;*8U{I z1l^<&;#BqMD_eA+-t8U>JN$#C)BaQb;hPp<=$n~y-q6<#JJ_jZdEUCASz)Sr99z)g zJ-K!w??0olj4@F_jT9koWIeOM&@Z7Ui0(Wpo^%Y#V}L_bP4 zKa2}}J8P>XV7HClWZEOgoZ z_N!Sl3d=LJbM2-l5`KQofOjUV&mGllbYD1V9o-@bQAvae>A+l(HT3u4z1fXykuG6L zPRlPWd>zj^RY5{9Otl%3gciLQRsyd0-pbBP9^ygXcB7Mjs9?EyC3JudRj$ zF(1zZ)Gov9S)%doZdPnAC7QR+YU`jYf&<&`{|K%gjT|_)V?#huzN9%583YUPt*|7@ z;GhljeEdHCA<+QklA?ML(d$5MoAbcY>YG^cN`6wKZ=ga)zg}G;Metk{Qcs_yLQ!nm z6ovjK*_=Y)!$J|_L6pL#A1XS3cHgt4SSX~hTbOnNdJgY7$pf?sD|FC&z6*|1QQlA6 zwxjHS@f&~=_dY)d9lRB>dweQ|E6!g?0L6LZ_s3kKA@PX5>OpJ}Q10>y2Xwt&+|&*< z^uo6FEHuvs+;tlFSGp;BwKQ*1xasg=m%zJn(U4ud@S+qUD;wg)E24###-=MdXv&%` zNu^GcR9{gu4~h@M^1JUUElqWSYhU>%DZMuv*#);c^50Jx>arZjxRmPlQ@L>yw%w@R zeboa`Ft|KhN)QzRU}Rccqz6%@=8-M`1OSZ2=5^z&$IcC(2U=PGSl>CkG(iRS%5g4{ z>1DR#=&*8avKPn?mc^fAtMcFUKijsMTwzvpqF0tuvU~s`UZt}47e783VmqO(!%RS8 zw>zfSu{dB$A=V0JpOd)>h7Puw9Y3izjmm@oU}h>+#&@oR&zg9VPymcXOrg8{<2>W0 z*7<`3+ERot0*N`Fz7mG|LO@o8*1m|ZQ4`#9?~aVIVI(2DaH`Yo3^sLy8}nE4>~af{ zX_%L-93HXMc|491!k=hHmjpmF_hRS&rm0bSpo%*@e$eCzRB;~k-G8gNxn*y&Od|eM z=O8o_`sm75{lm?m?{j(IlG7Y>7i;%DXVH}0*o_*vx{s3lt!9|Bl!%j2#+8M8xpkj- z1$y3Phs?6d!3Wkq+VoTHPJTZvgAo&OJ_M<$sks z9bIEsta~}hqW4A17=HEs73dQ}nA@Id-IhX&F zF8(tFc5QP9DAmGmBONpgR(Q!z@UI^rqJED+PSSJwCvA>|_c<2pL#*DQ$Gw^fuU{cX zcYvgLcn!_EOjxXqt-3z?snxpK$s$XsV7F3bUwfegHAnL&~E&+eO!-j*gAgOh(4^j=ZNYNtr4z>oV>wLHLSDV<{hYk z3k}2h+q0pOwA2(rPC*_1{t^Lg$kKaw`D!o^xwl(SmxbMxT6C*a2iyUJJ-EDi7*MlM z;K(A!03B2z9A|@$Gq6*oqHpBC_I+*tSsYVW-sIY*5#y&lC9rctK3yLV#8l3#*v47>kc&)qHWky zg2k}RP@EP5I@GyQt!j=TAP!k_?p?j{|K)ZLkA<3@YT_j;s{aAI*yh}2F)Gr@ilIy1 z0COUyu=AV(jlJE|ZbisorBv>k7QJ>nHx}yTaJTv)@*>Up_Tyoqh0HI91P<{EhXG0I~v)W@!j6^$eSvP5qZ$L zW?_ojH-8M4z~0}s$zR9-iS>}3ugn05u9>_C8HxS;sXK81pgKs)JgWd{TkF)hx&(YX z4B8*$U5Jhj@XbgF{9NpqSCNoj5cL^pcBHM`0q$7z4O({YxiE9oUrAubXnpc-`pnT} zcDfD?>GAdy4LWlj+Ij(f<5ckO=&V{w(iCfXo_F{LOOxb?A>*71$rV8%l1j1|Zn*xi2v4tt5Q+ z$E`T{#l-Zug=S{Ti=)Lo3zeSt%>bsb@@y|FCWOw(NN(08F(Vshb(WuQ7jzieT@ww;k3z+P(8<^kMh4oox}@*>oci?@dh=rYPJK@R5SPEaC5azyZhIQYH1gww7O?*T*8;>p z?Sq^jAZd#(qdv4e!q48eZVtjXRyt4N@CuJZQvGXj^!zLV;^MLBt8OCMxxp8xCR7w< zHwB`}$z=6Ykpka(ZW>)2-J=AOkk;yxihx!HK4*0HZS|45?JuAjGS__w__LDf$*rIz zO~zr%Dt>;k9UC6I@AUo8x@2ltjcksm%8!VAf55P?OQw?95YsNH8mIgES?HFnZhj#n zZ*-V`fi@_C$Z&3~?r`5|tILe-Ud_O%uWJCNE6eBcl5?e6ao3kpJ%Fs#0(?zM^6+;t z|2G<%n-T)9=eeLdvXw#+a+bDZC{aAi-*~e1ED=`>%ULY}1eH+4F_I0Vscrs{hl*4^ z+pfVxy3!RuMWU|hV121rN!hQIUnH1`?TA-iJQT{??dV`L2wKujVN$FwCGrNNpRU7% zY{KpdwbZTKF!;B_ue4Eam*a838Z#$54)_Ih3uY;M_72E&0>}*fqJ~{_PwsT-QZXh0 zURi4?E%eWjP;u>7>XN!9PWyFev%{zu?r<1y8mVNS0|X$go=>77XE#kqZ>}*Z2C6q* zvis8u;6s}joTki9+rP3Rsr25Vt2T$Mz-;x#w0DIyaUJ;a1QD#%s79W@rpRmzQ4S#v zMfZ}@cHB_vtdcAx$VyE1pDcFPlHgC(EtsStpflNc$_BLuAjCt+Ex>91X)^30J$L|$ zD2F3<5c^$*Tz71AYA-#WV-}mM7n*;hWP1rZh(mC7NS@Glz5BDk`rlRLN{DDkYfHDu z`@rq|cVCE1l=%1`kl0Wy5;7XLuH*83xz-4Ph3cx0EzrYBjXu+-I(I;MkCPc>mW#C) zqaW5<;}!y(vT^{DN#cdYDyDcco+Kna9Q6EsXUG;;aLW=fdu(046>tQKKSKyZM}?_| z&3SJHnw|(?+nf5yhuC|X&Lo^Y!rrisgc_e>nV*_G-MN!uwb*>PfQaLH-<8BBD}-AO zK;m(r0~sA^-H#zF5nNQmdm+t%UDbgbF7t(x`$kGDf9lt$P*5QH9+EDB*u!Zv)s2_9 zH2RZR20wr}XZt!`JNOL!yV!ziqRAA{dmk1{n^*nps+$s+E3 z1z1y2#8vd)aP}W8^if#kP~omkb$s1zvw)BG)jIfe2Kv2(j!qeAh(MQ?^Pk; z8!6DuAsmb~w+6h|+RJv8@t-DWK|MD5UJx9E_H*HK`|eZGB$i0yI+#MsXv8iSX9%2M zikk#cBApiNoX|l=S81_duSWxEx>o)_lKcJ1oC?US zw=2gafC%~nIN~4oZu2*d z;ZIWzlxLZ@4l?rb|Lv-8THYP_$wmFJsMn)aZD4b*GQ__U9Jy?0{yk0mb!2J=Q34y$0~Hbnu0r2Q}&w*uMXAXX3gE> zN&^y107slDD^%>+#aFMP0-SBy>ds+!XZE7C5f;FA|8qF`kIWGzr%o&#s&_0Cs@e*C z*d;%#5-6q-4A@aK*0emywVsxiaox|sHH~b#yFLA%F9C)CwFmt6p}Vmy9Ucq)qbabg zfQpmGMa#v`-S9(A7J0r4|0Bx%9{D{$g&!_UFh?qsDR`f*a7_z(lCEl5lh8Gk5&qMk zeyaH)ZLP=hA%A8ySwUTg!PlXbC<$s}%?_!ddjw&Z9yzSrhL2t8>Q^z$(DJY<95uYM zX1*Ts+x-7wCTX0X#>QNuUyhP06zX0!IRRDoEbBu{3I$u zR3duk{;g<0JB-h9rtYkqIIL8mf6N%ay!?hhaZeP!?-4~v?+w5BI)>$I=kuPP4LNs> z+lc>Z3hx^g?w{CjG^-YUGqEV{%8BYPCkQU%%SUSj|Q5CkYGUPu+tK@q1 zzBC>x?Z6z`rPQBY(N9X-uxW7i#xH0XmQ)nJb+0`{sPKt zj+_jsxmBgs^KZ#R`)IeHUvX5uoZ^_Fwf`0*%UhRZ5p#-C2T<8 zCb|`Pj@D~uA21}rY16Iguh!ZfD(ahLQa-#R-PRo^xFAyq7A zf2Z0|%|4FxAnVo&(cROltzV^iWh?`UHpJeQi85$35(XKJ95rB@Tqs) zyYQ-6WqzKUs!?pt+!Yy9$l;7h1fjY1WavmE38iOU8O^_yE8=<{i-{tVJ#{IQc)}6I zy3fYvBxa9_=)_D7w%>*L)-{PXA;fH3M#hFNm36IWMdhlTTVC^1zD~jJX{rSWaPmJG;xIvt6{9r zmblCJZw>ADUDf1*P(PTombTsY7WzucSf9U^=`)%a=7wSAWBp%IX<_shCkIvkl< zQlLCpqT<+9(nodARR5|8cH$BE2HDV@=cv`%!RZJmKY=V=bEmCg^f@RM0|Ah`5)>H4 zxShAFE2>7og9SH-74Bq7g=;nrq*mE|*|fTPQj^#&+c@R0V~%iuaWxvPj@o_lvZ;Q{C)}e}qnA@~dwt^Su!M zGiw)QpG3^4kMj(pwvkW5*M#LL5r@Kc`HmYTKJ}xvVhd_pM^`^bfl)`}QZl{e=kO_R zunYtPUP?~RX@bif#8)d4tJBHe{HU!Ej9pNQPL`5c8~CPXeKzKkRRwuX;`Kb=UAy>^ zbotYqjNag3gPjP@ah>m#wU1;uB*3!Qw?;)HWuDseOn2Q?f6`$8yujxh&#NCS=;x5Z zyo$7aNOYD|g1o0*CIyi%RrW1CSBXk*XB66tykV;BBeCm7;cjPPc9NbvS(GVsz~PizS>FqS=21vqMa}b z$P@WQy@PNTs;_y=J(k+%Wq7H?sQ7A=WXz{KLuCsREnx7X^ND8t8>tNq+yc%1_OLXN z%icByYrXRlO+9NW8cI<*{KVEG#@v;vVR%!xg5LR8K+%aLDdQ*@j@8P0mA_6s5qHd@@j`jf`x$SjzMR46}v$|4)?AC+9(9L*1ON zma*WQr{@-S;2$nbQ|~|4DFb@GH?MhbWj%h=qH=`%GW6P*sp^?Mx6PMsU0A(ZjZA0e zUAE12B3ZxQ3Y$1_FF&}PkiIz?kS|{VHYD{xng<97A_aI|FZ2b^BkZf5;!!-v;cLEj zqB9m?H@I+b$?p3%hfJCEW<&-@9&{vhJick9o#C~O00pzuL3}5_zz2r-V|6@UNa@8% zr%1I-55t$a7l0Fjyq#dJvzc%0w1Qr)Nc?xq>5UH#ySkjx|26Pa?iH~oYfsk8fNa5m znA=R1WZupTl6}D_2i2@&x@FfA2V6|wtH$poeo1<%RI+IK5b?ws-mhVj>S3*gBRM?2 zui{=UqKQ{xoC&D_`K!Vbi)LxRcBQH}-PW7v0TMXsEei1@Hy>Ndz3OKA`1=DXi)-ZR z&4?}h#+T%@QcN-Um>0VX(FFXfsTxAI_b~58$|qKpDZ{kQ7Dq!e^O3>T{~zb32@aZc z@C3XSCh>BZ67*&*7Le4QS)Ujy*2+Gwy$KNS8Jp10myj2Z`oDwIIPxeByx8)M$-Jg! z!{8ISn6{+Nt>r!C>ibcS6{T1Eqg$46z%)wM<_-=9zYhi?P#sSwnJ$lKqU??)d|#_g z@=5ipF-Mh!w`^myK`+^)Tx6Pn)Wv;{o}~%{)vNuq+`ke1@`hc;QgGnttII1Sy|JL{ zIV{CvnJK2zpzHeeP(9}lO{5XLn*Sd^5>XG@)02_yjKaICGtGH#8Ucn;BnK}eLsS|T zFKlJqJRcpN!#}MQ@s*N`hZP#u7Yhv5Ch z#?TwYA&=v#GK$+%{RGOHJBD zt&=9pff?}>QoI6}$oF5{qXu4&&4el-m@7HqC3mmBI1_*0%DWZ|a)>BWF4MHXrzhl0 z&T#dG@_$tgVFboZ)i~J20Jl97`#yf@E2_9kO?q!(6y-8?k2lII>c)5Jk?>r{&Er$= z$Bk6Nb+CiVt7(u#@#@i4fyzflHeo^<_0L*p0aa*zW*<`i<#&qbVNn%dTnE;(DqKCr zu(^ury>{Q@&jjPIT)krGRPEW9zwq#hX1<6^IU(0KBhFHvun`=#6f-w;Sg%$6!n3i} z41boNr!@32`54gKDw|0LpBCI@_>y1!wtanpiBubn=h?0Qs?v2R&NHkp1ehYWgq6Ku zV?IWvqxeCZ8E4{d{RfDw&w5YV2UfK%kD9c^_42*?!Oaz`ukrG0iSm%*?vdJ~nMUUB zN}L+D11~(ot-}0FmB)BpdY(pktVEhlX`eK1A4R`^CtvaAS<43(&HT@J1)r2nb-!O7 z9?3L`oG{V16m%)SopOt&Sh-Ak;l?fRfh0WhD=M%xRK)F{xC!p>8jm~|&o?2YVz$8apPp7QpHvJhD7+26?w3N|dsN7tLHK8{FsR9RmGGVGw< zCBavq*{!`YI)C>H-?dMy7K6dO-~sU{wl2ox5q-p*N9$5!a zz1eeiXlC`QoR({RF$PEmsba$zd|cdunC;T$C9q7xGy&&%8d2mW6GNnB2iz!o`cAfn z7otNgraAgf+u{$LhGrAgSGbiN!huuiOUf*AMztKA+$s6EAv4N5;eoun_?efu5nr-C zkH|Hb zCz9(K!K)rQ5aX5+n=s7@Mt-+6|L?Yg!37QN1G>}=eUx4vOHm~i7Lkr8S%RuuEx#z4 zFn}Lm){jE}DHEZwc#p?Prv;tC8g&WGj(`sAFCsIoTG-Y%z?U)760C0L9FV$&z( znRdJaM>5?a(ZpS|Ir5KRC&H&vx8ba!WMmioY;3vF8`okAc#S?CCXa=R&XIqLU2q8d zV@nV2wImP*P6(x6RKG4P1b0dp;}M;TOCpk8?&dE|<*RQG2)s_Seasy}hWIu#a%U)E z^SBFNl}G;lVtQP@$McMZy~55l#miUb_rULj1eu=$?-Vr6FGoo;D31qe)s7J}(7KsPwAsT64Km=L2UCJD}w(LJ#PB5@d=&&)>Sx zQSvspsv}W5y}taJV6K`T`|NBzL2$r(wI1>tqZrf z@v=pEUL77&e)q6JJB%>N`stt}81Lxb&)--Fo9tH9G;Y(9<7@s5;fy#2?5>p8Up{E* zwt};t!#JlW$aWVM;8oo2&nzXlS#*V->olaWkZiVXVRmrPSwNz@w5(D;HqRVD;G#M3 z8k>&gJN4Qtesj9RBs9eyPjX-L6`)7Q%`*6!Cn!^mUx0J%SOXPT<}1l)F&9%0FAigj zp_{2s)v5Ywf{hGx>3(!Nj2!S*z|D;ve6lEScAj0ZzegZ(s?!gwje5DE>4KVX@aB$9 zEr7OjM7tx!Jpm+ULA}{~bfB>XxF66&+Z-Vw*q7o@o}TP|@_WJ4v2d zKtA;U(ym65n3)vrfzH=2ppjc)u}kY0&3Nr!{VskctmKZDN(*k0cMA#Cv8`^O4V4ud zb8Q+KV6>TE(HX!OK;N4x*+>q|+DIL-Zi6JvF1+uey_-WK7!0EHYmBOrNbX~ zZ3mM_#vxzZI0e5{b$=vU(zm({p#Yb?s<>Wnm=% zt587Oh5kfnT&&=yN(>#E|KiG9$FVeUI20twJn4MthFZAH(aqRfg2maxb~n7T$QHO)BgemnK0hD|HiIRF!i>Lgxw%**Te_{tbJ?C{#)V?Cnh;zTQ^#p zFJozqEgx!?XNcg&e0w3@?G!44pAii}f=c}2^-!JkPMP%g7k3+g%jKfD;-*Bt8C()$ zQp-FS1Vrupq5%&qEv~)SqBl!GIP2_rxf}=3oGQ*Tc>;ZtNPM=T9pv;@XQey~v&x2@ zJ0Wwv$>~fRlXP-@F4grR&B$!o6PZV(KsJuVu*LL@uE+WqO_##)ZtPbH3AZ6VLLV-}ov_18v&TX;xU^k(XLp5ZWc zCYgSv8gR?hWz`q{P9nIFm^-;x)ML3W{+vJyL!NgNqHsK!M3%nZw;5)+tBg`SdpTCc z+y9kNvmc(NO7X!X7*rzhO8M?ct7z?W`cvT!LHH^z5_efC`sPz#S60VZheY6 z@v+Sk>LkpJ8a$q6h$(*@x#n{|x_S}|?p%Apw(U`a5Rr3Mu^%AUpPn%r8DOTEXNVP% zhoE6y4 znaX#1J8MjshB#8zC3fbV15(j)i@MCStO-a0S)G?RJaV`KzvsyVg=W3@dsdL^b(5*a zCrUD9O9DVIP1B=2Sqw>Jrz^Gp!iAt|>9a31+Gj!FNDivhF{+0@lzkz@#gO!0na>ST zvLPI0v8Ted%R_zA0L~D3GV9goyH@g8W~KEC!+NcSGN+N|jpLwKo;y$ADp0~>FdRsq6DNUon%G!!U*(VDJNMXS}&$68u!7J{^ zu&PPz6QB{Bd4%%G9ZDk^s(XQV7qrUMsN&_?c*egpF8b^(OmBL()2|xOCA|X*_El!t zn9FXWoSvw!8Ix?(7O~>)Zl?S_eTT27j)*S$&_h)H@!j2rUzwyOSXgnF4}Eqq0ZyDz z{-ihbI?4K1#UsKAgkR7F(#YV-2J^FY+w)bkx_*W|j$kIJD zc_?h)eaEh-W9Tm=*|&@$aZ~8=I(Lq|Nlp3o1C(fbw*$!hd!A@z$v%FCpl;)=VOsn* z_uFxhtdaqbM$fg|uqNjF834o5&Lk$zJQ>vUvW~lBwSm)ZOxbPWc<0c-g9R^p9G%j) z27biqWYJWknv_;h;@a`ZxG3YUx`s8I6uHl7f-w^OT$Qo_(hQCX;I!tZ@QNs6<}Y^Y z>d!5DUR_3Q<@{?#OSb`gW>ra%|8M$0ft#?kTwSg9iELK{L68I#(*QJ>)5ORJ>ZArpu>MkHMNX{8E3UJ)x ztDcDWi}A)tr^gGQ7Z<%w_X6{(a2-X)%lviatGkd1ETCq<^}`)3Y+ z)~RT4YXRqO7W{YS06O|L-`aTTN!rSIa~bQ;OUbMgYE9B>G+IVFkUit6=}F;>@@i=L zVBFQ<4v|`2zsBW;P>JBBCJsPO&L()z?%ei8Z8#?Y4HGsJ-c!&w053x1_}U+Rw%Mb8 zL7(MD=0YQ3)pNUOU1ORsH~Rdl0I*d9y(E4_!hEkY=ReV}Jhp z2dx?sFh@=Va+QnO`UBIAthb!v!{hL@&pO@Oos$Leu=&i&swWw+eDfZjbQYrm*pI#+ zKYq;K+!-+lzfoG6*E9hweP*~;l#y{6q5YxK)t&@z|J?zM@z0*g`nCST z^T0NR$)oAmNZSculX=W z{w!2Df0$B;e6-U5!x{DtVbj!zrHQWc-b!2QDkn$ zE4j<{sJN^|IRo^Qo9-Qa@`=ukN$L)=Co|xVF~PF+g4Wp5Go9- zG=#m)dk?}Kp##@Wrs_QNqm82PPQFLdOar}xU=wun*;h#zcT(e7!NQ6XRt@MB4!CL2 z$z(|=>t`(P3e`7dUr^*`$ccPHki*sza$D^kj>AK0zrmNMMJ`tAaKZBo}lYfx;aJV)qFCACL++&jAy z?LZ5^ff%qK=Jx>5fPK^|{^4tWi+kz5`5T2!LOIYW7ihR5OzTmOpg=}-jCe@vCHs=8 zNuVRMq`)%WNbl~28^%g}m&a~G-)zpq@w)j53nt?!LMkdA`BfD_O zFq6vvE$>+1HB0kk-i15=G%mah%Z*=wxiQ$jr34mGu#!=t(UD0}Jgnwxr~2grr}Hll zb*#7j`E>~=aPN26&riw6pRUc{xv_v(QGC@M;PT*<`@q%1JNLXgHGeW_i$=+@iEIl0 zzHjxJ9bK<}=l?nWzivj8SH#cUxyWHfeEpZ2_c#A17S@(7efVX+yzLjxpO2H{{n`(1 zJ!*dGreoe)#p`b2|IWRYn0H^_{`s%hULSsD>-@}Cerad5`qcc|kY~RVco!OZ<$%VC zK&kPv4zL}0cCq_y*mxi`5ZlBgR0O1csl2f;1^Ll9#6$!p16|JrPpB|(1m#x8 z1v%u_EYOji96uT_xcHs$T;>McY4fb^>4RtF!pymSt@ zj&I83W~dV!T!F!?Wh7w23@eMEBTbt?`w&icyqW(d(lYug>zWgdX`AO@WIGmLTZ zprR?f5@(?a2zywtfd-C4dfwu7xh62SXKi9!yc5|G=)rJc0WificWngjP(pJF64xM= a>A(HrQfaw8U;gni0D-5gpUXO@geCx;@;}P} literal 0 HcmV?d00001 diff --git a/documentation/images/session_state.png b/documentation/images/session_state.png new file mode 100644 index 0000000000000000000000000000000000000000..7b759ca2be957bcd016a4f509009a60274bf0e29 GIT binary patch literal 45360 zcmeFZWmH^Ew=Il@#w|dCyGw8j?k>SK2>}8G2<{dLF2P+ICs=To2oNAZ?@#>AVpj zbPxg}H3CW?0v-aAB*McF&m$yhHEgkqg8uV|4^IS2LLun?<>C7uDCH1Bh6_T2Xa6oJ7?`0fAy5`s$6O=oHueCTPnaiH%csqyVq zTzA~t8ps-dHA#ucA|cY?2WsGtv8%JV9p>B;=w7&t7cZ#mhI<1qdH)FU+`at0I-k!1 zT#d_!0o(a1LUJNx?`tiC<0T;mw~uufV5ty(Wr1_N}<=Ix-qYgWwU`Wd&G1f;&u`~!v4mh@WA};4WMmBgNi0nAhOo8}$ zAM8Lc$2_pTr&%9?U9i1%uu#Zl5IPsgC#YRF_M;lcs9li^$V1c-=p<36@wy9Pq{mgd zSkjxM$E8m|LZJx0ZNjBe&|k|Wc16IdzX$98pCZz}`TQfOhh3ZA+6$|N-(7*Ce4&~&jXO#lJezW9TOFRf-ob;@B z*6EbwV~;-PtrYljdtGW5AmYE0l+-X37E?Aw7-vi5^49}Tq%TiiPO_UHCI4VoxywIb zBYL9ALt$__)|PtMyjjt-6}K?E?Iy+FdpCKr>}y+fTWD%4V8B|49+?NhaR19Gt*QwYEjWG@e zl}?7JGrH`~@f9R6L_$t>rnkz=>Y&LYBg#}Y(p!0!vv2(hQ=a3AaD?oO;_ZtgdHac8 z7Uphn;hejjzA6tem8tI1n-jo$!*llQ1wXP&U;S2HnRC%0L3~nx`>0O>`Gx&+s>m?Ql=_PAsNzg#}g@0c)E>@ zG)#vV$GBFD)Lu5X5qL|uo^47sME7~mI<)q_8jDGj#iWVX462R>2|icltH zt@$`@f6R4W#--!HxM?XD7<+nR*bd^=A)F|Z=t)L@RxtRChGxv~$wm%QaYcoVS zR)-szJIScs9R6U}=smn0L{aPr=DNLY+-*a$5Kg+)qQcc)B+ zC1E~sBU|eUy86nTRISCSI6;;2ZL8aDuupHYPjd2i*f%5G<&;YdQ1*;g@S&unFUm38 z-62A?b%JW`dnL&QbD?Ts{=u|zK*iPj>O~#Urv9x-8@D9FWb4PH%J_{aMLiTSVOLyK zA$T=}a~@xDJ>TZ`Mn*~@)bk~`q3!%1wXJt9%+e*#H-81YUKO(Z@K8(&(nu0@9*~P& z{79SIuu(Sw2AMKHJxq12Z1bXarNu^vuJ9pwGx=3Ik?w(FYE4R4!v~y52P9aoak&Jf zDV8@xJo_rV8^Y))52k2c$$!x6JY%sW`?m0X6+U?evOFxg`cxF=*)N*z{D+1A6#PZ+ za!c_V6f(S}6$-z@f9T0>t<^vrjOVL1AzKlyMh-h?P}k&Y^`zoYs_vvW+9L{HCq}&U zRv+L4anH@)E?ffW-Z|pkBHxE@+ANh%{$z8+{1a_`e=7XsFQg3Jv=EfJUCp}uGmR&K zlFaaCfGQT!uf>;4A+0e%k0-)~O9OQvM(jxJ)Z72`-lH!mgo7NMh@AXW^vwXe!B(9# zMP>Zl2vr1S)p?%lYwCG9Zw~1uyE6$ISQpD2UM!@B5-d(x#&sLUO0|970v9UQ?u0A0 zMh7iIU8!BI6tD-75fAPnQwE=XJ%VYSRPADES-iVnT*zaO9RIqe*6gG#SkrD&vu}#d zj~z4FT-ZDi60sE4akpRUBRJWr(6vu<;Ko1esA;}yJfzYkjBjkEOT@)lcF1>evKM0! zq)SLx){f}zcI2d4$KsV$7^jgm3FprQJv>GZX=~s|a`0+ET>W>Fy;4>x!bsqQj81fE z5^N&?UD_i8&6cVhvNKfsJ3E$r+-%^#T7t%nj6&3J5J*^V8=YyVVo$k8KJ+TUpSv#}q;__41mif+1US7#D$o9{7;eIT?ycoXr9usA4IC z_OiN8$l>%Mg@}A|uu6Xk=>*eLX)(LJoAYX%W)fQmNCp?JAxX$^o8J=lkUfLzK$v}t z(?GU>I{a85J##8@HaJ1Xbpm4%lQ%vc6rD#8XC2evEL7 zAY?eEDo#XBN^+#IdO~-XENRuy&sDRd%@GxxsASMgH*@7vT59W?t6!E|aW=Nzh1#K3 zGWm!@x`b$pHwmYmm-*7Jw?gZ>wchE--F7~YlR+hg9q&oxQ5o_8GhN$Oj4Qe{(*QJ> zQnFk8F4#}-_cZ-wJ8>&aUfAqH`eA(^kNS*uG+Wf=!>i|iDhREI{cLl$RVoiKCIjV> z3^di=>I}q>>M6+MSfb*IT*8Z~80O@mzXFN2tD)1irna~1hBI&{1E6@1ldb*>{01t*lb<}<%5E1xz_@PTr5``-hCuDeVDtONd z|BLgOU^(W1XfOgOn^&lSnEDUn{dbxB92&=~TBV?WrKfV8KhnDz;ZI*#Vc>~$89v^P zc!bEtbp3W)&g=|e(=NC^6Idu&(%q~}Rh#IDC9`X9#Hd}>^LMXXL+D)>!}wc?10ix@ zB+i$Zh~dUor2*_gaRIqdVGk8SWWjIl)dt4 z+Ob?6=ok@6vfBj&f-Wu3iA_i4eR&D0FzzxG)ELj!a-e%u`f@5%L{gFosflGYU=G{I^tW-=S@XCD_BwDz~xqGg=0N)@t3OSu?)P|Z%g;psDgb)P9-~V>4I$syQ zSjCKp0z8ek(Dl8kAPx!mjpx})Fi;ppHg_K&)-xn`RbRL%itHJT+O=j*aMXDf6bO0Rhr0p?xDr3}n6wi^?k4pl;@69ua zVvvwF@a|v8Yi*wN2uYIK9UoX{Fr>#}Np>)X4nf+QTr>#9%#X;GQZIq;sPyz#o9_IdT4*?IR0u-RWHhO#*pfs6>7iRfskpi3XTTasT7Dt+- z&5w{nFcvU_(_c*j&^a;UD3dRq$dbDl9~MwnXFkk*W*(7xF%_`r#aPAL$9T`e9$qMX zna>AQ!ZpDAZzw`I-7gu99LNDPto{bmj*Kyj#s#1n^R>j{?F*V`GHhxR~e9unr{3;mYRjsku?3CDOza)o- zO993t;Znj@%-$9sNT(wsVlxU~SxNA&)}kB-iZ6>t!L55V&n%|m>fet#+Z>Q^uJ>mL z=Xkc0b{vk??XlQO4c#w=_=#|+9Jz#3WM?jKE-{y>+~%+;C`xuqy9c^u#9!*&pv)aj zoUtePu$7BjPR32U`7IKhh3jkqCB{t-A9bEPt^Clbw3YL|nPDpRtdU-{$?D@n1s|n- z&8s>BUBNGnNCllRD8#%?Jk|~C7B$pJJC%}IQ^rl@3#0F+Kzl;$xW%*DMrE^N{bK8M zcdnI)%eWYY-|5LJ)bN3D0v6Ydxwm?B~ygfMblw;3G_}&YqTSH6ODEVC3Ij$@}f&~f{ zoMzRi0@5)B{0O3Mv)FPLqL(H)~vn>(^^O$M~a6{_+4x<8O?-T znBF<3dRi52JFTeujU0!ON1e{dcAQ>*+-$(hGF1>Vk~+=3itzPx(sJ{jT7}6vvQ}V|A_FWJq@^X86X z<;GC0MD+E^-63=IY4>l|v+=8*1K}q+Ub&-oz?pn{H)R_iBb>ZT%&{ZISFI zey~Mj+CmcKjI;q992T3FfM4}~n0y9WhdzZ0u9H*31p(m}7@wE#0#ePrKvv^9*vm>O z#$NOZHaqHWbG>&=BQfkQUL-yFH<%xxKVNl}y$2&9kbyig9ukM=f|3&PU&x&(dcX;D~OV0k}ZfL-TQR{SGF%^g$Ccd;e28cqmY z;9;TsmArRz>#)h8eiT5>$t467qAba$Zk~@2|3Z2)mG7~SS7tz0u102)^{UiF^I?%I zZsd3(2k-KyKq2bBWKuF{_}vsDcp_+RWS?uFBF=;Bp1uq}qX!a64qs-u@+wYt`Tovl zK%yd1{rQ*;L_NR&GOaj1F?h?AZ_@iAd9?Q}5TjAV+-nL+DhHPUHk=E52*sfb^nku! z8(ZcK+kPjF0E5h+u>bHT1rS~%bA)L904JO6i-Il-$W-S&jSD;V9f0z^8kki|JUiy z+fXC!()Y{)@)cb`-*8u{+>S$vK=@L^njk}bU?9mu9*dYMzk}}H=-V;v^$h+h1+LEh zq#_;*-6w!Gj3{?w!@H}ys*CnIDtw@|)=dIBWv_)t@;L8vetH#sNPcbre{g4xz#xI? z*#8bl>Uf;re{?R|S~a6M){o7?zr#N?L;(Npu$FK1gF-J^=h>r{AwsJ7EJg1d78ilQzdD2>6*jNSz+?2Z{wgjV9CJi?|>!3;2bRmfcQzr%4M|CPrl zdza|DvmJe(@&Tozq>9Q<@yvSoZRvB2kMam1IAX}4x76KzTzzU;1e4h!oxIb9%b7VM zR%Iblcg~9QeTo^0xARhK)~n0!ve5zGaxf`xBW9`Cq@{L;GdNmOQs=>g^G~zdycb&C zqU2-KRV9Wm8CWfI{ovg2yqUHnA*Yqn0h&4iz<+0-(4gUc!utbF#U$Z~^PC8b!+(BY zz&|2ehh=SapQf;sc|rRmR-J!Fz|AAsZFqV*|0yF|eU>q#rhfc@WZ+g6S<6O;IXRaA z6U9OO8+Fw~X$D5e$^XQI0Omto3k80*OdvIR;O!` z9tIWpbY81Gq>CfX;jEc?eFzfveT1_=_tEllc1C@*Sl5HW!2By%Qn9F+;fj_o!bsof*WH+gU7Gt zDC=*#X}n7o%XQ8IxLT_SA0r^SKloeS;Nj_@X`4T<+xD2o=Th@rbsZf1pk1_Ub!=+a zJHCGvf&lv^cD5oK#CW}bz1cZiMtGl5#@{-3agYhv7o29p6(f^a4U-<7!L~cKApnmL zxu=T5jNe76^=6v3C;ieFKO6T28EK&c%s9*+0R@XTkNi1MH1IOZ{d#>r+t;UL)wT@} z>b@W-TOS+LQSd+xNRov=4gfNHj<6(j{yQbV&mH;nzz$bhGQGOi0XTkcMMUFUAf1$a z#Pb)71W-+D?N=%?m^Y4w{s%MQTYIFGA;bUk?El!|fBfP9*|uR5dwuuROkxFWB-A^F1@_qpr(5_h(+wiKep$Rz=r;g+p0|9t-$@$Ho@>8Bd7gI-O z1eA(<7PjQ@F?l!DX>T5NHeg>9(#lK#zO;rRD(7-?6scv-`mewK@(8c>37<#?IR(-{ z&te!AU!HZ&XBKpj95iY8-4zruiOaDH%1TJzbdS>16g|PV%$M%d>Kt3~pNYN`v`WeJ zjeavvc~O=iXY>BHit-(Y&LbrB2X5k3Fnziwn59>7WvcBCaLchJFlYh%U7_qYZ?xX- zjMBSkxNf4<-_(&0Vqx?F;`QsL=Cl_|Qb??w)1 zwm9qBYK;{ty@ht~9ZQwBng3P5*-@*Udu<}V_pe@nv%*Zl+vLMS)$|V=zpj4OJ!mdo zjdm?n=jH*hA}bDY45(J=OMhE~+ZbwT{f0vsKHI-*k~v{i-k-eP9CupxG!Z}sK@Uj; zgKdt>V&hC=^gQAP5>dwmTm|3_ui=L~>0@1!<(E9!B7UJ890mkG$D5Zkj}N0pepj1d zO(95=1j{QV7AU;@R$@LL4fDr({41LcZCBzw^WR&aYlEP>y)!-bd&00syMGgATDU6V z%=)5L$o_Y;E_?|{{g5S}Q`E1MCDuOPrM^!kK`6fe%!h2@@8LR|&Sf%OYCx|{Cr9tP zRUY1iHkeZAwj+pkE$-7>;tK0v=@^xavq6{MdE z(c+4GRP?sAo2_D4Cu;0nOugb+ya53yzYmMy_2ZyZDnIh`NGf!so7s^w=k~07>e4>n zHa~q0k0Cpj&i2^qx^=K&JyP$`FWb8{oA?!mCE3mPP$0LDC58()E=bwWo{bgle+pVC zeRDwDdPw`?7@!++aZif=IBF)}`Th0C+0jt>ONm-8(ykiwea_Q_{)Hkc3g zI>T#r+ad0_^0sL8JkT~^5VBqTWwTlo_0>%Mo-3H`nZAa0T5Ot6Nq>S#Zo3INxKhgA-|r%jQV%u*^RK@6piR&t&QLT+|(myLa->FV&H>o z8fTwQY}FmZjfZGi#dgcNlelF>9Ql7)%>EO&rYI9MBa^eyPe)TJnLkaNGH{gM3kkzW zbTTN{LNF3i@$KQS zeC7X~u*36P9!MqBN}BJ32h_7fJ)1H5siN1>+GA-2KG0 zh&D!2GkasUVOa#+CWIhUEHWxJ!B7N=;(o`mY%w2kYHHI~z8{Vw7wcbD?@7LeA4w4b z?HB*=#M_V-M+mO3V=Qch1`$!>LF_uRs?HSf6Yx9jIi_A;^10;qzHXRZeD|rZ{?Wa< z=I{(jA(p(LM@4_U|3%5_ZPs(TYrpjYU32N45N?-ZtR!I<`GGVVF-yhVSU}uRovF2~ zsqeU7SW3p6`>PrO^-7e9GH%DB;ZF<#560So$C>+aUA_J$jwEfp&>TdMhX1FJorKF! zE-JMue`lI-F~CWaXu4cEh5c?!X?{DMn!ls!57Js&HYe&cb+@mN-55oCeJ7Oj0<9nN zKswB*2I^z6!1V!=P9^y14>b}Ar%9oPyn23e`K{|0J(!N}#q!}qMgQCwXHGi(J-GL_ zo~HH)HBec!JSy*PcOflcYn)U#YIr@OZcuC{23XT41nAM!Tj@q@i7h734x;rwt>jli;V<|*Ao>q9$ zzbeIb;>()|S{yq%J-4=7co^|bZB}PGcbLO`^Ha^e>tYxLb41KW(eU0#GFA;8c)ex2 zcq&A{xi_*$$s58S;)@e*hO~s)1(GJYZk9q1!%sWyeu01;w{uv_m_IqE57e802h2=I!S&6}66i_H%BMO^H=PAIz_3$Qs?cEk@J%{~bEuCa&o0~&X z8_jt1o?nW*IepTo0da})5MkDjcef(NI`yM5q_z|w^V2S=TN_%?rx&dYOcf>t1s?Wjq zJ7%BsWB?91zQputTnZ&LCQb2(m_6RMLjTOtyKAcrXKF9^^OHWCrQsCPW7kU3iO+H} zrZM-m<+!E%9Pg{FSsbScq9+tbTKXYKIS&UJB?}FId>Xj5H^Ncx{K7O>(g6)m$a(Dv zzwKgBm3bGq$wY%)3&g z0*ggWOXfAD2ZxAnBl2}T{?17Z?4;@OH4?)+c}d}!yULa^_UYr=Uc2e4@jhgE%?sxu z=!JF87eh9S6@{2=b|P1ouo|=LlzNxxr3A|MxeL7ok&GDpyDE8{54`*IIClJfWcV|I zcWC{g7{`CC-u#-&W0l2-yf+o6b07DP59)48@kGYuxU^B7JE7Yi=v6q|S`1jucF2QU-duE2_vb=U%X9YBVQ+^A7C?7~>dEgwA4-=0qz7;ei6s zdJxog>IZVZZNcycW#7+WeE|b$h!#@RCkbC2!A?l??-11*+Sc`zfqHT`zCFMo6>lb4 z?@xSTo2t6s>S|l&Q*v;p<+qyRdUwsVWnlgR09mV~>bkIXK+HhG@u4y=OHk4deou7NSy!7Rp$8Vh>8$W<$A@CuDps!` z403UY*21&vn(34%wq4q}oaUXhmZr}GM2eK%avh|Z2(v5aJd`YJt@_F9$r!1|ue?TU zsnZYl3`$o&^+XY4;BmN<0>lY7NtY^lt$MS)azx2XCkY0Ta~9gBvj!gym~XI&nQ(rl z%Ov44%g@m0VBEUXmoj*dc-46C^}~DL1?F3!SXcwTk)(+WE9g^4=}qv()fIj;xoRvX zo{aC@5(^w6D0?U>#H6eKrAu13T+-Z$P_O~I>F6&(Cr|W&|AxJpuLT_E@Ye*BPHg+5 zLX3sz$etcGdOXpg#=6Ib)}N*fq)TKr9ACwC2f1n)!Bb*gH;pN=xk5y))@p{+-+BhO zx`VzavFV=%!d@t_>tA{maZMgZDQD;SUTLkkkzO7vdOU1Yh*OQGth{7(o%Rwqk>q28 zc`1=l>(Ahu@&0k7!dMc8TEZ20l9cX5VI&0x*VURS?+IrHJgN=uF|+(roqbG;<>Z52 z9O0DD+E_T@Jvz87nL{Z`4nIh?AXie74cwU5zyJE>Ypka#4@+Vk`_U7V))js4rbWB4 zd>O+q_PTfJ1lpRk7q^B~>uD)mV}my@k5YCKFKnsus?5b4=(b2~!_-xBQZx|3E&=48 zTFCdu#&sdF(*(;`D>W8O(v(E{mz*cws;37$N-r*zPrPFWH8P$jFZveXT-SL7e9E0Z ztmC<`c#S4avg9#Uxs;_?4X_(6;&8;zBt~oFK3S5xk`qx}^4jT}5gC&N?2l)*_Vww_ z_R9tb&8v(Asx=I2-{7?Te3Q^?o+sVE0Z*nM2HJ4e(jKz#rT;gmP%^)MY?x+9>`@uh z=6efflR*0QG%K&|IBM0}(6}2NjNXLjhP5abCR@no!*-?cWO4ejC%AG@+J3wJJ+fDR zI86-NYbHRLUsIxDXWgl4u_v$Ba`L9n2B^j-MybAEm^%{*{g1 zgY-vh!e zq)Qo-68Aie*2H=B+X9O&r|LI+5wH1=@V5mi<HW!j+q8i0v;v#TZ zjUhw^PQOoSrqNXlDT6PqnE3)Sdn8>Y<^NDSZ?R9c!wM!WO%S+Dq{ zw4y_{iSF>+Wl7@+MG3g`oBa03Kux!Tvrw5w$*;cD_$v^Wx|ZpZ4igb=wHc_ou!<_+;!z@TQ+_0dOW(ud9?8`ujRdd- zbCvd+H;XC^Tz*(a5I9ULzE974%WsV3J63hfbf6tFCH`?*Ezf>;x_C?g19KBZ^09gh z9RqWRGk@QmXa#<6r*RhuHO~LdvZ{QY`YkG) zG7F5rRHG|ChLE-6KSlx{B{aO2ou*TW)hgJafWlA6w4+K?DV0#Eex~M~fU}~!Q`L6g zOmx+0u5)I4mz%RiQl{z?aJ$Khh;vmjMr?~rhzwv)Mmm&4A3olDbvR_~t{Gfx&k*0A z&@&n`ip*@>$etmlbnivuA&u4$QT6X9*6Y7D6DobZTvR+3zR7*oJ@q*`*NNk>oZw>v zWvk9+v@dak%q_*dkE0&1C!n&eZym5GTSmuv&52^M;yt<-LQL1HUQeA3j3s}~|Aybn zyE%+1H>rn48Q-5I@}X!7hhhg$ElH)pTt}fLsemvHGm-!k*e&%ZB$#qZAS^QOctC@o zy-u9fdLpMx(UY*wOyXtq$}^Ek!>ZnPdVo82yfd3)^7damr}ZArw|EM6)Bgfogl+c- zBRckCP`_#nsPDIOJJ6VI66ke`b+}t^Z&bw<*aR|}?pi{|_fqrE&B_<2Cmd>8$mOr| zTa2Fe_0Kil`4<3J*}T zn$fx5adJ`tI|cn}v&32cH!lTQ4co&xvF;CZUDHQTRowv|ntbYn>fL))IoDM50vQd5 zviSNESBd6Z`VR_W@8_WO&$^WPRxvwTy;xg*(FX4X)b1KhN*1`}4m!N^RcxDj7spXLQNGl6ggkvIM>cCjFruu=lE}6Q8*f#q-S2i2i~Y#kKA{Fvn_Rs-%A**vP6qs@mq;FgRc2AQ zKM7fYzVE98+VRE z(_kUs5aUM;Dj#}KHyqozRA#d?$b9>uEgoqvJ{K4MDhx&QC9{y1OnN^?=+DFzmQw zB0HMvl=l)$pzKS5z(=H@Ul+^Pr2MBxl2t&by5{B7khFYfwB@tuiUmdF(CGMBgZ?tR zl9Xe`$w;m5w0AWRNrRF-SD=%v=nr&Okl+T@XU&vF?`l+_csEPcKBHGxy*Szg6ZBxJ z_$S}4{mjwTH+*wQ`9L9{@W;N6&&>3yKIYejw6#b<=XvAjU}nJs&Wu~t-J2ot2muta%~ zRY?58f?y0|t0V;qQ=$w&AGSq#+O#XIGx*r)79Thx15>kOkg!U|O_nOp)LEimDJ5@< zo3FSXtT2fDmvVV_AnLDsWv1o~4+ECPL-W?}dM%PQQ%Zk3MOr7a#xX#D2!5mETgra2 zx5&Bg_@qQjhP);)o_j>RRw}VgAVNoKC(5SbfOIW1J* zzxnxH$9YKne<%j=gU)L_H;Uc#u^!9kHgSp(OA)^14%vC^|Hus(t%EkXy)_)d6KP#e ztB?5YMuorjRlirX9Q5w0&kTV7GMqgc@rMIqj_YYw=W52*STQ=S7qIEYs!xY5a(_3L zURRRbHDW!5A>U~bh7H6#4(OXI08x$;ww;LRo~I(g&&AeXL|@GhMsqEajUX6ZVJLrl zFsAEz4ad$VxK8IVtQFdV+69>tIF)`lj4WOs&^yBXx0a6S#ToME`v+6GNB|{BT|;Zl3E=@RF4Xa&I`!ks`Qj>? z34lm#P*b&ahwf|H2=0|!bU}tPZyCD-siA?vG0s@K=`d1T)FOD|y>utuNtWl~{4+>h{ z@S?vdo#8S`rHmn#5^x#oH_b-F`EHyWLA-I3zl$P!VNA`bKe~<!INVrIlDmx`Wpn=8=Thnes-%DeLt?m6`N@%Av=QoKRu zp@&feTw}J;Lh$-*iKEqRM*{dKu+Zrz8YDjQTsKktDldpejE?B8H^N?L;f3Gff$c=2 zF5%#gv+|#!LH$BWDfV@rqX zlvHz*iRUspU{Ni8;Q_|P_P2|J6EDyX=^qNt%>}dazsBI$Ri7ry6+7T|SZ9oHISo*@ z(Ira^nX4+qQfffd8F}OMd<daL~#@6kHWR`vpm(pX!EC#krW$UOcf@JFk9= zwil~@W1&61_P;XAJcVA$HuMfw+ZOC%Q zO-WEB56A;0-x$;d=~bG^l>1*N-dw^Y;Acy>go!!Fl}`WVT ziP(1wolycRUsW3ksGOpc&YL3-L6$YNAHzwutO#Iv9A>TBw9cxulMx=Pl;wuWlvsp* zC)*8n6AgWNC|brR&|~f0l2V%jZ|_?9>=Nr-aQ*f)Kh2=n*{{`!{0kqg!N-*dVV5`X zOqk8(>B2;@uEo|9c7w4qF_lLSWAx>5wD`RRMqG83KFaBTxKlr-j^#Xt{4;LPQo^DW1R?7`#w%aQ@YGEF92r*te&opy)+f5*^iLCiwLVj>wS&4S-d`;pmH#12{W z?`#KC&QA{0WJ!`m!+?qnx?@j3u%-#Vfrb|J`APYlQRFo@7bekqIokvcd$bF^Hf}!d zwQJZ~Xfm(Mp9@PGb^HUgn7(t9y>K)0&B);M9TcFDC2R*S-qhRoEl{(SXynF}(h_nB zH)EVBF&OF)KX=(M*;ij&ymtN5{mOJmBTFcLrF6qIp>I?){=+|qwM~8hvEyfML*#JZ z#ScC8Z)U2;u1VZh0zo|SgK6B$)5ctZ7X0AxR+T=j4R3dQI=_oXQ9$A9LjsGsUlq#! zS$oMy{+nKVrA;0YNxvS?vPB}1V<80j$$`UsBwm}IZ|?R%Mx5eT^pHub&lqy9jmhG3EWUx%LHh;1A70x@2+2|AA zg#$8UvGdy*lf$BefstTJf+rFI3H=A?o{W3fLh zpG@1Tv}ODH>Z&_-U0`%v^r|#|1@wOynsi^({JBD|a9Tgkmi-q+mKVLpQljs@i94-C zK}*Sz5_&BOvE=BnvV*`;PhkSA@1TxWkI{`ffu|@^Yu44~?N+Th^5nkLFD`KkE0s4Y zmd2rR@Ff4NGnEe;Jv}{2uP!IIDh0PSI|R)e32-z96KJazy>4S~7dtIHew^<6euXU& zaS`9X_lx~&=+=v>833^@6r9$C%)^cTvXWA!qx-uJ&u1#> zfo9YBItoy>&u^bjD;%}qIPatD1Wm-J=ZZ1D6$vB({wly-$=*`nzULUXsIb`WUqYSR z>|3p)l>B+>VWTFNEv z_y&DFD#8#BBo?oK^#b%OYj?5qI!dlaqZO&ilU$4 z&d#qrVt0VT#AS=}OBTSK6q(es5^ho@KAW_qH72hdj$lDT?J4SR zw3a6BA=m+t$(f^0E`*tA&_sY->e{nlt4c ztv2PGdd$WJ*y8m5Hj&2EuOIe{AByT-XSP2DVE}HVJ_&25*!*G2B`8%N1>rD0AoH6K zkj=AcPkTDwRepR6^nMpnh{8e(HzirFy*=v59|63l8c#%6gqpBfEweGqSJF(ttoDr) z;2Y$>=v%&PUFuc9gNeBemAY;^Ii+$}nzqibg&1AjL!viJNJs_j6$aWq4D@}o6Fal| zBhINXLN4JgsT1W>5c~${*(gG5UO!&JY=B-0AE3l~xCsrgE0ACBU3!gmNc$`7jvoZa z=#jXrpU23qSou@3z1J`7Lk`7j$d=*UQPylECj9Niu{Y)t$;+ zsqMXS<8GlJ{vvFJO_bbE`-0MBd!np@uYl9=NGtl-> zj*Jt$<3O_?i>B8P7ql3@iaPQ53-al#;8OY$g!FwPf5|Xw`tC-tU$o0-Z@w?;7Iyt( zRa#>piv^kJXRd-sF$bL~t(1=(nU!VLj7x zN0A+xL5VjXqf(KARM*1N=uWsBixRpm2hzR{a6WBdXJlO(F_qkIlP5>joQ)~h(iPdW zvNmdZh3WQ}e7;Mx-kx!igUSD}(Ciww=yvFnI7JNQK@A;{DweEs17rY^iEeUe?UiO1 zC!fod2A}`fj!+t#1|N-xf6)=CQ;BSVESG3SeL#IhX%bU87b~JSH=AhFtAA%5sZzd^H1%v>Ng` zxKBK{STo`I;(`lZ#NN`v{;tFCuW@d7L_qhB`jJ#w`8OLZ#w2oGvn8)_6ec4WeZDEfzq&Jw^>yn4m=Vd2gtL&A=-@2)+0H%m>g)|K7A0J_kv`` zy^KgH_CFE>?tjlwHyCJK_>;p+o-j>&zK248<0RcOp*b=}J`W-&34{guPmLwn~`tZ2aC77)h9{LU8a z{MJ8}lHIwM@~YnA*SYIyiC2S%-_L-9wiH_HLxm?e&n)Fy-!G3XWIspkA7>NQ*vm?i zFz4J7&uPz0mnjLC95g{%gi zY%veqWb0dNQ66xsMZCv=`801q$&mimm?Kx#~HL3k!*a zT-u@@@4)7PFNFil>a!l~k}|fZvS@dFm1uSt7S~vViiJG&|L$!E^)p!`xWD9P9eOLNKogLZdu`O36bXca#V=L3sSgepf zT=qW0P==WKSZuKS`+XdyaVk3j&D1^QBGyEDCF!eSlVxetES;}Yt^d&fC>@0YxZ4)+ z=VE4!s6yuA0-b-ox9@0c!n`0Zz0RPocy%4hq5ZyK+n#c7x;@>@6h7W7obk&kiRXMg^dS$4HLjL%0aSf%HtJ$*2*+AH1E887>j_VT7mBIc>yhvB77mY(eNQV;ekXIi?Oh z;ps7sWFSG6ysP=DL$Q_ix}@A?JnkS$ZbPunUCL)EYxPN5GsfkFRq<6-ODknf{;0&J zx)M#8+@2e2w*{XtF6}75gKurT;0Is^u}f@ES^W~g=emsjwp@!9fV{JF+moT|p3AG< z;4W;=EULFY;q*i7X0N>Y$-`*1Al@;Tz9orYF>f%c^Ym5+e~z`bn0k6$A7TyXtVWgl zZ?acNFbYSbS(VwVGA-9prS1X$d^Y;Ev-{!I{_0In#ZI*Gq{5)dwS* z<~@KEACYzO$$Spru(NowXIBRlp2NmBU+Y=SPFQx9y2A-R?5z%+{wTtE!<1>DJh)A9 z<2!u7%(UZmdC!f*eoXT-3XdsWaO;+*S*M&MmD54Qd=nIS;0Dud_m`VUJlZ&!UO3@Y zWp#*#i94Jhj>_EhZq~jO*kTWXsug{B(=L1K&TRBmE_9*AptdTcmrC@agvDi5PWuL= zY@t_<+K8g$lBjYbQd=!O9t<&j-1b)m_Cn6nhdg8W1}zp}4SAlYk=WyXw*u^NbkUO# zwgso9W~KYcfSpnE*aARZ9L2hn@+8YN$epV(7m(%E30-ur^{aCGX}0?7i~a9q)ZNL; z==Y6KPyGAbE@nhWad~FnpRlq2EcEJi;#q(@QyLbn7J1uJy&(J!N%&Iq35{oZ+JV_= z9RAtC0AY?X_FDzH+1x4;D#C@$Hu+5%OWeT>NztoVQ3t8;ICS8745P zNdun>7ERJUzot3wM+UCA4ySU-O2*ww;E{UQx=m66p86q5qeN#L$z7B)w%t>OnH0^X z8kQj{e!4X*=ytIWe-~!;d;6`8KZCHY<{8<*pEGUxD)B7cZ71~yt_+{&BP1E<3-Np- zp!t4NTRoBObazVX0$MQh9F>wilN%Gwk`_e@g-yAov-NJs9>4Xl#mS*96W%$ZfZ}{= zj8g~|N`NAmY=6`MsQzDY&ED~^PjU{=C`R%Z_9;SJX|m=~5PB&oMr}VV1lmknvM{NI z{n+SNEx4dL_gUvvt066IJSCF7Ub4-bVdl+sJCZi5r$c$=K4`pfGZ=KHpT(6;J2LR> z9yEI!aF_Y#$D5?RgzV?t(13S6Du9Zm$UDh|Du(&r5e|4 zbEm_+{J@Z4TH%@)_C+T8Pn@Ye;s%eIJunAJV@E6L&o znft>ae9n#0)RPSf#eBy>D&?YE1cOfaL-xsTn8_0 zM@L5IkdunrBH!O0d41XZ%?x#y@_ui}X=7*3GL-b(=)-*gaSab}lVUO3&q(O(DHMU1-PWkt!Fr>4=a1TI zWGK2yKMT0+c}D$Sh*W9W`X^=hgg@6!6LrM!@HRK5aRU(GNcM)gQknBZ^FhhtmMJc< zL&?d(ke$Ab{(xWcQS%TbWV4H}IWu{v74srRVMVgad<-c4s`1F z5!a>N`Qpy^9Q}CTSL$+&In+h0fcSmEnw1VtcyABqi#%b}5R?QSCx}pjOJN~1(C&~1 zZ4V>)P!x1Hh)mej6DB^w>U~f|9H?;Hp4DMQ1{}?%a=UQyd*HQ+E>_bhF|;1sB$O^! z(zj%qjc@s4p59o{kGR=94qLJ^s_WR>eh}dU6)Q@^Z^5waxf4ydQ!kw&H?5WnfVKbd zcC)`5A`@L$i(!>Crg{~;^kNu%KC57@^W7L$ z3w=2kR@tH!Gx3_?O#3rbk1gZo)9;*?{i*nPUK(3brR-_c#Mf^ z7KnuL-Up0>1X;3P$E%bLh*&K0jDqQY^m=QYvGKP8hZ}2MlBZXZf4hnOIW#h^=-q`W z(3HG6b?XJ1k~b`ww{?$!@0}0Q7G}}VDcQ%StQxn0k%(BMW33Iej0>dF3I&AoblD9_ zYz~ZVR&IF1dHmwKVm`Q(@=H4S!iv+(Hwi>iGAv_%KlH{eVk|CFVlat!ROuU)=h12I zG!9hJD?Zm}psgs`nnf^ZX2^dqn%A8(`|k}x;XFdD{#TEpboZo3@&0hc?ux8u73xQB zkC+BjslEbk{v@V2R^N=k|o`C2;8`gGI2WI8G0vOK^%z^7LrCb!fi;* z6^Pqsar}mFRnC^N;K2;xFr5OT)<+d4Eo?==dNc^-B4q)NW+G(ag5z@S{^mnn#MO{kL1*TVwWC?(3R>5cQMON4A3dWF z_h(KaPK?r2i(XWnxr2w%bIOu3+HPN(j=^C%NGiXwI9Ylh&Tuvr-uJ|a1#k>ME)Do4% z>sF<3m`(cL15aL3BW+tPM6Fuiq9P+;xp7#=XhTW5__C^{&Jlg#pk)N$S zdZyiQDwE<#wP|-ViVZGJvM3tb6YcaCXH?ey(YmviYm)FzCEV5;#ms8Ar@sBL<%NI= zYJ08qQe2n;Q$3gSwpheOFlOHvV7u%9{vg)mrUxV5by#{vfqHhZ31JcoxEbFvUf+Wv z=1IEn#`DbKI7+$7d52o>K788aOC)49?;cS+%zqC5{?WBg0`3H*vq#ytxuQ4rY;T%8 z*Hn_u@40Ub2BC0sZe@B$45*+&1zC%#Hmq3bxm#K(PmlCeatCCG^ zG#p3vJAm-w!fkciDIgpV{!YFACj6xn@-?M#n7g5!`F%qoK+-gn6NMUZ#Y?8G@?w9pD`cHqP(OpI!|> zv&vcXBa_7VUdMJ6yjI`_x?M6$0||oc*7FD~>wg6~J3;=5Pd9nw?@i8hi@^SOJJHt& z9n^gO6Zeu@iepy0z*@bhx8U|lacBW`Rls-a?l*HN&aKOPV)VL;(q#EI=o59dkXE5m z^~Ojjgx7+AMu@~x@|R-P&OY(9%1?h+Df!E%>Cmfb7yc`4LF%i=f)1RQLbc_n_kY~J zrp~n0gQvHkSaEbxX-cZi1_Ikh;evRLRvnavQ0iK0M`H9u7OK!zF|aj`z9vUgj#b$*k752T_%BI?i2v!4GmZGWl2x~erTcK~|9!LEm(FkJGemmf?fhJdy+>yJS0YJz3gl0b zo`__HVN}tg#96tJrl*mTivn9QwCZ@$uXsLJ81?IaF|-f{zsZz2nnu#!e-xKt(*gA2T{l=a18#*J2JUwO9I#m(t#Y3q)vQIjlCv}I=I}bE|d)*I){G~kvy(Ccox%ze< zOS|=LDQr_QY5%u$s9@X9k5$Y!9%vSyuRO^Lf!%N%>2G;Soo!!9=?d&bCQzv@$0}Dq9T#hF*GyCROJ*-y%t%wcOdi z1I7YB7zMCPXN{ev)^7&-M!D*)>&R@_7btXEd?<6P9wbc{?L5|M|r=Whtx*I ziVtP)&p#C%Ejgz=%!__=4IbD=gHeh8$cLC}fo7}bJONpF_T~bbZb9tIdb*p^IRP* zK3!D(#K^;uAYRpk$|6VL>2CG4eKXK_q#y{zX$pwJUV7*BrZ$47bxdFUzVT+SK567r z2C9th2T5|Tsy zuV2f6gccOOf4Kb2(+B5e(t@e&5f(_*Bv@vpy&KNWwJ!Y^8H2uZT=p7v5arA+(E^Jx z5eDx~J)U8B{1c9ztdjf&Q3q>kqF~5mm}3wpkihN4ere z4IZH)5j}a2&wHatl>iIP1B;14Hoq)4g&8#BX8}!*a82X!Q(qVjZ)U9V{?M<~4*a-6 zwd2|o|K{=GTK;g>Sr_d4BqeX`cPR}k=s$R4?`B8M%KGijXWc%%HVZzlUTXuE`#*`@ z(~X|n(@ySVL<0>H*JTn-Qi1#_iF%b7*i=_-T=T(vR_uc5R$5$9y6W4PFsW=JdUir~ z$4WC_)ISuA-1l`21}nEhA1v?8WGVtt&V9TXm;G+3&6F&;8;B3K7CKNNtz*oYict~| z()5|9?Help_b2;g`QqA{GZ|rLM)OJe-4t}TnhDQg{s}&N1f9Lxoc|4;3%p6yg<${8 za5hk{X0&;5$5B=rj(*Gdo1~ zC(~}%YNYH_`$(w>Y6S=G&AvnMD<&Y$qc6xf$ur;l5j*a9)%-ZX=OoKyMl)mA(EWI^ z&%tSX_70!d_UpwVkJuBTy2o5;lE*r05Tx_?R`|U~fJXlpVE~r3_dMWZwW3|qBh7&9_k9>M})al69mV>`=%F(S#(`Qt`WuFEF?Y7VZJ*qUw%+L8>Q2mIS{MqY0YmWbB znD;*^+~$oPi^aH@ugvQ$e(9?T3t?bz+{9JNiv6k?e1}6eN52Ri7+~;x;Xlfus2K39 zD}XH0FXq*5Z#HLeE}qn9NTJ!;&A^W;KqR)(9UgER$0b^4IoibggebatNra62)Rl>8 z47#&fA%2aBJK+OhSggnr>%|Hm92P5@m4yGK2JH$L7_5Q``=gX=e}x$WKq!D9!VLMpKbMF4 z(R>CkR5>?no|aGFqv!rFSh!jh1kvpYi_VW0f)S+w1|=oZl}x;UO+a9Lc~{ZM6TQwFhX801W!m^-etM@l1b8 zbBq>D7b{lCK93{{Ih{`7Pvm*fi%V!}Dd4bug9eZJY>ZN~o{qFKvFXZ!*S#QOa&>mG zYPmQL((7NLpb<@+Q}a|RAu|0fmE4glIv(GRvY$_6UO>9`^}3vF^h=jdxjb1T;7KzI zx`fgeAS(L`l)d>+BwU)j=VmV$JsxWqZ88EBgwBY6l|qw|f0E$0S46@ju>rv_`P@-v zLV4JIAdy+*+)}Exh1{L0kNswz{InDQNxAVKdV(GbmBCK@?x_HFD(0B5cWD$(GEcPM zSV|qW8!o%NuMPbo$)mmAoU@z}OFaKMs8eT7twT@AY?XCYcSUCIhk&8y_OdD5(tw4K z4O-GK1AG7fR{&$!h6542%bKBKxM8cBO=>HEnD(fz3{ZudBJ1Aoz>Merr0n;z;UHyy zU0#Y?`W-lLr@kBeS1ZK%S1V*~k?M)I_^((f`d=rGhM+$`2J_z^<0JA(^rQT(cbfLx zh>5OL{yj938B(&_VSRx0LW6Lv%~DtbI{;M+guY)ba4mMx0R42{{>Rs#{z6ps_YV8d zV^vv}d~0Scm%ZBMknIpBO$p0okCnx>6_9Q=@oV@68enD$9B8t`<6e)o7xB=T|HqIa z15ul+I!Clf1*1j!>ElBG{kV35b%#gvpV(SW&f>vMjez;C(P+(_%Hc-0kJ6XG$kTkc zI&S}PC;Wt!AIzUSEz4Nf35Z9L22nUkogAVx#ZX1<;pBmexZx#9G|GQ!k&=TO9dNQu zon018OO1STzl^AVJ^aU^qT_{vVvd+hb$YQd$SaA+oyCq}ev?i4wbJI>7!SZU;GTMp zJ8k=IrJcQ$`m>Y&A^_V2>%x!drSx@<2RNnb*s_Pf7Z}r-O(awdkTDA-HsGF!F;A># ziFNDgvR1RLG9FaeOxk=v!a43?3Bk;2_k)-7Kid)TwgzBL=ane_)PF8OW!@2WuJb3b zzbFS7`@y52i^zbTPKqV+VffEZ4>&xg zW53Nur;r&XQ6`L9MeP+|ujgOT&$jCVG~1D=++r&2Sr#Qgx0gs{g3OhQ^mexMd!&3! zUb4SXe4aV}jhw4RTC)b79uE)!4%5A^TQMKW?_1AoYPY)wlgF_2O5N~0cg2in75;jm z#BeA=G3(>eTlh0@WS0C5*u<9^K;Sb*K|%q!AnA}boLJgXK>w@S4H>|9oTYQ$gcbeH zcE%-8?Ll!ut*+G9>a_F)taHysU)}9trkpAu-0=ie+H?CZoE10c&XM;+Ss@D3FYnK& z?S>)5dcJ=!E0EfhK;Qo!Cr-K<+<%WkwJ7w8qr@qKp&Y~sq4q&c+1B4!3r*MMbkCy6 zrHN6w$vuvJ=^-)So;+hM(p6Ojh257C;cqZrgQlZJG{9|fA!eb@=lAm!0B+^2Ulo1? zbkQ-!i6qt{nA@QgtVMA4;w))A+5fr6sVxNUHmK6cya7O6PP-3HPUF!QV^+BxQf~b6 zN1=Q(6aKr82@i{v^rRo$1≫l{26TX@!Fh*EwDHg}Cb*D}8zl!})%hku6rQ1q@vC zpSJs*D1sKX3hEu*yXPV>(b3XOPnbI}_ii9KTev(m-DO`I2NXqbxRb;AoKHRiaBKB? z0ANE6FBQ%AyRSbVz#N`-Q9T{1ip%r4aU$ZiO((8zahuRMNx1>q!xv^P$UP?Eq2!)? zJA1>Tqd*k}^j?$p{{t_cPHVU3gZ>oNL5tB)O5~L(*^=-Iv{$83|LRWOpHM#kZxZS{ z@?=HyD=~eA}x^rzph|FpGT4HxT z9c!#)=5*)xiotAbL&O>o<>mhHcAXA=n(G4y<+=UjQ&WoM;Tg9_!|MVTgUYZ1`7c_p z`RD~jDf{8nRh&yg;{?= zw-q;(qjnEIlP^N+>&Ona)-CK8>uZywOz|Y5clb+kK|hzXx@ZEOE&w?RhfNp2Z#i|y zGUV2Z<>3LNyGv70MWJjb*Fcw7s5#6J>qy&CO#)tBr4m#AoogJO^2+oJeYB*JCl8Zl zx{j@AfAKFu^HTBjx|y$+?*Dkjw0snmXqsF&&yGvd6-}`WPlRlVc6H6A`*&|HQAwg( zUQ0EN(W?)SuJOh@7Cz11FxwriMm$c1APF-1F6CgpxQ<_R-^89Z=5NkUSRC#Jr-xp; zRL4roqD&pzDtIU%uQ5rNY+J%GBxTPr(w8Z?f-PYy%$~Mc3XBXidEq^xmyBYStzGB+D!R){;es&i<~G>c(@(J*d}= z>_Lv*;zp>{vgXcnty>z<2GD_r$~naKXcQ-J=_{I~tLLFtL7o842owx?o*{-irn@QVC$(i=2E;l&^42;1K z`uy?VwT1Q^dCdB28hc>U%anaIs!gvRFUnrd=M^D(k+Bew1({yaL}nsHUZWMlpkn$7 zXq~dkPIGG|ZYAc3`6}i4GLZ@j%kR=h5-Bpp?36#cOgFn}nk?B3rCqAKrJwVJi*mS? zuV^nlOx;Ye&+K9c<6$(2z4Sv0){fZTKI)ky-jq8bCaV%ijQu)o1a@8FGSD>O&3srT zr?XktQ06|saX6?gr**w}ihZD+)P>s`uQ!vuUsnIN`<}(%!a+r|hOXVB8F`?ie<-Xg zmJ?7COIWIwT*jq#o+w;qF1(QW+aGlypdNa2@U_iPo+T+l*WolSr!*=D-A{|?#<85Q z3{U`xx5;TE&!-h%=JE)rDE-WN6=NUlmKIz)&<~w5F&hST_cK~vh%k(NNcD*wvf}i- zBL&Z9qK8mGcuu*rZw^5$HSdrD#!xQ|*0u zHqhwh*ZopnUb=PfOJ~nMoD*OcUCuL~xmJo8C&Av*Miu=Sr^eyF=DIqiG8QXg zJzJwUs5sS3yrUb9m@|iDo7NY8FJ%Zl?_f*SZ(SO!323e<6<4WaXpEd;?$S)o$PC{c zE#_8__Go(?o~4_ZE-y3smZZQXD(}X<)s;pkA4Ym@QpRPSzgf;oIW17=c7{2M~EV&?+9c{&M7?X z)~h8EJwmFR48Jl6j2D)nNvwjy@>7q4T2>4^N-S?285rBqzdJ+C{M4x4Lyan`|4DOR zxB~BBi45J4R8}ZI%(=u@5@N9=!FW_tYnvq0&23l7L z+I-emlvNQFw|q*#vd(<>jbOpahS!*A@NxORL`k5f$>mHZvNierkKlI0ESI@(4e%SC zECgHDA{u_h{fr6c?~ABcQPg2YfW=YglALQb*P4gSt0734l}fX9KCSV-f00|#II=}%hke9QKQCFf_ZOl{pXerr1rAn)t^r2cX(soqb z*$)YGDWHY%%gU=Vu`K-0sI>Lg9atK*o{GP`tHcZtE%12B{p#h7Go%9+iSjh~DD8ew z1qP^d?b%#vj~-Vs^NzB+m!!r@FCmdTUU!9FenOorockP+mpUNj{{jjwW=|eGGr#h% zWqq5UrQyJ1(d80)!Rc-xIls@8R6Y#;c4Kc0^T~-ec@z0Dm+<0VsFmPd&h1TVy{$i` zb3s1oPtNBm8034+iC*JbeDu#_N>z&SPA*Ec2(4FAn6o9fnsGcqgl0i}2!^lLy z?)yaL+dk`c?@{d@H@;<=-yPcjmePT5|F(QKM?DuwJ>5lEg=_lg;t&w-*cmota0Tz3 z3s+y-#Ej(zbFh;2%%SRJc6@a^Bj{t3L3uvb=pa!QOO4yM`>n#G!ja_ObKjX$ZiNfp z0uO^D!N^6R=+}%LcG2THwh__`q*=YGZ7GsfvKTa6x}W z@z;c7!@V(v-t1o#C+MgWV=YHXD5=*({HWtxk6vy#J!t-XT=oE*br(*wZf(NTE>C%o zi5u5fR>%Zi%f&QKw3ZWC6R!l#It6wp(mI!Xu#R~N$FGi^zo`c&^*)v2!3v;9KTAv_Icf;HT;Uh00MUw$V-9hIC2Nt&*O3{$ahr50V*XHWu zx{X3~MVLdcW0Bbx4%zW(ihJ{Iv0Fddeygy?(Ecc;r*-NINp#A6KGY+d0w-Se+-VRV zTQCH{VwyxT?`z2~j(KK6*WaFTmXI^7WPYOHrmd63sdQ5`xYrWTHFwU-=oSNe&Di4U z0Mc>+w?IE-^IkJVSjQX1#Yt+r%lXuJ*Gp4TE3OOqg>(6$XJqXa#`QBnblPSw;x&Lp zVCH?R&Y+&2O5qxM*Rpr1m+jU!1HUYI3w#W&y22BstCfJKDKtuh@AYw1Kf{a{&|`3Z z<-%ho{_uSk9W!f@jkp^^0`I}M(X2b*g(M!Wtw_aehS~}^-Re`{!w!;O!+BnsGoIhT z_UWnEr0Lw#ai%$TQ{4Cy4#TBRAu?%B(Vi{d71|H7PQUBBiOy?!9Yu|Mf|@vuG4{YW z#!FFSxxfADZX{vx%gvrmi@_(SImg4SbdI~L`i-W0HtN*8`8HQ*$OX6+HuaxbKlP8n zEsR{fySmWR+rVs6n|7~ea;jY%)zq!MVVy0DJr1H<^2r+kwAVzcPc*8fBv#i^ji(#( z%qm&_xwttzd?XzPw&h5Ggo9;1QV=`4VOO1=rSewilL1Uv4XhE81b%w%ScyV_+;hW^ zp1FG3MRG0n6URhfl#9BoJveKfFo?<@44*3=G8qkQZ*vc_ZQ}aTr6>e=^{3t<3F!S0 z4Z$MDv#eN%iY?QsZ^w9_P~mhiE4bBeNG2$yRYZLGj!1=$pmzv@kKi{Wm+0RJb?2y8oT=~g^{nq;#VPbA_`1MZ+w2)=%@OJ6)avf^%$ zs$>Q&BlX)g8b29%FzM7iS-FW_^0&0VBw5KPl~wG43yRs((4?B|rE&M%d|3h+hI+}0 zu+R8@KV8eam;MRe#cFc`CH%b_P&cees!MpKB$~MkF)ygq@A8kQsygPPz6Of zbLduy@#8R-gzp*HR=ntyBb8XGglH_Cpjs1c7g5`Hv}HZ{jav~Y@ZGIOgmqY3)gyld zfnb3?5GmW22e>bGnL^`ptF zSSIIUehhE{E4*T#166mZ~%L&mKr*R@_ktR|wJRl%j9_vM)_b33aFOHg87 zM;l)I@GO{p4{uZJ_Ii4P(<8bEnN`b)ZfthtO)sqzSBu_H<#sC7f@@W{xJLbt{j?I4 z%F7slpU&Co4J}C^!6KBs$7GoC9FpJz`=dk_COaC}J62KVgTS(pW9(`JQKSrS$TLZU zK)R*UUPoq&-R{aO>#dgNKsNWdhE_`77d$bRYCoEYOPQP`Yf2{aL1m{v=>fGKf=&Nj zjfJmKSrGaC@h1!-)n3V5B#(Br=OL*zZ``}!a(80=&$$bccisGkijhfS?gx@8KX1}& zb>}Hu9HUK?%jUn4qA|8ZQO}&KGQvH_eHX0fld&Ma=AY0m4j#qm?-e_;i4RzBbxs&N zR)hLBU|Hwx-t*idWLtq13m(jI1@*;Jy^huk894p^Oeh%^g9DryU}a%K7@SL;o1%Xh#%HJ9ABt>f@&X zcy1oFKc$PSo#W}HqE|}ZqDMdgDfgG>0g@figmuG%W#iSQ%9}rszYSbxGSuK_$R*&% zakdP6o|eGxZawNrht<;yW>2w&!UfZS_hx)^1xx~b+%M?ny_X4cPJ^?m=jXpt_B#{)sCpXFz_$|04F@pURE?Xb(!@FftglSYfi^5)5i~uc{z|5;! zF=~5jA{x`i=3B)4QeDq3k$83+>m*jz^N%z?xt|jgS~p(cN!5LSK3RIoQf>KAQ3x9h zwu?!H-D6Q0wr@Tm@?KhR?Yx7s*87SBWo)kXeshwPR3}{6FzpftzVjn8LEJ7B{O)8a ze#rQRw_Nc1pK(Eg1L-D1{s$K;-pEY-3kGC_pC%PPcTxv73r0P^8;q|F^cB6X2>&j` zwb94BsS*F;?Y~?ANW-{WpdiBOSAuE(QZlecMq9ga7V^Xd4^3_{9L##f5-fmA1WG*R z8EeBs8NLn*VSzcZ+wikTooKd5OblpByN`om6tg!QGIns^G(NxJKZ8l@)&Mjj%SZ_{R$en&qL^)lEd(Lu%b*Mv3O$SU_`%7@TlIJ$yPk5 zC$f9N1}orOtMQb6g;&4uZ;5oR_YoLb6G6=3cCmeJE@6Ldtz3hf)Z~Lqq$?QGX>E>R z6&=5)*nz$G?w8MT-c?ASMR{{vl$(QLChM_Sa*bs^gpcSr-{W0J9$`O1n$57TfZd`- zZ}*q0OS5PN%B=$qEp@EIk^1Mwzd}!fh!_-JTDHu8EBobx_0c|y!20?{pfW%CjX$#E zx5}MMDVa=A531Bli1*XKNgnmS@mrSSqagV zVKA||2dvryF^k;drMvi1oqJrDjMFSL(8&mvC^ z@#%|(cW#+Yd6*93&yRe=lQtp+6i^x`i&72OdANwJds9Ac7Y|}2BC_)EG|9@O;HEel zHfkmWSYXf4nhdG`@bs2E_GR=z=wjgH5%J_1W!oK4rc~|Qv38$aG{LQ{;Bb zXko*5EwpO&c?~$tdII{d&1KBvFUUSQ8LqL;RHx@`Y1u7 ze9-Hd{p#JZR!C==Ierh&TW4}sH#t?WYo9RY=Y`^qNFthZG4d?c9uGB2nq4Fx6`cku zubh$ftBm9n7M8_}A+cJGeN_Dx3kOEJ-DJy`Dg?;KQ(se(DN#$t(!^$3l+||=q6dvq z3M+2Qq`VWRZ;8?GLknB|_|XImrRI zA(6!uZ6WzJgz6!Ees`+|fbQjiTBAq*6(iWQg_nLaQc)xc4x|6&V^pkUZHYw*g)Mk;g8 zZoWGTaV0z*CO}T@x8CbDaC+qSBZSDXz~~D5n}mLtfKCXpHz<a==Me%mIm_8R#pegN|m}wu)S_%aO}&TnOkb zKoBjMsEEOJU>`Zlld14JE_9&3J;C#{HijS4>&@kxHgu^Q$6em1hqp||`bKX1H{$!Y zHCT0q^b(aIDyQ!iYJ{BjF-a`4p>G93nI||yAc?-=LM&!@dPEiMuYE7{+v=MC6b%+ z3*Qn^406coez##VXX>l>C5+CBtg1RMr$JL|)Maq`iNWE2>yM#AZ%j#lKf;b*~s~{NzIGWT&KoM9D%^4=WUaybm1D$ z!%yza3bQHciGJXH+0599_8;freT#vQh&{0@6nvv>!RE{D=&?Caq>oHvh5}>#9!%FW z!D?hS87@==Y!+?rc_Z_@HxNaXYxG8A_1K)- ze>^@QxqxC?kZgxUpW0k6XJ=nqO12rJr?#m{f5Yu{c;{lC9wP;K;l|_Q?#+yo zh05BgN!WYc@eChnptPy&`Il7!wm#3n#jyWK*KWMbv%rUx();eSf%J%PziLp5GM9;G z-%e$JC&J;N5BG$FPA|7*q9+bHyB?)dh0T|RfP**44L+YbGP2G*eNr#3v$KBTdSxvyT?LdT!UZcKTVraPW&~ zwmvdG4@p@?%Wg^sJ_SWOtY4^3ofa^q)S+v~{6ct@EJ~^D=+(0*?K<46wmTX=KAeMY z`WhnpHgEpr4~le887dO;!f?dHrC0z{7c5%DdD$$q#GCsm8g2or@q~~#g@;T@1sYic zgw`ut3dQv*H+rNDxlP;ky2%swSZv|=BkMlLx#e8eAJfl-%s@}EH6Djerup-amhk(f zx18raW_cNu>Xz4bL7E;n&D#6nzbN?Y59?B?e$*Pb`k@dWbTxnh5viCN(Dkt&z=`$T zQi$(q_2{9yvF{)^t{)$?wlZPk&MAJ3 zmd;JFOpC+paDXwa9unk`KGRLV&QM#Sit&9JW#1_&mnZE82Vp!|qp#M^I_?Vwgx?J{ z2xM-z-8U94oHYHaw9s^%S!Ll-&n7C~dqLASXV=ZO;4U>gSLK3hS1d#>mUh^iD5yMt zzpr5iH6a!(bYPNhIKyymPT_Z|&oJJ4LYp3#BXpbv829F@ul`pV|0c76>0TYHlkqQToVQzAV8 zwYwCk!R?|Rv&-(5&c`(SlwPXIrl-PWC<6uh(}}!VOg+}vs7vXLd-$$SqqY~f+2I)a z*zQqhsN1u43?8vq0kau8(&iVtl2xb03uz^DW5_C_om7R~$4cjYG3x>fj3APpes=c` z{5JE3>UoJ{01}~e0IXDR@FdbFC;n`Wa~)+L^UU5boW*$jZlmmk^O+PHr87ED7U@f^v8y9|Z=YRM9 z4HeAPDM0k#6Wu@yVNA<{Mm~;~eQy=56FOty$3_Ib98xZp1pZN8=WuH4S%qdd#1amY z4xGb5jF@t9j1%7OQg~{Hi1cjH0r3I1{sjtG{>ZmBo+q3a|0vl8n36skIg{-COxIdX zov%OofW^VCr3((UPM>3O2$#WyyX$2$@~=He0@u$)q%pa$(dE>i;5Vg-V|;9rP?q2c znr+F>OBf4uRjJPt+*B;{dkFh4YCNwoSK48GuN3PPj%FH%qa8YuGCN-uw4DwsROZoh zBKaw8;{~u>A(m{aVc!*MljtSnwBp@&y#-{ z=c_QO%d1EdP_&)g$8h*1=p_E&QqZGMU4R4dhK*nyHfkJC$4L~qd-6lKZf z6mE+Xeej_Z13!xUD4<2qa6e`8#R^2HIpHkOY#iC7cl?&# zA4?_9(^#AR6^q%a9`@d*6+biYZ4`nNquVT{sDZVdd#z+R|1Kgj)T%L&BEWnG_~Mcu zhFkB7sG$QnHVSvqF%!6qBikXzjzd(4EM``XiZti6cHMY6U^$&jcS2}uqzkKkyo&EF z9n2RhzUz5Tx}lVP7&mF|AaH9|Cs8RLrauF%*Zi`{r1P_WdT0Uv&==S-A1kL6S_c*m z-+eOmJ2&ka(k7DTzvf?!;nqSpFMi93x_bP+p#QvkWHBxz?$LD_rCN5k1A|tsf0Ld| zhge{bIQ&Y@IqS1^(~2t&m-!ofPIq6G5-m~9T8}OX|Fi9}q?3*D)`E!+{3V)ItXQAi z6YgCp0ljX>{AAJw_wZax?rfU<>6H_ zhwybx;)P_!;^-aaPCiedvDGuLXwC_N57-8^3!DR9B$Ka+!-^v__c6-g0dc( zyvOFT$+f=sz`n}vGhg>Pjk)0hKVR`19h@G}}FGLOLIv5FrWwPFBbI>pi(51=8g{8g$W z>y`4rY{&sRuw5~JQDkKr%**7b6P5G<+|V@7N+3jF1vNV#jrKIdvpKrJ^7XMK7NF0WDetK0BV#rJwrQW1k-Vu&6z}u8Hvg`} z-cf_y4lu&YNCLkJ_2ZYG#*7uBM&Yn)rL}jyp}0IF@*$JSr;FJxM@{8J&{*%?HJ@m1 zBf!sNB0+g06X;!Mi=<)W-SPGpHP47rANT01ZR&2O%2lJgjNSM_ZGmdY)r#ak$g#0x zx8wrdSfwmswT%1uwnTuQtw6e*&3bv;_9T&2w?sE2c02;(^%t={$Gy^86eb)WCd1zM zpb0(IuyQw5BS?7eKEn2$ibu0UCvH}ZISwxM4hK*8+0!$74^9uFhi_>+FlU)3hUUt3IBRGVed!ngNDN?y}7^in{e61v5;(AkAtnPS2uS|G;9Vwuz(-e~q7>(V zi>%mMPmvtKpm1K8j1s?3BV|>g#h_`UkGp$HpgSc&w^=b?hB;TJFgK@4?%R(Sw7BF* z;=N5hisRjg+qqEHgH9qsTSJe+2T?a8ZB^ap)Z=na@!Li05HU7mLsK%Sfiaau>J1ri-#veY1hwFY=+=2z9+d(N{9|6T0Hs zNv2eL>0-ZBzsz9Ao}+%VHR$1G3m@fAr3=!YTjwd_Pssd%q~x z2!TZsKrznawB?W*0(KDMb6_&>?gAxNBWS;ce(!Wf^?GTPb!O02Aaid_WD)r6;NfSg zno9FWU+2N&XyeNCh%d)OS{yqybJj+$kE@P9^xa+)HieUatxwWwM;iaov^A7!BK>9t zc@;@08_Z5%s+Cyw(jl=+E6@s4Ur!mppq#yH#u+|5YB9kg?^HhV?Ih!SwEg_%)(eR7phRhy!552~W2-pUF=)zfE?+3obXQ-+jI5+nXY=ipqau&I-jrwiZz)7n*r zMb$-X2?0^0QJNv7yK`Vfq(td%q)S2?L)m^0Y(#l5d#R{dEi7`lNSznLR&G@stVs!4Ho}WZW=ykzyd#9#swH>^~=iE@pm*WljE)Q_%{nd z@kjkL?w#R_(Mmtgr`NZxg1`_Dk6be3u^Y>0YF_fPGP$L&9jGQ`-kg0`mg*^&ZzPiz zvnteK3l8fLzjm0z&eaa->+KR1li$i}%&NNuzLT){j4=C>g|ur= zS5ecWjJsQtz>S&LZ}`o6bMy0;(p^r~n?4vXXV+NRM9nNr71y(}6L#>D(V#k6=1o$x zpfMTAjzjJT^>R~j;SjaxaT6mkL_dVU1TxAM5yU|u(h&=wro7stnn4A0-Db7z~ zR3xYU+4#-Hbhm}?w(ajRKWS5)g7iq?el$Un+ZI)O-XKd!`%$ z2szp1ti{9)XIc2K7G=9@`jx&4yYDHL*2I9E5G-2n@M3xFY4a(EJo{?`gZuL4UykGQ z+pEr$<0s@+B)qQ-0oFpwpget0=Td8rUeSEd>)Vu94so7DsFwdKB%iP%r1L!fS&vpm zJW-&3N6#TrwkJkGrI;KMC;3oHRVg{*-e3uZwXf#x5mQ+`-_qs$(%O33p3!eF_tno# zFH!{UuZiQH9ki`~_^nJM)A8w7824ccD;-2v*am-qqFF0Rm54?ol58mU1*aqFuP&pM z)je~ciB|ufZ+vR8Of8aOC2q$u>|QX$86e(PZ=D{h+2lM(>1X@B)HFvyoT*KGxHghg z#r#PP04tQ{6Hkrs$=G9MoJ*mY_{;PCcmee)t;6-1oW`seMfucd@-$ukbUy90s2f#= z_+$}t>Ii5*Pbenvc`ukeuHPyHT zoBCpsU~md8ZWiv|=S!O@1TLVT5tDU-eC++vEk(p2>BaqZgr;n)pVd%2e5+Zs_~-Ic z5CNIuk%nEZ+zE;t*3UIR^@umwBpqUu*U zoi3)jQ1cMaMVM-8NYb4ofOPKaqvezFC%PoE=T#sACaq@N3+^hztWm7&Xox>uyaJ2= zz(^+?NDN`)UUq%K9Rcroo1fkBAhm(dfr)n^>bGo&S1{SV zc5xZxti7oE!bG`h)QPmQf`m`K-Na9IX+(?B!huko_r<1ByNae=CyLtnd~bhr^`5tH zZ`lFk79%z>HbI)*`W!8IM*1B&8}e`#J^gL!+ezNQ+)h}-?+Cu^MSkn`M_l9ag=>8_~7l-Q%${jxLn!VG1Y0KRHZYILe;Y!h+Gv>`q(|4HBFznXw+|+ zrtmF3_se{Kc~ZIv<0@f{GTB`p4t{$0v}Wnte0@6RH|lPD3hmOyX5)UDkW`xV4Eoj? z&HN&df&Ub-Sw#yQ2)5!}@5hfWI(c8?c>7fwIT&-GytJ1wMtQ z^7vC0l4i{}Z_Al57X0wFW*e~J@i{tywYuTp;8TYoR|qFDKatjb49diS4Dv2I=S=E7vE7n`00XJVf4M;>~HNX7)5hgnemWTJkcO6wO)LaVMHNTIg%O-?G`aDy&hL4*Pkbn6?62s)VPn&R)SwY=p%q?$$Q>*AwIyCkofweu9 zg)2(hqb&JrgAn|iN=}z#P3a-GpU*GUU6f6c0CqU{u>U*Ya7}AmKS93VuN_s z*7p8EaY8l{qplF0+S9N$*7d@$Tqk^etaMII!lqP%yD8YuwEpZO*vfa>7Tnb!YeY7gnmD9sr>vlHgE}%bEo8St6v}p5&QONzX zgp~GZ(HVM&Tn5~G#31|Z2ht+V<( zSfT2aKOg`|s=_%#>4cvCY6g%%&sf)XA>8iQ(F2QNhL_*wA!Hu!&ebmdgpGTgw?VGT z5p%O0Zu$aB=pdu1unYA=055ZNJpJq^%|v8eL18LkZy+ZL{OVajV#cn3weK9TcoGrZ z>b9Yx3;2=8dto1Ne(?DQzx(;_Y|3}G-x5O_{qVb2xX<2z(!50AIKa!$(*P)XyiwL% z4R0kdK1Aa&v!GH8e|E#2RQOv2*r}W%1!e{b4FWh`iWnT!0Xp-CVdJG>OpXxIXAT!o zTYPPP_fZfrPS490-OG17NM@qwz$q`@u%tKFoF)UF^V(+?WV~SA)Jk2YZ_TBWVRNBW zW|9!`xO`)@-#oF~yOIDQqnf!%5f%&3R=w5dU&Fdu>sKFMjfqb94f#456w|1;8t)ky ztYU;;d)P>ptNqE|cR549pz4!*j77wAO^;IOgyQuXQx$MgEB_3tNT0Gqe_!o>G#el( zu}2Ez_>c3Y2KMaRf4h@AcAsUn8Etq;1wik@;j8dJ2W^TMoaepmfufWF{|rW;86@l$ zP59$J!;u#~-lMxp;Tu_L@3V#OjbEc>xNTFdqoPIJQ?l$cqCO&d{*KFMx3`_Z*gT~F zdXA**9Zawf{(KDbqAM3f1e{b&{_{{yyX0AasmZq&)kj*k0@N~`t@smBD@5jP` zM?*J$g=RJRx}z~tHWSvx?iY7$2#O!jX#txxmJ9*z5TOzxRn9d>e|j-sKR?++8OCA} zfD$|h6CYVR+{yb#8j^hewOuJiUd#IL$FEF86%#SYhNe)zx%W%+5y+>Gbf>lEyi!UV z)KSqa=+uDPw>Qepnu|I6i##64>O9&3&g@0Suo_eSV4nMK^C5YUWB~p=9C`5>+Xq=< z^XC0r%J1Ezat!X^%H1GNp-f^p<&+?5hblZ2@BT;;KguW<6ox?D+b<57Y;%N*yZkif zx4E_?(P(%db(bon{rD4%Ghm!4uIbDEkqY~)0a;S>19lngV57NwQvSS6zL&S}*0l>RueyVc=}^F4lBmipXFM{Ahe6ECzZxy$ zi(RA!tL&txKd+{K2b|@n@T<;fE#Zt{bg`LHMC$p<+Zz<{=sHo7ual@wu-FE7+gy9_ z@KqACwU{f<(+&^R+XF$}4_(qg>bC2@MZ)HEB!>S@N1^Cyu``xhrl-B$NH=7{DaX%V zZ+AL&5nZ|=D1z-lIS;l6=}^}Fs;5Ot#zC^LH6jO%FEh&362lj*`}p2$-75~5X-w{P&`3ev z9W%GXPF7RxRrWv9f_}=&)}i%ECjYd9@ldQ^rNBMEqX#%hSqf_jRr2Nyp2-Bo@%f-$ z7r4(r&)Z4tC<`tWAmQ>^?fL?5WnJ-h*hx&?^^K)Ik_{840?<24YMFdF*MK?PgZaw~ z!ViCvv`3K+6w{QDpwd)1W|mbOk#zqBH|Tyb*al)@D-M?^%%OXhkds70U_SG73V*4? zY-O_dOJ=*WiMnsiSoX?Re|l=ytJ`Ex!bSvMP&)Jhw(tW~ec0WWrn>x%${~iQ<>lCM z9#UYONH)jsiqBO7B=u4r*dvp#$&}3S>5uCzL)UfK2=Q8uc4YC>zHjM1w6!AWx^ji= zlbW)U9u}mcQL(sw7XRO*&r9C^s+L1a<|F(j7S&8Ladh^PQkxWJp*1!1cd_IRHx7ik z?`3oo!-1@C>c08OKAqQGN6Gdi?e+ID?mRQM4JVHrE$v(&CZ3F_R&`UoZ4=tvCE~Yi6v*}GLI<%x_Usdf z<{`^yLAEeQvqnjBCw9%1!W`0~6Uvg`5BYx>mhRcln_tU(f{8&UFxVY>N_xGgNrwV7 z&wxq>x|^GUR5n;uUb1GoE9&CW0i#(%`F%a>Q~hHg43>J%Xhz%h2u1XYW&ZxkADac^ zPxI!zDNFY4#Bi_f^QS|kn~de#ViGGy@YFQ`u{dX+i;^|)qkKr$D#3Bak|9}z?*NP_ zX?yrah_6EiapJmwGow!>>@yh=?iHceV#2XLUdZgS-&2zAL)BY$5%$N6(k8#eDa zk!PGS_V3EjX6ibxmFsix{kg|B#N1nicWK-hC|_<;le3F6l&a#diE7Irtee%`Wbur6Io%UJxea(LIDJE!-Kj+va(~ zH?sKN;F|7<*_?+3)BV#>x)!}mN#vIpBVup~_>2 z;+vH}x`lPydrfx^!||fIEL-K)rNc9e=fJ6s+2=>I81GoPw<^2vG9j&t4;mxB(stq4 zuuFV7zYxYLX*Buk8ZCJIY478Xix0N^z@c))F($EFIgF z`^6slMfx2Gtd?)N=pZP4ywlp%6Q606GALGR{dZJIlWkKd$J7= ztJ_py=8ZY`n{`grm~FeEDYez(Vj8sGs!AQl*h8zh3+tF^~Cbsmk3(8-u8c1zz3rMkIlk zfr{>rth!-tVn$}eFW=~$Y$N@1edYbS9VH!%3RH!CMsA{#oimLd`0`TAY%AQ#m)ner zeB~DrZ->y85a0s;?ihJ~l3=pxKgwpTda#b&?Pi`R2?dGtqU`y6rY3`$kZb*!ar>wrwF;W9p5$VBwR~(_pkA|>g_?YScZ+{KslOxEPWI+kS(9X6#To@ z$2(#1$Ka<`N6|c|8U}>+jC!$nxl4^*Rsi#|f5#ZN@DnXAAKqxBUK^%4D<(<{?Ir?Q!GiUii~WWXZ4+cLO;6=D3@ZI8Ih;9M^6>uX0MW(<*Z5 zXe^Kqx2;`C@_gPWh&84z=1g@P38yU^P!z1&BoL5kA!>Thk}WbcY?`l7uT*V4P&a9UUa*+@k^z^4svvj@e}%LeiGk60)`;X9AvY+B~^~ z&}-}IA8bD@+h-F6Sp4!ZF`HUz;L60tykD39?x zx#>kTWqorBVdTvYhu5R0<|w*n1DVGcC!*pHH(_CaLc;5STP#A&t@qiW^dHZ7>bJFN z9J)Po`gZ{HSC*-y>3O%7+mMlGWbnTZ0JRMAWJn+kqm7^hPO=N@`egPT<0q^adt-9X z7(%ux=}F}_S)Gu;VL2mL>v$<=AXydYpx0JNgvFVk=P2f@EfY zsVTXO<|8dDY`D~5SwAO@+YK8nA0w-qZK}&H0u_XV6kZuU9sgh&b{hO6bDgXR8;(V( zF~@%5iz37%Gdw3uS)FQr=jjT@MAhs5J0 zl(4eZ#GbyG^&W#S{ypMb?<&+{tVJ!mJYT=^YXP`Inur$#xCmd>?bE}=BRxd0)3;N= z>LGm&irFD|BJbQS=~g^9dc8H*Z#g zFj0y`;HvyvVxFr;zRHqQp7K8{jNu?b&c@}h#ERcvacPIg@9#lt-sEEpH_0}5@ZMm6 zlM!CBN+0?Nm|nL3D^x}dt4);r37NmvwpTT?shlD2jtw^DE0Wr-Cw|64hrg{CR>$z# zBI6GM(dq|fdLK5QGYU1Xp5i+X7W!P{Ff;;yk)P09k4bfqr=%1)Vn9x-o2QuQe7t{M zR)G_Q(k$FQuQkX5#`$!+vQ`FO87g?(2!FTpH0iG+kp|;@?6N9J$Ic|d8ls#eZ}E4I zm_c&MnZiXK2EV`F6@}UKzF@9Rz{v<{X6LAP)dT?5fC_K2B{k4x7AzXmK@W6kh76e5 z^k3ZXB7aFZb42+s;!xl!ehEJXaKoUw&%^>d2mwTUsrRHUS)Q4&yFjN^0sd70c1?^; zzY5_SY41DB>L!3Ki1J-NI0e2oX&&&e)RF>>61QvHg8so7Boh^f{ZW&glHd(dPWeZ7H9+>`tGJ-*USZva#0cOK>i%JXc3xg?RJMf(UuL^EB^%EId`-!- zyczv#^Dn|S2=7bX1+$#c7@Yw`a2Q_y9|G}UU*2+mvB!mlQ@b0_etFK!YN7->H!f%5*uK+X4 z;*O8oDRBO|Soh3D%rm{!^G0{CQ3@PGa^Pcv zK%ulxkUo=06(2YL8Gs{sd~oa)q{YX`l8E6h!@W@)xR>`74@fL|d@h&xrM+UFDYMiQ z0ZgnAcFXiKspX6k=fg0@dwTIb2X4i`EgNQ9N(hiA5#is)0h^}YDsF$UmvaS#g<59p zT{?*d{(0Op5CH-?`b@nRDR5#GUCGJJTQwpD>dzrT$DFu2i2aqO9&HVLvwvHz5NLBX zV`cfPhCaU!Kns|~QM0>>JU$gly!07FC%14wGza9!L@su70PT!pwF7(rSIpg`t%vx4 z5j^CZnx8?`5c^NdX6B(24Orb+{iB=fLi;@*8l!-2%pwdV_{etzvHAvb2zvA+Yv8lv ze!Qm$5}DLZ<9pGY)44<)%7}eVJ)p$!6XoBQd6%+&TkD*Yo0tcdwI6$SRly4sI8YXr zyx`30Y0|fB-?&6@WuI;}b*-M>ujXmjt>{O+jX)LLJ%8u;=W*~#(jp=|3UoP||Hr|4w^kC!G; z;xiAjhNxE5M_WV4NEh$pPma8--xfIW`z^k|t{=u+yCH1=h7Q|A5*TW%e1Cr>vjfVx zwfHmLJN3W*`Jbn76M#Z+TbjMR{(bttysVf+o|t!B=wjT%O5*bB%`xgx*6lvz#vOv>+TOfGVn9P4XPj>zs`<-MhHm3n3=4p=J zfs3y(UlX;61isb>HH9Dw6Lf4aBT5!Y6sfjAU4P^-w;)yMOCk3XXHPU)s z5<4N;!>Ne_J1frqu3ebuothLClpko!+J}Dq?1Ngb7rG=uQx%wc1b2}a`eTUoeAi|f zeXwHF4f^&!vowQ24=LIWOkJRpW?sifnNSr29v^RpuHgr(6?#z=G{3K9gZO)#`SHD8 zqi#A)%CX#UbyuoKzqOeo4Y+)!++t4>b>1Z@yw%gmYx?YC$$jAQKF1%1*T7ga-5?2) z)LBQDRCk&101qCn!hjIH8cQiLRf%vFu~kp&`I1+%+rz`dk`C85T*>0E`EL+iNi9Bf zuI>Kg1(Q}M%V{2&@V(SMoP=#wBPqMn>7493=GN()7%|z&1;MYO1hkUfG-KgL{^mmX z&90(;SGyij5%K$<=L=FNOJ6l7zLhv<8%P#Qx<&LBjJq$iLhmm8Hdvc?AcJszc71Th z4TI9I6r3PSV`METMF<<{@hhOmkgTJ<=KV3U<+2>I{ZiXE<*v896{kBRQG-Iq1+iP- z%?;hVz%w>ObCw4~SL)SospOjW^167&8j9_6d0^KbISX{tg^c)*Tv6x5?6lWH6mLd# ztTw`&lszHR&=SKd{JHaO_(pPBNS1mFLG05Jt6P9|5K=@+rC*XiIETyyc}N$ z^SI0{vu}N2K10PE9v!}+^jYmy^;`To-)+c@Up<{>0V6>;^WI|!gB#wt`XgYzutBe4xAe%<}P( zipXw5+IkL56!yvcOmwk2Zf?Z13R91t_)6IwUDChw}UKsDlw$-Qg%W66|z=Q0dijo)&OYOyduq=C%6E*3;R9t*zTJU&E|Zbw;c) z)ZH@#X0?R)EuY`Pw+}VFEL55Wog%~2em${TRdJwp4`Mn}zgoP@g9EbYREcaFb`M}+_v|h^!nFHn0Qbw9Q zymmgc?Q+Y;xS1bbl4n6B@2#@s%~yK6#o_(?n|!NJ>U6V6n(ye-n%m3mv4RYL6@dkB zft!m)n0HXEFD8Ltq>9+ZdAsm|gAm$ttD^^(-TM1#AA)9lf+$pV6uy5~J@-58O5%Il zfp5fTHA@D|EUlY~E2)^el$T(lE%Cw)-R=R zbC>C|{}>M!&3XCmGSu#r<9N*^a>yNM$@ntDh-RdE% zQ;En^hlL-JviqUdFhN5J>E_#WPjY~#5dv})DY`I65al*MMu;#yxIQ`z! z!kU2~kwSb3>5CSrIb~oe7QeR0+1LH#$n=955-r$*9!2Xx(~3BakedXOc_=s4p$m_7 zMgu zm-+)lVCx+vY9j(ue)Wcy*I!IedS<;`*A34`dWa+XjZ&yRC++xjCxxdmWq)lxXM_sI` zA{>30HrcOJ0;Gq+W0}fWAWwkhLg*5MfIQc6cDt71V7Zu`=elqca4_HDb+9}e_c~g* z<4Ry1Vu@PmjnFySi#Tg742t5nUTl4CEPkmce4gn(4~fCX6r=A+*}hm$l@cAODa#79 zZ(HT|KIP#V<>@xwVjhtr1BpI&)y^2(Y(0}W2>u4VNRIReK>@zN6n&f_bs`=A3d785 zx5((+*d8k_O@4{Fu;0-P;*`;Av+=_bG@s~62;2ztC; z-jlNXMO~(_Q)+i3kGXt!V)8b0rgpAC9c*4eQ-4On>(%>A9^y$Pv7h>EgRgtk;_KSE z$;1aE?#{xw=;Jsmq0tV9L+Y;I*C?%`(*)m-GmJOp7=LoZh9&UGqWypR?I`HgmwkKf ze_feY=ukc;s{iKQQE?DBs)=?XgqzZly!6UGE$P{E1oT|lX~1j4=@OAE0(IEmJNcQB zQ6P499!_ES>Skgxoo%@#A(oLlpQdi1E<6mI3d)>aWqGK<^YpY^WdFr>Im{@FT8EcQ z)$YmhGa&8TRU@=(PE#COUOZHdae8ETHaA8JYWfM_kvO>+Sh`-_YD5h(bi$hc=gfIn z5=N^`y>+R@rV{>2jd=v3!&kCm@0}s%;v}_;(4RdVWi07&i-huA1QI9oJc|>xFTVsZ zru2s3k5koJsy~EW2$Mgi4!53g9+T5r^-)cEn&N)dJ6LnI*DSdGUE!xFq7zL8)0*9- z=l87MRIj=XQTLb0f92c1g(TMiiN-eieUY#7wvO)nAm!A2mWo1>G8w-{vasHvZW&8Y@t6G3?&2r#(s($6K z!edH<@np{#q&*V|SsA&#t=Q*$7O1_wrfud^8s-lM_F5l%;rkMji{Rrwu%zIrti5X9 z(4tG-{?=Pmy)L>{%3wX;@~GBwzN23#mbpO6ZR*^I%BxYlepY;1p$EfX01`;sC#I95A}S+PCLzYE!xzM+M~G1q4t=U%Bf!#DhX6sEWTj^V0aXtYqf8J!d*5GCu#4$XPW2{zX; zZIe)a?8J>#AN82RSaKj);Fv%0xHw}W)WKs?(KyqLK1+O3ec*MF z)or;|bA=ZhH9Ak6xB3+*Nz+?1qMKx(xt)ZKwP@1JZQDZ5?KrKcotmc0a)if;w#(>f zc?>978lX5fR(9YGxhsx_3P2_By_>E0>+Qk8^1OyAIh*KBM{g^q#v8_#bLM4SB1=V} z!Ys}HKi5t~pv_al5_Dvl7ibMsZH0AM&i(<|38?}o5D5fOdTH!uCkqfs=dBs0?%_&9 zbKw#d1iQ%I2Mtkd;tFvCYG^!)iPt|RpFsst`I;gayYZhR--kuiLja6t=e#J9 zGeoVB+2L&kHxcNOE9J{UF5voXQ(F<)hkpuFA!I53$sVmoU7jR^gfeMdx7i{z#9y&R7xQor0K;YmWc=siMcK2@Uo*3NU<1 zN3$QrKqhm-dOLS5D7{)IQlPnQSD(Key$LzA4miD_aJ|^D*{EH0@H|t=QBw?xLMR#M zWikGEemI06Ezjh?+EI6cErxahAC*1*u_9YEu-2Te9o=F92%GTS=GQR3z?`CC%)Z7U zswxJ`fZ11a*2 zOa}s1m9Zgxr5-PHa9)4VEKW=zH{^Ms<_Bza6K7KMT<_F+eej^pH#xXukHUBa%RRb6 z6u%JRT+N3xj7u~B46WE#G6z_M1Ue}1EUk3jeKqwroWQe{j*H!SEJU)9BT-0qA&)?Ie%GL#EQ&@FY)AqFq+@8_wUn)wx{&P zI@bs;`hJNKzifE&oHV{?J3`y>D-Wlx0TI8iD!CRf^HKzKYGKMbC>Zw{@KwvG$qr+% z6Lb=}c*3|iUS?yH4U#PpR@;uWyplTa^$YGi$U^6!_2c-)7~8}EgzI|T>?4e`#Kt~9giyo#xz5*Os!8S?%}rX$~fO#(Ko)RwUF(uYt-1p|-lw&(fvJ~N`9QWjF9 ze6637V>U+?pTmIDF;Q2kn`QQ@k1tU<{>QlLD(zc<3ab2(Hj7MXyhVzcah z@fctVm_zbAnTUGs0WojTAT*Hx1~X6W75XjHL#!9Np{8{}IrIh|P-`LX;44$MNgfgEDG{_Vs7 zU?+M*QZ#|RBLUJ}a2iz{tTs|?x`UfpLsV85<(?Pss8BU+p!cOCdK9>o9bY~^E)_@_ z&h8CW7|4{7TfhpBn)JNbx#H0A(%)odf7a)I;Z&LX?T7O?2RGKWcp5N^qnk;hukK~V zu{sn~l&wAh`LC~Ihw@=3)Jy^SvEu_HGm8{7_dBr=Ke{w?_n@lGL=HCDB#T)UPV&59 z)OL=lL596h@AH{@M)fepk<|<8Iil$hvn)8}%B92;%p zdr0nd2GN%8CfCtr!=W3mv2tHVS2)JA6{(HD*PF{KEtq7@KP)7~0N>_fDtpBenDuO@ zj`BWm=EJOPRV@4Y7O!s|^s$*abiRRN7IK)5U*|tbn}fOuHiRk7h?xzaYFbmtLN=-+ zzH5JNQvgB0*FfRDiK-w~Nd#hdlpa(D)`=H7)EyB?402)sX{d_P_kRn#d?z9z8^@Qe zaeq<+zCocr!Y>Vduv|IQMlPLKcast_BL#i)P3gJqYlE!pV+tTNY12hwSU%FIWcZy5 zDYw~y@acqyMJjbMcaVv1M4_eWC5Jx~s+K%NF1l%k<8#4#CN##g_$yuF_Q{4gt5@`p z4mpl?+s`0v=#&BNBFhDDygJismA4`L9@B#F~xh^NtMkGY5SlmLtF6BD%I8GaL0=1seQK+QPjjkf~6I zGAsTR)$CWi7N=b{{R;=+$H9s}XkVIh2P?Y!>2M^4fu<2OoI_Z^b>DNLf!bg-g=!CH6RKcEg4Bbl&7adD{Q@qLE?H4a9#X5bxjXQh0`KJ75LK3SSoU4&j9kBd2Fv3XBlA6JEEpbF_0a{>OYnO zuG9IexNtp&jP9gSPvwUw5)?&(-b?1={6|1w9Haf2e`x7CeWE|0i=Us@YaOEt9ni;MVgLhvWdbshLj5;Oq8Ai_r&qgIE=4xy zTBOC4TiizHqjAOs{d&6SX!M_$foXhoL~eU8FrLJ6p==-{d_(Pn*ATY>BtTbjAoLZ` z)FWhxhsyd5O!VSe;OXv}SUe@AF0?_y&Fur1LBq;4-y~`sAOqzl0W;?9hu$wqPl_>9 zZ{vbTY)E9XQwpHbvmvm#2@@cuYyoLBcaZrBHb#|9re=W(mG9vN>{bC>idJ%KJC?X` z_f1n(3}NSPjj03(G^5hM^l+uWqoMyKg?3dB_mD(?K1==9n`XkW!DJ+^*A&)yhLns< zklKPWAU!d$47VAkT!39GxZj<@9e1LRuK~`HhGYSo;ynuX3R04?H;jo0l5_&JAb7Jf zO=q8Hy_e$$M9;?!Row7N!?sj%F|GB_+XDS-5ArUhn482RP*I6`aDXqCDo8nj5vW0m zoZKXEO{I=KjbH1$$F`ep{d`l>iuiV^z5~o{yF5h|e|!lRaCHXsI3<3DARY^iUJVYU z8*4ZWN`oCA(tc}qwl`ie@2z@k%$Jun)DfaouqnfGfzk|olTBrOx3ix8tzV_vEhdNk zstH|e4{(77J|i0#ErmY7j!%+ocE74A&uO~nn}liou)=agV_qqwL~Rka8N~V+(zi_! zPk>hY0??MoTO))6CGP<;*nNG@97F3BW4doO^2SA|vvn`s4Vdq8wlU_87`dTuR1$l2Ul{ya53uG|5o}+5N zljI@>svu^EY;JlrbF?_Y{^l`mJ%~hp-`ej};L|<_0wfPJH4OAeSClM8if39w*+$6k z4*b;6kppZGhob$F0>?o>(|QQbt$S!%^zWz>K$6{DQkg%16*Arsq%KATWkM~vEM&5q z#ltxICuHS-e`f$%0lj}DfEs83^rttWS^X6e8xPRZ(UI&X{U>=KNW4yjx9+2vBWpvJ z3N~^KXF#+AHdXlvsmyWUX+`A+t3VI{3lSgaYy3xG)V*ri^uS#FvmpUGCfi@u4(RwF zwKI?9o!{R_>9gPS|5si`DvE_}`1jHOs-8$K@2?n2^a5G3jW=P221=e{)5|mahzE7i ze{u(&u{tB#K@Yr7++LJ%UkES%y`&t_r#Ii#pO9iyA+rsh(fcU+Ph7yA(?=8~_W~hE z?XcFzgc|!zoTP0QgUj&O60VP!f8Pr1qnO#1k>nFG;nrZ=tn7s^+4C5%e>;VO`nbYT z-S5o}@x=!X!C+iU%D;-NbxVH&MJBMB@)0`wZsR$W&ch{plo)Y{Q@zNAF?{8V`Vt~=)T zo?Vlbm#z0nWx>WJ73oQyV;Ck zw|3p0?|l6RV4Uz}_E%Yj-*X!v6-39e(sZ>(>uctk8+W+3#NEy@&&JWnr01RSpj0)9 zbY50g;8s$bV)fghyyGFUAU*pgtD>p9&BApJX2`tPnOHI};>`83kd-Jhzo}_TzAB_n z>ly{42#Bvd%5kTmpCq0a39EcNqld09KA>A}{JyPO#H1o3)E(frl}i($krvhc_#fRd z^nTO3WB~_SJspXWSe>j6wACmWOja|0Fc;Q#K!T(+jmE=d&61}-2sizdAd0=d?bC7{ z4!jxxq`YBniFxApc|T{>eJ_A$kI#6zrzV5piPGvi&a(-3faM^0$;Vjr1&B%Gh2pHR zhqo%?>uGbJ{k<<0PI__zvOmyzy+?B8M)9ke=%+cyL%XtE0MV6FwAd5oJF{O;XejRd zr1ZiYUpY-YGTr;FxZe!|5SLO~H?CaxzULU z1fbeg_5K*&{r(!NKbeCR<<7n3QoNsY*+);;op$c$+DL5^Yq9J*g0*h89_nW~ zcN`kFY<`(cgpF*hu~K_5rMbK%r1V*hQV#C>9m#XxtVYgVf1=y=#p$IRxmU^7=)B`Nv*AM}WVgH!fxRejG6Kl+_47s}80kvTo$9l_^svSo zk2C(u8%(Ma)g*$e0M~Ool$uB2cYb#$<0jT z;e{7DiAUW!-mn^ZeNF0oT`*X3U^`KiS8iNF3ZAmh)Ce~ zU#091*THR9nd^_*ow}yBTf$J+W0AU(LR&c4;(Yfa`_^J4l*(Qb5X`XWyu105pS%^U zo%0y#kzOsWU&tdLNEy@Cw^Oj0EXy-iZu(5?b8W?Q==Om|&j+1B9@YP;CklQ7y*8SzQn3PmT4Ca1EcH>hUPHpNRu(^?1vx zYB_x7ft^ydX~#}{tEo?sEt?e4lmJ~Fbk7K=9Zvged@RNc&#uz}h$th2g(z^_{x$Li zN5B(jTv#}2-A@PSIewmOj(ol5=pc2k;X4XZm~b@|Cs z9Q0ScsJojOSiAYl{{ekgdn;CBUj+NGC0{b|3gaH2Cmra7XQ z*3Wy-OTqw|b)LR;EE?|P^RdQqq=WPsBX@J$Wg0w1Wz)TcLj94*;++kN`l}kxLJF>n z!$A>mO(|Hzn-+?$jR5})IZgVH9M;je&-sRto|Qx{fxJb4SlmekbRJ~}kd(CS>B~)T zUy3Hn_E$A~&2FxDfat*pBFQtQl8U?EDt?MvvUf>TL!XdUCnh>w5ZC zY-2gVZwY6JjAQ;Rn~@hmDi5u2@alRLXZ376t9|?hu=W{DJ7Oe%OJH0x&{&*_rFkPn zL$v)5Oie3(FC0Jk(PnpglF#S5ha133oDii~b8w{o#+cytsv?VGq&&b!{cyvnoJbNk0<=bkbGvsu}MTh5oCr-;LV{eZ7siEn&4ll8@d4X>I z^p>58$<|i=odUfbJO58BHx1d={FFya9n6FLl@o*kpLC&5C^%K+RJ9_3Zd#8NLp7(d zeQz(4fK2GpswLV|^j@d>U@N)|Sl37Fp2_RqBt+L%nLN=iGH+emQSCMXBa79K{kz|* zVXm9L4@(UiBib%b;T`$5sh^LE7v}e5^#QxbeM3hhp36zrjFDYf%3f)7EIZYs`>?y4 z0Y>!ze+HZ-`Bu| zcNhCdi#3tnc#qP|*Sxo}&{J7Uz4@JUGCb>b@(qiQ{Q9Z&iiz;`a1hDvn-u<2_fCPs zf%*l%$u~SS&7XPJxegmG@CGSa$eo^zfj@>K_LHVx- zaa1M~Bm@Ff7%P+tj6ctgB7ywCe4yQ5Z0Ul;mJTRT@ju{xhD;OQ3Vq;=iR*C2j_HwKNF*{%RNRkG(Zh{7%Cl{Dd2m^9L|K+a6gY z-ji!$*^xJZ0YuT4Kln=pscoF;lpSG6=hos7#YQM58*5+yr!%AY$NEd7JiY03_ zY7?o_?3M<12!BJs0bj~T?#AmaISKP-p(?Wisg-omG`E|m&v=tzY1FSwRb=Epa`+Y$ zyv%KBYi$?%ib<#;Go@JRHlyP=lmtFO$u0mj^ogRhR@r(nKJExA!6v)K z$BQoO_F%t1E_%>fb8fC`AbN4)8wdBf2H%baKkrjch| zl0GBD>+|8jd&IA?T+52d&FW^KWHFe8bewU(6ct1+qDy${ZXF7%C#Jqlxqn&4PJAnFS^Kf2 zb$gRiBFn76v%ywub%_L2WhO6RB=(%7Kz*A`lO(DN2bNd&v`~#029APSI^kxK6lndf zN5;!10<^D0Anzg>XTlB!kg!#}x=R~69^u7RqQ3pei!eu{m#JZjkh8}8+#2kPF+qhK zGWA`j8G&W#)d`MQ7q-CieHTP8#?3Yfg#y-djI62Q5pIK=@1tPfl!0k+*9*Vc}3NJz@o$J z>Ga5(QLwcy6szWT{Vb~s(QhdU6Q6Hmxb%T(N&Mn=DpY|az`{3v2W+!HxM(&C{C>7P z6nIt7wNty4Ea$8&uaK^w%Ujy|tIW4BH_D%??P3)grnY$3bS>!eOJ+X(8IaR9-*mq#(y2A_a{+HDkF&$h5BrbKPgI$3PXbxVvWvW{oibl z3uLXl%rBL^*|wrdb)XO~3zd}C3M>poS^6E{GL5-{_|-R+G3@3y>e^N~;~&*VQWB@r z%#>!6j?9G9De+D>CHq3Gmtb>{~wMT$DSoTG37WO1<~8 zVJ|P^bEYzNzg@u`L|uFN&@YI9gsa|Ap|4)L%VF$gD+6z@U!Rw9EnHS8z18^$WHC(y zB4}Ej(H85~my3Jx-p1i!8Ovm3lGuKQjLrVXloDLB>3EflRzANUwp*S(sPm8G6$F!x zA4h7slLU0LOKjAa`6P9wS5()69!XWy9lW~)3dyKJ)Yos-WAb10^}Fq0;!)hXif79x zW0U#tDHhJy=?ayV5_FU)$TYv0N$l84?Ao`HgT|Bi{|bq)dHrmFH4@!xI2QZY*{hO_ z@vP)D&Ai|UM3UcpA3MZ#S{*}jwv9gguA_{dHAdq!Mau7`ZU%%~q+ym#nmKYeJN4&v zAAwD==>lu5kejqD0rt-5g<6yC3Ao%yn3@B>==FyitF@93n@II}ed$2{!4=%0+|sq_ zNq_|w56!R7$DS+7Y5nmrfPcdMGvA~PX!XD$Mri9v)5=jX)kW`~I7doGub3U1ZU)sG znL=-C`Vtp1axs-{Jrig@Iiul6L9@r=CUgTnN3WJNzg*;WHk3u}p9`EG$PB!2$6Q;u zXSc@UKT|)Dt~~E*`1oyIWX=oUrISi|8manO{}>CNeUpAfWvZRvOboiq3a{7XYkMC9 zip2&1j%@@X4*UdPPbY3`J!OUC&U$AJha@YaNe7~4Z!luvsHG*XPR^6J~?hU zb*AuL5fp;!kmW##6VJ8V2uQy$AorVQF2X|Ww8}+-SToZ1E0;7qS5YVQ*WiKkwITkW z9v)l`BJzgFT@3r;iqXdqre6H5zO zJ#!YeM?3vU67}$zwVAd%NfiG#Sg2Z zXx5zyP1D%*w!D$v+5zlh#IgBwY;)RRsAaS}Q8ZN@p?74Jd5H3dUU+_n>dDzpzTWW| zL|$=Q*`PWhwR*6kZi*@0bW3rCfX1#)S}F~z@T;BUz9AV%R`wOowg`N4dtD(|aTxIn zb8hgJ>kKrxO=1C#Xg!r59*^yPEqHPvmUzc6+UcG#qXBa%a>G3n{#1JTY{mBg{ zgO%ZpMhpf+iR39xVBEX9w;_sZtYsq1sBaksuRRnpkNb5A^&ZoY-7`gJTj&m*yKwN< z>v2c(21$#gE~tT_8v-_PwrsxN^m6{vvK}v`h!dWq&kAjhm0b9%V>%YPsDWi8abcV6 zZ5a!$=mD&Dd85*@GZC(w)Q{rt*1vt16F)y2y){5va8_(qGnKNIIJ)12$w@ps%e@;P zV=VvZ!K+U;iWe;rY9qvkHYrNiuNE3-swxgiL6=_mMfKYQM)h2`0atOPOyUN`ytQhh zcXYpWz{JopR58wMGe5N`_gDzDXNoK@quzE2n@miuA^#ondu#JPhMYj;$HOB08y@vU zoN0S^bdvpe2`oX}X{5VPNhIp?3BEG?HC<7IwCqEh%A7~CWFYT0{dKEgc2`*aI<$bR z83UXe7IA=U!!bbw8uhyI{q5y?haN)&%R4xc(k&o2uTW}M!_j-bbX0DCrjEtZ-%e)r zyC-W!AYsX?)=!co%dGQQodJ+GH?GNVmdJnA87y>@fsTF>(m4~)`NHRn-X!Mun)=Dc zeG}x^W%$@^49=UCW`6lD*pJR_XB?)Kr?x1-n)2OzU1FCnx>)LX;qA45w2rZg=L*4` z`_z%cZB+W@h=ZVMRw?~~Y2&kB_Fh31;dOD<9cQ@PQ{U(9>gJ2oSld+c`Gl!w#h<*i z@5(fPzye`%(h{bU$XcPmt!de%?+hpHyib%AYqI-8?+_;D$5!Vv6@yg}O^Hh{JQ6KaI~LpCR&JjmG5=8}5)&-n zt9@tDax+q%$hr&7*+Ijx#yT;5sl0-WP6kliBunZJa{yMl zi;2OF8zo$Js+xiYQetdiCT0&_tsW95d|5_VEfoG@(FTa%1}QpcN1vwGefP_a^yaPx zE}DZQ1Vj6WY2Fc-A7#$oU5nQ=_&>tmnEW6pr53PXztufsj)jqCRn}=HY|9xisVU?u zaeLs;%2@(7adc&{oFKeY87gg-{w77$HjPRCo$V#GhpH_t!m-qUq!_fLpK36Kc$@Vj zTl0HN+HDn8_NzfDpYGt0qgtA#(s(5RqB*+WfPc;???vF>HP2AqarLBY08WSFe3@H? zg2imt2zTpmWw=h$+R^J;)fCM^{Jz!bHEBhwS^|Kpdfy9nju$Ro!Ty^ z7U|F@W?SlZ!0nz8n6VJ*;h%hFdByAJH*BpuXEZv@eVsoWtolVQmI5ChFp!EM!l!ap zH|=^|DFjkauQm(#te2G?B3qg89g)EN+xr z>i)NeMkNYUGFi;NY=TaLZ?hgu0n%zHG-TQ14`KwM`oF^KKd3S{QL-zzZ#m|rDi_9o zU-^j^O{-TuP)$J<{T=h4XFvU46vTkNWrt?!Z_kBT0fFZj^W9d^pBg(EsIdWIz51@k4&D+XUx|M5- zjk+&1?DE*1cG3c`+d=|r?z`-LBiMf>nnLtm6>2!-C&E!gXmG}q5MNA^e$;HG5-VZ{fVLaw^jB*YK~IZDwx z<4-I6z+4iW`(OH3;Q6CSKibw%?&*>+&<9sQyu2uvp!M5f_qIChH{Ty_9Bcb)EX4e7 zCZP_NO%<47BTg3N2ST==_7*Nr=V$PH2yN#kp|~aRwt5Jb*)MM_LyT^MJx-H1yHL$?EcVoTQ_c3r0e4-22@^k zNX=0f3Z`jazVE5t|8eGL4t7EXDu1|g0y)Sun`KBk1g@CM|FG6>5xJT!=sziDb);P) z1XNB%D*&!eQYQ+QOXN4aaCjyhBbhJNO6qd z6qJh(_`c`%YPMAQyDv_kz*7o74K_OB=ava``XCU}t+sRTx4Kr1U2d3!0q6NfB7FaF ztLx?Ya>U>U`-3$`x?Xi+A7lMnIYznE&kT+1Gi}Swl?;fBvIdGo^+3 zIV$C|hWyvADdTMMDaw92}yfS1vHX=wZG(EI^OB(sw5 zBAkLFw*5y<5bx}dH4V;w!w%bf(3wf4qn%W^A@l`9= z*0;;udL6!A_TMTlT|OLQkC)GW^>d$+g6dqNM!#Z(H17U>m}g|0!6DyCfbDN?RV(w(5bvWzztRSfZG^TYqHf~j7N&0!(oe+E!&I=N^UBJ zNMe_6G*ZRew0a67d+M7O?H?}d;(>4Byh=tyK0lW-7E4)K&c|?g<*>E_4@sMoSS0=FWnVo z`#!Js=S4$b1WlUBJM*6u(TT`@0i0ojSTF0*;cW&&PZStHGq-F)AiyKG3o1~sMm-ROWUMYk{K{mh7`qg8-@5vh4 z@&YHs$mW6#rDYd7RWhbgb;|BmKC8BhGN!%UPKsQdv5ph_7u%)yFbVQnTl|MmBK54Ws&opT__cTFOR5^z>)KS_#zAlX^nz2bSw~0vY7PKVN-V<66U-41Qbh|Q>6FvnT6P_ zWkyV9f|3SS+Qvf&k3`nenMd>1ha9@N5A8qS=Tn0pY;1&-;XPZn$_7rRslPy*7_%}c zKvFGVt7(r;Bb;!^CQnk*eqrmCGMjy`ZQ5+Vfs>!=IXTr8`+xahloba7P(-4^>QNti zVTzGC^DOx!PY$rYJX6jZ1@B#`M82If-O#d?A|`8%P}26CuA^a&SnrencC_N`w#Y_- zVVxlf3Q^pB&0~nao8r5vD5pTLMu|3cPzv~zaj{ntkXw&f%ndv5UOV-d{p6W`sakbe zAY+pN8JnHB$C@mte!@Do+b@Tty+#$HaZZE%?p-9{)}8q;CyqST4jF##9z)P#rA;Jm z{}0#tNdc{q7~~xiHkaM1k)Ei(`U3@p&K~*y0*p1U9EpAYIS1FGyDZ63oaii5Te{MY zw94E1c=gYI4f!BBfJ3Ge-?1nE4F`%m#mH42RVCK!rX081ZrI4=bgX2cWKr}=|VH5AaH1a&S(5T z297EuDc1G8)hKX}eUOLRYg^f}9 zU+g;DBvH6L(kz%W78KJHU?$db)~mVYE;DpyiFI75I$^Pqa>F6fVYuH6Yz}K;7n}+g z$svG|o|iePV10A01^;ZSpu=mrxcsv%rf!r~`HtvJ#RDW(unq!1Q^cILKA}n3vHDKt zIwcrUmc^gcL8iV4Q*QFY#cw&VMbhsb1X)!y%^c3AyLGU`NCRC|QYJ`4?*&Z}+rl&# zqVbx7oRgc{c74Wdf%YkpHbv5>2ag#_j9=BY(AOEb)tuExhsd%9AWfOhQ?!w^#H?jG z*w)LjV6K1g3Li4TbMU!-56q!*r;o0VlVi=sOuMy7c`=HK1zHmRH!$|{m!%|l|q8<;O$&DMv2g0856@>u6{Slm8w;!7LSSLW6V z$py7a402VJ*1&1ejm8T+-0+TM55U@Ln3RdXz;yVWEj#<-@D9&-5m2>K((tYS6PF6u zxr)#Re!k*_++Gda^ThAp8ZiF=)vA|3G{}~pI)*2epz(B(U%o08+4*ZzV!{9{H4SKG z%2PWha&Zy)i^+mYg<~c>wtuW&z^NhNqZaZL&C>m8PLf^>0QsO5JSyeFVLPW364DpW z{2JlPJqAw6UrVaS#+ttt6Ws^ehq47GQ-Ivb)N2PnR9>)?A)Mc*Ob;N6p5BnxH1*VC zh)O+wZ5#)2+-jP7O>IUM`}=)nb^f_1Gt3-;V?VJHXANjvqGx4RwxKygt)P3x@u+CE zDw+8}C@pj*go*s2TL0r9T3>5OypJU$)=T9!b^GMfU!gCis@E_z)b{MP>D7KZf26mo zM5W`Yx`Dld?Mr9nRBx7>QgIb}#YgTAbhPdB#*KaO`T~stk97rT?rP)NYudbl-vYoQ zypzuaY_rl8?ph;>pyz^~#LY)V4)*+4V=gGh8tN8+RmH2%lyCS~Vv zDQRJatEgp{LiH&ZNOE#F2XpBVq($%dq!;5S;Vd(mI&V^5*#4V&eg5aKS&tqN%A=fr z{OSkanO;E=^GQ@4{$WR5GzXkv*#wFPWzt}??voJrI-;mtldK{$=q^!9+*0o6=k|B_zd!I<7;vS33OQEFPi zhXke036%g>s=$w0GZu3C@IAee?T0yhUBWkjd}TAfJ~bC}p^LFQNq_5JB&9kDc#ImZ zdx&3HX&MUCDITZ$)(va#LPG0eGl=bdc7Vf|-1IupieKhhmY*d(wK|HIled0C(fDgZ zHTSTQ!b0Bk(JC~YX?L=V(*d1sD}@WW1^Wkm=1AS1p-n&B*7P$JnTUuqaL~Rcf>oF} z<)oP*ew~*McG}B0^w&;ew2oXP4DlaB0`L3M`JGfw9v<7bCI)RoQT6So2pYT(DlXW$ zuNqqb&w3wH?V3Sf&^+QWaJx?m;(U{Le_AW43mQf`S&311Ybq@pDaY~9keKWij)cGN zgmwJqwfeL*z<(bRE>LRKkLXYO-2|5b-CXwsSXABuKDv;rhUk=G_bI6nTr!{3_Zf5A zoT2!2R-Su?Kl5luS>Ef)5rY(F%E|iN3-)aBO)K~bF#xV2ah%5{Zg$<9vBsfJ%Hj8@ z)kggu+vDH4AI>*LF;jAg$SW&?itWM-D9Ba)rMtAsa}_d=+)J>k*=7|@U+aRq(!FWc zIEcL%-hQ^9$N=*3ej(#~hTH6TGIzH8(xe)Sw00WS>}+_-DR8#JM-&b3Gk_Yr(Rx>_ zGvDaJ7Ro&x^3JM$Q$*eOk=rpbh+6+&&0PCG(~rOZbaSa(i`0nRFD3cZWNx|SE<{xB zbBMlPGn(0TiO&*z-;C!AmR*xrx#<+1nc z`Fh^eJ(j-QknqSI0>r!zc{KnnsHP~zEI`FQf8sgWSKp8<9?5-O@#~4q|q! zL7sjb4NmUtJHf}p4fQjlPU~8se{V(jKB?-LS>6+~@ojR}TduYcGtVlc{?^VqX2uCh zW8;HbH$rx$XGG&GFA8jjSowYZk#EYg(0U>pG>24QyRpt9d=GtmXUG)o!L&>0a?*;; z4Q3`dE1729PGGU5HkyiBUhfU4cewJXG3mCGK>dfd)mwRjhc|SS{PJ@46DEz%US4ZZ zu?Ns9k41e-TH9+C^0OOC`HC}-0ZPppj-jB;K@$YDn=8HmY(6=%XDHXUUx93r4s%FL!Ii;Dz>eCJ4E zybtIaJIK490~Nk9B5Nsbc%iFeLj4#a=2j`&BVBZNmOBsyxo+_Ltbo;{UxP}2y7Kv3yT-oQ%Yu$tXh7WY5`x|_>^$1{Zp&OYYoP?c+mN91m(6B7 zeD@4uk#fqJ)Rl)4_^ngxN|9HO8sg4pOtP*}u&?rx71d;EYDlx`_FE0d*7w*!IQa!@7sF9O`H2YWj|YVi;_i zZlQj(O7+G1B!|QyO>?W|5VCgvfn6xm!r`HY#v+SLrMy{BXATjNh|)h}>+xwnzN2>Y z^0w|Pczd=7YY7HQ57l8)|n)mD{2HQ^zq7;pD1Tf=KFlR^j)G6=%*psB2Wuo zZyGh}5DOYQ%w#dE#lwCY@EZ8hBHR1j$f3kVPL(>?irK?O7M_KOs-)h{2$2!@Z^g-R zfh*wIVM^X=)FIZJACzO47Lddg@)`pQ?d@ zYRY2YQu~FcK^}mHXb9|P#8t(?s0n z^D5bGK+@Mf;+-)V<`ZGN@;MBl5B%czaO z&AN0-o?8ftgY@(@bRAS@YawZMi|kiFdHkhv<5Fkv!kHxc1B(FKAq@my)-i*xkvil3 zb2MzTcxn`eTGy!Qbq?O3LD1EnI*>+hnxv^`0OQ5vy}4}1 zmbKnp{dlT|(?Bpcyv3f7vfmf+W1(wx&|)nl9VUcd{dDPvYoQeQv2Tq_ZMg<+A6K4a z)nunbOtJ-QrMp|FoU5YJ%+E$3q8&7(5SD}IA5^(ljuwa+gaI=ab}CG*tqJ=)rQm=b z;|)+PzN&jT10_?LWnC&sYf6`^Vlw=9+Gm|rEzfKT*l)_5s+f(^fl_2>k0FZ}5t93- z@0itK^;-Bze02FBIlVS5n!+Xp|ER7gEb$>8W zC{~RtbUpfq^Gdk?XcKj}-b+2#BtvLE#CnrVkIrDgJ|ir@yALol&7UDxR0=l(!@se+ z2rv-5)#l%B0CxxL)I;VkhZCHf!Hd_V1M(>kp=UMYK3o~ZXix7IXNZ5v-{2AY^i&pU zR_zpo5GklPs;zF1`BO=3=uDk@)=zi*6(3DC({I&(c0B;Jh#|)`v3yi`Ejqlcy#?5* zra*Z?%bA5jQMRm_>vTq2Z-Wyv4=2sc_9<~%zTJJiKB>V%L%v^L#Wvbt87LF59e8w~ zocK3w{;{ulafEm0<%(?mtn%4F+T#I|4_rM>M}M}WP=OIa@fre+max=QF>oeF*X}z> z8(n_Vi7j(LYhr94=MO%%OQ#3y0$I+R`|pgT?_ctXJi|a-n-S};2QC?4682e&x)1h@|#fc;5yMiG(8 z&L>1OXfk`{37G_zz8OO4m$33$THhGB@LgmP>n{xUe!>C?fCCg(HA0mK8}pWFB5n#s z)n#qgO}LvV97778XzpNfS#eL*u?zy0>o(~Fgpz|$m*m$|Z|6lv5D`)yaR_0(N9i*- zU{QQ1;_=daDisJ&6CU%aVTgX7z={YJsKUVr$F3SZup7|>f0LcL1jHu<2ms3IR~(1 zC~jG&qvFfVyYb25uE0!wCN#Bh;k|cJ2Sh9kBaZ9n?`UFi4HNM$paJaqsS@Jz*zQLd zq8qjHq`_n7Q>{ZlGZ7+f?yF{)JnX?EKn3c&$9`q^c2H2xvjda+$tR`!7GG9UR)co{ zmzBtCSWkO^zNlq%F=kT`o-WAuRmGon_0lD#33#eu=z5-|E%h6iHVzhG9=*k0VVOFQHoPi9X2cz%Ju zC0JsDIQWqxBmp_gOcWS$GD=qc9Y=X4LApd?1$eo+wLeYXT%_N9u-%V7PbmM#x|D+e zb9H@K>ot^Y(bc=xK0#*Inq{pqm1D#1ftJSPRJQG32M$hM+rEZz+V-HyS)!1T^4p1 z@7KLWL2XPmhDC#qf8hO}rzhPoO&j73&C4D(rouc3O4*Ck!H zI;R6D4vl3)5AS?zZyrflDFZ*umfE+Q$T9fG6*=e69Mrqi9VO)M$iD7b zzjsC|`jNxno5_Fmk&evws|n0KNt#M3wggSULqn=sdRNN%=u`LuPOUkOG+K2XS&tZq6>lTQY?_dtW)9E{?X5ryO;4{d|q zc$;%frZ`X4d#u&c$D6crfvnUise3$p)>4iX&gEm=*E8hIbdv;)aTMk3*_%+7E0^>M zR%ER9XqLp{V9~^Ib;rT=!10c$pW?=s-sIS_`++Q^GHvkOa9TDOLA_sA^ z)(u)GWIy<$Fhn1fZ41wtN(x=-cEvd~omw|dg`L}cLOp1|p|DHrCipl0L*DW{=m{|S z;?ec7_4h`?N{Kfpgq{?^T5ULrQp#uoOl||67^)pKDufs7dKzF}GlMqLwIY2BJ;5{7 zFGdYJ?0ltJst$YbDFM@5Cq6K&dp>-atG06Q6*W5NsmOsQWf3a@#aOzSrXvuYSiqB6 zX8@v~(FFd@!)qIn%I^la#wSPIhL*-0hGZs_>32}0*@_{M?;?#(>rY(nhu-wj!TTJc z;h@cvp4XAi87wm)$iFEn%lhH`(h&rkrzOyU;3x86`F!Wz`eTh0P>JgdN%#v);G;`0 zyNvZ)P1@%hc{ai}%#LS<`6umDs$rsr!U?&^-0&3iO1K&L% ztHmyS$EJwn&p!GR(rSxTK^3-mw~?Fn4~@$8*mLN>v@a3 zDOK)vrbfMVQigesgSBv>184n};fUqLw9^MwEnmi1LT_a#ZU&0XbOy|SeDDecXjcnE zjJW_V#C6T|YVBtQYL54k(HQy`$lVrEzF(Ppi-(++tXA{0UM;O3Wy-II0p2&ibUO## zrv7k4*Y^7kLusLn>{WZL%&xZNxyny=9K*U0+w4!LkxzViOaizj7uRCkag{jdUeik- zA*Xzd8R8ZQO5U;2*_ME2=$p(eIb>&2mye&D%Bfbi#Q8msNdy-_cDu zhmZ*fiAR!+_M{H*Z}hxWdXH|rYTJ63`0D~&hxZF!^JGNz@_(fyF&f#}@4 zu~zmPb6l>t7CtBIeeM;x;+sn|TUtNDTRKSD4l1~TR_fbLs%iAHV|5$7p zM7>;Alpq*}Pk^l>3TLMdZ%^FDh^fX_u{q=WPpRwhe&Oc7p*PzLSOY=ob4aRRqfa-` z-k=#%eEOHBmc(+OVugQGdmW^V8-_5`!AtbN$wK_KU+fLkFZeOB1!x$yK zH;d6C(D!gRY5jC>Bb%C$*MAjrQG6dI=+_hZMTuQLff@v^)vAUFa5yyNn%NBZcm<+zSh zY!b84WmZ)v9r*7SP@6p9@lW9sa7Q6_ov2*zK-?N;q#?j zl66`V(&7A8dadz>62OnAG>tn%aZUpn<$q*RX0K|3v!^29u^Ev?)~!2Z0}}U3hgV(aTyfi{j#4Z*k7 z)1l12h>>yitOQ2^N!geH%Zkvmub>NzpLGw;Whj6W`DC$b4fDxRc%mZRWxtU8rg>^y z^T`-4B*eEzNm?&97Wri0Dp;|>Fs}5BQOC2B4rfMJW=9`-uI@3#Y5gb_r(8{Io57jh zs|jRXr{(75)_r^ZZTpAlXKJma1LxS2xws-SS4JP=f~m_6ebrn{R{mnutV_mVFg>lR z<>uFkSKxz!Z#ZTE<)G2s=(_g=`R5$r>P9j7Z8r76sU?>>%pmsb-=Fq; zeZgVWEiadkT(e^+-abQM<#jl^(^A9_JeuBZ@nenUzDZ)1;-2?#!Ob6KD*kZs$}>pj z8JqlheyM>SylQocwp&n?r(IxpA&n*mLdu@vtf0u zk36m8_A??<4S4g0@NvX`QVJ#&QHH>CarQ#w}!|8FyZQC@{skzEtmWhq|w zn96^fumIt?Q)2Meb=XkB?ltodi9+TH4;3PSs*C@e*k4ESfQ?G#wa7nd`+tmF(jeee kYVvP?{(t(F?LS8(F1Zpgjpxq-#r%I6+`gkzrR5m?U#{`b1poj5 literal 0 HcmV?d00001 diff --git a/documentation/images/system_overview.png b/documentation/images/system_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8a76f8835e97c38095dbd7cb57999de1d5780f GIT binary patch literal 97037 zcmd?QhdW$v)HQr&^e)j$kVy0vo#;f1UZN93Cx~8WbdeyU6TSC{-i08D=sj8x-RN!1 z_)dP$_gwG$KfJDEhBN2f?c96qwb$PBPD?|H2%i=o001HtWd$7ozy$w<0=U@V8~q4F z3;2fVA*Z5;3;qP+zK#X}CO}0&R?qkIewN>7dYkmCE?0d6Mj?T875>Ecrs14|N}|x{ zAC^fkG`y1K6UC0$qZSc|ODdTQ*{t!y9 z@NeDog~9Z^G)L4%mlD-JZ6U8ccYRmzNwES`hg`s%li6%yq zKKmVE9BTe)(n^RmEUrC(?r29lX(i5jMP=Cx|F?L|Ns;Kq)?ix`M$?Dnr0PIkp!b1K>wj0a_y_V3u#9ht?CxAbzu#l@B3YPbgP4Z(+r^b{Vp|D6Rp|q zB;2f%Pr3$byZFJ5*XHh&mr>B8cVK7X*0AJun=nF)RXWn_@Q zo`sWubHj~8RXt6*dk}{@;Mh`9aI7RcV@B{m&;cK55#6;2W<+qzt_2s|mfj@M2S!3~ zP;{Frda*dzb_(wz9P5vA-@ki=2nMcx17306wU?iKQXw_fI%p+&B>%}9vZE8g<#&wr z%Jbz8%BwBN?&nZzS0)4+x4BvMT9qDYdQuJ9r_YV$?UQa!h2BZYWSzS0Z~bUn!LBaX z>BJk5!h^TBG1!;tY_*AAjBG41xl6-<6Me_u@zxef%UL86LNd~fJ+%lH#4-@*4HqYH z+ZR4Le7pLSV>ABGTxy~ZD+VvoSU`8KcbGioI%xX1AO^o# zOmA@R(%(sDhv9c3GFcw(`^g(iZSba->?_gMIfOFHOTd&t+35p%WXi+8Lz|)(1;=6A zOZr2LZu?m7(xZ^N@~IZO0W_)K<>S?FkQ?^VcB5|t_bcO3IXKkSIfIWrC4dvQ{kknZvTb9j3FA%>9ID&CIyh7) zPo<93=a!SctLHm!S8*_=#Bc_Jv)hpmR=M?uL{{fYfR8>RP%r)6-x1a;s>_m8SMvbM zG}8Lc{bS2lssSl0xD%FTzB}(1QeUNHeu3Jm3kH@=9iIOVDZ}fu(hevv(VZkaByc># zP?!xB90U7SIi8^}jCF1wA<`L$Zi>a2a!{M1D~&bH?+V#Xx-(3~E}bNIon~^GI~EpD z&N^ACvxJLhy+f7hQSA=#B4(IShVNRZcOP#}Z$NgZSa*r1M#ns!AUNnv{;Ik)-J3U8m~_6!8eB_5 zF2T$9y5qqMgjNr=lU!Ak?q;cny6|teL{sjVj|#wEu&&m?GlaJT)Wa3rb8qOaujvNc z7U8g-+AhPQK*OnJEGC4x!kNsX%K3CY2vKIoyQtf87txDecastwGvy_U8fBXh0c`3) zNBV$gem=r{W98!oqK%9-aw7WdEAOpA)KZ7oftz<&^uqS!kZ?5(vU^K2aL9sSz!5ZH zM|`g>nBK9EsHEMq<_xthH+c?7L|FTPMgyI!Nb*^qgT*1m-tXe)jvT*#LH5NS9-JL# z&>LTPv)dVOElqprfh{Sg`{_XR!tvydq}wils{CH-Gf;7PT0T=cVrmp&-Sw5^@6Zd; zixkUW$?NaJ%Q~kVt0mr9`w)3lw@2>M4j7Ln8;lp6sp#yrd`;WMk2M}iR&v{CYBaR3 z)G@DUIiZd-`wVy#!L6kkE(NkZHtq8f%bcR#4N=uhYV;?EPVcxp7Fb-5^&F#_>N(6T1-nAE(HN?^px4?Z5HAr2?=2-y;o}k}B0% zmP~FBkoGeO6#UoC{~VT~d<;AQw?f%rBcZ z$y0wBC3PfnJU*;YA#tv-BVd6=Phx6Zr;Y!wO=9hZzdPL;^Z^6*nfI{ZOt?KEGRqxA zhN|Rkn@?8n;5_*_-^98%yK(-YzRf{C6YVoJ)yCn(9Y9==0o0*vLU)y4lcb ztT)tOxd(V4@l(Mc*VUFgNSld#?+u_c^U4W&f}bEd-)|$YYD6#0dfRtne3236J<@P% zs*s%NH*jzQJ$XaEY`_AXqMLJltnuIf&q0j;O`HS=aeeD%+TEG)isa;Q4BDgh6gW9d z?`DP10*N7J-SXXAZu|Q0{8{gzX6~LHIjl0m3E<-SOhPZ*_mO1h(pZ5HrCMX!1N8G} z_uTdwiJqP~bXPzEegu$*qej(M$ydMJGo7S%6^U zkNlI-#El#3wtXxD$NFuif2H|nF3WnC9nl%}LwwbFRcf`On-SgwXnyh;Eqyypzlyg? zy}EqWniyiUu~bKPo^p?!5@5inei7(jxfF> zP?iy!ff=Du^>+GoK4R@jx5x3;y+@n9bU)g>^lt{q`j~vb#2;BypwGV`jKJ+oE!5Bi z{Ai2Ww$UGu%KW$L+kWcpsOjd5Pd@QjomjWnzRYoE%1K$uj|*Y(Y}7`do^;#2dwJ_+ zdUw!G5<>Tm9CvkYG|}gMw*j1}*YKDsTs{`Ys`JSVuktZs8RPbzFa1C@1IQy90qI9y zN&SQRyqNr{OlV=9Kzq|@aw-|#?(CmAvv*F1SW?)gisZfmD)Ww8+3x!m{|0C0=n4U- zpwC||iPryHywaxv%Wr76g5NOdEC(}`G9!cyq`px2l8Pp@KdTw_q6-<-3%`rLd;AvX zS(}1N{2XL_(tNO8MoXd;6m}*|9Kd zr;|h5)zSqbO;TbAJree#?M^9a7vZJg&a3fw=+K?m@3Kzx!sQ)jN>a^-N#_e2p#=Ul zwr-WrF#Lf-MyKxD9416H77q(Tqo;Ne@}up2^zXowwYh+SD%d}u;7hs3JtQHJqNo4? zxjkR)yy6*D((W^o9l2vpOpaZ)btblK((p0~Izqpfd*2x+7^kw#GBcFV+?h$IIQBQ~ zL~UD0&UeNiZBdXWC;~@HeHq0bXBK>&N$1K)n?GGFH9&_`7C>@zsbGW`Or5jmik1%k zZ^qMZ`*tCA0}CJ60C3(c!ttb4U(IlTOU9v+fl8S`do%SQ9{tZs z95+Vj^05GTm=GFq zi_*|5_PC|-67K`#Km5o316}n{IL=V40;uDe{(+8MmD~Qg!nbbz?wTKMTbC7yKDwZ{ zc?Ug@O>w=SegI2rZ!5HLSgvA4yd)qLzCU!`y+v$XA?}Lh4Rk$Nr^d9jIKq2HlCXn5 z`q3uOJ+!fYaPht6#0Pz2c_|=q_z)leMiE>1j&bzAnY&v_Z~-$w6Xf9k2e>F}m=q;( z3bcy_Q4K-MB{>C%Cx{u6$>SW+RmOuf^b)dy#Q>6QT0_}-d+5%9H(agAk^ zfE%{o<(pR&3Hsf4t8<)6OVv#D^tS?jO>|d0aUJDvg%KIuIMIJR!WCq5hXSdt*xWGu zF16{~e0DqApW!qU4xle^2TrUX^{r1Ue7kFfBg?1gYW`=K`4{-WKyW%6YdyFJwK(aK z0w51%QJuXsUL}&DoKtyxwW2O&KL>)jl;0(Bkxrwg{MT- zQ1S#TS#qE!Pa}?PY(?ou8(m21yO(S6*u{NbZ~AI2N=?`1YQCq4Nn?PlW?7M(u{*lP zM1j27<2AI|x`qWIg^|P^ci3OM#BttV@}F`12DvH|;ur7>%alG~UTgZ_ZnC`JaRu{D z^AaJ$o9%tJqKg(hinFZ0J0m^#EZBXW3U|EziM6J+RnU#0zz%3Kt3pcQ2JnCo*Y!D6 zRUkcb);*(B^Zs>IC*C%uFys#Nc9w16)cO&G0b3UxYjO7vAR%Bd8QpI33j!h%6RtHY z!kkLl>1=P&)5riO@Pp8gufa{p0MWo~cegkBzk1cy3c!L}`#?vh z+s*!WBH$nu)ek5@i&t1hge-|(L^&>Zf^Gco!E7sG1^j$;;@9?;eu478$%`5)W7LJv z$VlGLQ~_J3PBZIve6?jro51yt2!RKZm`oJA`OlYL;(*h3zf+B)psuNznZ~w)0&5c! zlf_{(GqVc#RtQyyOSd@_82SBc_Ch2MWwzR8?V|V}or>ZU2|i(r$K#G8k(<=T*Nj-u z#pmU#FM%G=L|)v=1Pmz$M3zZfl&BU*q#n+g3m0@O1q34YXX*dmU5*ws*9<(UQ)FH2 zLR~Bh!NseAIHFu6k(KW);gzHoEouqBM`|6}?F#39=W!asX>4q~oH4qkDTZi2{aTU} zEUvDu&Q>&$y*2IQkpBHld=LSn@7~8I$R%P6)>V;|)w(o9#>%jR!SvhOImMI+-Ze=jYli0&lP#5*YTj$~e_!y?Cj)leD zg>}5-h0xY#4-M43U5>hkhd|^#BcxN6w&Ut-EfcPrS?Ysl-bW|Hyr&Z{cz4eCX4~jQ z-UQkpFAhdiREtw+0gLaosd0@owE%cdG<@8+iHIeTknH)! z@aIFZeX~lTt4>W)z*oVHBWV})^n-83hpV~mbM4{~2Wo2YB`pnn$rxv)aM3MR;YjXL zOE)Yd_xStEVb)lLy-3k1hzXbZVQ&)Mo9`w;sHb&}qoP}%4Q4yg=QRdV54;VZZ)@^T zU5*N>)6&w~+uN^3Gsmrl67Xml?}?9|QtmG_IDISEuc!`Oi=aB&ovvt`tukrq_gYfI zkLW?bqu!B2`4J$_5EJVtAdIa)tqsUSR-sPs0%!giEZzr56;elhj8?{=(fT2~Xfg#p z>Vl|mV^DowzruS8Khu)c~)7K z2_c|Wh8$}Fq8Eq|X2<1f(3-S71k1f(@s>=VLIXV|>botfD%%VNC2FR=ACUu;+JYA< zG8hSXm*ihqo77xCe;R&G7h_&lQPz*EG0g|8NxsN%8iPpPYq<^Pj&rthc`hL(RfmToxM-+G_$gIcxm(YX@FJ zMh_>y;r4VET=0y9YGsA>E_f`NUF(HB?OI2aOi9KaDKtR;qcwWy#9^q+v(v;KECu)EAp? zy%ejf8J-y^aoAX9uoye_@a5`pO_+J^9P()G@`U$Ujq_5pp$@Gc9>w(KZ>27D=#-6c zCNHS=9SS!sx}2)^HR|~InE3ekWbQRK9n9CUmMLsA=`b|Ei?3YJkYK@}Qp=XOZe@;_ zIQf10>sbw2sK$?IWMrhke4denYxqx^b=3WK=|AR5MjV`oK>r zdrO2|vPNuyNb)Wge!yG8%}QpW})At(kSI%T&wk_JeQ60b#@l+Ge&kJ{!4r2C4WbA;vF(D%%_|f z&c#G%BRyQivx@WbLi9MEQ%BA zm|tby{EriHjK1)y;J+cD*b^2xwOTtE%&5hHUCUc_xz5XM^-678o(DY$jj7SskHaI& zxiah-| z!t+>gdxmB%QOY5t?1V=s8Nbe)i*}}i>x7Bi4ZjhyHzLva0JC_abEmo=&!$EN*ZRVFEAjs&EF*6c*NCBfI0b`L@#N(%RO>o~+t2 zWR2DRebNwD4t5jt?FRq$I?x|JBt(HaDc-O(y6C@7c} z@ZI{AMf+-JVtM|`DnjNhdg^fgV6F=qEHq=Q0O2D%Y(sRaSW=spHgu}8H*kVWNfx=r z$lJ2<=?|JA6Qpp4N2qFz2^tG_ox!c-EN)q)9~AG^%!A7BasMRa?%5;l@s%}q!tGHo zN`6~aPWdwEuG*I_I#uIZ@z#i}>8Z-~AM`!-UlnCAL^ zQpBx&BKe6@F#zC(eOzk092=hwaVY*Ww1cBgCXoDyqJ;GW`8~z`eo~iYZFOzZOp@&( z?ORyU@c0He_F(F6?H1F+o4n3~=B!mEktGZA8~d}|8Eh&+wdkU7a;LHHJrx4` zWt3&JhEsw_HXtB%4K@x56|9%z_nT7qb7UqOhD%gooeyyY&}X|!zmo6dv5tA_C~(((^d>ZSPXC}Ug3#}yCa z((jbibI{ekREuKwU9Ka+kl9#7KvE#d$|as8qx2DOFX@BG++JmxP{q8bgk+O~95JDK z<+m!9M(nn~(o}SHb+7LV_K{3eDfDjWBzE29CbzYoS&P8qz8!BMB=HfB3KFi{zk0}*l^1~uwyzQ>)8o)JFfcG1ere4$ z%%7Q&5!cAIXWgBA=Dn5{*$Y@K#gLhld3!((7m?HE_|M}Dg*d;h4rw>u4lGT9UBW>DjYqD++}) z`|Jkz`hLe#r||fz&bx$PzkUe~r*I=(Cj}8LSAX8;=&BB;s*r|bgz5}()3oTNTBaq! zW87S~1li(4bNUd>A4nRjjAt$b|Gb`VMPZ^(YO9S|jb?uVkv#lklB1|G|E@5&d!2Eaxji$9U>y4@{SHOAz|V2iwke(MU9bk z0lNfC>Mfc`cW43vP2bH$Fkr1ffsa*JQQ`EvOKGxL-O0h;{t9kMjbK()d3K*)wal-( z{p4NvTR3RU+6D$qcyrW|YpozIaCahVNP6AmYYl&YwH}CD5^75b3-9k&3}qSvW1~&$ z17znLSJ#rfJXyOsqb${;v$zM((j)`CpKIrgZn@Lj^$dlrKTVj0SYTbm$u9~iIaLK; z4_joDMy^c{r}DxoW^SU*DMCN~o{62SFn@I!m*uNO|IY7cEp;L*Ml#i4LH&$KK(^26 z$>wmD&2Y++wb4umm6_+b%OlF-eDFtEuqHvO_Uk)1-sE*N}H zGnFdf!%hXCD;Zyywjl>$7&a5hhIJoY!_hlk@qcRpN+uar!H3aRTU)E|)bY}(1L7-& z8yag#-8r$e)UkMpG5|xuT1_q{7FtU~KZ5+uPV*>B!|VE{rl?ND9@u?{$Ck#@#Dv`Z zquhO3t-dF(x^$5^q1H9nQs$@LPSG>Ql2@x?1TlSoEVwN?Z+H0!HT5_WaGy;T`gF=I zz32TH;7+7yVCT6&!1iVyA9f{KMkAoiEkSv@9Z_mXSCb^?l!bH1maN*uZPMtB<)$f| ziJAu;eHXDdHYhrNYu+ud2#sGlX&^58kiF^)&%z*#4`n2nL%m#IUzbACawxvhH#pzX zW=mSa9@?D#jhi%s`gQK{l#Rq#R+u17Yr-gL;k^U3eHF6iR^VtCErSp5qy)sLe6yA8 zlvs!O^7YY$d^x5lUQUd&Rea#V?B4Faf&hD54ihCHWIM4xU#Ho8vEYA8mU^*F|tmL&gpg9@pd8~NGArK`QY*3t^fz~s)hZ!jzPqsAszk-EHJ zWLc|jq@{h4a^?^}5e0SeZidKk_1#U@DG*7sPYfL)5|?Slp!nE+GCnZg1X3*hRN(%uFsLowxgaNjmeXYfS}`Q+8KB)WV|O3 z%^K*JUvkl?(_~B0GF_o^Fh99xT-TW$*;lfLUa64@>vDO9Zag?TLh#v*d^b)TkZ^oh zo@Z5M?N~*H@tz=}C+i;y*Xiss41Wy{2E*Mq*3jEyFt)WaCMx164rO~TTp^RphItkv zZ9&;7?@zGLAytCJy&M$pz`U?*xql{njnI!@UVLlBQqVn>^drBaKbis~ge) zGwk6~I014G{v=C?i??a1p5I^X4IhNLV#!dfNoy+_LB^(Oj6{+!xbj(3JpErK*10@$ zqE8lxTl`eXBL^7S7-h9aGJOt_AJD03Saw4XJ)2>6|BsH%2-z213skaCHL&rntYcrM&)B#3=b%3sqArxaGop{8A}=m3hI{$ii|gt<@U**g z@D=l9mR?kRF{tWU=< z>u@ACQi04wmbqpR*@K8*oZk`KNzc${A1+Fk^9Wmk^U;1|y z@sWi?wpouG>+4G$CW}EbW9((fZY>w{U8p-_y1SCZw6C6SIaaL50Y+ly$<{ZuS7SMu zdKWR#--wdTco&{Am8AX5=TH#T*?RunFO&B3emCY9s3@CIPrTHPeKjb5K&#HDtE#F} zCs?B+IsE4K%zMl?KhD>)8(Yy}+7zdG&Qp|*m<)anYm3~Mt8Y0qx)lzx@%NM zvXmUxY767U#mfkPK&iqlePyX5m;M<>gU)WYr+Cl`7L_T}3KOU?N{atBc?l#@J)GDf zFKpd;qyr>beE;tc=Q~x0#NUs4#bO_u?g0B_+j7plM;m9G@YimzlzwK$U5 zDBn|XhSaiQCF#88Pmfu(h}*XyJ`$NpmemHpOf%@NC~{x|HsyFstkdLmPX^8^cwYaF zW$ejlTbWfJ_@M3TF&DM`>qc`qBD{>fK$*r%(T}02zCQdPsfmZa;`&WciD^#%f*B_k z`f771c?XmRqrU!K;sA&7J+)iTDd zw=Fm+Tt+$`(#)X9R!*(R3FnU$-Tm0}l`EqP+7?X?6zA{81o)L0o5F)INrT&7duT8v11VLl%i=+sbGtl z)T(*T;Z7#&{D9P6T{tU_8+eQ@6Fd02Zr&2_yYb%8E=)-YN3|?QF1NE2giZfxcFOm@ z*&>zOw?MjDBp5(hE((KY!ba}TC4JwT`u%;TPHzcl44&KwTPC_hhdo)NM1N?gEJ3L~ zEsagB7(HE)cD&}Jds(ily%YABvqVR*^9!En8)9xq@*m^ z*U<+MeX*?^p(n?OZw{yC)W2D3%^4`W_Rs#5$5Q9<%&X$TS10ox>R9$H9YJ$%o6%aA zM6osB7?{!1eU^I0)vjB9^f0gdLQjTB&Qz`6hu(M@n+bQ3@`r@I74Qo2XU{|&tKzj( zubCOYfKl=ft?id^y?tn|cA*aC`Ad;DKpNBLqVlV}>$i^kg}leUbULqi5v-LMzm=3qV&#UaAGJx4K#vC8M9c-l;@W->peFi8hFTtFWA&vC(p~7vbo~kOO z`_L3=X~hxoGAJ2CGM=NzA6##N1;-*>|F4YE&|GiB9Zzv%N)dJE#bVIBXIK20>SxH` zKac5qbZ~G$9VsiG#gaJ!1~zGe>_f#ne&$8lTYgu;hyg$GtZH2Jrtt7FuHyj#7bVc6 zz_N3fqfs*5=(4D1W|nnQ_ZL!AuR}eR(*RFLw5Ifnm_^Rded&tQ^Waya|1~vip){+z zva%wdPRgd0-ScJAq4zQfq|$mksk#pyJZN}_@zG}#Voo9fCP76PY>Dx)WO!0JL5BKE z|5$g@aY_Ck=L$N0u2Thi+qT1Ii5=!RY=4HKvPtvj$2%otEwzd=gS{qo*sdeAKMHG! zr9V&gSU)9}zHjp!MqH$)5)P)fE+`(ZnFIRoAf!gXMkTaV8S<)d+pd2_ld0zKq{Z`Q z&BM#DKy=t1Q88EP?){H!1}thC@)fE5m+Q^g94DtQBSSw9Id-uq3_yrE!ukl$v)iOU1`rEQ)@0^i=yHAyV5+z%2p>byrN2Ik=R2fie$fPiX6Uom<7-2~Z z>Nk7=7r(Qm6SX+`Qz&dszj6^QHqN*C@MdLYCD;3<*d#FYbC^+sPu0gD|1`5$g(b0! z4HFdC$BfA^W&3QHGDoZyg@Ga+hq)PO!NWW)QNyLOh_G;wRS(gRyyjQrQ@{lZ5W%t5 z9*?!%8JWkG3;zo9pPIp*4RSG`P`Y=`D+5@Mk*EqG_rn? z7qHZM`bwq)tBRdq1<_K{O~L_fpLuAxud`x}W+YHm9XQYb79k!E=&)Bk}&z0&6n4`*#*nFBj;0piI}V@n~lG*u^oSQ@Ok-d~=`szi*!Y zto!wyenZ6eXL~zkwLh=K`F-pA3JfM#!;E2!K{UVo)L-8N#+HfWJNW+mC8iK4xRC{! zDznQ~R#rLJt?P2Tk$R@Ex|gS?8txinKbWPOtLkQSTs~xCE9wE`c9$9BQG8m*EsIId zolT0wx!@p;%t)^*XnTW`(?se$BoUOYXlAxh8+5pqr1lL>?Gr|nZ-^$DoG3~SGOWf{ zMq%9)uunaKf$Dzej5m0DD9nJRb&{Hf!&$`%; zmJ-{1!G46p!FQ28T8ce#xtfGFriDC%j0B)?Pv0F^zOe;%gjSYUH6Dgsf^!Q1&j@L#6Zd^i24~ZITYjJzUw;EVq z`6JNZg4ouXP1II6@XU3U+clIuaiFPf08NPKz{@r<2^X?(dV=~D&!?S@^40yG~Zsxq*D>_g+;_NCun)q z>zA+o0XY!caRQIQ>c+HM>xr0rS!LW{4U3m2?SG$yZz5l{4)>Ep@3ee~$4Uz2D8AJ) zODkzTvbguV;$X7imGU9U23TJvO=Hc(V8BxKrIP%KrhX`(ID;wPDWYx|SD%gBT6}*7 zheON$!6$ysS|fiu2$L$t+|n#G_iKjq6+TRw04{|OtZ-URv3qJ((zruPAEd8cU6O?B zl&8uu>0nZD;zK3{RZ1rHxiK%IpsyI4sc_{+w2O^qmNZ`Nt~NTYWzBwT_gh~~o;kWA zb30IawKPL3a@aG_NvtVBbmzOZZS@%su-6hJTHpGpL)YJn^@`^x_!YsIQF0*C(wQ(6 z=n9?~OOBFV$D*=4E8N4lkyeNm^LT1E`e;t#f;ZpMxpKcmr;Nz@jaDh1rZnnoE!EtA z=kD3fcEQT=pZB~&E6+vQc8KSlcK9w*4U$EwO?e)#M_uL3Gy9Ure<8uq!hfuOiNrrs ziICGY8g;GKD8(r6d!)>9pNrsYN(fb2GBr4i@8dV?NpRx2yTpVF=e$> z2n;Q{?hGa$t6&3aMLPeqJoPIko7r{-DYUHUc~a2i%H(LbjY#*eto5l75+7-R z(<0J|ho(e|m`JtLqSi{KwL$GM%k8C8vwhVp#+A?)fREpS#q2li1X<%8rI*t!Yxh~j z@>Fx+x1Ah>l%q&Ewna9N<@Tbf3#IJjv?m7AdPYF1p=*E{cRl0*d7FF|4|Q?Ep3w^S zvkJae2?>{bj~Oh3u#Q5ot{~Ma#`nf7KGrP9tM2b{Y)Z}m>;xZ@WS{bJs1i-`;Rf>R z$d!KmScAKs3rpsvl^>`EWOC&{%&9V^vs70SvU^d@)gSiF8GMehk)770?jt598?b*+ zbo0LIo@XGLB{jdtLc1t-sN4%exUp4{PKO1|v4!8_7pB(8D9pkHczlyc4fKSUaB&F< z35`2Ol4-f=xV>aJY`&NB83#Gk`j=HYtm!wl=LeX@XjRx&rx+SV|9xAno|_ZGpRUHu zI+O~p5m00f3sZz>5r5ti5ma;yvA)s~&h}yGFYGtpYCm_{X})~Zd?T*h%#t3(_)e@U z;?=;M;9EQ@c&Lq02d&AMSKpFmW@h5QM;$0V@S2jAL|?5l$9Ri^DUB|kWK{ySNiH74 zFRL$lThMdX@gvRE0quLOB{!Y0a2>}COKKw-9N95q=LW95zMGqye|gHT!@MYl-Q-rc zi~V^!u!$m&B()I1>C<$`b2W(x*%gf75M6ZL7 zFiel5VODU23Ji16f}f;PEKn(aStgAgCh7JrML8WeA|$BSxvei!d4x24PmY;G<+dt% zWq9=>GpY$EU#dDhxWcL*FUJ$%WNzqpOlyC8lTRj+bDqBVtAz@m)EvbRE1ywCmO0X!jR>Qe3hS zomb_pQtn(gzYyB%a}0ccqc6d@GHOB#1#HprLexkG`{Xu4Yox-x0%jclNf zVoWHlQO@xek3b&MZT=__-gY;eJ6)LVZ2Y9G3(DcQ>x_3up;=Q8hwI-NLQY@1w;~sB z1x6)24xX)C|EiHbpVEy5qhXisS?bp(KeL`S6%`b$yUx~Fz|8Wrs3*!C2I3y99WJ%y zv~6VvXmo+-k_ZqcOH}KBAZGRc1lVEzXlUoVLRYvyIbhETzpzk?PkUlPeL^@Zm&3N7;1?vLi5Yt3V~HQ~?&w*?(&F1uaRz`X8wjg{V#^n?t& z5J(d7s5{gvP07}Se;lSwiyTPNNTZYEXw1+U;-#oV7tTuu{k+xBar(5#Aq&V89Xwah zByd?86Ph!5#ac*|_7typMyV$*VZzXX%tDFM#Kw{bH*~JVVxahTGeLp#&W0-VL|BJ7 zDZ*#E0AO3mnK5LqV7;IBNIO+^Q4)I&BP%}s(>HA7twn@!C@}Lem=YKxLs>Y1RQCIj z1@LvAt4z=FXU~~dPnX8`La=_e+5T!2XZ0szcfg8~WE09z)aB{z8Imu++hy^=2RTUR zxmok^;(qUUM>(P&aV2pg2y>Elk}H_##iionPuT+Ci%WnLXyz&6YB zvsyn8PTg40oSS~Wh$#4uT_lZ4aMpnUX$0}Tz8fUrE(ag5lZT&MRut$*ajTY@^ZJ7+ zytEB>5ZPUHOEiLXbU1trR)Btnpus-??Shb>-p(iQzyi6~@p&_}t zng>5Z?nR!~)yY33V_BWa6W3;UTGR461hKkKshIqu;ls#wm26M?Jm0E=n z_SySG#vGDioFEG5vAbQ9Z9GAh+3J&EtdWP=dXO(gWa1KO0!E2n^PK{DUjk{^DK=|J z$WFb{yFVleWnFn*Nq)IjpGaML-)hNBTZ29WGdeC@h{%1Y+we4RC_)mc?cT0wbcWED zQlL|pj>VOnEx=I|IO425?y6aZ}vIG+g5+^exrh6Mn5bbdq3Zu-t9Ut@dJ!lRJ$4S^%sNs zf2Ip8E-ow>C(lfVMMjRZ14;QiF(Tv0WJ+B`!7wupGt|%q{PY zO5fcoZGrwt95>V;8r|s?Y55Zxcd)-N;R5P#b+Dr_#@iJTA1II-fFNFi>2GLcmx`S=#t^`5X=rdX&ij<3&tnpQ(X}H%8oh`EXixM zq~`9NiK^g}SYE7UUO}B?>@O=Z7*(|`eBZy)>aO*=>aS^#eavML3fStVMdGl}t;t!J z6t~EpQ~urI7BP5jxJ_|ZgW!P8?{`(uU9@IMMzAdcfZ}U+F&%M?xdprtuUCcLmyzWb!T;(J%ZQH{RXr;u_? z!70@|Pod{BJ)a+GSd}(315>1+T@VeETd+qsWC(sgju>JG78e&mMUSoMhi%cMr6SMhl_&`=9tsIpL1y*gqtg@E@;{c1LvG2ucVsYKZy4NNhd#9U?TBu@!vkj4+GhOy`5f-gG`cXqVfNX$_xfbuQmRaTAs97m zUZM)SAxkfW0(@~6;Wv{7+toeMNc}_>eRF6OJ}~$D_s?pxHZVmeu&}rYtG6G|C&=;p zoBq@;)AtU!a`zXkctJk<-g5`m;GqK-U7CXY4}Z6GJv*qM#P*~zY(m`p{Lxby8)OPOZYprrAbCd((8e&-QwjzUXmRkqVJnRo_DUr&;&mL> zrSTMNljZV`690hEd>*EewsHAAe&^cX>A~Pej1(oXeI*r8Gb4Y(M|qP3DvbHsNk{{6 zsTgbgvpMYVp|DMf@cWowQuJaWTCtryzANN#F#KF<^U>u<=2ItIY~%x z%YT1vzQ0)g*?g-PNx((@JJ2gdk!bY&%shNfm8-qb;~In^>Ld7WL?hGuyzE|Irjg|?wq9DNz}}{`cc4qIJ@lv`4ar4^+gJoC0Lsw0Ww}t ze9UfgU+*vK=4L(={B}AjEq!W+@SpWrSXkhK7Z(@jnE7ocy9S(Qu1LK8p0FM--H9n7 zm4ara<$PIbc-yvuI^+UN4LY2`eUtf*ti+>NainwgIJna#11{cyB`U$iDM8tu6Dpkl zypJnA?Dp8FA0JSgq))6%M<886)=QdxhKBr+iD?VDV|cOB15v3U7P8%k z0w2{)UjKX~+cR$~pIJN{MMH!?{2`UXn!tBkOv4y6oED#<-p6U7jf@k8|I^)V!{IdF zTV5b+#%x?N`PqjCiiGV4D7wMjR)ZE*^E|6PKwdxaeE8m-{#Uc;#XU}^zD>L$86%2Z zt3AkrJ61*U=+fZVVx(p@a{m-E#}q6kQ1qIcQ?|Bd1{HcP%ANiFjbsCJ%b_H8)NXts z<1F_{dtFFLwsG%!r^d0?ruS+K`7JH)irEwG?K9Lo`sHY_i#{pY*@dLe9BjNRF$X2- zMAI3o{ttsw^N`8n(cwd18+k_VWG4DT2^4?e8RZqa>DAlGv2#}Fs9iqs$^X^@JUhzM z{DyG6@n^@?FZ=iXg>0PPM9zJ+npJ+tFi>vcvjx2i0eCdJ&{wDL|$$*7^ zVY#(j#X1o}uSeMMN68wAD#>gYemeD(c^!ogKRI^mKC1K$YFm919UC7C_Q5l?&^^k1 z)LEVvbmJ7^S~%W{(fffMV4r+UC{&!s@sfaJ?Jh@fl{a%MH4J!Z1w0NtKmYOeIF18H zM7i?9;N{JFW;_O|A}V>BR8j+@<8l4m0~vPQ#{@FmD*6J`j81?QSh+C+0rT=8BX4=m z1V-vEw|~EtT%YC`fMs02B)35DeK0aU!0^k`qj+2^^+{qapB6RtRbFw$_M{p9QRv4* zIgzRWal<-)j8W;f$Ss5FwI2mMtrtHE(!%&VH`&K`C=4uF~4~xQ|L;1%1&}bMV2M1tgaN7GV8g0#cLyu>=^k zoJygOj z^8-uw_V(`Too1=Ij))3m(^(cs#w_P@5uLMov+erfxOw8LU?#`#UJ8XaQ+?&Udf8Co zBTQpS^$IGyJCz#ntA?}%5J&0nssy?YpvAOJ@dByoB8U2+&jw|}&?Ni)7tlY>nTZ#}FrzK9%NC_7B$N^=Mj7M#J8SPQ zz}D98z4!E!;gt7W>nwCW>riaxjM|-tk-)JM%1O|{?D-+ZlXRR8~Iy6UK?o3FogNJ)1i{eX0XNG#n_QWAnncQ;6PNOuc} zNW)S}Nr||0Bi)_*j=ytW{^Gz{b~)dfJNJHS#1HNtGZ&|o)2)WmD$9a3)NFW=;vGkFB<@4so{96I$*#*H~$scjqMHx0cRr zJghw~NjuJ&OB2{(36_g6Xk>okC#IyF^&2~OT4OQ%JM}I92@__|{*LzX#^!(nhbk!l z{CA7zvVXJ3-9fY2H~)4jNODHT)sH`)jrFNF8r2KEByfE!o>oVeE%@n!rwm9Zhd=g-E_gyw1=7K=+&(B=LGB`G^bsAI2mIlN3ZzS@vJtYQx|HrM7` zI23%$45b~rZF{xz!a&IZVN4p_0O$ODERIrjt&CQx78o4W^NFy-UwLlbuVc~qpKBfN z)xiQxM5qgxNq*Un)`gSBIte8Fq<2#bU)8g}T;5V87~J%8NsT04G#wN?Q%bDP zsaw~>(M`Bkb?}nNY^r`=P{Gkw%S3}wvbQQfoSGA;vK^9&$;$rgSqiOR(o>|wIqmY1 z5_0o*8Y;$RGuf$p6oN87j&nju1|el-Y^w(RqoY_^MCd0rp=HnPu3kFCm#tTMpU`_k8zAzjM|iH?c!++XT67BkIHY>U{I{jW|H$;j){p`uKWBscRo!jd7H|P{SzBc=lQQW3_8Dh zs&YDMgLaRDjHN)tgDE6f#{3Y#Yrme&CNU{e0?m!D3&2FLr0$RV`qxjS;^N|5MNm0& zQnk;ImJzX_g{^F|&j*@k;UQiel7gzLcP9B#{x%O_{Hc{%xGJ`rGdnHIcUD|KwU%-X zq@m}i$vinqqx-yc^V6<;|F=Y5<4Vvv^ySLpG@+vEL8jwg$kB62BnOmb@1G;)7ZMB|F&~~b)$0#f1-4E0enD@@s5X{KF z3)znfiaKWpGI&O0IFMGI@&eKf+KEFd!3e41A0_!J3^RADk(u@qj|VS^N!KVOP|u1J z@O)}0hvloVWtEBLXVryCds>{=O-%u=6}TL5cOZSciXRANCe$jL++Js4VX3}6m~SrR z^oO#)q@cyJn{S$)JsIFEN!JDtP~_>X~$kuwndRPh*aoL9;&GIVV-It8~pwxn`UM zJr%?6$=g&rwG_8L-V|L<}_&k@&tgT&md?YmDc{rTVZJ zvANpvc^cMlO{f*0vc=2jp~e>%a3oJv50mRsT3szsUc!a6j9z!g4+e}$BA6re^}HT0 zGvHlj`mDp{`OfQVj<6fA%Xq06rr`4g=rD?ro*s*`vU1q+5t+QaJgCfAdV2EAgin_` zUd!uVFgos%V~^#<2mXYf4`cU#;o63q#L{8FS}|;vko%<$W*bp(Z;5-pZS}s5O0h-@W zrA|c%PpGE5kDNJ?sP$Cyr4}KVnC$JZuw*b#$6)m;{!iGago90jw@Q>uuz!$wdw+WH zFrHxG;W^4n0h=h7v#x_M$V(!RE@1%i3n2Wpe`Hf>HN>LjX1`b}7EtxYBqt}=MaUK& zZES5VbCurz4B&)aE%|PB0DEB{Qb^CruUv7@|K9ultk5dGOf&)3#sMqth((MZipHe};s8679< zSg&wd-_A^&lU7iFOwY*9D{$M`+)sF1e`r4xt&I&cbi*0>LP$Gu>l!aTVV>thAbsvbgm*XCzZu2KSYYkDl~>q?p?sEo z#2tA?>iC1V#^a7imOlArQx-GTt$qIQ;0KZ*+I}Qg98Sn&Ogtw!eXqz<{L1K~}0c$h@U!JdA7xesR+G$0_ndrvFV!0=~x zGX34&uJ@Zm&TALhiYjF#B`o)d$g{WVE47IG1~xWK(@#*gz#OpyW67kYba~QGA}jGC z@{cbI6DQnFN`7gP$UiMDE$!;TUkrTQCaK%P@mpg!g?TY7^@PUroaXl$zU?*(z@g@x z{eVaUs8vz%n!;kPgE62Kqm_C7+8NwLPB!= z@c1e}v`-mLMD_fB^r5Yra^;rxsQC$jtjND})PsGKSNv)PJt!xMX+neCMec9WIlJN> zobJ7Ex!!{&9|yz<6Fmr2BxayPaKCVen>5>A>`r%rMofm8kfPdd?qxSFb$=0aDbCwJ z9C^ZyrgY|J`aeuT6K@Z^>W@3X59TK-DjEm8Kev+k>KBoHKU~KpuMRY%ZsZ`~!woPd zeazv1t9}fy6YqZKoO9tN@SW(y-bGnnG;pUlq8z!s<&xKGS^y*Jg7;P~c?6IboS~2B zh<-)h*8Z*FNgtNj{Uq>V&&-Tg!pq6Jz-0nD-=q>w@agmq?LZ;&Ko*Hfr^`eh!WX?< z6p7dJ?(XO{vKwnDbIdrKTjjLzD`nJr`9I5bPl!h!RhPW%ylmB9ArS<@_r5D_K9(o` zhmpC^Y#Hf^%FP&5n@!8m-9S@xf@)fap{Hj;B&$#%9ker(nI7(DbZg7WHq*5w?frV! z(PG~4N_o6+kplvt*+p9kJV9BRDFGK(*P)>yyJnn~tZ&BN=gmB>(`j2yH`Z@YmwM&7 zmOCPcwNj4JLvzGr%Zs}E+Uy0{ysgjiBaSO5wUu$GgaSHpztQRQKW^;I#P@qp6IV`H z&DnNFOz2NN|3LK}sSxv)^qNBZuL8$@)vU%&!K7b@HD__eEA3=5^JtAyQBup}m4N%L z1AUkA&cL>kO7=@~mS(e&uDh>VtcK_0d_(HbZpKGObOh9h+G?NF!K=Z;x$o`mrK_s) zK^ZVCacS2i)^9hz!@Hhj@)K*G#Kz%{{Q9g<&((Ybih12mdIPT}roE-e@!)&?sI#(? z^lLyotmtEoxh8o;p&a8=dAR#q#N&gqme$ikO(?RiUaOC@JtI;)rO#ui9?1ww1QOOC zw7I%MPt;YBF^>Y3G{`AW%l5~y??9yg0vE!_1Ka#UkW06Kq!35>&GLIR3494G2A*Z7 zKHPWi?t*|mg@e^Tx(o|M^tk-?yf|8xe&}zgaqb?jjpZz*E@X?Y14d8Bg3F`jW$w$w zPplL;=m%9*9Iaj_Ylm)=)-{G-ZTkOlw9kT;kLtMp`|t4%EM0Obzw70{W4Yq|XEV4| zMy}^x5>nM29e&&3N5UTN5(xumU-`#G)3`@eoxm0;&5ZmQp`KtK#6PpPpWl_M0plqX#oBVmA|M z=1>`9?w|*E3tGhD-cO0Qg!-n=q=3o$FvC-sC4rJqwRXmKK5|yT9`Y+FWEGmzSQeD6 zT(oiV=9iuSf_AtFl$dyj63H(>I{lzP3_GpUuV%3=;kM$(5#q@3nOdH5OXbt4MhYQ6 zX3+rLDFH1#lKCdA$UYp}g@mJ}OZh|J6&|xZvBt+@w7ZrgO&%vwLn~S3A<3(Ssp#vw zhk(Mpwg~~X{biWh$=$z&qg7E+v5gU3^m=3~_`bY=&FKtoKJcH{#*w0(CP_qEUu=}q zPPnEZwQ}@gs~cGxo@*C`RkxSss_(tZO-C6jlt3zuf z=J(-1v~UVG5eY>ebDTN`^G~$=vfJ9Ex zX@JJ_ehWX~7^Qc$9yF~mc23T{#?+i5wra&V%CrCn!#^KZ@FT?%aL8L*xdTxc`h#Vk zsZBA01wNL<2k8LpZF7y$H)SLMF$9{z0{o{y!o;oQ-Tv3NKeGg@7hQoW z)1bu(*i^SCZO^H?xlL#se`Y?P1fRiw^N+FPgE=VSkAQ~B^paQt#=g}`QP;n(XH3+B z^JJ~9t

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    R_F#6gY%wxh8^#iJ^8@@G-sXDZRb;Ufcl#C^;Uukd?;+w@wzB;RdcZUkr>+%;4^RQf3Wu zmhfU>wW&9U3urhL3klhdZRGM#uOFoTlk&$Ad~W+8{e0xApna$4oP*ouF8tg00Hq`*-h% z>)@Om92}sp)V~E&0w*!HzlK&Sm54{x5Uu1!#DeA>E?r+Xor@J_Bf9s^@ppEoB~f1Q zWMjcXR)K&pCqdlDd-3a?@s+}@pz-pu3MT=1(3k4zec!vN$|@U@>BfDw)a*zXB_|6S zHn9^g34Y3zid_h`=O4iV=O!eKX~N@2ThzfeKK(Ok)tc=$%%=es;Xg7wXdfCgU+5NMoe@E3jdK7(nAFiOq__ISGo0yvj8 zg%iKfqK#QR5y7LAlIYkz@cdK2rsMRX-}#y*N&YTz!?;P0id1&vZSwCRcxb(9qoo^* zNPM^e;Y@mPBO#PO7#>wTB4XP9DG09W>j;o_F=;dAp{~SQTe=b)q=xD7dPq(Q70e!6 zW}f%qvg7U`{O0Y_yVj>zEu~n_oTvt6p@$cx7ZAw)2a0am&?2^Xf0wKHLHDQpX~CHq zI7Wg0wp(D)ee>$Bz2p&bc#kU}@WXrM(Q)m&%O&K}Zn6!TsU8EB9n{wl(ytEU$=Jgm&Jd9mE= zn4c_w$~NEZsE>|IN&Itk)E|oZJZ9XL&pUwj{xHL7N#ESR`D=)HFn+B#%2+N)VteC_s-EpEa zssYefO%3u8ZQY=+i0&Nn!pe^_M%6ro2?O|hiXLnIQGX-p0=!1`^i96mPFLyq1BIQ2 z1Z~~z&3K^cQc|}T=rYy;k?H-o|8>0Uai={02QQA9zyCv>VgjxI`M=fDrBUMd0o=Tl7VQQi`U7lL>%IR|$MLo?Z<7?Vu=!S_~z#zcs_N0>IFv?ZG^xP@$z9LkyB zzr^6~<$cA#krdq*!E0mftU2}-46~!2Hs)hz`6ZB;9&FFjty(ZQ>Xl>TR!&hzG_WT? zq{%JYM!zvNc;P#U>xFqEdF{s2CX8Xi)4fNtolNuki_p&F?=}iZN!5e3t|&pJKu|0j z5;Ub+SHwdRJ!tHsbR(NZX~!csI~L!fjY^aqrB@0t9uEw?LfU4>WcYpPb;Li$M1V-4tJg*=r1leXhAE^x|Bq4k5%i_j%KdD; zE4AO9;_;QYpJ|sYvn(5}ZlPV3U6%HgfCOyVUdw3?T z&^_cMK6a zB4t51TG#2bf)yZLBp)0IKi`?cpYP+h`I)&3d{}0#a1+l?zk_dZpQ`F=P%u4DU0htm zBowC_%>p(#&060rb$Bm$&9*Ysb!uSLJ!TiU5Gm0<0gC{BT@OP7dt1XW{)D&o3Yc5c;^b+g(7`~352xMofUwv*{1;>YJ8+b7g zu4cR;kC3LuLpUF=^yq*@s^4~4T_iE2akj5J*gp3Z*zQ_vK|!zmtmWd1qC&}5MKn{2 zXVUlQk*%&}VL7`3!l1jIZN@;@v~8*Q3sz2QHFQ%PczI!G#6|a!})oZUMq=S{fD#ABKY(q=NE- zs&||y-G#akXest~n|eS%fS6c8Wo1-bn;7tk*VNzy>6_jpTD;`U^d2k08~7yvH?MCl zLm%B6sJf}w9;vW6bnP|J&(UY)TUK~YxA!=3& z5vh5PELCG=Gxa`66~woL0qMt+9*l};T=c4-1OqaIz=|`8LmUWLhwVZiX3WKC7n%G` zp|0e1;`fb z>U!J-D>EfJIywNLd>6g4)|47Qn%A}0T)#ubAt_}$T1N{y>0+gAKBg2 z5n>U5x^zzb&cp2G*C3hgDh(9yzg@Nh*fR74*J@yd8;EpczzYGz-s~2{09|4n-#tth zE5!Mnd~ROa{nbkJOx2(XY!mz@rk_`XnvmCT{9ndt9>-1t@4cBsUx{VTZmoO zwcpZjL8zmB97J0gY?di?ijnHN|3(+J7LWZ`#H4us>)`UC-d$d1;}tseXDI#rCiLTa z?b1xIb@;9Pmd#M$v#_Aqt=@It)gO1k@d2SE^!WeLVr7`15)HgW1W@aU`g*rIjleDX zovsrw%x7)lx9SKn+DmSBykWg@f~ZCzSUPv9JJR2Oq7J)ud$x)6Q~#qLx@jWC#w~5b z&v7DfD3br_B(B7&w)ZwrHIwD|!aJrk6h}wJS2~WV>c0Jl>;4g1V-zlQLwwx$+NiM7 zYe1vmCfC!5hSSBkl$}}|EhwGBZCO)OI+U4@pD-$i1UvkXZB~dz{*;#64>3*(a{RjKYq7+W{6vEz`7xKA6+3<|80YGqbP#4=6|6r zsi`6sj7cqM*Q^uV8jG3FE%UzG-wiqX?-`r@qa%SY;m403oZx+yfNM~roWbvWQV}%r zi^s%Gl4Y&z5^^6Kxr|>=H`e7|Zb>&8?Snq{%`&n~vk+j6X8C;?-v2Kh)c^nh4<|N!5`} zE(Em(vQ|yS+OS4-5)DMYkokt?Ltnw^KpxPg5DyO>-}}CGQMl*r`Xg&Et&-4mZ6NU?G<-IYRmo-*o3C5kJ0V`S&N*zvBevb=pXE`hAN8 zSxpAkv}b_Kmvrs+*R2LLKD(Ue^LQ-?#H7pnN{DHTtwfHekg7BZ2Re0@4`MQ;s2jk~ z$A!mqSG`k?$dTN}?y9mu9A8HG=B={*#ov;Q0>8pt`c_|e5-)@cyIV(Oy&iNH zju$cU&PaLgi5|<<{S$lS}^5Xa6xYXT;!zVl)G64FE zut3G_%fwb4m0%?itJ@Q!O?W#FRLfS`Ql+V*It6k#BGnj-!0wa7UD zw2?sXbPfma_{8&Y;pVA~j=*if+Lf7wpitCrwXA0Sx{t!rh~cxm+rIbqce%V4$VY*v z&d?JtCsiT>(;bme790;gMp^3OZ`Ou9+zyu+7dMytigdnJ#$*7;mIzC{NVjH*5(}bF z%^r|{sKWAUUcK7A?hrF|#5Cbim=e&Hm)9dMu~pkOCc1gaa(~!55wTL9%@6Ie_1>Q$ z>=RI8CX_37E=t0jw2g%dD09&&lGG}iMVCl(h?c2DYs({}Y7aKj%2f02Y{=wNK!Pqi zA1g0aj{-3&0m7YfdLriV5W?jHk^SgV4JrB9o_?NJ$^n^a%B_U}ikctCFt@ny`S307 z^gaARxKwiQphrN>)Yn&P^jDu!d0ucb2ihm202-XMDn9n95#2Q{l8&sqr9AITGXw93 z%5CGpCIzbb*!qAzA9XgKjd7lip>Jj)WG_^PmYNiTpv=8WMAZPP`n&aenzajg!Fxg& zz%vIguBi1~To<~xLVX<~akE$RpR9H`J3WdzEwxUxw7ekDwPR0B|SKFjMzwJz>8c6|=SvfE^A6L9L%1 z=9}Vx80vg9arvmcqT=J@!`%P}C+C*FuI|FWcv;%SxAbAWC8=;MhP;POp1_+bNYmb|R8hmXwj9c(l~{8E|A=xxmGa_?aVmHoM_B7hc4c12o|MZR~U8 z2?OuJTXuc`5pvC7RF=h|lX_ii^lg`nF7V#D8JCwyF+P^dxM_cf%AsYoom0OS{FnQt zU4GtZ^_T_Vm6b5#sSva$QXiY56o&ebSNr+^lim5ZY2G253_ILyq~YVhdK8OFdJdK! zDt+nsW*i+)$vTu9RxmVGy>Tz30A%kxgpo9bY#zN2gr=iSpo(*&+~3^uSS3OSUs%rQ_zV`-iX z-1t08a#Y)$etEv&NnEu&9Fu>mfmy=zT=mJ6z(@IYxuT~Q6SQ}6X(Wi@fgKZR(V3sZ{t+HgqYqFDoV@i z&WwJvL(%oAodE3kGkB_M9lz)MSeBW_&rx%o;&yHwy5}6?$Ec(X8-YmT_HEsOV zS(Xo%UU*?$s}?YkpfAm@z#uY-mYtcsqXvK>1)dtC4hhH^p=h z6~y!aVU*rX)e(C@q65&0`U>qz9xjzoY67)r!*D~*V^$dnNAwyJ&Pc;0Bzt6JL?1Yx z+AVFe{qVb=bUy(Fm%X~8g8YdtCc`O-e2;U^GxM0`BZSlS@oIb9X_tVS?>2zH4_HgVSTP~M7cfbum-CK@82kBG%!J<)i+A`Vf47W7SMvi&Zf9j^6{hhygZzX{uEIQ7I50A=7j3eKF1OJ27PF zAJb%OtZZm#(5X%%=tci8LpvH6bJAEMa6Y?Hms7K8=?Sux{w^sZ?{&Upk3My#ComAT z8ceL&MQoAFis7c)S$~8?3wTGod@}90`JHvsUE^}{M+{Htp1Yu0jMu`&f@0D0qDk^e zXev}dL4vZ6m&l+js^3ojSpHWrPngWpg7-sLiFr7+1IrACXfi>GPDW|8Vg$A1UTdh^05ca zx~OR@Bw!Imo*Xs*$s;(QjzdoOICFWMgci;E9wNfE;r@DdpC60CTn>nl@Q){$j=S@N z$G_QY0bRvI1)dkPHUu3>8rcImKN^Xi1j&4Jv-w?JuK1PhXwb}ij8)&Zcs4F{8RZ?e z=wBAz9kq!AW4r)?xry{Sthea%SbOC5MFn+k0j0yGB~jw2J(qZ zWQ6T}UaaZ$ThF^}UJKdCz-l1Tu#@+^QyG&-Zci~LHFU#_(ss=HgT&A?5w~!!E_=Z} z|AS9$?Zl>Nl5G+yK$Arm*Pmk`L94<{IQb*u*1*)^P)1)^hQ9PA7p+o6UwbE~9b;b3 z%O3~_!%kvR$CJbMIu=BR!$(*mdsZ6uJegfapco4MtS7+j(x1!(!=`y z&2&fhi=5w}qcx&nDW9S*`ou>Ur*CYc*l9fO`x{-neHDj6Cd%ynuS1lO1`$+pNg5=2 z76CeD7k#aQ+-NgH>X&TX!TAeVOp$%|2ozu6lB^4@;N;lxJr1k41HP#L>vPF zOsRQr?F=QVMp#Y%xkSow^H!@PO%;Cn0dtflquQa#k$(V(1By%^1%Ww%jbJkg@AAV*=MPlioKQSye9rKFQfEQ(fL%?Vb1?n>A=OiQ zDts z2Uwp+9Wu~#_0n>3r~$zDYZ9p%{(*%Yhu6tG|J8&2yw>Pn8o^jv)1gSJX5J6KaEPZv z51@o)p|v3#sf|`{)!r!3WOQ`TuhcsV5RpUHhAJ+Z_}X8zKAUKnl1*kV+!z#Ec`-@% zs+19v?+y;C9qENv%3E7MX|l;#TeEXYEl7SgCVK`DCe5_k(nU84anIh- zw}N0zpNLgm;xWe3W|D=Nl=RYrdP{bsAv%a!ZR%2m-OS;`hlPohb+C9<+1c2BTyWrCnd z2aRv@1qL$gVvy|Kuq0DLb}R>1UQ_%Ce|4rtghn?0_K~dE(`u0K_0YJT=+;7yXe4UYXq+a)q{3Gi-Lp+ZVSAaCb^7Ty=8Y_~km3 z`Zv=?rkOB8M^mf^b@KSm0mgSwzvRXlCK&;w7mg~wROfhEOe~YuMP{17^w!Cct@AR^-x0-Hp5dN6$M>BS%56r&THm52 zecwBvJu(T~x6|;`AvZOWd#mz1UN&ymqWk4lbJfqZ@6V$xUao$ByV7IU8~B)4T+PBW z6Y|4U;F+iMLM=Hq-_u>yABwKw?d@Ui!89_FTI(j?oo}N4CBa^d@W3R-oO9}w*pFoO zqWhQ>o>EA}F5qVnzHY*?@OTYxD=$pH==HsIOMN8S5n=~s%i*c2swIAKV1HJ$=QE_9 zVq;@#0lwKMVFaEEj7g(?k@#@WgE{vv>mp}BwDvs-YV|@RPS4B?#!QYwYMbRTW5#Sq zP3M$&5r-RBV*-1g>q!^$ec!8QHda^|Zjk;Br5`U*9NgQaJzL13`$Xr^&h~uYf9=Fr zRfbOVwj|+BALqyV$z=O@&?`MOyoDzoM@yzCNx9vI-6SoP4ASoeMcGrl?@ET+RBlrW z@2wWFo1SX94mD8;B~l#oq~w-PLBgP{Ce2~H-!^WVVi~lqQI@SVoMd z0JMZm2Ag_@Z2P0w+dI%hrL`@Fta zLN04jFQ3XzO#JSja{O$y-BRf#fJ>Yf(Gsey9c3r}S?>9|He=$o1hRZ1mlb=8C}Lic%>4BK*z79HKn_ZXFYNLBSS($Qc6=1z+)#8Ze^beE&^cw4{? zZg$!K^m>8V3$^W;ruLqh^8Uv2%EZ8VkNRYVpkctmi~zuq)VwLJhG(3)g*mP z)q!$Hl*xB;{5SFYWN=x}`P9mE`RaglDB?=YoaVgokTJTKRG_FL{}#6{anT4)6yykr z>wazxNo=`N8IWsPGkgoAY1d=bbzQfa7UcMlt$EQG-wtD4KgQB3E`@lWI4u4tw#3fI zKiU|ouwWwcUcvDzr=lO5+%q`(HCLItR6Wgm{1h;%NFZoojnhz+m!&po2sW31kJU@9Rj&h>3GF&CC#z=8DeF z&UQd@9a2^GGRUIa7BNt*~W5;O9$KZt$&k_gag*Z*F?!~VsLjV20Ys}4HO5E- zXb;#QAOlJLYv>U>0senCBaU}3h|witxd=NtE8{!vi#Dtla#PJ!Ca9yTFngP#Yq9){ zc7t@WWs>j3hXf!4(@PU=pDc3u05B6r!0T$oj=1QhEYn4u2yah+piProV0;bBH~rp8 z5KYijX+u=?bz8`<#q2OLHm%zHidMu`p?PHGJAB_}-bC7RTN?3^a9A|Q(8^grOA9IC z5%~w=Y1aiOo-3NQ%rO?_on|}BnrBDh7A|BDxo*|RC7vBTYuC`!(`2CYw2rVg#7AC_ zT_e0SIYzsmZ%)2iYPbFNEmAN-Q%}P3$I2%cK1PB;KfB^0HcvF<;J~rW=S(UUQi}f) zJXPnL_C&lkQAjekMaE)sX;Sm^rDvRT@gu}r04>0>fLeP)L4o-{1pxAV6O-@deiVA>3#3E|L>rXZ#T(!wBTPwy z;AJ6!f8cPQ!{Cv`?^_rw-%I_+bOh5DI*>y|3tw%RVNWV+YGU>@aZ}~k3fxjUA=g^p z-O1SVO?0skNGkwD@l1#Fu@<*(<;r zmn`2PXk8?%SnKihmv3e`Ye7}?`+aS3%`d}@G3tpLwy zRtL6>*Z{K`o^~B`%sNSvePC-r!3rTme*<`QxlQ(P$Hlgbhk%FMMRDulRNv&nTf%w) zwd(B}9)|u5nt@p)W=I4c&F%ePA1u0k^?G85bZ;81)k*6R28R zS~hldNtqfLTx-lXu_9>XA(efKq%@QaE(x8<(4EhAp^iu~ZM>krgEy&zvPNs~bpxfE=GY+Iu7bSR);nJ2e zBFQ$bFE9vB#}|ua-;bO!Ktf7NguU5BiGtM&1}`6i0|f|Mbnm}Q!#ceA0SXQD29dqJ zvbxh3b|pB%>B#^mx7?_2OVIiB)SB~?FT$C2SjvsBalo6*(s=s?{=BNg?&dNjN zexXB*ThJl$m^B;3mRJ+S!HQ_|Y$6S%s09a5WZLkcr3>*v;+^Jyp`KGokQC0C>yb#@ z89i^mMr*1-A9qpQr6nBQiw!;TSkAofTU1MV1`?$Am-)wId@Yx24!P{kGZ!(fs8tc# z*PEh}ycy$U)Kkn|R%jRFU8<8L8EbUDYm>R%VJF9bzB*lLtQH0$D>SP+%31J>{e6DR z^6dL$zQH&Zr0PvML<8b$K$f|*{%{2eBOpEg4H)4qAprqDGi7hiXiSAF1wxwt^{6ef z!9RM)GUuA{Z|(RsNA7HdgaHN<1L!U@)odYdzmg?I(tKQCxo8HIWgZt7*L^uSxZu;% zivmt7-JdTmF61e^Z{t&4q>klR0tzS!Kv{ttlbDkpzi9C1Rf27x!7Rk|(a012e=Wf6B@NiM zKC}O-Hc-q2!p8AmVST-bB>IqTWXaS2O*q?ZkIP$UApZu)0d@8D znZf`eI909B11|M?37m9;z%a7BL zx(}2X)}U0EKwxyu%gV~S2f|1ewW-It(L#J>_T};M@xXc@(`^qj1QQT$i!iVQ`OP;` zg%gY;35UxTVgX7Ei=dHfgbFXxjEjx!Bgz#r0_C^ET%%oM>ghK?xn2Oj6Sxk>e+Xnb zyqarzFaS_zO6)kSs%o4v!dWpO;E@|B=wV1Xt9_AsN>6*a;x)X2k?EydZ=7`m1z$6o zCR8hap|jnU4YV8?xl7Q~OEb0hKfdYsjCqQr1wj@HY*c!s@90mWFZ|birF!TK)sp|+ z#X(wVa|Zslv?e$A-pdyjT4KzmVuVuyQ0A=Xv8YjU{OK0vM$ghM-ef7b@PFZY!m8AZ zMkv0s7pW_Ttb~h{gm;m#;{_p;wXuaXdec>2m9vE`EJy&g+4E7k=8ng#ftPi^mQY<> zUY{!RnaDQEv02GO5~%qQdEgS0?*eMzmPAz(6B>Z$gG(sttw%^90Akr*Y#07l{tg$j z&3Qi-wJdqEvqV_XTO+IKe3V;flQkD7>_Gb`AB=Px)w@tkaD8&3p%XPmdjMOFjp8?u)>{V3UN0PuIJPC0$W#)t+B&vZc%X)}JXmcF}&TSlJ#O*$Wpn3rf;E z&J|x76_oMSTSOJtoDJQYAt>21G-zQUh)mOdY*j|u#vJ1F)9<|9txh11IN@Kh5@%KX zttK5aSn*|}bD5Et4OyxqrMxJfBE#;c0jw*Z&ZYJ-sk{A){Ne1uwajq)c{mUsqpMDx zkAmoyKnsi2Y=9&R=lLGC!ZLxW@wNr5vgsc4V@5qax{>j5I+if6pA9v*0I(O2FMh&s z8P>Oo4~%8C1hV&R($WaYk%rUYy&w}%J`q&d;f9G&P8h`n za8WIJEeCcEj;!*%Th>*lYoLj@GEYi%iMOA>!U*j-3%=Qd*CDtaY(0RdJr$WKSgBh{ zMs%g;VKWxV;x(%!vVJTN=EfQ&+Wk-yrMa=oeBOe`3MD2bIu5m)dtHM|7{U3@JRLZm zi7wrUWvD{C(?|E#yGdmRrXkRsfqQUg%>50exeC}I^$YhQTJkJ9<2>x#`Py2m#c#~% zzG*BY)oSJyJwv-+d~MG(smj>;DGD{hu2Bw~T;aCWetsy~kG(_yEjg9bgs>j%;3?wV zG)R-=^a*yN%IvnJV1D1jCP#0g{y z*;4{t(lemg-TF>u25x}@9#ilbY=9mFlVK3}Yinv^rTlMs&B3KuwD_`^E-roozXb~` zYfZy9(r>l z=H(sUE%`3DSLLEvPpmwz#4>ysR97#6Ht9Y z?3-}mYkBr;y(K+8v!5<7?a^#eVbl}m?Z-dkNUR%o{)E#Gb{GhSwNSYxFSH6Jmaa=5 zF<%U$mn~jO4+`oH9No)3CH)zRfxzL^@5$1)xTroJRG?Qx4(=ReW3_8V?AcUbm3M2H z9Xag7?w|hz!gRMykaTz_ls|rDF(u##nsY;T&bP<@h@kSXG?iabmUsS-rn8EQqwBhL zS*!QEW~1a}A;Gz52TG`I%W;7)LN3j~MY?iSpgKJ|WQ{51w#^aXVHuG%u!T+dYO z<<1{>Xroow?0UT(( z0S36gP3V(Gn5FZl33!xWRxd9vp|?VI&!1^8=YYF{1(@c>`6@+t%RuiW0vJosRWJ^) z?RE9fL@ZdnF4ztD<*fp>(5~z{#S(C8CWezRVu5rlk5D4yj$H#(SaHcXh+$Pq&8C8T z!lVWB4D5=nmJBLsF{^akZ_JBc1nhRp@0ZdTB`priWdH_d3c5>=l^p`tiXAza6e+W_ z9oM|D8huC#U!pxf#{v*2^yj7p!0PVGZ>RrOo<|Q3h%~${@%q&2lva6W(8!8SwUPF2 z+UmYRX-jHr;cC~dphR(ROlZ9KJQg<2>32E8^;$qnl-pBoVQk&J{My~W`TcZ73`9pp zVzaf7#1BUgpO8(Et1dl=6+}ix200_sbEyy_*rl^KCBs5P0SoBkT&dXaX!h52KP9+AwaHQw4iNzx4>s69kOSnKDrK{ z*0s+PY`o~70l7*WMgcMNo&MhbB{8k-N1ma?1xH_DgLtO-^l@ov5aLIHB^@-z9-?;H zO4{(E3kmlfax2JvoOTx6Ac3BxZTW(-F8)S00BOO#!9=pc30b1C{nOMn*&XXEq}u5`loLLD#;75aw}}tR=xP3`|XO#>c2t00Fdj- zRD>LoS$zVbLX;9%oQ6eHE_}d&{UYsLw7GjPFP;Tc2l(CzF=18!0OWu3`M~t_^x?qv zWy|i>V-UFxW89l?Ss718pcAOuns5ka#Nt{%(1PnJ7tm(Rs$4F>im%GTkK&e>Fg-(~ zwI(21uQzit#s0vUd8sXy>H&wE3(v$ofrj>W{Is#i(}V;|1eN6=%~Uyd;V9c>Dk`~P zzuVnhWbk!TF1r0@-MpXwas$8k+j!DLl|jP+)s`5GcwmcpB$T$EHll6N#9LRF@UyRP znu8(a8!B^NCD2obGRka=&pXG@R#k1Qr>D88x4JZaT4Vc_8k?2fY8ehyT233eFgUP@ zEw2JOvmg!`I!Z%gc4!oZ0S`3vLJ~uP#)t@r_kLoK@57OLA48Kesi6xvsy`RBs)A-5 zpaiM`#yn83xp;70woJQfZt02z8Ua^M*vGh{3Z^$VRZUDNq@|^0sLhLO=jXrhIh@gF zv0`5Tp=}^i(j*?+QKY^(p-zh9_3SXr-qipQiPQIjXHo3lL~PmsLk6d`(;ESQT30E24o%m7&~n{=1$Edt}(O zb1-0oP+uo#_cy*eNX{f|dTML-A`qjC0-qf|_hA}C?9=Twsr@FzuW+#{PG z`I|LAOix!<_ojH@in|5H)!KovN5DS9oc*fgyl(YJR0;|#Yp$XU?uhYh$vtUZv%MR_ z4AjvLbgmO)nkFmJrv()kU*Bn=*(4plPO9{@H|s5u-d}ci8(xhab#Q?&PJm&2FEE$I zsQnfLI8a+>9+ZMgDG}|1DPLn9#5(}w^*B>xHh#Tt0KnmY zlT^i=JpqL3L@#@J*Bg_}=EF#J1^xXA<)wNaJoDoP0^kRTB*BRs9O&?LDD(moaTK;! zJE$8e?-qoW9LUZ$-8GO9XVNIoT7RZMie)ro)ds)+sOLYeuD!T zGZUbVa307eod=TGR=1t1luBnGejeS_3m)8lfqTp8l?%Lp@vSRSIAwA0G*wQWuB(9g zG=`^vsf|?64M4vx*ruBvw!m?e^-k;Q%YuC00F>;V8Vm@MQ zZAO(^fI@mrO*|jQ!0YQ(1|7&Osv#e9r&{vzy@&dTo=bku-=USx&+}^o{TlxN*SCHo(~wUPNZf$?Tm=ymGN8+^yBwGv2;#}Ed+{VoTevMp$*>`h18F&}pg@e7I!|HM=m1OB2Rz9{@L*OFi z_)L|)6?s|^enoxX_x_vZ!L_?6KIHkn%#bo1OsOEiH0rFCylXryb$RXi<)4s`iMXiv z3$JL8Um(9`W$#=Mw?WrQ#*(hzCnsS3?n3VLDVQ1;) zb0T(vOT{w9TX>N8fUO=#n)<;Mqn6wYZ3%?xoZvX@CUn(5#+=%PFfNDBCRS;86Q=uv zHYj7ZWH*6KfYwgq{y7Dy;m)s~od?c&_QUjAO5$;!r}QGkhL-f(l?<=DtLV)Edj=KT8_xZV8)S9TuN$nV=X z6K#?#=^x)AzW3>8>w|fR_dVOPjHUxR~ufA-0f`K&$tNL-y8 zxR3WsX=eu~|8oSN6=6f&%O=p0x;G^UoQ9x^H)r?%)TH(V>nXi;aIv4j5ra~GZFFgN z2ao_)77dlAp-|97FHFqcxuRb2HQlbb_yXc0#{%R^uy?hV^w~FXxUK@(gG)h(K1Zd- z=V0V;lhstD`*Hk+iQnD}O&v3R^Dh_it72jVOQd{U0U~8&L_q{?R3Y~?l-7jAJSvZo z^gL>&bu%K+#U$wW#7x7>zbR6CvS9KyW%K(6WLqzZcX^4`$)=KruZURADs~~Is_JQ? zs`}utC8xLi0G~VM`T6EHBN~Vk*8{j`+}tLAhIg*?RH^yqM5h;5XE!%j0iI@iT?HF_ zUGU4|ZVP7FuV3Kd0`93UKpU!CzQ9N(DXA{eJeC21lU`EMYV1jgB5OX;V*74sWxKf9 zaVpOWXu$_C>9yAW@I5ygF%5{Z!4or9IH;=XvcOi|pW#7M$CYD7K@XM2F2DOX_}q@9 z#cN79lul*pOx*kE0cz4hG9^qeQLmB_bb@#1++iG^IsTF>+xj^KcqhGWgC#yauzqEhzD#Nl6BfXvf6K_Ry) z)W_}d>(p9$&|@uZ5L|C)uSqQvtivF3>jRR6=E+b0>pIVWC2hB-t{WO1mb37%N-8Fu zh?1BbN{qk(bm-`-$bczNL>*UV>h|*Y?&q1G-Wj3MlWt~km!?RBxiAi20yM|2B6{t% z-hLm}ftX>$1GU!^`ndSr@N;i?Skz6m>66-Q$4byPm+Nf?w&(IjB~TWYe(Ou{>a0ql zk5!t&=*WIVc!5CUOo~192ee&>P&_?Ev-x{kHnM!qPSEBFhyn! z9?R_r7&};Wh#%g~+5O3&1n#Puz~Zv@VD-<9);0Etjjr}$KDkHF|E4qjK377H&kKv_ zWvKI_sE)X_NMdH9Q@tKIKp>^wv}0|3>RK3&1I;t=d8h@tvz~vb!=V2q7KTMxY?=pc zc3P4j6E!w$^b_(jsdN{oQc_2Juh+uR0h+7_n80Z94I`G{IGzSuXr`3An6MnR{LrLm zcbNYNxESU}z-EYEXdu8S=?U|*#NZ1RVsgNaH0p-;X@#;1pUOr%>i?cN zoX9x5qtaTg)sCRUx)^JG7!wvYNR8Kv7ayDNzbi$KiPFiQ%bhT?)fV+d4z!lx0sk;> z9B6VVNnGbB)3}owg6Ow9vyl%bxStLYbP~E@AN!zw4)d_k4F2sbEe+Z(@f!>vw}o>74^hW{8>1+kXgjT`gR0k z&QJQI*&Lqx(D;q@)ztxBH!gC8Hoe2=1*PJuCd!C$6Q_2LfWDp7hk&D`O@pSLr+|RV zZgKH$znt@4@Q|C5HtpM=b$~#nFG7$NnLbd?AJcGj~;;xlM`?6HpkgWp;Svh8MZLb+KnSn{!6G5H@cP=T6iX}jH{-VVQjKbH{tRhor#xtH zD}>Hfx;FTNQs-cOg_GwC+zJIeQ&4!|lqvX&6~;9wTveVp{26b|+Cunr<>P7Rw9%#KGtXyfXBFeY5~nYpKiZGOvWI zohyLW%P}+D0*$+fGY&!v(YJh2g(mD-aL>uJOVH#k;nylSM7cdZgG(|nG4?*mDivHf zNbU`dq{vZHUlg4S-}uAiW*C6b*YY#|p_6WS7dIY_{%c6cE#%qr_WfS0u^Z=ts`9SH zrt5%S!**fz_J)EgMYigKOBUD`Gtj7t%Plk1^s9q+N;o67DJ^x4;p40Jiq5N6|GhC^ zE-rSE7=UX3H&1GOtPNiKi2g2G|MFy=+deoQTO6xAd+;rDbb1R!LlfynpG2fYhbrHu)h0+tB0Iu=}$#x88UnArq46VNorjeMc1XCZPQk(;jm~DIDne`~* z4MiUGQ&O~9-D77B0L{mMdgi)qTb^gF-TKhBQn%YlQ$)VmB>kO5--VK9+AeoPgFKC%J**}+ zCR81s$$ST=f)8)1rRJ^0K221_w_*ouGNOvR7>KQcF;ZLlvQl>w-`TOzpIR@21v^{) z&~7HPr*;mwjF%R|zY-T+Q}_7Rg#?JuOeGTSM0Xx7q;-2Cixp;Rk^VTkp>oVM0 z-f>Oxt>+czlQl-j13O(uH4YApwLRL8c*w4^*asN+a8nD|urNjxuUh}V*@Mu%opvLo zHs6136#6IGL-hhm`@uxy_xVCG5@y6Zf*Q@*;0;0@iJW2Nim~X2ETnN};|IjcNNLj2 zv(Up_@0Utjlb=9X zc#3r6CO>VnzbjR~K%lU_*l>~e3D^p*OdLHhAZI>u zr$2oE!Z14yU(( z*@%KjE5x;q=G?L=1@jE+U{LMFRmThb2!SCYdZn3%6kedMq!FSW0p(6A$X#`j<#6c_~ zN!sX$p(Sh9uJ)8_innZ=mUq&b6TvUmVA^!J(A#S~x3^RNqMz$=SM4GIL}+C=o-!kNgX$5?}_Qsd<%Z7L#_ko|3C8HH&>int9m8g_IgmR#3!pYJXDkscxoNB z!N&qRm+#Q2+Z&TRcj3||oR0ybod~TYm2>a63JwndGLQ&Qn^!kkcdjv6migdg0Unwq zUdo13k&@dVbPlS|#*(VK2q7UM>A^9K-cG(Et!r%ADnzBTkpomeh$CJ5LJ9c0?+QHM zEpCQ%d%CWRts#xuP3}E?qxTeyM;KCDuJ2LY*6G#HL{Wyk(kYd;PJHdoyn;@=iTGWV z0>kj^_=|O?I>=G`U%c{SAbX3kIEYce**%%v&n__c-5#!P3(kD_dM*(ofVKaY-EV{> z;QrfiuXJT&H-p276+Fcdw&ezHdWoP7G(e8y5)n}nAs^m$+VbcCx>#G+&yg&jq(?+XvV$3;zP3+JZeUfw{QbVw<0dl8GqR5&($S6f%Z|LH zgaD1_13V-ZArJ_hFNstqhS9?Xp-K-=yEnU)e!YBQKm-*lz~)z2{Y6T7n$T_~gSK5b z8{~;$;8BLm&h-4{<71$q7gO>pbO%A(z?#WQQpW$e>|);$e`BkteiHd}E&1Rf#i{Ia z!ao}@mV+vK3%$}yvb)(D)V}GS!TQTWr{;ISvlKITE-{pHh!Q?BoEq-elUlYG_g;DA zXM}ufObva)5owjs4QL(A8vMm(igOE66ev@gR64AD%K!5Me3&EIt(pGcyb%KGM0w<| zg3NZ*alIBRHLDrYR$U+RoTTJ=KeO-RCRyIQR(aza}S2RhMqvb)m7&@ zY})@>olvB@R>6G0xF@2J!*6M^oH{sIO}k#W`IaH*8fO{NXo3eSr0#{P1VugA+x;AB zbDsjj9rz-+(0f_P75hVh*p`s6v5lR{Q=jOb!*_?K!yn>kA?|332}owJ0N$cvPH)gxJ3r4y{dnS^FJF& z7vOX@-C=SV3#_!o+~nO1t)0RKwVNeqP^DTH=+;bVIUz3@t}Fo;DZMcZ|0{+$(L+wm z-&TS$Xsd;}xd{}xvBQsJm7k%5{)PUiub0=?PnY1(a#Lst-c%Easy;bgYR-^g{6wn} zw|cV9UdH}QR>7jSCR{2%kXD#TVGv1fEK;U`uq007PoWJ{Sib6MpNH=s>jq$NNNlUq z)#|XXIQ3RvQ*#Iv72INz*}vH1J`1fr-NVDN^fGfM94CaUf9nR0J_3Zx-IIg@gHv;IZnv9yXeDt=%KS)B#feZn ztxM{elV3dDPBF%86fc%??DM{0N8cP160hwyprNnd_UhU5vTgwMj$wFFD9-{K3001Y zIU(@9C(>@aw0*3EAw?gis)PYL3)Ff10~TFThi(ktkC{KntNdJZOI;;X+I3Qgx zfQlLf9lV@iGJ8Diu)iaHEQbU%V)rrv%Gh$iEJq&UYoRS-Nt`L5(KE_RFL6qOyd3VV z>VLu?C|BmYyE5AgcUFx%*mJYyK z_qJL08L)k?z_HdsFl9ofi5F8IR`r*)QeH(8#u)y3DTY5D|Ld2AlpJSk%bPV-sDv)5-_hZ&2xJIbnCZF2IJupu`Wt$HzAuV#D#A zTe0_wp6cr@>um6wi_5n6Uy~SNh#vQ%bzFx7sB)@P26wEkYmkj4{NWi~EgZS7ui}Gi zigT&3g`!vd%CM8A-}{ZT48X>?4*ZBpRco!H`)oXejVznhKXd)Hv8tac3cG-|fI#u5 ztoq=w%eGs4RZRC{`05#T$|sJ*7;Z?T>|VXT#xbo!3r^Zt{Oo=X0 zlJAMJ)r7tTUy{|=GK~Cm?Rnf#Dargi#`LgAmX1p}XfF}twT-~X$+3-=J+d_8tKlYF zou;nV(~(t=vlZtwN<{GQ#fRuczr#cE*0PH8+48-u`3{c&Yaas>?&YWe3DikqvLHR= zZY&lk38}$b_M-4mku|*CW7e^BgYK{ff(5nBr5H7rdU6xET2)yI15%P*&@f}LqyGhr@ZVqYn;A!&R}6U%UT&WqX{^dFZ<$@cZ={l%em%wvBE>#!PNryAHx z(`qd2puidw{1{DDE3$K7#H~h=9qr$)|J1kJ9Fyv1B%KUPI}$WSQq)okW5i!pR@HZM zMxAR;!ZqGiCxUl7b5*5_D978Y3=; za?Th4?&t7kPAqEdK6Huk#FsbN!dm(M^!Shj*#x zXa4t98t;AP>(DjbmHTti8u#8adD)E+LwBeG#*p6cTYj4o>k`8eU7w1txlsP0u%wF< z0LAS8)Cb_r@YF4F)X8MZv`e&aQ5Ux>*!ts^qjI|t$89yvTnE&(^1)$7D^nam$w1NY zOIR&Rm(Nwpk)K`|x-%c&GG{}(rvvCl)lC4FcTrZgCY}UT-M$_KbRqx&-$0sLMMa^? zb9=Qp;n2~Mn11S&PuHKMTT~$KgAx&FMbjvUhP>Up{IP{5FmWgH>U6t9zw8!tka0GH zK+M^z%)JYsEf&9*W9+U1`Ajk#s7kXE9Je#>3W%7fXbp_;<7`Q777l@WB9cNm#b5!| zvqtYm2m3;EAdK(mxkcx9z*Udk-Ad1;eMtJ^RR*TadLJ<$I<_go5)v=TF;fO&C30B!-J-1wYZ}d#)d5$ zD<;b8dkZ?WL^pT&aww&X*|O1$z}61{)V)0v@^%s~p4f#YO_Qn|9~ zYO8}P$}6v!AA5-8p58N*P61Su04RNoi)KWi!K&r^lrZF%iJkrWO&dd+*yCQNcBMni zaJX^n6#*m_=G_CJe{Hb0j0^iN*u7$Fv;G3Ffj6R}@eZbLj~ zyfLU~#PqF^SaY6`8Hxkzqk$MIY$ZZ3@}n}@7oN+-;U;K8)32z5C?e0VDq$|z(fEyO z^IPU8nP;eOX!~$6H8m^x_XhB1Tbn}%TV=Iobe$JbyB;zMnn?HbRsP;FNI_kdgh#5c z>=pqrs_H-cKdp3L`*@h4fPhtvA@L*#?|0M0l{w)bXmJF5m_^gr)F-Ig#F14N*j_Z5 zH-Cs>%j)b7hO7ZKuw+Sah^!MJ&WF+LyD$>|-o1gztAJBl|BDN&-pleC9T(YK>IWj; z{=5JNrlGEmPM!@D+1W2bA5c8|A9?DJOn9Xw)lky9M3ETkYRH6P`(GG8aj~V5#Iwtb zr4@oN*!;xA->;E@#YmD(H?N=|Oidt0L_tTK5Se-m{bM3$FqAl2tTJtqbK;dGwIyCF zv>2^=QNk2wV$7E#V&FzQbx~iO{yuzSDM@)G^0J1qxjNH)7&T1Z7O>u+%J!xm5HJM> zpm9d{UPN9`B%593<=r!nen8Icp~uDRVkVRgdbJ=$KhZZpg#*J}?NqWqGjlMDe@v|d zZBFdr!6Gm{5q!F^I2J3m*OX(o_=C|>fO;mSOQ zfkF~@UUN>{$ARj;+5LWn7z{9zDR^PVts3@jysw``uDnPU66v)Ng^tH5F3CYP1mQ!l3Pn~c%w_uu*ahZs1@M0-A(JDU-vcN$~ z@E)`1Zo~^)j|vqhzyHhh9yc#flzQDZ%GbWA2Buwp3yOBv^UU_xG z27h6y7@c-c>Hf)0-$+rym4g#AnnW;urq&n z0T|HXbfB0TkxL&V!<+qwy4%Pmk?W&x&30=8fcNlwo9jQ${@6Jrba?D#uo7Z)Ux1Af zHuNXz-ZF$hLHx%oc)+jKE%HfI8I~tUl;mN$sb!G|)jWeT-9+zd=U3_LEdoi_2g?a7 zLc;H(QPP{9OzFZ8(+_omcNqXGEE}oHy7FPZa6Oh4^xyd@%G6m9bA7jYnE#rt*6Md! z*~+1Fah>Zsm~EBRBr#A!N9U^TIx4eqkwOm}Ips}ELq|bCBS@SOUSi}>Eg3o(RL`=T zEbC{?U+#unoJSo+jUFyzZv+!$`n4yf`!qQN&nDk;0~#LQ=lH9woQKRbZ-{6|v!=TK zmsmaxZ60MgepJ%LnAtOUTIe8-u645XFiCw`y2L%xxAyrzDinZl;|1P^@q&ddtEiCD z#)C)jEw8Q~B0&5*JFk$Rkl)-)K0=i^R;(~se^e60q7Z?OAZ8M1%Aw@wNMKwOUvfay zS^tj?C{0C)P$id-${mrYF z@egVF^)DEfgx@-TlMJ=yk{%)2^n!R2iveml!-`L^!BZ(NfGEKn=17^Lb$0V2DyAO-BUo$Chu z+Pn;3NPD)hKZJ$1N!{wFJF#P~i7b~vUZJ?c)FtAG(uT_;|F4Y=jZ5(_Mz|o@+1@iu zr0~wUWVmv~muVDa(T&_s{hPoJHgUI|6?lI+!#8rM_o4}V}wfydKbfv{E}Is%&>*7#53tC zpq2t%KdT_C4VQC9)@tZK%6y`x4Yzzuoi&!AG!$+5Mj1s-UPI8sF40(poHiy)pF^1v z!+p^xdz3jeJxv)!yMqDi)K2dMle}P@OOU2mQd1f|*({pv@r(`pPZ+T1f~#{|f<=ZO zlPp&jO)h)hu@JDF1yFuBMW3Bn_yl0xS;Tf(JWiKBs_L?DvFKo*vV&k@{4Gk8q^O1u zlt~2aw~vD`zfRtIrBu4g&PW;Fq~@e_}Z8TXw0d@7~c!F`u)j}GUK zb%C78nW>SWSJ=4k2PL1npJD?{-@>{?o{zp6dwmuB5ycqWkd;28C9Mbs*z5^P`|?FD z7A|ntQFN&pVGc;Hi4nS~m)_a1U2L5W2*Eaqq)N56>niZRVd}`E2{zZhBUEdTf3H`4 zj2|LbmpW|}2A-9j?w#w|T?DqWzvrqXvITc7GHigxX`@O8TP7u!<-m9P$%z63q z!^(xS-Wl{EXv!=lhvE~c6}{4}Yml4;M>1>*%Lz!W!TW1_BxhbQSm8HtW6 zU7Gh5HyQSL9I=3L>+TT=R=P-o<|yo=the$^pd(9JS`JsA8Vw-cv1NVns*TTF`Aj<^ zNxcxicsQ(U6kTyZq<~&{LYzoRDUV%$DwAMAszPwG_)Bu0r$3*vPc1!7_m@Os7a$}% zwHrQ4zbgd$WVi_pOiNGzVDapxJyIdz6&puKnyd*L1#woJ*_}z`Bu|d{<_4pn9-k<7jxc#_x`Nn<$-TgiRX@6R2(OL`; z%2f>T222vU^CxA4o(JO8zS2bmPC^IVUiEVG4J-@awJ@Upskv}aed7BJdj z$vQ`$x;bK@i2l+AU!IlPeS|Q|7tbaM+r*dd!2t<=fOB}yMUX24HA4v=c!W3zv*)fL zrld+NP6D)(LazAH_$t;faVkH39bmGIH~y4plOTQ!NnT9GVMEa*x!$h0q){+)&V>*A zV)jiaR4V9HKGos@bS9029inh8_`8>fKcnPIZiH&%=I^zEPaRpmot-fQy+{{n_510S zVD@RCjeD)n%YW0!hlx29kU^JFLgw`wAmC*)>U_!g9W*~It_>X+xBm_iSx|bu9`G7Z zyKn0xH2|d}yA4d=1g`R+)i0yA8RDl6hYX(#oM03%!nF$-0B66sg?V67XTg%dRZoFF zw#ZhZk6qoT&WglBlyw#q-MfY_7*J-)p-lSpC6jVY<+YD;`zxJ83xY1Eo=&pJfb^S| zme$tQ^U=lGN9`P~d0bKGPs`wC?AuNW+kH@uax0%J?5B>QZ@1`L2WK38nWJSbd_Uqr+Wl=|2k? zDb_F0o}OBIl3^X5-`!Q;4o+SBFF1MMDm$9rj?dcjqf52t_nB2Imv>#}9bE-Tv*pc#D7QqL=Z{ehyFPNh4T zvMuUn8!U_$>!UdLHF+9c?m?gIs=D5P5-O#^>zJg7ds z+uPZx(D9kYLRJU1kwARI@asHxNW3#8z*lSaVb4Wi-9dz092lgq{Mm(tu-Rh?Tv=3Q z1oi%Xm)!(QAji@MnRb_Rus~w#0pUZmjvoBCOv$1u=$5fq7GdWY9bEbE16WMVm4EiR zZXfQ{)YT(TUATFsrF(&s@l8Jdbvj_;`z)C@whKrp+~)TpE^VZ3hN+_!pFe)Yw(~jT z6?sPtl1PxJ)w@L`yrE@;y9c5UrFA1QFgOCSax6mJ= z8*5#6u$st_6Tp_ml?AA-V)1F68m3>J5S!E}Yj8Q--+*2>ATlIb>fY3G9HR!D1}|cl zc|arn^xMc)S<_A6hi56aF!E;eX9Rkec{$_Z+`g<3LpIMvllSYiu~&bH?#7Xck*bYN-9m^?eFkDUyl&pjHW9Iz1!*V+ zTQHjaMWBysJjYnF_e>QF4hXM+NSaC7Sr5-909m5=gqxp_UI{hMR{!%etXq}fpK5*u z=efGCP!XU*t{K8{pg=aug$6#xTwi8ki;Zw3#7A^V0!7&|;g@}EpL#>cV2Q9#Y1yZtDmIRcG zH?Zg)iXc$7l@?2r<>!G_C`lMgoZ4r^tr7#z@;Hw=02waEJ-KoBe166l7oE4Fw;rB< z*VjYFh(4$gFKynL;KFHX_7Wg+Om8XzjT{7>`@h^gJ$F1hkiz;O-~36@iJ)+_XMqif zwzm8b;BG#V6qnBnprqCRsF}Q$e}NQCncmw>BNR9h^oK5KB!1oRW}?T&-u`WHUe|>6 z`Hf+iGEpkOcWaB1f88zVeGo@=Ep=@FJ;m8x6|ifAV|D~aa6A(E_#8o85v?52L6ddJ z|J?N6v9kj<1Q-^~YAopSQPLs$i{%T(;DLfez%gcgT?Vn6G(U3qr~}g{a&2uVZ;?kZ zltpO>urpRt$CQaQWi*R~J>Mx4DFq~I1;#mv*+v`Gy9X{F9wqY|xB3ho7;p}32-SE& zNE>A!t)NqfXls`k^$gRTRM18>I;?tLMSJRc&MF}(DLoOh9X~@{qlqMy6Zyoz*<*m90x%#x)Yw`KjSC8pqASf7<#%JrYOC?4 zjT+jTW7(-sZp|&6iNt-o<-KP=kNQopVGAtPv9G8AK(EBu zYp7C|V0eC?*y}sUzh@pBL=Wic<;YKdaaumG%G#W$;M=ye3NlzISV9Kaqt#XiG{Mqg_KaI)6bK)T5V zt6}RUj;@h=%Hi#-D!Wc0DG7aL{fGq@K-)>peLJ;&131jDESHbCq@_{iH+Fy@^4s%8 zTY&0Gjw;2&ZYCmb)bb`4txxpgSh^QSR6(Eu2xfRDERy{^Z0Yg}3-qm`Z$DeW=?T~D z^`#iMCB>|^hDHOVHOSw>)IKi^i`uoZ{@+jqIYIG)R&hjMO@^6Y|5d4CyXQP|jdWJK z_`bMIBJ;)*fa2C`cmd@F3aEg*nyLm2uM+>WHsl5$ym~G!@OHQv4RhQgN!BtV2hzcR zt>~BMvT8ec3E|VPR=Q&W}CJnR+0-lOc_$kH;NWp?^E! z(yLP`ixXw}xSt12DjzYk1Unk7z^1}7{Uhfz0W7R~Hl>GN5M;>`NETwmD@DeggB}P8 zacgX00(Y&yts9-K-k+}3<(HQF4)jWF!so$^5kBB5N@Z)f6={?Q{1UI!GaMg@BCywUzK3~g6MAr9?mdc+hNgBH)HVFBrWuj~*8O65 zEcz7@7juLl#4mPtTFkkEgZ;&Si)l-;*$3kDU%w3~OS+zWUM_&@H^jj=`vl(~Q$fVJ zt~qifS4j77hN{L{Opa8Fjq3k-0cvl60|%V?Y~ z+~E0M=U6m+(4rd-mW_@?!$?#acJ{p|gJPr+CT-1@TytQ^Is5gUTHR{WMskrS4B^GO zef`l7Pr!m`c6uhN>v`EO%*_Wj{q^;s%Mkf>cnD$iPrVXbQb}QD$ob^tkDos$hD}dw*LSAo3*t;LifLV^8 zP8({s0Rl9+ME`DmyI*|*@_pYWxH393Km0lUPs5f~BqU4bw}qAs*o z(C5OL1x(E54eY;Xo?>esWLB#5``Y8^iu9mF_oAS>!X(h48VFzGf7#>tMd^Y3aKFN- zFhQ9T>J6QoD%T1Ma&Ru^{6pB<*CTmo?in90F>>mkw3f9a7~4&?Hk8}I2bBa57F)lC zg9vhtZqm76w;%G0ZQnf#RCm!PC-3jqH|-oZ-wKsUOuD}nK0ZYA23-$re;ZOt2uJ%qwRKQu}U78FT8gv%=6p0Z>vZD@%J?q60TojljTp zem#bfD4UI-B;UX)2pxef4JCeRDrT8gfEJ<64qsXGhY_2bHWfYzv{I2X-Ajz{utus$ zqXQ}0D^RZ8cG4T>R{ofX)V^ZS^z(dD&%|-6d7(>~zp>?fd3trV1B)4gJ^U`}%47y@ z-)4A@kdu=GbSZB5vim%4hu2h;m9@T(b5B(P*}9RfKt=*!-c(0|rh}5u))o>LZUge1 z=7H3cP0%ahiDzSM?1Vxf6yfi{W{MyFResGekvKSxb?%fgL9c7fd1YH7=(`|mK67R3 zpP%S65B7ulzm9a_O`jA--?b+L^K`mW7pQi=1HRQ_^ug9u>Q9;XifiP|SdXK@NT(B7 zG|j~Dn_;^P=lisvmET&8g@Ud3EBb@8c$y}1k`FAK@JuPEc6!Ov0}dFy6f<)By?Zt6 zSZ5vcYfhca5MiUKVwczXkROvj+EZUVwWLa8E`y)YMuu+V7$5f$7AC@sN2C}%2= zIW7x;)5+rz^izNJbcH00?d!ETknyiMN!uMxLZ&t{!WXquULXzkVmBiq?w`Wl3Y3Lr zSE$v3km1zT0+=>V0*ybokY(Vi!CSiESC{GH!ohVSqcc*=N`$567dI*^Vl*D77iE+J z4gUvSix=@ZMMNrzNqe-%wPI6A3=F<{wmDSR7k5S%FW?7z(41$glruDChtb}zdRerb zRnar7gPtye#lN!V;t_2$SG)C6XS;eTk61F+#NYAa9NolfU>97qvR{i#K#XXDwV$Af zb3VdF;iM0cDa(w@w5&EICtjRAF^C)8eYnoqHTC+dFc@)jGr*3`>C2WNUqQpl@+V!$ zVOM|%E3?cR*Zo&KKab6V>Mfy)6gEIGXfqOS5o@tMTxe^snp&;Rb9=JJPiAFzXbbzyWfQM{Q*^mS>i!rPhDSNi#-~&_5QYji_O3}wTX%@$TRcGNB4ZVIyEJ|J zA&s|BMn>icg`igX95pi&rCs92En#j>0|dYmNl>ZDY_pokPQ79D*Yw0d>dqwSw*W=N zBWt30^Wq@@<0wE~lM$DJ)Qa)ri>+hA%?}L9q1NQDZl5_FE%y@sBy#$2}JKbDnOB+J>x$z%}|Z?zZnRtW2XKbbz39pJu`SRj@leyBk8+#3WMomZ%bAC^<>6sZ$P8#6TnnwlP@I@8Q za1wyNFUEp($ghle%~#@gT8qg}x=X-3v5Zg>oRruj!a+e7IRPeZDRgbWtNxHEh-rKy zMQgcU{l^M(UW431Ev$=%MQv$yZ-CTLy_(`c^RetI&(fADbx0t2yD<00ghLl z-%BdNSc@azf)TUz2)Wc*Yb7w^9(A}Ag%`0^Wg9IRk0n?INZc=PJ4g0Vfe`e{kHDYAa8TS zx>X`4ieoxmzQ1pY=wzg*P-(=r1~;u*cHM-Wg^UKx)c@JqmQ|L=@bmKP%;^A?{D;Y( z*I{ApITC_-=YF`u!tu}s0zph3%(ziMXgHC&yX{ZmKs5v}Mg5#-($3d~R?1OOf|zy^ z=$xE(k?#MGr>~Bxt9gQaJlx&gEx5b8Lm&{`-9FsiU4pwt2=49#2_D>?U=MfLo8O+@ ze>faCaA9uGOm}s4735V!?Q$KLTn_(OfBlO*+0Vd)F&dwD5yWg)qSC!O;^ZFR<+=%y(333?Oeyzj8huk82# z!s!{@#7NpQVEmgJp3n6$@8(PD=2~YGzWyD$PhRAfORF9tsMO?>o0UaK3lC^d`9?P~ z?)1cnL1X)U1mB9CV68D=^(42&*)QPfRN%VCpzd$H8q`eWN{&br`Wf5(^Xk~^+robz zc9#gCp9upn9!P7kbwx!7J~7D3+uD%2U_wYlr-oz55+#cX{Q95Kuzytbb5vR=Kf6vc z$QDs^L;@#Q{WdI;U{F$49R|q1_fu`W3l2T|HzW`!Nyo`j;_jmk{sgf{kM_1zAfG(2 z;hCgZlKK8Rsp;uB`|@u0xL9J-mw-&ZA_QZ@AbunhuDv)2gTGscBGBboz>Q7&!WDc{ z>(7`DDpJn_hcny7kO>RlfqN%x5t0&77=i7^IZJ+Za{Y1VdM#?|+GJ%_C!QFST2ZE! zV}DnL@v(1pY8r!ZiHo8saQ9^gq7-)UdSA|2#RL_fgYCZG=?oLB4(^Q+$KiPd4tk^^ zg~%Bq%EsNF92X?Q0hcXaIA2l55h?mT>(R_wOx-Oo`JlHmLVzs z!=Lnz8?i~d1R;!t(pN5jenI*3|hPxsNs-?E+qjU6t3eFW3o9>60TTG&j96T^}Mxs8KhpSEqvX_JVg+{ z#IkM+ya3qzVLgN>&}+-GI?HRLc4{36hD?2Ql;_Uq?5zmj&Dtrg8}aB!%1y`wNxZ_G z>{>+j7uZP+1d!a_-Re9aSX|LZQkL`IAt32G`yZ0b_ZH`MrIKo>)x8pqlK~ywV3sMR zl4A3TC-r#peu8&RgE1KOl=Rh1|Mbf5Ep8Xxhf!59)0rdRH_LkShj7&XmP1ing~}y% zbF7)}%)589pNM>zDj21Y3}`Mvj;X?zBE_+Z0G?h-H@$YE#&}$*Cm$XQ`u9IaNODkS z{X`TrT2{P!_j}K}+bu9u-Xm=~a7C&|_9j^3$dLu!Ize(=+^4PCvls7+p6Hx`Wao%2 zJ~^YIeU~!-Si`xQo9zfL0Ulyw7J_5X@UrHj9m`AlHUo+6Jp{+Lv{^^C6qV%8_|Ev)HM}PlJdFTmia$5T@=v z)W%DVrS$RIwq2`xkn+Cm`*ah5vE(?yO*#j0W-l06dOA88-{qU3mJs8|Y&B&-44P(^Zw}`MPo~{XCx|aG@;$HM+Iz%p zH3GP1oc<@r0Le0U6_cC7HK?sWX9j%F{s)%IssWH#N=(TbVov!QM-wRV%^rA6q&pjo zb}4bepg3hfD$EqTq`P`DMZ*Y6QBZUEv`?XGqzd01<+1&I29qRHOprG_4Y#G#%XaA# z$U8GYsDv_5^z$cRn?1vwaC++C&^+(NMx6ox?I6m?1{ka26G1{kBa+188fHz!&-(g8 z_;fUcgxSEXgXz6(4qb?N@ZFs!3UyPjCnYeOn3kIxx9)V&B1V9Mg%r_l++i_-0_bf2 zdjO*f2^zhgp5A(mH8&A01_H{Du5JrU%WaZ`5Vi#v>!JWt?v23+`BL;8>125UIG$IU z9Ldwyy<3ZFBk^rHR!Z|TB9aE{@+NdY39{xwO`*W*)3qaY> z_QH*QSQ6xonbr4={vrS7!(?{feMV4xuIF3Kg7?=&(T?8>7htC>IL$Fiw$sn4B#e|# z#GRIZ(W>*^MBTd5Wba^bps_sYi40OG!J#Yg1^TORFBqrGTn~?Wg0pGeMWr<0;IVh$ zv>QQA3#QdA&Y@?iu)TWNO}d6$1S);N8*yrJ9g1XbyO~v*(b5HZ-z{4|7W!R~rhov2 z*na|B7oyk7tby-CICwa8BC3j`fO1gVb>b?}rj(=7^V$%s?mBNzr*GC&L?hwvHBS;5 z&R8@qZEi=SPO(d;wm96cwHc)neVR$CxB5-E4pyK_*(!!7-;1FyprED>>p1Vu1^hqe zje=FtNCgKI_%;B>l=W!IkpIcu>gd=Q*aYwxdAXPhD)>*@inF@o&3B>3Sghp!D{??G zjWyyRW?2EZuUWDU(#+Gm=Sl(7h_=pP`qVqUjBzJeGumARR)n6|Pa*>gG^=a|7LB7y zG-&&8zqMi%sE{B&RN~qztJ);^6TkB&&_5Xr^Lf5yKYcA{TJ;F%MGiB~36q7oL3zK3 zp@X5T*N6EvPwMY@?yD#~$_9y@(fIgj3GY_16MaH_BCh-y4P+r;YeXRas9u&%?Tp1I2qg zCVt5-`~b!;+-G0Y-G3kWAoXAU( z9m%M|boUAJ_u%*5A?^-&pIrbufyFBEs!df*6anBjeeSyWXTJWniAB1^wEn;UYS9Ps z2&?WX2vE>`*3|PPwL#C690(WRXd$ydaQy#rHs)0|HrkJm4i{v~WUUmV>yTXh!Z-3Z zH4swn0jU!Sl8!%AU=|+E**Y6@Y){gwW5L!AU-(P+RlwH<$JQW9bo}4Y$zla37}@M z0xl?huu@e{EzM2;jhuPaI&TVDSXf@|+t=*RDzVWr^I1<{hua#K?L_t!7KZSxjNixx_7JQRBXGqKD`5k9m0z^edPuj5(`SZIG!8uJd(pJ+W->Rz0fOR2y@bO z*pBsX!!8!1$M#?b48?!fbgXMp{rA+9>aL6~+>5RMI@%7}e=OH-D_Xs(A>MDeq3gFe z?Gy8D{0b0zWz?!vC9W4ynadIj5{<)SQS?CpKAHjEZ>Q_eynW*Ew@qEBbpYD(@aEM$ z(l8|&hXLtB4@|yz--7SF`}@P-`U~LsDKeJ8wMseOYm0$ObxES(kNqUtfbxARXD>@K4s|KjrUT( z6oyz@n^!r_hH8=vRg{(Cvvl=9Zblt*Ds?1MF?s|AW)ux&5+}3Qnil9O11eq92lOw8 z(*;_}!@v3b!_HPW1}l~yPOabL0Fz)QPEO8NKu^-v;p^dcRM3dql<3G$zRltLpof5~ ztE)%{zAs`3D~KUTt3!*k%66uOA?2P|{I;%_Z*g!JE0@z#(0ILxxS zH%#nYRANTHXb`~jejg>q4lGsK>-_v5GxuhZfQ5KW!ky#xNxvyE@?_;4;q1J;w~{t# zEF_ODXGbabgBT^PJHNGCCJ&#}oC*PXq6!|TIqsODT|f-T=+IM)m)54_xo#R}Hhn1{ zZO!TaD>W#2h4CXCyMU~H`1E;;YmIJBGp`{nbj>n@D#;#X%;F98D~xASg&I&Y$_{F2 zJO4-HU?^{P38T4Kx0+gWpl=I$6|)PAfpZ<8aMBe`m7pFowrjp@)4Na@_=O8iSrjkG=J@O7jV_+k8mtL=LeVMF1gZY_7VNPt^kq%~mmV!D_%P%ZTO`>XaJFx~zFYPA zdmIFY^eKt`0>Wjwi>e?yd-Qk9TK~*#99V$KeZ{Dgj*3%K-VqXn+_c0ZOgKGUxfz`8tl* zxfegl%OSm}1b_sJy=^CXpZsiTy<=Xy>XkyL!DVX1p~8)loa0{jsXqd2J$sfwnznb_ z+m@@LAKlTbs||t@p9JzlVr0x8^wVlScp=i%d8fa>E>HQqs14{@rdJ6E;EJ^$j)Zl4 zecQ^)A*UL5ZK}2HpO2WH33ow&l9X3LaHkBX3y+Ls#5@`)XqZ+d^Ahi358`pLZC@ET z2s+nqh9`dxXkXEa$AY$Kk){9HforN5l5DjmO`$T!jTylQOQOi+9(Z1hx+$F!SF1^hOVkx!|UXHV?fmF9h+=G{F= zoe@MYAgV?Zt#-qX6Pph4A%i8$KQb-Dp5tzNe=~+mI|nK8&-Zmq38p!32Eac?bk&T@ z$fUKNba>6puS^iv^h^R<;MZv?mgsZaJ5epCI5*BVGI6!!qGQ;@kQXHfO4x!4@wPfb z%i=iv#yu1sTa%6sUr%Su#l|D)=bW4@4bHgLi`Fn&CBK^Xb_3S#|9KSVO7os`HX`7vq{NSDr- zHmx5x6E9psQz9Xiqe&Jb8esI5b98hxed^f(d^XK}!YX~!YI?fj z$+?v!?89e^1L_>l9K0$BeBe8_Q{(WRP=(d@4?8I|*p9k+;>Dq2h^BFgJv)mj6F2sAI7 z>8ajSi77N#!^w0>I$e_q*KA|~3^`PclBI!PiEBcbpngq|>{wTm-xzQ)Bg=kPYQ1y0 zcuV!y{>ud3+NxTcX<#RH`CgsaOA2|wMO1jG zgjGhm%lOY0(}rb!-^QMOEmkG>*GU zpMtWbfUA2a?)?Bg=mGi>_HoT~wWao6cj72kmW1W(?ChVKcDV&0-)v!h&+9TiHF{W3 z_!3SVhgY75Mj5`f)feUuNF|olRabAmRY%}e&i#&L7M=NE@E>8#OjT$v?UObCy zYYu>;k{xfZ%KXBDV$^`?%9-c3yC9EYOU8>|EC>WViT)3&F%8zY8*gD2@xSCZec7Za zaOSplN-1;zeB43*o>KvEPPtK}A|)w-S7{+97bRdhhJ%QK6rtR+$)+Ijbh_82YxV2} zJ@N>an%_+NhdM-T36>Dxr8dtyzjm=V_%hc4EufH}}p8%{%Y*+O(LKoj@f1{!kLV*`I>cam4olMxK8c6#MMzR8-dJlb2`9;ponCM6tX?vF6!IzY*ftr#u z1-+(o9ZH}(73gWdSm+9c4=JB5F5a~rO%)d09c+J%YTd|6%@a!@B$rG{`>!3*gKjoh zdSP;goyGs*Dt5I&?}62iV>~23tA}&56%-T@6LCu00MI^qsKU+UJrD@@ou`xP-4r=; z%eR-uSM-ek1}!0gD?;l&aZBx40$;5yuhs8-IawX6Sn~~MQ*VT!9 zzD&0%5&YoPWm<18&ggJShxI!+kK5acEYSenT`rU`=;!;nr8RLYorR)rpaDyEi4yDY z<-d9BBzgd7zrL{}fw)@XhFV_c%X>42^t+I`{Vi^NW}hO*HX0 zKVQ46<@EXnNxl=*UYtt+m4dmq-UF8@PcOr zkNh!m{IJh=^hilgR

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    _u{$a+`Fj+2pu0C-|`N=21A(($=Gv!2HZl>+@WM0 zw!X`v;V-4G=@KCx9j#Y#KLvWGLlps=pe)UXdo1$3JC?ZzvbmJ6I;q>`E1eb;93PKz z{xWIU`96z|kuXwwA_(}YAukw7Q>xf9;7L1=^Gg1=3&v ztA^EpiDBtEk2m`PxJiL`e*;!}WV}4yQ`f0%k=(-dAThvKAoRr_2+8()Lr6DrwhkvY zHKv@DJL}G`$&m#Q_pc+C$VzgK-Bl;PJ;dG4LC>pKfcY`D2)&F**7WF%?iJuS{>&0J zfQctrCIbRh;N#-jCW*ay`>rwJnomlry_tU9DWNXrcBeGN1c@fa0yue!rV-2wHiZ@4 z!wvJj7QQXHb}mu!_T^UNs+>c~T!dl6rC1zW>90R$B|@JNQhWnLOUP3Rsa#Aoc-TEY ztaw=-FNr`$DaA57M{;c}2FXn)y^IZYWxP^5!d=R<^*tY-Cak9BRq@+0pys2m!F=4h z_75zHDpf~Ov^}zFR|W+XAaVdjVZkVaK?!aw_kSrECCmyJWrpi&5qulo1I>VIwSI7( zdt;^T=f`5HD6)JJzdMMXFjFFaBp)RcswF5}Tu5{Z;nUtnm|!Z{Q%UO_uH3&{N2FUq z{o6(!wsMNia}pJX*&&tK66H5>C2)I72q39c5pnH26Z@X5cbei7AfdAuIrPEv_AH44 z!sOSrIElAM34Dnm})N_>fm5A`EU$_CKFQU z?k9>E3)rQo5FDK^!86in*}e4E`62q`+4{9+CS_%&{ng!ikE1QmxzCP&pE=Ss(awyE z`0E%^1wtGs5~sK%ZW(Z6aq5_;x&VNdfaTH~MP*JwCy|9Lsr1BGOzt_{)PxR8;leip zl>2)lAQ4Dh{kO1sbE>_F5xqF31tjNcmmSvW1_opl6@*hLFk8N3+2#OROG{^WWt0$r z%Pl|nti6RTNh2~MC^{3gCTY^JnwBV3AWxyfW$OpbRI1E9b@9bWgQ;WM{#$fAjx!}7 zkS%$?p5{K~UHv-n9yJ;sCCiL6!c$(H1YHRAhF*BsLhUGv2#QV5%H)YaSJs~}{xL4M zCc6l`nM}vaafQWinVsgNw*A0=RA7f7v96wJyc;Q$te|sp+u}t<_V(wO5V<@^UemWW z2p3cgBxHf2a4%>}h#v~K>KJgsw1}9XGr-Q<*QYs0+wtK*3RR(!o6Tv7gpAL6+QdeJ z)?hnFm+`@HY)>K0_e{wDh@#{ER6>fP{InVbQ)Ctd2*pU zk>hShRAH(v+?Dl(`O|GqcqBEZQQ$ExAPC)p+_V3=hRb%A29M?QJoA(&E`U7thClxVOX_mA4zmj}7do@%`^hx`Vt_yCwdDJ0afcnKJtI4sx0 zGFskSyf3xVH#jWM24de(N1%dA2udf17J3t_#ayy)~1iS{nZRR=}Qj0 zokq?*|4itC?u6T%KWj9H3jyqs z=I7^Y|I>DM9pqN|{Q2{*i3yASu`j_*4`w-Zs+C-}Fu|LfvchDCr`MAWR7l~Glqxy7 zxjq1|Ia}Bg>Cp$e?1)j7P83=gAur(yP2gCe2efrf(%TMvl@rMz+rNGf<;`m|j#|+8 zLi4Mf`cqBZJd*#REehQPf*Rssxuh12yupm9Z+JZUj6k; zKG31&nj5udQAu^O?j+Ha0C1X0u;J#MuvYL=lrS}=G^%Ow(-iSK7hZExn?(#*bo)Iy zdEWFLjRu!I9OI~6)yc_;4U;BCUR_sLUQX`4aRXS&gUQ0Fa}hrvVMF81P0;-y3#72X zPNZSu<2!Bzz`D`V(PO^E5NXVgIR)V7Yuv$ra@zR*Uu{$g4l3bZ?cS&m&8n*)m0r9p z$}MMX-ue_bG>BwU4{8zVSGZ=VB=A(Z3z<015BHbr-usZ(W76+bgva1j ziQG;I~!qJ16rei8`!fCez3;{wvCvMhJvDkk`i*CNir-l-i;7hQB`C5>+_w4 zq2a&bME=iOQa?7QvaJiUZ$uRp6>ewjHvF%3-@0j?aM;}rs>&|(fKFN$;7Oo8z>b1O zE*f8b;>|Uy@$)?0l2u3Mr;jf7?sEv936_f}1ja=KQW`_F#o&W?@`(7s`suNkR(A$Q z4Js3gG%OE(3oZky5c-WgL%syhV>qi$9!eMPg*+pt6ec(grPAr}`{SXD{UZcsyc?g< z90uGQRmpOpcc;bym!&yxZwBe834s9}yN8S;7GqZ7S)gKxOatxNA8ZIAglb3s7xw0+ zjsRHcTmQ9T^p73mOWtr^5<9~zl=M%M3PH}6-9A(rAylXpPM$6|L^&E*d-3yMbY9yy zIF$YT3HaPea}$-9mq(Bad0xH6vC+|w+I39d8WrDaDjKLB1`GNMlU4d3s^+QEgX(nS z|K5PkN>Yww3^D1k&uwMT9iX@@FaF>>39}_b`i{n z?qm)1>?!2iTm!B}c}B#DegFw+u$d__nn8*+-G+OEnt)>+xvD)LhYvp975K{CfZN(K z#fuKn+G^0nL?c(Z?Chvhd^G~c_p2+WAOTq_hr?vH=J4^CRiB0?rhT_3)w|!O8{9a8 zoDYy2?EyhK4u9?ry(A96BvXI(x8__5`4jr!-6HT89=U6hp=|#Sp3CUfyC5&?*$9;q zgBDky%904G6bJfV>hWlE7PDnk|L!7tV2I2Lz+JJq=qNEHU7n6Bxjg>PpCeXR*aBEg z87^{UNnLRW(5|Vo+gG%j%v2MCV{3aHj0p~KS`A% z2b9HtvU#c16)>Rx_}_}{^>aR;-7}uSvg@oSs^I3vwQUprg;|yS#z&PkM;d6~#!5!h z0O1dKiv4)@p5q4Qy>}iDjZKbc%QLJ)%vueg^59;Q_kb*#{`tiaW(}>g=h~G8g1@CN zJ~h3XTQ~btDR>}Y_tC(hAsb5T!wN(*&X?WfEJ(xLbA!eU1a$i>U!0H`@ruNJ1 zeWCfI-4l`K=Yt;Gk{`|;>!K!3Z;(~)Lc-&MJiPZg8(xt>U>T0!{Ec+#8^3O;_;E1cYuPa(_Q# z4EhBVD@5KALfgw%2b0uY5?w+sI#nYt6&?7A~Z{Dwt@qk_f zyO>zHeHR8WrA@zk>kB8MI>(KKgrsTYp%(G-0>)$0>t7Wmf4=*RU`j|Zyz6Q;RWPtO zn)aN(d+CjlGkkaEJUa(Bv+Yv*ax*tN`qyxI*r`QJS9j^62}3fuFn4u)x|XfIT1!V~ zc)`(`J;3)eI5fP%7H4l?Lth`*5Bk1m#Isbp$}+ z3|L`KBatXxKIGQw9E!oeRJg59g|viRfQ_NL`9fU{qIe#A2!AjssHLtK`329_O+5C- zibG5hp^S-SdxV67?$Pb*3dTP@Ijn~4Llsd8j)dGSYBHl5MtjT%#ZGAn&u_=>Vl(c` zkZ>KzD@rX*Rr0=vCJt^DZ}4`oeA}r)3~>vN(^c#4*(*)AM1R!CVGieKw=j>DNSVM0 zL5}-dD>;?QWiB`)bV2U93hd%89T82c`NWs8=b{lL=|N`<^!v{$zPx_B&B&1=6hkpG zwl-u7O!C;GQ^s_@`~bBkG5tzeR&SCyMV^BDr!lGbKRdf3+m)igf5gf50!@BjsuX#@ z+;2dp1XRoNG;7P~{P}1kiF>xNh9md45*U&uUi?q%_b9yQfHisb38TnGu@U(|ZFpSw z;otT|fHSfPX!R|GDwA^nuF_N~z_uvg_2`yIsB>*h$TJzNdzrQ>_kIzr8ofuU!hK>j z5T{=F`e)fsBbK$*52g7F4w2)6KLp7 zV+6|7s9e)>s2fz~({Vqf0}a8OJ>wKQm@l(xrqIz)upmqXiZbbn%VB$Q!Iv(&_h~UO zXdln-doA3!gb)2fY`CQB3qTJ7=`7du>|Vckltgi9!hL?ll`L!I%=_yqb<3B-t5rTO zMWJ2Xe)8~<&|wYw=TW6^pqjfOc?NpFc&Oy3_E57ynBXePBtcn32vryTI|#E%_+^=z zWJLG_rHhR@U0j$#Gmm);!a(s!8+_{NYSNd)>9oV(#ac}aQIUymRoX@}u~Ivlbq6>+ z=#$|h$065Y%Z4eFSo^Jumg0}*=EIfuBG3fIKSBN^V!Eh zHKX5q`uiMSeAK!(f?o-~M{6J-LXhtX|9cHnCwddB1xoro8tG%-7T{$}Ic4@$Gbqy5 zj9C2J8)Uv**%MWhOqGL9{ww*7zG#a0^VzG-PA0o8)`!oLZQi)Up|n}&8U&n8JfY6W zowtGy&D5{ZABm5!p-d2f&GSEU+)nGxRPX1iwa1!Dmlp{WsD&MeO`PCmU7rU-_x;hs z86jATs5j&Gln zH@fBTRe3vmhfrI{y-nf*5SvtU)*+^*d$%fs#~Sm99G$vVEm}$gBU9DPk<@5w?PiB-r`oAap>)G?j*UC@H%z93Q(pgAwL7u z7LGV}DBA~bHsh5i8#b=IVx9L6cI6nA3z6-Y`3W9x#{uqmtulB5j|oVB$RBnEO(TA(2Z`SJwZ1khAldNvFV%nH|yosvBm! zoV;rEQLZ*T><@3`taLnhOZe#-Txo+%sJ+X=C zP2hvvdm(5O>|33cr91g_5B14RC9iP!zv+vP9kS!KK)qY%HXWt_h|MgpeRS?$N|Eu_vr|xd@v;UnT!u%v;%Igh926klZ z>ek}FR7c9K=E=ek@92$h@FIH4hZp#S%LzO3Q(ErZ*TUmlJBo@x5}CqV;d}M)5U>4m zK7C>%NfC9)#`=#jWW7ICq5S1FSDm}j*R5*pRW3L=Ia&!zBTc%o1x!IH5ji6)A*B^h zFRF&{HSfrj0f%w>y3BVV$RJgoCVI#WP&||@MzfmA{+)FGhKSi4Fvm5rIk>Zmw(vU*lus3 zzeV4Vu$d0fNQVl$?}&4NQPVPnnjuft_$h>#N0Bt1$5<8lJ$TNtaIBg3y_y66PL){= zqMR5@Bp-sp!)f_k4RA2k&zHlzh6n54PM@(;O!KX?=u~sV#+4>z8C+c?Q~JNksX748 zqQNr)+k9sK^;SVaoh_@Sqfg0;yP9bd38DkOlpxWmO!|LW!D#%t6QF)wbRsBACE=D! zuBF)h@};KUZr_f~dnKC;^>zkx#%QliuwLwhv2~cgpt=ihzl{7bJB=?|p z@I~23PU~t7rSD+%hgf+!Y^r{3${#fL+>+GXu6O%9xJMBxAg@dVMIoM-jeg!6S%j-F zguPEwADHCmD*Ck2fN_x>A~YMGjOF-7RgpO%M_$yP{I9{a<&QN!f9X_(lZwfK2Ns8S z0evM6YsMWBAoRrlG+{U{@?1c?Aia^EimswJ46sxP5>-=>>YAlXMaC%!N7z{y`=a%J zyvWWEa%+le@4pucDnqkUdB~YYnC&p21`v+VJkvi2i)8_TBuvtX6wn<798?ozZS8C+ z*Dy=mH5k1%0{DU+uM2&SBk+Cpwl^;)h7&%B1;BoCSnAE;u?IS_K!+wr|MOCv2Q$|J zY?f$EeB{8zG-h_ZDN^FXyh-OJuRxR(w+Z#%c|oQ) z94zimb-7jKB(5g$5h1CqtTL_rCu~3KNz0W}LW_cC(0zRb4lb_BjnX&ZN*uujFckj+ zmEN_+mLCMpo*;7K(U?OO{dj>;*u920RbmA%!>=)bM`chG3sGzBkw(?1&ZaNmITJl@ zp7z#C;zUWrxD}1F^FD0j4a5}(QGLkHDE9={3OHYIOq3Ta~9Gx##6y1R4VlQa~Em$rS&`NIN_C+a>W`%BdL?vU}P zm~(e5q$bQNTk}9u(Wu{6v86<~*@zX*Cl)59h+*Flh(N@=InkWx`Buu`Q__n#a6@cT z2XkpWg7abAmZa#MU9&0~#rWcUE(~Sg`X7}A%o%;sVrR6+{v|9!8jPUWG6c%M!6Wp( zB(axr>Ws^}kBn_rT`b9SjhYm!$*H$CRg#=$_q4W>!VaElPiX{Cs4^JddQzg;Tt2)P z#t9b)OiAPoV4y1J9|f>Y01E@~UZ)n~sDYTxi^{)88Y{1X0Q>gw##(H=^OMp3DE)h4 z&(DM_(pARIy8M?HNnpOuWVwFd;_yHtXwUH!4Ik*&UGhS!&>^(sJe)b@NRtWphJJOQ z-n*(5)0xVX$Lq5pIV!?p7?#E5MHBMClcBco`aTR*ggC0K+zx)v<+!Bsen$>;VCxL; zQ<_(CtG`{j{v~9N*Z`brObpU3-&Re4Bj9h!n{)T<^rLP$$#Ho6 z0k~-2HDBu-B6heI;8fweK(U+ipUH%M8@cr|Q~WV`#+5V7RYCoxm^k)tk}uX(W{w+x zT?7OK096%EE=~YS0njd&n;4UP&5wM^)xa-Qq#I)4#%mOeezEufI{+VIwR7ID>wy?0S_aFMt01CTB znSwjtlPh#RBWh|!u~;b>AG|@=ZT!X_7ZWH)#)C6hE&F^OFIZ zv5+Ie+bXTa^_ezEl=D;_YKT#SD}!%T2wMarV&|g_LI?&pX*FT|m|#g1fr7sEQRyHp0vfKDVX9 z0UQjfw+jZ$=>!#;xKJu@5lDzGm3=yPH1;dBqaT-C;dhBu*m2D8Ww~pIFwzUdu^s!j zG{DT=Jtcu^jeT@);(8EwtYSm-*m-*YzALzvZD%!Gp^^Tdc6K=8m1vGy+zQys)8 zOScB+j0k#&UEx@v}Nn^a5kj3X+DM4N0fuH>5xx<5a)r684sW6CuJrDEPA0d>|OQ({9 zm}V}i!Jo)AEvp}y+t$af7c8zBlRru`9m0Txnr6n0QbaV01H)T{hkYn1u}_tdipA!X zn_!4*YEheP8)vn{@*ifQq5RBPlLhX+x!2MRkG7`^0xOoJL*9`D5H83750x%;3WN@} z=0f9RjE#{n;xxX9w#s*s%#LXmIL!W8s>y;|$xu#-%53+0@K8bd#sw#KH~$g~1OoJx z0OnC+bEC`GzYNX}tFjDOBm17ErnBl=GBj(zm@)-kOo_cLl=exv7Yq>)^%0CtipKZiCl)w zXQ|9b+9Aq@krd}p7u)5b;Ww1bWtZV{4CVD(9MhN%*4m?m*ZxHv;YlbWq-2odZbPo6 zH-jl*!O0?`gZsm8%X*U>ldCQqUi$NkfDH`hU@(Fw4Bc(7G7O>oXM0*e#gdNlmkd2Z zqaV!GhpfhFrQGr1n={g-z;`&SA0df}j%^efsFW?TKAv=hL)oqWIU-a-bI{@^#cKer zv4qHz6hX7xAa_F?Kh5{bqWR=;6r}y9&98#qX)<Vzj8`Smko3pjSJ&^{B3p$zIXTE!f^(J^gmS$&cEK!dud&&V}0X;r)@F(aVzA0~ViAEbX*tZ|w z%0J@BXr!AHp#R#xR#s7&+1#9xLcitU<(2I$jq+Gk+YV@ZdcL26ppT3 zi8&+Ro|mH^-F4kj&!93zDyAYGZMu;ja6l@IB2B2BA~kV7Br6~g{3Y+2Zuafh+iV(0 zc+A{=Q0NHJBPG#u+ObT}oPggcCT13)cqjfv*)E;}bt9bA}^v1#(i z*0dDsXq4~@JHc5UA)*?Vh{JSDpB@3q%bpy{1vi1N8&^!_y*PMyu|VOA_p6tzKfyw6F*R} z8)4o!Rwg&N@xK>9c->Vw->TQ65~qF?D?^5g9kOd!ag%muUIIn$*Pyrnn@KZT!SxxInp zPkN~bnHIiw$Jm4`gbU0q#RWMk_awP)DQ~?-_wTOw9Q-p5WKe|NcFFqqJ%L5P86!qo zo+h=dqupn(z)xOADxA-$Lf1W77Y=rjlFt;oj{=1T!XBIkIqEHqm-^2x6_TzbkZ;n- zA~EKnN316$n7&72PH#1DRmd@s76Bday?cZI#3(?EwvXn<;71S)Uy7c_iETpUkmyvF z=_J^nPf}M>X2`EjMo)5bATKboAek~c$vu1oqgHj?8}FIQwvuH?cbE`PSUN$$8ij?~ zeu_Y+R}d|$Ys_G3%863OPB1Ve1CxLS=VgM`XF+ONFD{10h{F4@C>k$!elDCJM!DdO zh`otnYH|V7;pD}jmUVO9R?t^3aW{|95#$HGTG&OlYG3Mh-Ii61kkVwYx7i{4iog&% z%WkLd?vN%c_ySi;cD&>a8yLy}dP5}455k7PicMCg*n-Jn-;#n@N69SS}{eFKwG1b&bxYk!3MEp31zmR|`cjfd)>F zra4COz~CvZLiDI>)1}*KOQ$wO$rz7!vN7k*ptFcnAR=3TM5K$+uuAQA4|gde<%1jG zuktWYM}i$@z%CgiqZ+K$RZ8sY?fwX+(!iodOT)?TEeZpR@Z)gshf1L=37hl<%UxDu z^=z2cjVsT6;j(4MVT@8)Q_-?0AU6f35DQuXDT!O`^rs-OZu)}f%>8$_rON|m`RZfC zgUT9)F*{jY&eM`XGQdK-BshxG&pMXn_&r92lgjE(IZS=dc)>)=ak;AnuP`%O^> zbGr^hEF)~3ovl}!e}Y=8<1F>~%ds3uZL6U1p!HYUE*crzBSrYZj78(0V5MI@WigSOG~=`rPPqz|zalv>h0&-FVt3@k@yy3e zAzg_GuiGqHs@d{Ol+Jope8c=+e$mr?;0~wJ)SgvyR906C<(MmRu?1+cgJ0&)M~~C` z>~kVCsgAlIHdf_tT_&-E_1yohR_V=Zc?(R!>mvomPpmcY4H`3i*N~%ap z*QKOeI;B&(>pS?~`~GVUEV%cav*zrc-`+F3-RJ|9lifupL=!XRg_-kvz*j22w@%oy zo7?;b0ypN9>;up zBEt*h^?9c6eX934j1;B_c_4RrHc+jc=hsh3g0|Vh>P1EXzwJUeT)TI0VBzGHI5ws% z!~5gUVhjoIU&3{PU818SKE$|G`s1@mqo693$oHkwQFS~*UFk=#lBMErB6xeK?f8|5 z&{UZv$O!WLLv68K;GSxlI!7##IjBhx>a29E2;+>s9P?-zYSCv8RLsaLwZ_NAuw={2aru{olyDou~m z^SrjPQc^bE+^!RqXgNO0f2J=_=?D$k!^96`1jXBv!F4PZ|7_FlwrQ8G%QJi@%#yCU z>m~fDzKc9-_pVbsz1+_r;+VaR-w>T=RnhwrJD%R1Dyv^QcjbE4pu z9&_1eL*v>*<5VLv{VEizKc>ov%a9h$>HZlM;b&UZVD&a>a4AYwilcgTS)yCcD2tYO z#K1#VNhvy1jrdKDDhkD+Sr=zDRbD6(oWd8Oa9xu+(*8apSZ6FRb(QQd*X{)2ZUc(S z@nt8Z8_)_~1dr9N*lfAf8(B@8*eIZ~^=b$E)J$WOEXtvXn4``c_Adx%6A!mfQp)U+ zx%j|&gpvL^i-ddnlDpTi?ZoOwoonFV9=wBNqrH;Si#{H}!S@+A=Bha6f6R_VrAp-j zgFAXH@v>t9UO481l%;pJHFcnR6DNTRZPPBHJ64NI=!vdL@KtN@bmEPzDlH?b5tQTg z%ZpXMGYZA00EFmTA}`+4HMz2bT!FEVsk6y7;|Td^%i@L`4I22C0zj)JEoR=$%*_^{ zjR7@Q*M$(T<6@{WL8ub;FcQba$=UWKRSwm}jP6#g>(thq3I;j7DH)==!v&&y>cZ{U ze)yp+=LIFG2&x541Z3<+7WjPGL54baYL#Hb{RZeia!Av$n4HnM?1?ntvQ2Nhy&iNL zq)n*ivqtmy0oE8w8B$prVfNb6K~rlfdHGE6D?e1QM`p&bXO)An)uE zATw0^LyT>L#JJP;au0}I=P<}lxYTyN{&F}5@Q781XcYtII(2! z_7T1*bEf&%(b7Yiyhrofu!iP6>?`XhBVwnx3*FX0ADtNa&ZXy|k0-8DQVZ+XU>q|xI zLa&@x>d%F-jsb!M0&ISbOnJv-`BH+>1db7cU;-|KOo%&)OiWQwYyjv|nv613Iuwy| zxR5K^>|Jq+muDtDJgG%)&HK!s$o4-~Jrr`;1;zx5$OP6)$9S(jD{0I!m9%MXU9|Is zwF^g8I#Dh+Ydt4SglUve!h=c3qGFhNi@^j4NCapomrGt{r5r6Lz0BDCpyA=E{CJnb z#sUO~qoNA%yPMLo$>uAnmX?j4DGV`8LhIGA71x2^39gKto+4tW zU_X8i%pFX^oRtwW@G?NKZJ^1F)C#StKK)Db89$|+|0m_*0|A*ei3Gt_Yrv=%fT*BvCCt*iskr8s_u$B%TG`Ba>A#h2z~QHpyh{D?l5gtu$^#&o|<54P#_t z9Qv+X1`!z>85t%8yXdg#3ztk4@y>gz*!K>RO=%P#SzRWJ<==!bppXcWQTAEMM*hU7 z;S=cvr)t6c=%+eYOz37qHX9GGQAFLy_|YR5Mrk)SlR}M!&cU0#Inni|Wv_35^Z! ze8d0A?NJnQi*d|7=_8Z~+#|=7^E1bWc&AUV@Co?~adFBMbnlx#Jp*!2CQTzR&5pwPsn^79-5L>@#dxH6jZUhV*bCfR~l?slZ|44QWEPZ$ef`j3(R$aa~jC)m{2j zYHgcPGGx80tMP**IM4;EnQQDKbub;|v_kdwQ0gbK4+^caE-}iMVlW&EHu|vhdfyn| z&t*OI@GkFqrmUu$*v*&HkruhW!vZ`|;5Z`YoYCgJ2W^592Y0sV@qYWy3dPCxzM_}G zmu*c?**$?L+@s}YSM4=)fH@H|c|S(q{R)7Z;t-NEG*O?P)&vL{FUom+i0B8pr1^~y zR9ibZPfn2uJ&|!M#uUBoy;`T$g_l)%sK%HEG-^;%R!$z?CMd{UUk`>M5%kNn;~nnp z1tjw85_Sna=D_9PYx+im^|i0R$GlMSr#czmMpepYweG z(mKYX-IOl3fQg`1#5*iG%LVwwQv!%N7_Wyv*0>rqrKc&>Nn0`UiC>Dnnw^kV3NZ$U zc2la_lr_mO-D91dOm_C#C@eWPoF%#Mjq<^Gl44j>m2fz*Ll4Z50cJl-O=%*XTDtd( zsYRB5dJJ-G6F4=N#CxtpkHB&YV_PPPN*k=Q9J4{dD%~hWjK{&Ggn|tw+(_l(b+(bk zp~9mRawXPnomL{G{j!WhXD6Q|Cp{RyjVLWyJjKC|8V+B|@8^|VZ>!EP5Rt^pf5yds zLzpo=TOUx9@DLVmtk*a%g|pp6XWB`gW$}c0k9A^b#d+|k^eVMD(%KrIW}v8&5Wjsu z>UXZT?!=CxZMnBPM*HQfX-FD@ZYDc+?%K2OxT0K+6Hm*`LU+i_L%QYX{16Xd>` z?xF+Jymra{9&~xS*mk*$u6qXo8;xm^Mw}DI7=hAs#Hjp!!vud0NvR;e)u$1JqQ&^| zic+0979zXI%)WQYX9`JW9TWUi-(iRI;aCuhmsnkobPTM9Nm+dcDX+b@Sl$M5`epvx<(f0Gpx+-D3QNiAeT6VhRvqyHcix#k}E&E-vh$hB6g7pIaY zw}kA}W+?VtHErH!63&HY5qTf|=&luTXsb!FI;L9RL(|hQ=lrWeQChs1hD(1{9Jrt- z2+O)JSfAoM=siGC4VXD-OAc3?qaBz=5@?F7m8Ll~$x9{V&ULv5Fkmd6~bP z@Sn-Mp#BucIG|#|y*HnCaBnkVvUQF!z6TLLr+OZMtRc$G9-Fn;A;(%I-KJppoHxds zHSpE!UddQx7_{NCZ{fkfqHg|^w5WEn*@9kmX18f1rzNJzXcuKbN2M4;a_P$1X(8!l zKdSQ3g49`)9rbv{Dqy=vdn4bE-PEC`^mbvPSGvn*+iMjMn%2~F|FSN@c*0gitCGjE zWZBUQu8bWV695WJGm(*c(D zuv-yRnd2Wb%lf@Y##`cPsv@GyoNm4ETS$)tXgufXb{}n#I_RIAs%FdoQijQcWS)?C zFKF+pgDiS3gcPdi&lB{3!2qynY+1)2A9Bdw^t2f& zbK#Z4!rEa5&Y9~YZ1W77KtNB-;>=tm?7q*yUhuMDiwN)t8X&&GfV$qS#*M+$BVqPA z(?sKd!L>m^YnPLKSw<Ofq|e81#lZ$<0TztmB2a!|r%;(3FrM26_#qSaF$N(g`7vu3fC_ z?5vndEy2zxB%hHJFpbDr^QfH|*rl@^0vDlz;<|d8+^|hknU^@^O*td`DJAT>X`=c; z@cNPDFvJP{&Q?7}EO;r9iSi9QuVG$^Z|wUG^j@c1DW-PIskEAI1mr_gt7#M~WWZ4= zn9Re}qzTmzXU4ogPPUEqKji!G;{r|S7SXK&zCw$sW_KZ7L%oL$4^E{Mr+=pM_^+TB@$t7|G4*cJLgm$<|v2{?QWpq~e?;sQg;Fi_Zd z;lf-1cH9M$BRDbAwc0s)W4{C@``q;x?Q--HT$Z2LG1ATd{7`fb*QGiNZ*sJXUOR}M zYOe@k6XES%?4jg6_KZvw;x(G|co!9-5|8DxDOfwM3sWE@*AFvwH-1etk56=&KRFi9 zknk*97yDd1;sf++2oYl=!zMr}5uQDX#c&xWSr+XJ2OBrssbe4!Q@WdEj)it*rS}ID zE9PdQ)}TjR{~T-~pq507aIQutvgTN;VrFl`a-2#OB_o_US z0&n1>vv?P$IT}umwg*x+Q=`#V4wnX$@w|_|1UMPrBtd(M8f^6*9}>pqcGa;4(59Q$ z-}3-*a@4;#xe02|+NT9r#sH%{L_H`28vSPrML!nhFcnS$c0xZxnnKgcidViYAZ88r zS%U8wlgD?RNg^a_dr5J>i(UO z0pkTMJEu^nF6;EniPO1JRCnje?f?U&^7H09lDjjI?McB_F^sWbzoQd==@GS57HR)}NU@N0iGeL>TW-^nokIbztXjNc=*2*~eo$AJ5ww`;$`sHgq!T!0Wb zA(y65SDEM#x^1rs=csqMS=o%L%e(CEW{IRZg4LDtztRgxw|)qt9rJlFxBBMFvYo8A z*~^E=m=E;|+&Y&Ra*C!9!M&k1ny&wk+XZn!b|*N|I^?xwm2otnDn`^F(W=64OoiFQDY6C@#9Ks%K!w* zCc%GO(0}!WMG!8|n^U64y6H`JXM#DW(yGVGCBhM32SwIKHT2Ap!#mzv!wmn{^oX2A zof+>;C;=e?vbXoEg?;Fjke0wG3lAu*Y-~l$S3J72boT!eWSx~6J_t_0kt=&EM~$5u zutUo{UHqQ@J&*-zWeqoe&zeq;)2EVYoL!9dh8Ot6d@@}L3oYWcZ5mPBpnF>Zs zUnE^hs8Wg)73GZ-kj0BGsRl(t+XkOw6<54!7BDUf7yX2BuqNj&gn)Mh4(6BbI}^47ywS-%<8RWHmM<)wEFN@mA?(vpc`Nr!yXO@V30Wv`apBl^ipcC7z*A{~w1hkhewH7I12LdJ)QuK(P&>pV7za}+O-#(nb zU7xyZV2*iDAG_O35FWML%yYr>F2#&fo*A!7K+TXf1F*v?3``)Pg!PZpEqw`45I3C^ zAgxWhjPgk8G;D&U3Ks+rt@eCh(GUODp*-db{e>B<7l}5mya0SPa}3aAo@?Zyt*Be* zvljh2zp~^VLHOARgq4djn%|0GvV?K|POLe1dD;}7>AA6v!XIk)Se?ahhFiY_p5#^b zO0q6#L{R-&0E9R_!YA**2PtG*O!$Urh(qp|2pm7@ytLuQmoVC*`jCIK7@V)7HC-}0 zGOTa;FEd%zk=An{ws*We0hF|9ZyscDFXy@zSsko9CxFEu}s7J6!mo$H^eeVAwGXH*akEroO z`N5x>u2WQ7znOYnjs16&i2r}v^D1E^2z#7Cz%4^IpV4nM*Tu?_|H)nS6m%uLgHcj# zBI9e&mYSwwxWT$!sev!4x-+N`u?$+$(Z>LuxlQne%^4%hqLcpr;u4>A6r)cay^cEi zB+^-F9lZ&dfpV{tnj+!6Mh?z^5-nsqdjjYr^6$wrkc*%K(96QXC;FjWv!i!rN0!Mo ze2xETHpJ1>3@HHNv(hG&yaz4AwZVGz{7*M(r@X;VOjKVPUMC;@?3Tcdic+X`&$rG_(MclV#gL51xgs# zSh3}WTr$^06lvY3gk&2EYSuv(p@vwC#zaU1E5XtmL|&!OZ*;m-Qy!(Zsj z^J7;~+i;xlQ(^_7UK9WS8L4USFsq-AKTVp0Z~<1$KvaTuLFyH(k^eY3R6CsklvAAn z@i)>x1>K&`AOOMZ=%Ywy(XGLfT?fAMrq<;Bf0bu&UPaOmBqVRRF@%>PqiO*}oyhYu z2PUsF+>b%{U=J~begVK=L%i$}wOf!A6oNL~KmEw=Vu0uduQ|GlUITgl*U;{Nw1BI@!2>avRa)5m zN45U@jX4x^7`E8!Ro1+4MmPkov;23D4g?Ij3F_#hF8q%;z6v_gdiJZJzg|#6b4kP@i1)5P!kl7J+H6i_EhF9DEKGW+p z{~1&4iX3q3ChNu@4*%y?fNz-K-J!q!?-GEuP~SmXLY6ROPVOixD#dq*xs$TLs%&y^oHN+ z=oD@y90qwp&jGq?Dh}mDb`HI&LH9Tl(1c)Dg-M2R9)v2DQ5Y0m+a1aA^zOqm(!dl| z0fMrf_C8Jto`00#bcPqUe-!$w?c_v915OV^&`EufhonLDAr$Xn;W7T4B?LLe4DlF_ zT{L>~VeFQT*iGvhVa=oZk$Mptjc`>W@Iw;Gua|#CcW&@wHkVd4wotf#rODujAUa{6 z%Giju`kX6Wog97lGA`cqVPX&WBacXOyj~01z1?*m;d&ZcL&kGMAS%NhzqE(Q2C1$W zMRKld4rg{wWi-Wf^nSdg38>37%RYg1x@$)8#vF%P437GKI-H2!3u2WP3!TFU)NJi{x{r-%Q(DF}Hf=TCNMaf|4OT19Dz82$l@}3TeW- z!!b|CiWu9OugN;sM8`i4_gJ0{E&S7FNBD^~!kpJGHtn5pAFkQHVP35&?1&*C~} zD0Of`mr2(5qZsCvzs@sV=N;C5?AoGOF6n@~C?H5?>&h>=wgy5i|rd0*MTHw#^c`Lk1Z@}Xc z*0_WZPaVvc2{G~(45grDgf_H0NP5iS({ahi{zgiRmpO2Dn+~m>c?qFoS2$9`d4%oZWQM=7_Dh!IDsq&1!q87;F~%=Y z#lW7lLWavA^w}uUUz2g}=Gi%zl;()d_@3`u)ePived4wxrl6~XI;CWE&w;H)bV-<@ zl*Kif=%cKfMIUxnxD*L(ginGrp&BV>`32UY)`drMO;RK}%59+7GLttcujFVPuM%EV z`)cs1X5U6&Am{f4WS>+z+h07D?)v5d8h_=*rk3&a#JO{~8~N>Wa{y7bVkYxf;{930 z$9`1NzoP?tW@P&qonK^#PNWY8G=C#5ZA8pm%s9U}MK!aLdT(in(Drj9w+{2}(!q#M zO@$n)6vK5B*|ylXqqBmK>iTPeEL2h%V_7J?bD%yrANlCwg}gGwLwJYDltoIz#*FpO zH_;k{LIWdh=b$Q2_EBS)hL7UpQ`gV5eiN_K&L zsYaF*=MIUQB^xD4&x(++NQp|d@COEy8ud|$dvgWSY*Dz+Y|aGU6vKn4&kc*Y$F`#F)dlXt z^Y%=8-J_TK8@W~pH`*M91`>HWrX{5}UwIov+Kj!NxjSiL`#2v)r$M$S1@0NofWMc( z#^nZ9amYd}|LD+*t6aYun-i{@aR;>Zk8A7EX#Uo;EAR_A@>AC-J^CCSrE5QG&}mL)_qb@2wGF^Qv|7j*%bj zua^B`fPij1QSd4vvbu9-{KllX4#ng-q2OdiZg-Pto!e|;=V4&avV`zO4+)fr)>D<# zaK0}mTf*tU0tbPMbl(>*&dXvOO|8Kju8)j*6ou(DE_F8qYv5gJp*2%yzO2Q5Yk_(8 zaK)ao;k{_jxbQC>P4*AiD|4l(4z}(ys-ZF{dddI_==3Ez_WK|CcflR-j4bYWE~G=X z$u*5BHEWW;0+u*;{Sf!vt~5v<8?e2p+Qs`|v^68DHf=Dqw_cO(>92B&E`Ng9VKo@gYYO7y1 zh2(}5RGU38Pky>Kht8%RuUYFfeQ|Q@yr%2kmSJrhG$iPbPDMAO5s$A)ie9Q4kdk#w z9VtCO8~s%NRRl(Hko zXGF=V!NmefH$j594AIoRgQ`wKGpX>BHkC2K~~;V z;ML{_LEO94z@vo$E0e2})&Q>wEjaQK`l-l|uJz>4L-1Aopecw>@h9(s0_FNFy&`YE zx;Am0D;)S3RnXC<6*6v5f@|>`=bi7N#PWxV0l68@+~Z}+-z<1x!|ivF{n_Mr)1!QyP;ht>Sh=yRn*`scL-Ez(%bFWF z`mOmlV4YW+trY+VVJ%*@aa%N=P}UreK}TF{gg}=MuXR?A-HBfGFyYqiQl-D~1SNT= z?gxm*=>+7797X6GI5S(p==T=d@dk`2X>&yCRtfu&5H=UEAt%*nv_gN*a*>B3+kS+r?G0>iSn8g})#FYd6xwg&q z%J6wwl(%4iBhH||W)y%PCm26jgSv8`^CAal;&6ADL#-l4zq>N+z91~_?!<` zWIP%xQZaPOwb&wGF4wVe=(J;Bvq-mP{go6gcw0|-@`8BE6HkVU^!26GV`z(?G8PR=?uCQ@CO#k8Hu7*BHG0Zd9d5w^8tdEgA%&B3Hn zGd1*M)XM|7ltu6v_Vz@3j#NAr(MLuftkB4=+%j6^p^HYm6<1P`wp*|zsegcDrQAlVs=VQ`z&K+dDVbDhX6?%SO?CF$t$X`or zaD!hwUc6W=IkjKrn6tg(W|SzqH<=PoHXM^MZw{J^ukt-l$9_-WlFKmep>4IZQk^_p zV5m=9Qq4IDPa}m4CpuDQTBzO$8-~T!wvlq|qA+_0#NARN?sTzS<`_iZ=xFovQH(qJ zRbu0A^Mf;8cm|K$^;q&lelK{=yfHj+1bQJEJqK1?cv9r0+8hS$g5BL&ww-t^DQovt z4nhlJena^(#*bP)i^}Z=600>L(DsNg+YA@J=_Oo{P4pfL6f?cJ&S5ZR;i0Y1n0pZ9 zsmv^5%;v?wd2GnQgpNY7iI`%~l`e<9mFvA1) zV&I$nGdo3Ec;-vN_>a%ns#+{I41=cfP}Ss(nLt)7t00)`cX3pB$iX>(M-Jc47zy?IQkvZyww?Wgm zl2|+Lwkl~7t9j1q3XV(Qz``gcWFmm)W|W_e7K80dmT@IlN=k>^B3 z+y*znItzLV3|E1yX#Yz{98%(MhA*(MlzexO1^!LuWEW{_jRaEi+$o6ggYa?HbuEOo ziDjq--gQF!DrZUd7Wg9;FWRAHc`mXVTPnVzqZklh)QC)2&xN58?3CZoLDGF+t zTbs@1<1J`5V@g_WRuPC^&ucE0nP-TEHbUp(Sx!rTn?Yrea)E2CKd={&T+}(EK%0nJ z)CgT52D`MLqrJyh@q?Q4TEOgxX>fkHx%WpQb1YCr59F6r3=4G#43OY4N^A*|0xgPa zS6C>z1KRJO==tbt>i91tYQnl}w{T{M&&- zSX1>#7IJde{_z27y!863G;q|~PBoy@`EfTC7L}tqyINT}(@77{vad+Yi2N^+q}V4D z&TEF@RMYkSM=r>;O{i?r_0wD2{^-cfnNgAo{w9=LzTzG~^N+dgTqft|Ik zIg%t1_Mfj8SLwLwU|cH;`a^ieP*Y*jkl?YC^hs7qiW98t`Dh)3gzlZ|(oK0G-_3>jRE z*X7NaS(|mFlY1IDsUne9HKH+@HIF#fADFjj+HtHgI#qE`G6u5KRV0-%LwF3|^$w2t zk=W>M_upj~Jc|@}c~PEr4!~6P{ja{C$#35#Mo{zgH-P|UA=Y9`$|9L zJXjtSC`MxR(Gxb~Q=n{m?>*S8_sGMDk2AZOun8k+v_lQ|@Sk zc?Q?C-V+@JPR{>@w0NZnBTsNcZ!8Rp6vxP z)o6PKZ2t|&eY7IO9oeQnpGeE}fk!$}jM}+Rw)gJhkfXTf)R^On;au`g;K`&{Ghhbx zG2EZO>%I=^*!%R;$p*S7X}(s$LvgG9w(^W~+yd@wLMP2I-=%L@MT%jVSj z&!V?h$h3({Gv4%L{&7UPdtOsHzRO0wD?N1PI~Q>**d{5-0?_Rt8XD3n|KVgsSb z->P7_hzDXhgr;=5vt0@pTJ`4>sP&U??ZpNt)=OxVE?!rsGxnSx2a|-J+ zj!t#5SDv***KLq)K?o^7>@D|X+r3cAVR#s6Kv}05>3qRDWiIX@63g$RG~0TPCfXgl z5nR_wpUnP=Vsrrjw{)g2;jvFo8u;7%MjfQJeZN%k#atY>Xb_BVlc6+kdho|INrq zRKuGZN>u!}+U50i%;Ah!#j`V@BZ7U?DeV72$NzatJP42qN=+MYO*G#(m_GQ#o%L?O z{S|l>i09W>qXDigafh`ZCjSS$()SbfXG5>!%Y~ecXyBWX=^^={YE#jpD}h>r9bp_z ztqVrIpRfPY7MGAh!jhoTs_${}M*T7@OdA|q)7Fw}{f;E__s3sfQk&+-j)z6_V!F;F zPP1iNC)9cd!Z4^c!eH*uOUJ;ucda=Ad^*SoC#rSVYss9%gspk8{z!zr zwy*eOdC<)A7(nd`mH}S`mnx4r#0N!2oFv!CyD=!n^0CYl@&Lh^xz*J6yj{CQT_=48 z@WfK@85HQXs+1StJitdUxZZ^g_mQJ5p}Ed*6_6#Ewl0|W;WGL(L9^ru<>j{Q$!qO= zIQgdPrupM;;E3qUhu#tPiS;oa()GS)0rDT%BJe^Qo43fp1(e{HuKG2kw$>q2YQF!~ z0&L{^h=9hf6AV%9;5(2|paixAo;>nuwd6uNk(<#~pbMlbJrOws3=uUc*H#N)&~N+4 zzPbM04p#@OfyD&ko2Z&9WFqnu@RCi-bdHL+`lR_=&NhbpI`8|Y z<-?rnu#{`Z8tll^*zA1+{sRj`c|r!|+J+66xkjqSgxuR{s|WH4Ibm|AH?G4RY4*d) zy;G-%u8qE+PUJ@d>mvJN)W^3J9E!OLpRRY}fo)OOjVm!DfnREO{H7zCmp%r?JZ&a` z$9*8<7ejCcb9S&dSA0C(l^2a^H|`?ad_jEBd=JLny-;_=Hd~lVqPHvGH{q#>;a%_` zhU~2+{R{&achY%I(%K5Ep#wdRhDub5UqE}3jP>Zu;)`{dBlzVSpr2riF5RT0Ar;EF zC5@NcwGX+z1)aiqi;vhQ7Gxv7j@(ZkW>HeWn(CrYOfa91>LM=??J=e^P(&>XA@|S` zfCcY-im}~ypS5L$M7@AFH+xpM~5IM3g2G;z!c?`YIiMJf)wk{2x;ZG)UGvcYiR zfzBV!&vlR0j?7g4LBauoouEpPplxr(4mcp!@&4{(vINm`P}S}3PH@I=IVQxa{JIyo zms@_>w>l5S<9He(#=QusTwFSCrgJ4}p7MZDKcNsX-?>kC`$N^Ql?PQl{OKWCA@CnZFV`@D4Io?{9 z{OEj50T!umno79X_`a#hrA|yfvB$?T_g430$zY(d_=g5i7X7$y-U5Iw=Ri^PKhV&1 z4B6TeZ|a#(XPl3!U+=i!ZK&HV)3>?5`eAMghT26+;&1QUh>T~J*9#tgeBabfWJn;Z zuYe~W{4ecwTU+pwzB#~m^GqFnzg;_e@UfUVLyi12B*~1lqaJ`^E={rfVQTm%k668u zQ$6`^-1GB8X2)EbLM*$>Xnm>AV?O!rnoTIf&=dg7o;0$&%pVkvP@6geRdRqItsl-T zkID?k#hl*t=}jCm&U^7i;qd-$M!;cO-YdpE?rpS0H7%O3KQt!Eos3QyXUih%vr7eD z@uVR7(~L;;^#IMl+^a(1;pYC#zz{r^6)>OhJstsV{yWpv6)D<*ehEo=rhHFTX}#2p=eAA8`eXR6hKjdu+fXerVqG&ugr675!f zt-h4Xgh3Xd;r>Wg{N;O^rZ8S12$AtXT#DEqj>_x1=;M%P9VeFY;`z3W1XU1jRuS$xm0gRQO%T{ycc+UyL|t zy1UP~sYDzgeGI@}iC<9eJXWgeq!~5S0FV?y6*w``xvYSymycr?AOD)x+75q8J}o>n zm_4XiGMpsfJDxqM{_9UVdt&+U@h?w#>DqBi3w#B_`5IKK>hdRt)U`vH-dpreI1l3u zVdch0@`9;MT@3iidNT&>R!*~8yg0?E3`KKO0y7qk#o_CjpLRFN?!}YDYH(s{2#xzc z>_8CwX`ga$oXLbehmDPM=t8!Ml4f^SnrsC}ITW=zXlJS>CV#Z-fSrv?PmnY8y > zU1L;?`A(V?%h^87{?Db%rl0~jAy8V_E)z|@3b(glR+IREuf@HcBU(Ml8L7TTZH2L5 z<}I3t*l&JI7{gq}%fkcr;&o}7VRDmm-J`VWb6=#5wSwpG{Gqq){;7j&bKAWfjSScb zX$zrE^cEp=TlO;C^>&@AK5)(`cvssIUq?IAt>BUeSqr6IqeWtxI0hQg<}>M4p0&Q; z=j?fmcn~dfO&>bSCtK77RB}D(y_Dzgmap~;(QcQ?Ex4alK_Xg<{R1*ik9;mn*Y)?; z%CT2SI;Hhg#!Os1n*$mQw+-rS?pG?yk)t$%9xzu3Jt)YU>S{jK9^O}X&V@vp*5x?d ztz}!)YxAP}T+eoVeG~Z5;mbD}T_fjV*et*S`U5YuI!>cQAjh?6_YFi(3^_vFfU?1+ zouhR$tX1aK8oP)@o-mMF`zf3yG_NJPk8h1d_jrSiuB$@9TB=>wa))D>c~L8_9xbD7 zk3QZhKAgU$Rl6F$U+3@Ci5is?{@ro2)&+;uH-W|`03R=uH0xP|_8#`HQf^yd!MTfT zpPyS@=KM)HS2LDTAKD#rEwOXgr!g36hhM$Kb#|RNq>@aS^#_(y-$}HB_h>l^HjqM4 zBh#@hx6&2T^b*m$_4!TI%d}q(Ifp5FvQR+)S_D!&KowRt{$U^p4xn@E92Bw;m zzZ8GNL?qfiFuI^Q$C{h6k>*Z4gZgeXr#=XvH3jdTFE%cyLA`gI3J{z`zx7n=5EIU7 z((2xdQF_?>p+cRFXDEK@={VpUx9?Fnc3By&qg7+-AppQz-JT9Q&!& zffjyk&@NYGScgA#aOnEyr|Nh60ZOd2tm$;vj+Zx-GB{)&aYud|qXUXrLSpNROvQDa zXEOKVI-?X9`SQSFZz_|iPn}kQ4hp{$8_5mP%Q|bjPDPSLE*=6yQaf{8hBN3KkfLXS z4liv5Yf_D-4H!3_j!+{1o!qI@M!G zBa^_dxKS~Fs^nF6KG~kBcI6`q4CpbL^9g~tIz{cfwjPazP3Vs=rMHd>FDJb45KJ2H z?C~uN3+>L^n5^5pA7Us|(}x5ggwiI%V~kxm2IT;oFNzFn1->Qj9-}OsoGb+yy7{QH z>c7!19)CVA*bi$I&&;_nR6982#YCNvFUn&4-Q}Cx&t!S9zj@I0vCwIt%l1APMg7Jn zD&OAx&{RkDjw?jZ^1H#ygTT0Eb3$|G;O?UmU_7RN3W;73_dbp3?uodckQCbLP5M*z z*8epq#O+yZt`2BeJ8ZWQ-S=#%bQtL+#OFN3s33JP*>DT%xi=_}#h*DgxNb|WdOU(z z!ZPJyHZlpDRg9Vq=9@SmJCzYkK!tO%ioQ@OlqjB7l5EB9x2(d|R|`BCW%VOH9ukt7sV}n%JF`a?wnoFke7#S$@+akTa-2sEHJR(v=&is3Efj$8~=ICso z++|*C;;iKC7bTIbznN1$p#;p^w$>}ikx(Bv7sN!&SzJIQo(n4XPvMp%xd5H^vm?_@}>4Et9^Sg z!K2`v?Je8JyY7t0on%kUX-;84ZRhc)1RG)2U;-4Bz*oK|oy;aCa3e0gH6OTDT+;q2 z&Qasai6cWftiX3O-|R6G*!Nrj&#PH;-NVK2`ZR&K&wHdDt`fy6StZ z_)0U*scrl@r6}aw+U*53n2+`?%}n3tt*Tk3ZIBPKoOnL8ui9$JcP_bK$@T{Dr!?U& z6%ZVqh-^?cKf!gecg`8;p1BW;G9;j5uC1s<`F5{iZ|i`5%;9-rZy5aXpzRzOVC+0s zSFl)BKFr?`)<5^xkG}cDdRE+}w5bhBFI&~i@u{;)y;k)?KP!505TD16jA-h_=JDFa z0EalH&kpj{50Shp$MX$ATdGWc{spm&iU6!9wq{Dx`g7)>>sZ55a+B3+%DLNHXQXZNP7;L%!Reh3i9AGjj~A^GMlWvh+e+$}u0l=(;xiDA+h`=?$4p z<;y91@mwlEjV^NyZ4zkCpB)&Bz!>GlS6dzrge%l*#O&V+>(xE~7=?U5*nFFJuCdKG zSrKdAc^nX^ScdVyB064g0nG&BPElH61_3H{-~N2#>c|uOkf}V^jt||B!G=esj1Vye6LH-H#em*V`~{JyUnzQB7@YyMb&#=}qZPnt(JxiZtmUZ6in*kRDnHoj^j+t$=IEl0d%2Ip@3M{`H|5)Zd zaWmxq@c!*^A;%uUiLpa~E)u+nlrW^`(1mAuWWJSVqRlj9Fr`O*OE0&mpCdhzN zL_4**(tIw+4#idTp?3xrkIZ$Abkn@pfO`#&C(@9^65rC7cUYU%aJDF;8J0->aGi(v~?9 zogK8(QS&*RD0Dzru%di#MO}C4hbZ9cv&Uzz%bUT8zYZ?6Sud|mD>ckB*cNj8BM2gP zBE0L>?f)0dIIS8ok!w1bDRH=R1PT4<_^IHU@z^bvsmzcn-W<{hUn|5dO$H(8z}FkDF)D^0p^hpzD0AZ%+m4p!GWl8nuzfO z&k{};@fxOAc`8M4dj?;EnFxNLtR}4ReHIgOyvd)HG9LQPN>)i|4}r+&zD)*0^t|TM9b*N}uWZL2gE&At)R|l^lknTh2xq6q1u;1S zLIwjp*H5@c=^Jb3^%tl5Fp0mJdX;`O)q7~*-jin96&{S54jnhB&ko8OE99&O8E<^> z&!Y~Kf$fnO4^(L)uM=)B$t`j9dVkJ*k5>|23G3?oc-Ow{15@H{S+F|)G$>MmaD7S9 z4S7OhcL+(Ox#*kCtke7ZX9J%lg&s zE=r)xutp7Kk{DgwGgMBC@}{U^V;YHG`H0oErrr8_PzSPOiDZ=bCJ1Z1eVuU%7t7*u zMJ(Mcru-dLtRslV#{d-Va0TQ|DNE7n?PUv62a$ko@+IeGR9bnP!8ZF+I?P))O)(s6 zxIS8Csg@sE&hy28gEDnUJ;+&m+IW5cYRB>*=sh_0hA#`5!HKe~L@*hVsJvA#dnFo9 ztM*m|3QW%jw}DI&9P(bH3TAQsI$J48ajTT%l*;7}CKa0LF2RM`ZycHa$GPv4MSJrS zs)YA83mqGRH!m& z;*w(3p=N877XBei91^lKJ*QwcDPW^pBgiemPwjSkyvopl{<-)`o`E*G#^`>>_rI&U z=PiUKq1Vf|AA!26OX&wGqrtW;p9w>~+IoI3or%v5({{oi?$LDb5Y1OW(G;;|4~M~t z!I@ku$eJ`~=Zs(N8%p7zi!T`W6aOVN9gfjm>u~**pb0?uTX)`0#Mjm!NKXkwz?SyJ9*fmDw1AOqX?I=L_K>z@U}3>RPU65r0~&{8QHA@iv%ElTk%g8qI!k zouGk>?_@tIa^n76x@;k9L}rlKQUKbNnaRy04$UV15$y9Q8;!kwtSf=7Pk7xc5Vr%W zC|{0XH6tbskanM_x2S3K6GxteE!r@XpJBePU3XoUf#`1P#Y$Sftw9yBiszd>$k#}~ zQ%3;rmh927esN1kQdLRTXy+Er3+VKB%lc4a1m@AQH;=TQf_h|^*B3Eg&jukp`*8}v zFaaUSETrC6Utc1kiTy;+v5O%wez#0-dBAb*qKP&;@EWLsHA9O7@Q3nM-{b?eC&vi)i;LP%KQdJe+|D-WH^jQ4&$ltrn_iH#jz%Z1p5N`=;qVeF?is{^YIHX&(_~z~`?M-l_Mi;r?O6=px1Y!>D#wxt z?9fw1TzsQt;HiTi+fiBX>TIS!R_1nI5?ZWo5>(S7?Q+iv^ny2a3?3GEnguD)v;FoA zupq{%syF%{8BI*K5Y1=@UAmfYk4SyBU0IdD#$Kz9X16qkG4FoD(c`>;{^C#_dx^yTO zn9k9ncI}?4T$L3yAJ7u?oi`W5mdlFzdNzyQnW0+a5M4hPc?Qk9K*P_-#-h9A?2mI6 zc6lrNhTvQ({ z00z(d)CM$<`Ms;!ga|hbj0&&qX?0br_fWhBdbnpBwwML9x)j{~Lb5X}gp*k33qR-m z{ICtCWciwmkvZj?L~;sT#)g=r)Ut^@m;7SsqY&f;%)$Hk$w8sXyvzLezSbH5)jH7H z@_$gBiGT~g7I1aZ*))s2`02aA9v+%S`nWdya{)g%Sss=$8>ot-I5HRGH|)bAbDYsB zO~gv!O60%$_M-L=_uVU>Y-P;Eb*n*~7lJ6jNG9f1izPesv_@GMn$6$Tr9YwB4c`vL znH`fy;dG1y?7``ew1Xx~{bsfcul45I`g5n^sG)#>LCyOIQ#0|Eaho1gIGR}DARX<< z$(XusI$fKUnr!vXSm((RaX-zBI-<8&tE64dTHc}Xk`XSzJww%IwIXb<={iH~M$?7E zyHETmp9c{x+Fi{FFm5H$BR{PsO&|1*{6#s2VNi+Pwq3ntB!<1?uS)&Ewsaq_Y-mO! z98c`3&G)|k*EMNB7pT_rw#75!`VE+qCyybROyQI>rt)-p=alFC z@ivX|xMRkCNH{bEu6;LFG#5zo&C8NX`jl#%EowG^Zfk~K?*1#%E-=FHtSc>Y)S5jL zYHa5*u}WwnHaRA&oX)YhPbiMZwOYG~cPy4Aw79(LQkl+BRsRMa|vM z^hSIOciVf`^ho%atY(7q9JH0Vx}!g-yfgW-@uL@pYHd-EVW$jp5t+^D;s&i|%AELG zoVLs)e=3a`fShVj?e18__SyU!$cHy&R}t)4A=AXV#e?d9^;J1o;VEdee-#Wl?ZBXn zy(`E}ep*Jk*y{YE<`9dSz8~9|z7N%*Z$Xv88rz2Ts~v%7(ooA8feoRpMvdQ)f1!6f zp>1G}<=Uuy#IuOfk)q!?Mn7VRPe$XyNCGWN`#4PNn6|G|)8>@VTI2d>dzm4fW>4?wciUg>lz)wW_#a(a&TZq3?>5>k7)IZ3QrG|%3N&N?5saDu*!e= zmh;X*?%vKdP?332JbSI<5klIusGHt(JP`7AZ;LXD=5=0P*j}m3pxQ!e=<5X$jf_2a zp?&${#6@${!sq_@-)mOB@}n_+VPY!(FK5uTQ$U{hdG-;^&MIlq}pw^u@QF$7icJ>%7uF`hVlG6&H?Vf@Lv_ zm)w5>7SJ~ixAud}C_m7-~S?bxPinqw|a4~!!#&Dtzl6caOa7b1Kp0 zBy45JLbUBho6HSf?Eo-1x7N2wUXgO3?puUD93Qk+eMwxP#w5>w#W=o(vSt*_+`V)a zp_+up1MdTktHsogze!z*W`xPUL+#m6n?ko%dT;>^rrEoHPumNm?No z$s7P44tjLWj}mvZ$Vai(b35hZ$Cl+qfIG;j8`$}0qfuoz7y?&KIniJbJLfB@DxwZz z9HqHfJir$JRLA|iSngP!V>N?Zmus}gpGqL3$sN}cxd;50y23&rkA^XE$Fp@K7`lmm zy?(t>*SMLOy6vZXfI~>YeRw$e=3yL+iOt*K%j6>+*#5hMM0q-XkG;QXJ!e;=rT4nh zv0(P1E?YO;J)Z>wi&)eLKt|B48+Axp(Fxdje>|T4X)_oW9x%A-9585WK6vpUHLyZG zjL5&L&;j*U>R;|RC286i&DGz&;@TE-{2E0jnOLe}IuYkh|O2=Le6 zolE!sYeTt=eB3N>B-E)CmaFCT;1ztoWFjxZ5{l=!Z{-RCao;o6)3#R7cidVfbv<-g zy(?x;bIj>5K7*)^53ubhd<)nZnHyN7R}(C;iS&DaW-#jQoNAYElp3O9CX9r6((t*o zq4>pov3fENaKw>cJf3p#8_yf68|@C(SO#d-PwkX!X;xn%zffWQe~rjDbiLFV?HHEV zvVoqO`V*3cMiWS^!9icF=x%1LnwS!W8ds#yC_TCTU3Wm@DCWs zHtrW2pO<5d1^uwiyt~5Pf8#z-COOb}c=i-=s!-uRAn&-zWx*Z7l?X~=FZojI-e)J) zQQC;++GwOyn$8F>Lpa|GI^5^IujqFHw#@7B9~c<~v?1g@v=&=Pbmtwt{z4%IpFk2IymBtSigo!!0}o-ASs=B*2>om;ZVp|EO6&NoY9nb4I$K?~l9@vAvE|gY9X6UvE@es-9A8-5!6!3F}dLt|G8)G;f%%|LqReEMs#WfjJQqFoRhL;-9t(<3p}W)#I4%`cGS#UfNDc$Bh5=I-w7sZ*{*#27{Al4;P9p3aX$K zgm9c;kX`>_tC-i7cG>esj4_2c%Qjn3j~VGpu3j@yBQbu(Fv0SElK)jwW+WY1(9)hj zQ*4j)3LGH65rrrwC?9R#DYnm-Dtimk5Po{n=)HCIn@GI;Nu6?u2&s6pluN*tm z*}Vl&L1yJ-+i}U&IK5|+IxigWeshofKLOURChnxWu#(wH?_hz%-tQi1J;TJohE5F2 zX3VGlbHgKbe?Jh@tvi{!M~mZa(&<+}fNMO;%wGTfiG9bwHMaQ1KR(>Ol7K5)4O;8& zvKpmywO%DiLYK76Hk}C!k8m&Dh}-c0WeuszQQwK|Yv&Q5AIRumGFjzMh0MSzF^4Pn zC-QiJ*3iP&`h40r{`e+QNv!9y^U96P**fzsRkcz_jKsg=>V4sfyf!N+vMJibI1Mfb z$ZJ0%D10XH!nw^xx!itoQ3q4pbt~@UC0EXEn+$)FkB~zU0~XPX&BcB?jA5>?4*k#t&j~&OXsg*4!(qA?b~kNqeO zDI+LSN*j*Qh}kiFHR-%Svm0s|(DIzOi?CNsUBjifjeuel2L6Sz?VnJYH&|Yu(2ttu zagmYPQ$oW`5Au)8$%|iq(@dGi3VaFhlPK^zVS*+dmpDyBAg4A9wA5X1OnMmCgp!e6 z0w=eFWC_=Bk5BX2j}Wf5OV&%{68qQR;T58hY5)DW|+4JJ^zqr7SIIG-Pqkh z-zYM{nF89g3*V^tsb$ufz4s5Igc?{0M5hzpr2vTnvTef!Bw!AnaKfl8IWw6Q7g7E$ z(`@eBEwH~qmnynl7rB3``Kt2W7qy;v#k1XwgHvwT$8&q0C|ed`Ub1&!!6Vwt1uFlm z^BPao8G(0FDU61mzpTk-@Jzkb6U$~4>3W+{KjH=x;;tl3pjIhN5_+PTDBrK*CK7?A zVA^&_$5qhg11AbO8kIjz)EZEcC}=$>QmKKKV7t`Qq|*{*c@`sXMf|7px@Fv}#TDP) zUu%el&%m4vCV7{>2R1!9KAp(V55GOX?W2enlQgO4jxYdj>{UIZNZm^}w(4>hlVf5H zcQQ~XW%b7;GHrU!bzW)zV>9^ zp|dkRh(_nH)h}XwfAQ$O-dts?MFEwRJrdFPT(ddqSYH%RFYTZY zVvvs~`Ci*AUN5yI0^`7myJg{0%}pznKe@eoi?|M`z-H1QcoirTcD8l+vnNZ1EK*+X zkTt10z}=gba2;4TMMnP>*)Ui!Dj}Q0kcg*EO5{Uxk6NF3R3F=tx#baPu3NE1xm2_G`!P7F+59-R6i?5 zE4MZ7om2tGEkf?cHm4A*d?qgP;31B*4F4D%bj6i3kSv z$AnBAy}`y%5q@ZXv?#Wm%YyG`U{3UY(JmI^Q39`?nW zlpH}ehHP1m=N|T10OisjuDtB!AYRdmGuUpP$g8LBkz?pfsjwvS9Qc%Px1EKi==a=mPKUm|}tEDe$l`J=6L_3E$8ixXh!M(d7RJuW6Tb zti-5j>B8*#{{3Rgb)H_cYx|C#=wnAll($?5Yo&qplWiK3?70T&_`%T*g%&lo?|0JI z!u9>{nyq!~?#fFQdi@LK?!!qF_9fw5LH3<-^QD5H%+^DGX!b#Q(AwQuNhx$&ofF`kLQ9s7bj=ss}$;rlv;+_Y$Olj~Jt$7B{b={d)-}H1tJU zt|y|xjOfT-!j|X`H{!XAit7m#_<3wD{I#|ug@GkS1FGH9WkMRq>1(qu zZnv>Cvvy@h3U((}*_PcR>+?nsnsuzA=1TcUY{p4WeL~0lPRA!VQktq7e zw~Gl>y0lvLBLtr3>_~h<-^jWG=}hQZk%sF@ks&*BA@$=3w;bu4W?wzugOefycH|In zgj0@mpxO84;njo6R?Xeiv32U$7WN8b^`L7}&M(H-->A>oOm4xsikp6^6xUxo!|2*f zPO0R{1U0uRDj5yFb(JeJUMIDFKFKOS83Eel&a?Wl)-76`wmdYM{kZf=!=ne&ngN5I z$rOK1LeFW%!V6F*FQapsU`c6;`|BJT&{TO)b^3DJyJ5J-@0L01NY6#sk8`Yrs-R>G zQrFt<+I9+gL#W=F-(eXu%dEZjZY)|gaHFQx?qh7ElEhB*!z*vbX}N9zT@M{)%6f@F(vYdU+5K{GD%PSI|%IE z&aH#)#hP??g<`R@MZKw16DtQMu&lTP_up{e?*bqJ;ark{h4t{ZcIY^l7Y7p%G(ilw z^*K-+Aha;Q&m^8TB75#HtR(394>B5&+G~QUOB9>n0L51^Z)P~R77=KgFK!Zgu&bE?^3z0 zxZwhRN%qqC9OlTF)MssnD#Y6~uLwswiTmAEs~6l-#XMc2EDt9=2bO_rMsWR9YP!yA zA$4Ug{pZ6%PtO@ZLa+yN#4@)$%iYjg3W!2m=A$Nxv7rNpqa7A>vPKX=>k@`1Gk;RZ z#YYN8qb4hh^gCNXk@WJuB(SOfTbFlr#2gjZxt)Z#PpzIfp7rAERQBB6^q}_Z{fItW z(elRVtMdJ`kVj)*NjDM5=QaxPgr?Znl^7Lu^q69(+$jCIF1wb~TfJ}8@(F{9D_iwt zKgKAF(<*%Kmmv`;D%X#MKRy5A2h|UWIE#Vz2blIFN2s^HGJWij>I0PPmMwACrz|~L zKFLAyC4QpCRd?8Clc%n;a0y40WfQ z(J--H!kK(=({E0K@$W0hcIG4Q6&Irx)Cxo8M zQ3~rK`D$-428`FIuQxtj*3&m=ElLsZ3{{WgG;x=&gGh6*2~$HEdChnSnbP%OA&v}tFcgvteeSQW|Q@e@0xr$f0 z@$v|JS**EY$BrTc*5pCHf*K~u7BC5MLUWUC(ck74Obf#VO-jaHl$tKo0k8A}1OCqH z=KGI3YU&_6{>FQj3{J8LHrRzC=0$d^G_=}_LZw)we&3|EsE%lbQ?u8x#yDxKw~t8K zi`Uo2e9tZ1F(?jRH*j<4T3%D91ExH!he-~aB;<(T@6UB6p9C&uC$;fga>1A^uePv9 z`q4@eUn+FtkCB7&DJRM2!si9|tv_|$DQmNJoUd*M-CJ#HbCh}}Ehf38$TN{Q0ytZ` z!xgE2#aAMpZ63=wxtnwP1!w#}Qr8Vf1 zXrz@wya0N3KTXkJ9K=IG{!cJ0DFp(!j0?S--xMQo4uu_spmFZS#!wce04T83axP;2 zvY6aN19|FRaIel1o~2aU7#`|CGyM$M4jw2M!HJ|p8Eh-M4!xo7jnX5IAVRUEv0R zjnyT5kTbstBm)UPKLZ$-+^_z?!vSZHmGrJTf`Hrxh0U!is!0ah920q)l+hWrh%3pn z4}ky*>}sx{9)-6%5btmw-GaAe9z z2kny#MPDtz*fUI{MUqP(6T`qc+>!3a`3T4az648RZa`|EFev)c0PGtS(=C$hGG1A5 zzx(vYQh+Gz2ng2H4p*X4$#fr~!1vpr!<7h>CoL`?pp8HnwjXz#>A$+E=o?#too9%I zX`kHSZW$@vj=5HO4Ws(nU^@$_0fm6X%f)Oe+Uu7pqusMxYQWlNrww~DM)zcyXrp*GXl1SV9csmwI) z8M|&jA#B;%^PR*PbI&y1W{T7WZ~(-E3M@&Eu=Rwn37KFl#>VgxTGA9>mRPDK!$U%r z>O^7BqiX&C*cxq((QxILD>4X3N(%!fb4+}wlmy|yjQ7b%*#;n;=o#k%vY^tmOB=ol zY+9Eo3cH}%D!4djbS-$IVhGj}lB5}E4Y?k4l~BwGJEG>N4yRC(zCzX@fR}dp#@cyR z;v<)2lJ==^#Av>LCh=8D8p^>iqhCTiTc~{CR*@bQ2gYRY`yWn5U0PG1%r=Cma4b zNhvtbNNUh^U}n0l4^jVqv{RChx7)QpzPiBI8iF|Ms?^PoA75?krK0+oRWTA9Zd5XQ zz3tX8dTjM-Zwuev*}Zthm5PxX0BOTBb*}arK~igLtiXL39ct@+cVl08)4LH@+{M8B z+|iDJRaX&tKC_}}dp=Eb$?p F{{ZoGF#!Mo literal 0 HcmV?d00001 diff --git a/documentation/images/tech-stack.png b/documentation/images/tech-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..75803930a80e0df4014f3fbfde6afeee54cec4c6 GIT binary patch literal 67101 zcmeFZWl)t}7%seNq(Qnvkq+r@5D)~Uq(i#9LplURKtLL#ySqhF8tLv1={#%up7Znj zb7sD8zB6<7yfd#l&wifutaZnAU-xzIa3w_%Sk2mtiFz|OGXDLnR_jabvZibE~5Hnjl8xv+HV@DGcTPJfn=VQ2b zVF-j0A}cAT>YjSA=;8g|rA_2UuOI}|4TU~sqk}IBuD;^f2lzMPE>Sv4s4h?70 zG7=8GUS+eN%Etv)`NjybYCR_Kp+2!b^h%jZTIRdryGwbp-!JYTcT$bT<7%?xwQfCy z$puZ{4$CfC#GSVY7gI)LBUAtPv3woej!OC8pZClO^TNaaeY}6NDMm)E3Qi=UF; z(jxxPSL7KO7|^;no#pTeRANX7i;li@Bl_>{e2qDYmEXUIgOm#6eKTx=bMke9M?x|l z{~_yJ67p{=`r50isw(W3g(0OBd3-}D|9{w@|IJgh+#Vkv|MKlyh|~7)O*1ZalUNiX zJ8S@@L1zHMBTH`ge3J_!yqG^Fa)bM6cKaX|b+$V6BsTnddU|GBJgP^w6*7d$3=IuS zm9Vj0RIUD$bV^_fZJa)?tQa^SFOk(Rc`}lFY+!#T;>bIUps6oWXB6KJUkyZ9)N8Cex90^tk>>>8V%&U|Sh}k9>bhJ_PPgX?JPN z)$?~m1hZ8yhFr)K0*NN&8>bzSmy|q6&a+zZy*u3bQ>q;oJ+*@s1P&DIzk`VQYx!{^8iKceOjT()YpBoRir5w1?o4E>Y=8SJ-Tr)Gu+2 zj{a@pw{M<8M>#RV;%aJm&irJbrE{j)baiw-<1wm3Aoxt0{tXQcrqlF3h;!MAepg3} zn$@Q0(w_-GH9Bpt-E3!=0T;HEI7p@?fO-%HhV8gWaQ1qO5Afo-5Zo8i(WK!lx=juD zk>TN;E1iMtZbv$#y!Mc|SMLxZ-Zz_xeZPNS7*9=NzcHM%tj(^f8b4$=ttL8dyJJyh zz=LjUhu6qCI11G2S+rWMD3SYB%->~|b#?f&v$GJbcC$It>eb!+3`7W%ej6z;1&Du+ zOibP0UmWZ)R(?g|Y*(A#-?`q%%S$LKV!Wk&?s~Kk&f0#DQ>)pS{cAAYmj@uhp^n@K(0HgBTM%}vOPOEd$74j1Kqi>Dn15|+L5 z8i^aMC4e#$d;#L0z^IXJx7?;ghwFZKSg%W--_Sr<-g1Uw+q6p?6cQp{s!qerjeoW1 zM!{{nuu~fn5CAK9wcxa~+%6Ij5P(HS7Ugx^N+95N1g}I<121Mis(sT(6C;WRKa?&+ z0!&ywkwwbdnh9R41DKC)^zV_8USN_jFmQ;JY;0I!Vq!bff`|d;@V6GcD!q{@cmeh3?@80ylBo?rq|U` zlCTdy@U^weMzA+XVpu0b93v2jVumm?Yv$C7FUDuX9<^h6RkoUTcs z5xxE)_OAQl&r5nn#_p}(DTdXvkV(vX)k0O^$5LP&v~QE_TibE6xwi%Nn=0ARC;f(B zWYY~i={JQPPvm2&m+6Gdkb6kBjofftUrg(-SN4*}5$HukM@!e+F4}`fSkKiwOX0TZ z0ud=;g(t)8pd@P*LL zMjY^TIHjjFY6N1)OoIarSRzu+7;>&k_>UhiCa0!=J)!mu40LU0_(iJ~tFLwO$40R!>5y9}1g4ft&uckJ|v zkx`zU`e9t2mFo3t98sU+gY(^qN|$|gh^VS6uIJTJ)cw8p!AvEbfa^gAfxh=Ag%s`^ zPTeqB#U?EQr%TG}t zU&=o=$EK!!{`wV%RKOLjH=3;bRfc!K;e0($f!HmYq>PO5-Q}VC?QT9eLo6bqXW-5t zNO+%*$;^P$2RSETbaa%q-Pa8G()BvU6LOSvAh<26sE@IPvooihyu8CkANJcc{;9*p z4<9~2_Lj@dM$&s~EGCqI!vX*2Gw{2Z(tw^71}U#Uh#Y;}_`v+?>eL^PQ*4`_fvbbn zi@|>hB%vU$M1q84@OXbSeQ_HW#*cFO_I>0R7S+heNM(?WIs=i`)4h&5fhTSn7Znw4 zP?C|5L=thB8h||Oe$t6_Ix2zLPvA(vsu#~1Q0C(e-bTplG82TcBz9v&a?c&Ap$rj< zI9i1O=^PkHB6->5r0Uz`*9cmr_@WO|Yw`5&*-Qp-Z>WD6uo=wP*#J`ri;C(A#1sxo z<}fpYKID2ebgbRa57N;e_lm^Y$+6W1=3>?Gc&W8w)*8U~4xg*V(AjFUL6I0?pId{G zbRl$ch_cs9glDDd`#20F0^|jld0!{;-@!q;y1P#gsz=s(2=ssE$|u@C-g_(nL;~^8 z@V$LjZ8j1D($WvvID3FE;^X5fIXIqkadAO$3uFbv;9hWyYiBJ|Qc}?OR#sO2giRw2 zy(p1YUmAEIi(X5ZwrwNAh|m=&1{ptmrZC$ZN#&nlX)u#K7`6)y*cKKRbPNpQ($a{q zu&@va$R|A@HW|K7KIuYb&HV8Lo`6M1)Yn%S#1uB)dw1YAhQK>mXdD?B8Bb@7V>*p0 z4FLM0V`7p7Ni~{6Bsx2r`e32)Ifx}74D>LTw@_zXLEQnknY5-Rq3`u7QvA1XYasmh z4GsOAD%Pm9UloURfD6}N|9IT!k8@nlJ0~j{GvCl#Oid+?X>Zri^FRQh@7c3wj^%Y@ z=06)8)+>OgobOL#0`CyDu%Lg(cuCXi>ZExG+DxE5)uY{L2?CZ{P$4B_)!krnCct zgOvb~zo4bfuBgD`FdL5dbH&;9(!-UyKXPmDt}+=^QdbW-J9C`;^Jf4x)x^Za@aAk& zxYgIJ{psNt!2Q7dbkBj@OR+#im=obiZDQ=KF?0K;hpTlEX`s7RR9vjAtsM!%xpz2UH7syR30++>aFxT!irCMd9x+@grVmx{08C6j5Qm5H!-iN` zVymnS4i0wr#nP}F{X}-&|D&L%i+gQytt~1F0r8hoe+P2GywM$kE}^1=1EHj$={{r= zP5F&jJ^LBt%jQ%H;5wh+kYEci58LixL>$)O0i3SUV*V9FaXkJ$6D)Y%roP|BL#y!G zbB_U73P6Vbx9R0cNrX4T0E5ljHlweuuCfTZN**TTz6ik}n=?=ys0C1HlQ~R9MMbBp z9yhNZ#AjgKYa@P-95~OPL*pe#`yB>sD_<0+e2I?_snbm zqsRwV8;Q>x0Pb5{-WCB3e@C?ldtRN>0MAuaut7sV@SVitI{;Y?*$63-VTB*BjXesQ zKMp0ayC1h+u>oM3m@)fK8SpA2Odc7 zbFR#%l$V>^Y0cg2>Y@JirhgU9QTk!3>E~ zd&KePU?L2pzrUZHwFcNQDg*>j@@;Q)a={rJI~!-`n)@eoM2WaPJSpWP8%0@JhemTp zT3yXQlamc;#qL5bpc;qq7yLXy<|ZPaeJO{6lOEzu5+$9==Y)9N@)rYIZ-5w6Fl7nN zPiO222?;FAcq*9H92R;^N+NcX6IcBp{vu@xL*BqNR8^^9lt&V2Z{pR&JdjU3;-Rch$L^P2_cY)lhdiDf71RZkH z0f*U#o(?%_UVgxUoNUCsGrGS%wcRJ=F#UX=?)12r{M*!H5{jTV5k^x1zC$D7MuW7J z<*tS=+9nc^d4XKJi3k@y*|An?rd7m8MFr#c_%~yboW>`F89#FH-gZ|fSo{;P@5w{6 zk(xg|{~ZW@oSur)Wx60(Z@nh_>2cmWo-4oT%MGPjARPtDIU9zhN4zng3kwQF?d?I% zIhAS5S3vo6^hS)0pMUP7V1n_TucvW|w^y8&YSXle@UFUYh+1_~jNUsP398z%j3&n*C8gj`5u z3dR0GX-GeO`E(lNw*n4yXTF{llotytzW>T`YF5^AF^N*W@Eeb z;dG%$E~`HV7kg8ht)5&VXhZ=3s~7_$xUhqt4u;&mT`}D{DYbDQ~-F@V}Kt za}#r4>G*WE<{%SIYJrvaE?toRiR^Z&+;_@6iXj075Lb{rzvywck(dU==a>gRQb9sYbpb>tI~F)%QQyBxlB{#@=N+d8?F zUQKhjsgRb!sjpS4o>NfJXHx5(`S>?$VwX5go;i35z~E-G9>?ABmp9cDGZCvE9v+ZA zlH4DoEC}Ql1vbXpo+uOPArN_?6qMkuT(gA~EB#*JUSARtf-!}!Ay5ti94QXV@QIyfSrP9XAH&0Xj0^Z93Sbbu;1wEj3xIAJs8kW`BI7 z({VNZMsjkD?QI-tn&PW^@%k6rsFA-y4CJqPT*nr1QZtM}p@oirXQ7~?)aJ^iX_iim z8#YHm|Ksv_x&1?{^7#5^LiVo1hjArG2>JGg+z)%FzrT3~KZ$;aV=5h4QM9!!6GWTg zd#jujj3s9Dy?T4p8OBpc1ecOynt?RSy64DYxMSbvd*o1rNOE zmsE}ql@ht#$zehLHhbvmVS5NTs4Mk(99heQ1W%EX43U`Q_9t@wG{tmzCS^KYD7y*V zq2*8TB!mq>f5g9wxyy?ntDXQ@HnBaIDgu|Ts-ZC`@@_l0nYh~T$rlv6h@-X5~*%V3@x*!$s(`$)Z0J*mdU{J_?)k?yw z^*1l0#ZoWI*sYInWmFR$bj|s4OF;v65Y%)*QFTQmxgXsSS5WQ)N(%R7W2R%A$d%cIGXu;E<4k)`@g=%*2{= ze6?|8|GhoSnAV9UUv0;d*{&9*1DIjU(y=07e#pHJ*dZqtcn67k zp0ea*8{X;pJ-si+t%e2%0Ttxv?|V6GMuN5s>aW;sS%G6?ALdrQ?}#<0xNst;21 zLXrcsg`E=wP#eeKY|G}zdW;AQYuAq{%T13VmGX;Pz2+m8GGeXr_Qpz3m_ zSfF6p10{MSIPB}kyW>T2r~7M%7cXBLE;Kke+7*BTmg4aQ38cba6S}+FAJVAwLq~w< z0W~RWy3gf@nC*?t&HgCdVJc1Hy8XgL-M!>C$4wMyWB@fNB|ks0-*qz$PUwgx}Dyct$x*Zy@ncd;Ry`CsfphkoE#e=8ZgZ0-a~|3|5WhmAd8{+-|1Pb zBrY!k-w@<>^#*JPh$`k4TJ?Vmf&nSiyeJ|7=%jyCx8TL(dj+lMIW;w^OY*nHvZsj9lV(rTIoz^8(#J$!B45@1YcY<~lhFq;l~KY(%?F!mjm zwF3l)%r}22EoFzrviS_PJX70z?mTtK^oyqkIvqe4;2MBxoq&13__G;y!2{3B22Gi> zHB}so6DD`QZ}pEUyRU9-WS3cwuNa&I4-m{Qe@`h;|u7;tHe1T? z>+^|s?50D6Nxw~h{P@v_>ay$1e=t{z3i=XBf*y{6Q)5p}g;@yzL~>(lkKwn5NWJmdZdShll>nRL&*TsEJJJ+(#$BT%7`6A;8*whFr* z5Q0Vw<;Z))z3zDc7%OcT`Dd)T7aV%Y$o)c=-b8)D2$eXp@Ldfi5F}>}-i;ByMaGXr z0KFtAkF-GE4A>TUM8qz@ZQY*lvP2~V-ohPRd;(sf+p?CsKp&+P5GLIqKAZqRkdv1u z-R8GFoCXDJ2d)CQmxueVG4^iXSac%>2IPW*g8Ia2*`dq6R2??dLg}WWq6&+N>4kRe z#=oQhumR9rc4j7oKW%uk`n{^^ix^T8PID~Zr@Q6B?#55IdMBXn96*2LcQ?OGyf_>c zwjeeh1nDw+n#kfo4s>OF)}2AP9UW z<--9`29VcXU_&c??p#&X)Bq>yD+>4!&?f*Lt%a0DP)|#1U|t4;dOFQ*DIEN@%bMF5 z^e2=GRRJXVkNa)7J8FhjyfcTF`1{zeEG<+{A|oO!$890$Z-m;TN^2g@23gm^2|&5! zboaGqE!Uv=784@_+IfQBE<2-H*WkcOhH`v16Esdh(12!rC=vH~o-abh!h*ra$A|pv z**_afs7jN_1F27D*uD527JP|rGd{ovqK1Z4wC~c<(iB5yW;6j^-!BvxBXmjljaC21 z@hCsTHv;S}Kp1e{q1@XzDgR3gfGOkcE!gCG7y+6}xVX4|t!beC{Z;PwUv|;+^JFcObq(5bFfyVBd{3E9BlSDHaBy;fVW7e6amCnIAlgEotgXYgULt4A061F`pHtpoV<;vCA_Pjs@~2@u{S|o% z1Z;dJa7;R8<^&Ra&-0y66u#G4vh(ERg6>#g84&;NbT15ccJ`=rxXE@T(Dk$jJT$40 zr)rz-t@i~$r-1Z@5}IS69|96Ymr-ROdK0)gh;42kevEhwHbMIaP%Ji6X^j2+c_84b z6V)#DJvQ;my&9flFTMc{Uz;L8PeZ#?fX~7rCPoSDgtY2mf>YVp_y`u;v(C`?oBd-S z7T6*rz#+@!;&gU)It~h*41TErD4hmyd7#`t3VA3quYm+c zXvhJ+pDN&nff5W0+Njc6TEw91wCB2GXKqdh%DvF#$IE)?Ge1ky0MvX6JQ@m}z(USA zakocPV`Im5ylrKl9v>Xme*UxIHwp^DbP;qcEYK#*31HF<_y3e$1B#lM$(hT1loD(% zuHXGS1-tjPJvjYTeisyQKvJMfg3qE823j1e6i?TogKrY9mi;J}{hoyK-ep8LH1O(x zUM7^~7tiW|dZzb{BUtwE=Ea-Vcu;(v;ig&z2M0F>O}F1~vg*})!}_}|c_2ZXKVW;X zL5p&2%_uB8ES5%Q?KjV|q_nhjHGUol3{D=0OP;wf4b~1^_A4FI_3_^U#Sd_GNH2vS zDF{oW`xj7Z2fW}vnjN%k-1iFeb%rZ7na<1%Hu_@S4{N7SK-1XhWTg`@;Q?djl9rZ5 z3&gLJUAN4ca`&QYnP?1ObmA2)Le^MklkJ z$aQRBZSa-38fw|xKrRA}>yQfqA+MB!S@twIvbg$IR5*QTX2?{`^Mz!ISwC$Z(YN4J$P_ z)DjnC>w1Vqd<6qJ7uixn@AXHJaV%a)I7w$<{o@qE!wTNJuZ6#YIxIMj-opoI`w^tW z4dZZI+;KLWjw?}XHbSkB`vQOk{3qLSf!4nTrKLSUbnyw$v;&d1A4=6rwCfeq8Js{1 zy7{17esWCKkRNb4+cvM>rSZS?Q*U9ul$M+%f(nF`^G^V~V|abCT2Nfvz0l}{O-lMX zCOXAME0p`f6k!=`?bwp>cgIp<5)`NcVt{5EKX(lV!mJ0!FHy8{+Ed9-e`E0m3I zxYh-U80E5BwAn$cE@uyD-6WqE`QNd z?^#0?O9c~9{ZCXB=$e_;5(P6aGyU3r95nWVY#CLY0{rRVav++0l-nUGO!OOs4z{nIJBtY^l zXP50z1WhJtY2N}d4m;#fK)J#SQ+#a=TgaDFJOtxYnUw}S?MpH2A67X8qR^X6-T*hh z2{-5Lay`Yd{_vq9wLggK0k`Bv3d@E&gS^+YKBtP3B7sp|tlAY${5cL5*B%D^uU;Bn zJ|eL~ILd;l(sPD?`@sJy#3Gyfg;r^W?m+NGAG_x3;g0WKM3?v8yq{f|&#v*SiA+9x zpc@-|iXlfP8Kp4n?+Wx`vSdBK_l>atrR-(k^=vm4yvRpilCR< z)TA#r?Nz5maeLIgv?6EGtXwgQSoMPV=?FiG*owdL7R;7LlR1ZL4|vU4GnM{N?zbb| z%cd}?MT(&ro!@=Fj;|R_9^9ITpFO78-m125VopFU8HRyv>VwYYDP&pYq~v{#TvOa8 z>0W;nmca#w{rotjW6AQL(`A4Ss%7gWQGw+ty!igMf&jNGJq77+a&-l{Z0P2_N7!XFY1U#j-vQn4#;~gTL>fvu zWNe90%CkD{%>6OAPM=%R31$o|c)vthsNrnzfEz7^Q6B_LRiyO?fg5O!q=#PU;FEIQ zs_TZ&3&CKGnnotVjI*6+C4uJa>Ei=3T8!vVg>LKx0V1l_uUNkO%t|4_wYvXFK@Z`( zIb%sKix@QDrG;F$^Ot;>t=Qh`)>1*4IrJ^2Hy721pZwF6nzEm`?G{FjmVn1*y@g8yDrLS0335ITIZ3e-?>jM6+H>|TjQVFxr63DFgqqiNd~<=>@yxly$~vSr6H<$SKqumW;_7z|Wd@tRVVG=<%fg43Tofb?X%XaQ!uL!3}Q)vsS z%jPCs|3JXrldzO(`NtPS8IdPmw4&IAJI6R6hXw<KlP8qsnemIkMU&IhUJF96iVo3br8Wx*pyr4C|@0_YR zHTAuY+5~{gI=}g2y36mey?!kOa=a4^9`Ly{EHAxqvjAb`EtfjYlF$X$*}2Ap?tn{i z9brY~3YOe{(St4uwu>m>>gZ>jSh78LiwoS(+(!K_5v-+p4lN1mWf<@#;ofJGkLtJ4 zbG}5-J!+VWkd1qEtWRZc5x$@jVu?{E#NMitVL#Y$ZpTenMy$XqwA zLm}pCMi07(*w|bXjRW5Bbd!B0EuR%UWDHzp?sdPuQ`Fd8UG906sZ1AZMR)4PCpihj z{`P%-CNf&kYo^I%lk2x}{E$7WK;i}RuU`YojAd@JvbWxgiW(d*J+cIbg?$HX=*MYX zu|lOT7XFG-HnQE#*+-V*eijnBQ?*Xt8A*Zo02~5zGPeSL>>EtzipBl$#m&Ro2Tzi1 zf59oi!*e$1V!@w#9*kkk3Y4l8Q`%F#rq0IrZBQ&xSm>KxNr_xgt$lJjt3Y=Qaf(5& z<1ZO}BC6%)zzu+iVcFM~5p#zwF6Uw^BXzSWqy=DML8ROpz|F%=PejdaiH}YnGne|w zs@$|laEF8nfEuEqs)?A;+VrL!LCjyFW_|HV4&RtS;1DiulMRz?VAvqa~ zN5Z&*MaEM94C{-&c8K35nRHs|gUvEB#LSXq-P{C2vVrAWo(i3^Im6X^HOWck(}-{U z2vnk|Qb@#GrE+^8+R4;uoWsMzh&Y1fPm)~AK_k?4)72Lfa>^%S@O84ptKIa?}bNFOzoD|s9wwaaH= z3>%b6Bp0HjfA>ZJ=be0ddpdP!^jOnx`|DSiL_rNP$@v?B;!0v=<3mktbDUT|sEuZ! zVT4fg_AQ&Z=PQZw+~^^%8Y&1&kvxyu8FLfE8-Mg#LO>pU`4R%6xs9AN@0WT@E+!C4 z7Av1)R5zZ+g$Wkaepgb_K<_k8MT|#z>3E@WYI6jWWc}#X4z^fPRZrY=Q;K!!Pc^S~ zLCs{HtgfW9u>pu-G<3)jUoOe=)P$PFIL=IwwQS->lnbViDFl&M1K(>`R(;D-Vc_3z z)srOCwb|l}Clf>qoee08%g-8VS~>n&09RZ)l{Kyt`D?sTE34~qt(w=JYr?KOpOMMa znqDz<*6?DE5q%Qrc&%xGyXbS6Ej+M43%Y*Og`PfL1g&6Ddl{!TEV4e;m)7AY?C!GZwjJ~q70?WpGJnbr zZ+=Y&4`bpobxmz0aIS95sBwuJ*&T6=in*Sh)zDu%CxyhojHtQDR3a_8fl+Q*IH43& zbDVDRyMk);$9eOSP*ULCrPxN8;b_KSKx^4UN#@>L5;6oS4uVgN*INP`<;$Z6Qfrw% z;m_|5Cy?Ln%$D?CN$JWyV|o0`p-Qe`XTRKs_hda43(Fn%>~_LT$!Uwzl4YaAo}FN8 zfFaD4#K7%7-%RR$$|2j?}8zY3GD=r@SXW?6f?=|+HJ;5=WHmwLDC&4s>En6z6JqeT>sP1g z<1*Fij*K!f#y-((&hqLwz*q*eCN@zQl_Dk`;+uQ($As}S`o34nr-Db4Fwcqf(x=a+ z#7tZ8MHH8T9Ew&~Z!C9#iBfgR1aDiy*iCxhlZZ2B7g z4BBbK>FI2Szk&yOR=#<}=m#!jZk1(C<0|n-b8ur@a}%b8ggL8qTCEt$ zxQo7uS}Lo4j~aNmK}iC(5+jY(SlsURp));MG=WIk zxgkZs8uPg(n0B!6dl$X;_a{!l2Kj=@vg}w)GRin9Pf=nNp>BSvh3nx?oWt6@n&Or9 zil`(S1&V~PSaDF}7RnpBfNZ?0pKUFVBthrHgeHQzXyjw|?OWQi`|IaN_tU@BJ;*Huvgxuv4&o;b3{qvUl8%nUg<=VK;BbzO z2_xlP4wv+o_l@h#``$GZU5Mcsm=UmBC20SFM1rH*kXtFk@ChGG`vuZPIWJ1TZ9+< zq;yMdaIeyR$kk+G#GS9rxOPc?&khJ?NEAt8!K)@+TyKpFPu6tZTcmVH`|0vU{Jrhk zFB?0k$eyz_UmXB#f}V7XJ=OTtEUW-nO7+?dbu*J`bNB@hnVi4)3VeK6@eJ@UUW%Vo zy>q%==?o)fC)MD7Y7S<=|RX@Rf{ z@y-5p&c|(XP4p=J8G2QQ0&(%oXPAN1l#rqh2(l#?E(0Er!kgDi)Xc3^Xc}-38ca=h zsTUuQN+k6+M|8_5rTFyk5B$_{JCMHLkX5?cpAJcARH0Mz@46zF8#9HIY&djrGi}iE zk7Iqp?tZ$Z6%R#gTY9}K@|wXht7$kB1tKT*X{cyWGr1OhEdu&$+y^um0NvY?Y*V_DRPNi z6B|n&gQqHYp2~r$QGXoNJ?=}4uBxT*Amv0-(CYk*kK)m9r~cf-JcS)|QGdYqktk7E zJAB~$xnAHGIfAeiy;iIRM(if?#jL34PuzK^s!fyy0fCvL=9C4h{&Zc2)nYZ8hULY9 zYWi^UQZJeCHrep-x>YsdyEkD8QBn8dP+Z)<4aljI3d1^CBu}rSCH__RU7>Vt{hFn8 zxBWG<_wyY#7Qy~qI5)|GDF;)68XG=-*6q+NV&tmqUPL+d-IH)nCXaq7KW9xco|~Qv zH!2FciNYMtAW3j$#}Z@ym;fin)n!9rf3b}hbp*AeWn|^%Ubv~qHx(?Uk45HxjKBDW zWg`RCYx4x1aIiQ`t=6J#UKRMK$ey*cdfh@*@xz+Bz*%e8Mtv-J^V-9mxda`MBDZmf zQKSqg=LYi##FZ$WuijbI)c^72qu4TjrIeZxQ=#l8_MH64ei|Xh+cy&$N^h#oL2f}QPt0c+G8TJiIOohL%P*>&ptM;XRDqSFE;5m^!FLOtp z5(Bg-<=U?H3E<6MW(;M2Y0wSl4VZs zpMq{N5DT_-{#vyMwWS>x2WbC14iyzCt6dB(uLAZP$eDlqw#v;j1ff-m2p=&EZ~Neu zVdXMb>FRL(f^f_<@B$R+!zNi}b@(p@+^C#IQB?KnZd3|XcP{o3=w_?yI~m#@vr*6k z87dCdWonb((%ny+!e1VQU+XK_#2xy5FTS0mPxYI2`hqW+Iha;YZY#Mtv* zEbOpuW?LVRgr)H3mde|3ixmdZ3X*<5vETWMgZ(urDAnI@ZEtuHJ-U_%jc&OCYL{(24KMFZZvNb|H8%-pxd(xc2;_q6)ytQSq;YX^fmK!d z(s-bATx$`vK@tK&Bkrmp)|~AA3kbZBVE!1}1|4JQO$T-uqOlL_csqB_UElcZf@ zN7lm~mFZ+!LsQPGRIUiTb5uxCl*W4=eEpuya&Ga&Fa9T45_9K`J|=|)l7EmW#Qo@} z4bWKLRwTssYRJfGB-EoUmA744W<{NFuB9vo)IqVEkVK-{>ava zh#|UJh<4*TW-D_P!HO-g+2+cDd*(@}$`FL{M(heHPb?z=-PkZ|@Bt$Qy*AO&kcIj1 z%Y?{WB&7?b=@mHw3@oUP0HVWz=&-A07fr%%x|G$iMEFaWmSym8PzEs*H84AEDEZHl=X1_N zxK?tIkF7PzGLJe8Z@8`0@KAVs=Xcgo;`4{4udu*=5i9Az_tkl8TD(b5#l@N1wb3#=0eQo^9!RQR-C}C_eHmcj;)&?c9jlTGWI z%41WCk`N%NX=)Y=$#kVA@9^&_(oL2Th*L}A+AM|y9Jhs*J}Wl5llZ;ML3eWlIiQUj zJcNZe?-Cy~JAEG3dPPphd1$50W9et@DO6^?v{x0C4uN@w`8z~B=hJI8tkv!issfo9 z#OD zxZKyjR=UXGl7SaH@lbYG#?4ZpV`nkNIy!b8beR^FOd|j!1WN!!N|JCi)gzBtl*65p zQ(-2%M_CyoF2!)JP7993r>$zt=e=5IXIP47#xlVQ4!me7s`b+Sk~Cdlz?YVtXF->C z4Lvd4Mm?Lg`dQvjpAaSVAATFwW`CTvo!r{uZg`h9Md`aH6qd$`J>beYoiWGS-6LPX z>pHZ_?P8C$M*A-QNua_EQ*!Zjb|-RZ#CcqSBk|*+@-q|!RerK~TjC5-ZpH)YxRmN0 zPxE+&p&b{3yz>?W;@l?LPg(Ou4IEv%qhk`%&&!)!P= z$&22GvcN3E7*1?mB;exCxUsQVbM|Vxh?AB(>8YsSM zR-Aezv1~WDzROlB#Nwtz!0ry!({T?|NBx+No&Gzz$_U*nf4!_!6(xa3l8I)w=A4sC>cz0I_ z>+hFvpTR(f46wEI8@cXuS86v) zCr9EEqf!(!$%P-`WiTpOSn1y*PGIO+?hqnf1qLuF0w2HM{2_~~(f!tKWMQA7k`vs7 zm!IOS9zeO$7NpJAe#L8!%fS0H#4quOo>gv2DJ7VH4PD%BoJPU)li4J<ZWRa`F@k=yJk7Te6kc{iaJmCKN#wS5?jVTgQBd+2P7Qvd^CDb(O`vA8?gF zX^F)SBC870wT`X4axlCE-ngrw@a2-%my;8w`m2OPk)VUCM*<8AFEOn^1$|VXKM0yd zR>TVgSY%N%&(?_-15@8PdQ1^(mM3G9vU}5sd%ogH5+R)_C7}+%u&wB7Ys@CqsJC%S zc3K=u8XPoaU~rrtEkMBtDD!d?QJvyjnEy*F_~)2h(n3NPwzkHoQZD!Gy8a!m)C`$| z*RpI(J{GPm#XGIB8xf@Dg?#k_w#t2_&qv?qeriZbZV*9FGolZ<BEbNzO<$;ah=)oxcw*; z1S9EXgxVAf*Z{3yFdru^+Oq$c>-wII;oZj$_pt}PZL&}7$FGYg_h-y9P1jVJWo#ti*D}m+X*7~ z#}j$7#I?%D2roXNNKuNO8+~VIVYhWK>J69Y{vAEBq+fMxTHV~vquA2#SuLB&8*S{R zYox>0@DovzUCJ3ono{YwRnc$YE_75ghe(#g$n-_l-$s@)`L`bF+TUZh_^y01oRmlt z;PB)Z4WCi*L_dE0LKGSq2H}vMZ&8yc2$WYK@>9FLN0=GbC%tm7`W-U-JfGeEf2SzYqR&tS!sAV zo?}Zz!t$4`S_`$ZP4hG@45Pqie`AI#7eR`JGv@e%H)IT*U3DKyBrs(J5;r zIqFjpLq5Y2oZ8e5uPd5Z_3HtIYuzTh6QHaGBZJ`QuOQsUmX`An+|}fZfowG z{Cps31`}cM2nb?WK@P7tLZVG7d7sEuc`+C;1!UiRg`clDM+q^cL=KoQeK;Csmc;=Q zIB@r-=4L}q;!X!raR~`9cu2O~E9u3C+1eZ8tFEi73-n_^fF=$mQ8W#t$y7|pV)&LF;nMIr-Hnek~Da%NV zX=B8*b$a#?3`Lq17oV+7 zzuWcw6k+v-vlXb4`ysY70EW#|G=~m_7c(%pv*S%?-Apju>+5_(pha>A z`Z@c{gAZ(IaDkovuhQLN!E7nSKQE6KI!6k`L1Tr!*Fw@=*Mx>SX^rFkkSb)f?w-P~26wIOmEop2@N@PomAegR?)QbT5l1yR@8W>pe1Q(_ z*3{N^TGsM2wEPu}0b@SUUrqqi5Zz$L3|Qa3S_j?WYcQ7N0EG0Z!al?o7Z+esI57A? z6Ca4tfJ#&o48K4nm6;A@Qy~=fpm>8$U4UUMFn0|BRchap2Cy0+E>u>=j);f=Kdi8I znk1uwi-3-f4jm*@Ocx9XazCIy?Y+vJvWx|~OE4pci;qt|9vCm~xK5Wu%Yl(I6@X5B zz;$R-8TZWiLjlTJ$4Eco>j+&TN_L};q&)E_Solqq`cNwcTR#O`8^ z36WRu6+>X)Yl#oswdWuF@!%y(bUs}dPb=O1(*6>v#s{2AC?hdvZ^WHqWMqoD z-)~ubqnG{?WQIqj;WIW~wh7l9i}(+=-=a&#^>6yxhzpwf+@&}h5*eg@(+it^`c-*w z&Dbx&7>Y6&b+E7%WJt(H&Yb{ObZ$X|CMg}=j%*L4<GhK6r{UBQc-E?7C};4`i|xKpL;*u zZ}&d;%jG$bj|cZ&d#$zSnsdxC-tl`QJ@d{lbFu}rc6MR95%AME1o^nI)wr!zN?5;`H zC+%&eooTfiWjK&=!sw&zy{1so?p)nD>Y+j$1g?}B(t$HQrDWJ3*-IA6>fUoqW zenem+o3ChN1%!pw>C73iqoXQ0Wd1Y)*{gAZN=JdGsg>8Pj8fLSvASpi%(pcu3nhyJGK1hhPpbA z$JR^?BAS2q{=JJPB|JEQ#sIQPYCp>>TcjanEAYY>^nB4icUAR%PdqA_fB7K24Mfq< zkl>Z>X@4k2AG5Nx)!o_}w8#iopU8;_jiGy!A6j-h@vz*QJwUmA`a43t1A5DZ1O?|( zNogk>XJ%*Pnw#a|<9f;oV;3{I@sU1y1ONb1T!ur&az3QZl;14i=ze8oWzc;ijl>^& zQm9Zx!EP5)RWgL!@a$^yO8JuiTcj7cPi8mzHY*Wf@o$nQY*<=gQknB+j){punkoin zW;XZxRspnwAR8iKdMM>1fSV!w(gOZt`Ti~bzLC1_8DN1}WN)83{rMVX0Lx8>8lB+J z${HP=E~V5Yy#0?@i*o-sI)(24xx!7oRvX8py}qU1y?qNr$jZ)YT`S6Dm>o`&Q3vhn z78@&jtBe$#??>ijrv#R+w!Ng&r~|D513k{Ja>Ry4sfT-(%cvt}ZXWBs@mncDljhd1 znGTo_Mb7I}4QpyBgl{dwVGAF2NFv;gRvXQMAHSPH5sOj$Ql@^tVV>Zpuf>iJKD9CacS^M?yo z@J+M^W2|g$Vt2dr+lnG{FUYY0BGXpRx4OEjYiu0V)ujdsSapTz{{A4Or4AWRrUnwK zdL4j{Lf}5#pNsf9r=5C|Z_zsFKe-SC00y3Pb`XTuOg$#} zgYy4Ll+TS1!OM2H{5hFg&On)|i5?|{D2VeD56|DkpOO zmWg}o66N-oF#>)CgDcz;iF{~iBA^$B1Ev?g-fRFR!2nXeeVd|VZHq=#kJ02C4Zrb^ zoq(kKbV$S5&8tm64C$EbixJ$#&QdR|jRYWchN%pid=TIfkOv^PFyQWgtALNV9^i zO_zp-2>bV9X>xjy;q07C^PaQp^407Ud%DW&*XO!=@JM?5)H^<6*`9ajn`KzB8^+k& z*mEZ`zZ?1EWK#_g2_z74XdmvI7piQmIVru4N16HsCKK+#j?#^dPhE)5|?PAtOpl2gmTT zYHEx-JpGoi-6;g;BU zZrrCkl~7GzPsFTxeYmAtyl2>_pQ-RdC6Z&Jp^Wg^YOomNqpRHosf~DkchaBVr-NlX zo)Zriex#vI&}l{ns65?P2tx@0Dj@x;Fo_S0kK-lZhw+B2Hwc&JAab|}9%H1l#G_%l zObRluPob@r3F%Ifl0$)@-U1r#kw!zHnlZV#xk(rZfCStBZGJw7wD0Mjh&hES8Ay25 z931!!lih!KL6aa0B5}QS`*xbyVstbipJ_cMKR^FiOQ8HWXdr}cS&PmnDy#GdE41Z& z9OB|M2z+g4ch}S`0vd&^ppP5jC0JA$w+RwLQxEj=M0@Z4tg}yZa&qbhjr$tyq3*XG zPz)o$j<7flhF)NPKwB3wOwy!1vx|$r6$VYX$-3W%!97;(zyJejOBAmhdQB1d57ICI zJ=m+b?~IZ=Ve)kbjv3^Pt#4>W&1fPq4LJ=Hk#q1-&d1Jfr3#;=THg6vPFFu%?o-%& zHI~d+*21!ZL(*3I7I&g!fZ$;n4^`sUWbjX&!Yg3XrfuG)#4^3ClXH-CM`-Q+WwsS%bU}8k_^HEs8~5im{OOu3{xtIHTb(zxWryg} zl~<>c*IlujSfm zcvX{?;MIxgw;b&XG%OKsrE55R+I?2YDcUqYexB5{NwAlgc#J12mNWUx^LldD*hY@Q zeH&WrY)+-zT9VrCg2)ft`1T7lCZE;i%q=ASz8^?FR(eiav_1QF$>Q}@JS;3MM6<2- z)r1NY4Ms*dG@Jq41n+txWAGGoL7RsBf(9q)$FHbVgVl1{Og*QcfKEHM{v$*Hs-@<_NFX#pe++c!Am5!js}ID=z@EytFiyUIx6zAiWW;dR-KY3>E{=mjhwt^p;|27wqZjX+=0tparjKp=oPt8>_UVur}&K zmP6VI=mUjDaZ@hW$SvJ(qAwFt-*E@wwN9FoW*Rk+uX6{sMo?T$YBvkOitqYH!*Fx? z>Ft%Ky}F^!D(Nh5??`-IeG|o!2#;uzZiR)=(1e3AaZTk{tE1Dzlzz+6gN!Sc|^|)mS?vYo@)M>edoP=)R2>hhtay^$COJ0w3q9WY;uXC?Srg+c&}kF8ahI;+)iHxq z25e32`qW9gkDRTs&|d1u_$V*$P|{FiTfS+`Q@Ew7!g`T%L9GAw(Z1uSdu>S<$Fe?G zu`_AJ+fg}1rIF9gX~Q)gF!c2yro`SU{V0OUj1kl1mQS@b;+zdE>D`Fp%-T-#H2p@w z9mN@AVyH(&A60pEHuQc;Q}hRxGt#Uh@8`|@{(0p0@d8U^Fe_FRPgKK$r)^w$I`%tF zqkA`$P3)$rn4fdvRj&o_d0DHr{VINBTk)qv@Od^j^j|X9C<@aO0&46rePCdqJVbm< z7xG@eGjA$>fErF5h6q55a&M+x9=LC$2F+vYeTPX9BQnYdOufJ71r55$oVe=>!=cJ} z!zFOJvQjiZ$S{#pR9w2IWPM|!6B_8=ck+u?ySZBA5$u^#CM4c$1`G7Gy$ z5k(ag1uk+O%Day(4XZJk)Z^l$o1fkj9GeMA>v%Y`X}hqPa1t00vMYZ?r&8!zCO%-T zH0~J~ls#%5F6DDN>X=QNj8*87F)3iwUCg>F5`}K$W_o5x+aEPUnHR}^EO!;A(8u|c zbb=bS?vr7GvmbX{$&%AT(|f;lZ`2vaZr;wfpuH?F)L$u7rg1TGhqT3?K_bnuJVF`u z#<3+zglY861`uLE(QTyQA>vJ+;5AhUxxVkt(+H2 zfw@1%VB~nfZC{4Z7h6|_mdyjOlUkzkg$T#=s>8;mFhoM_KYUO+d7ysRkw$4>qjvEi zC_31yZ(<_qKsiIPTv7*f+nDH{eT{ z)C<&E_m{QMN7p*lB=Z;JFe@6v`Sy&mAj_dVkyBZ3oiv<=%ZgT`{6{5vk1%04x}$2H zneF5~z(&DHR+RNPW-xL|}K6Z7*c)YnC{bioTCy@A#nb~G}k=&(A zom*DBl&1r0*u7&POAt+J$%tK>z*Fe@*a^taf zvgP(;cf9m(br>NTCilISN=Bs})FEU@8|B?6AtY?I6_t{e6BZs^qrS=4%MN6dw6rws zjpx|d*yz-nB>I%d98DPhUMOq+X+l!1QL?H=&v5;>fnRO{yk{JD#-46zo|}^>ap9$` zv}7A^Rs(cX!PRVlPE!5Ppi7!A3rbAYuTQ-&03HZTS`>XUxz4Q z=T9&smkzsLm%95Vv+$S{#or(0e^Sn!y%}h(Zn!x$;Cglzq+ghD9#fKYu|u`@!rY~9 zc6d1KQQ#@X&iNvZu1*fY&TB1)K!zJ8y==TYVYlBgKKT@`f1G^(zH^~CDw*Mwf$tN! zie5blI;h9xB_~z8gC5 zzMgpZaoO1?Teo!QdGCOav%S_UYiq7PX%exo$xVhM7>t6P-eIF{lOVa<&Tj7-+0P6U zOE=qcBa5mX@ksTnq&Ft*&<2qj$&Sn?@I?TLyv=XN%#!gQ8B z^5r4y_x!T&ZhP^?{qpr6*-vmihKLK-R)i|o`RQu7vo1@;CS_mTz*748Bl^OEWsr-@ z;^6jd=TXKfVREc?%8B$%o$Q?>dA5@Xd0O|I65A}-lbtJ<$X{tqi=Q4^cqx2!Vf0Fm z;Om`}AZF~9I#wqk!FF2lvv96l6#f~0sXg=H_Kmm*#=_t263fp{emcFZDID(@H>6t0 z$5++68+90SXFE-k@k}j&?%BTZXwU6vZGx{wuUr3=(LU)DBpfaiiZrSqf5Q?LRz^=W zeEq4MeDPHmdZO&_#fnp1`vQ}7R7Pq}NB4(Yswk4f)iTmkERAsI=XIYn6l?byFhq|Q zAMg1Ew3S-Wi5I?zA{=L|O(OpE5N+y1o-iLne8E}p@LpR)Y5n`pubfXjQnvKhSrqy@ zZ^mnKWxSbm6wQX*LWYPNx6xU)G8|@BI|VAKnH_PYjNZ9Q9`v?SD(0*T9#zIAXP+(jk8IxF7 zqp<$uPQcLaDz5LsbzD^KemN9%+a&{G(@;pcX!r}9FhTHWK zukj(v?_WZ)xlz$7pD_+OtY6?s-B#u(KAYDm^{98mx_tipecTiF-gwSW%NL+F{A$x4 z^a&F*Y=tc6M)uUSVZcZJq1_05u3rZn@lf_+uXFg5S#dQqG@S93e0_WvM_$Q}OvY#z z$NZ-Sm|WXqRMkVu5j{uyOCCD|fU1yq+=iwAJ1xle1jy!J&4u4Av4{|g!ly4?^-s2{oMei8sWCsMxW4A41}4BzgkfjyR8&<^WWRR!^1&EO zk!8VS$xn(rhHJQSr@nWCJ`@cKl+$^39rokVk@s(2c9R=-RG)rSl5>=!!%E`obOS@p zjafGKk3-FI70HQhNQDi@2Jd0c>1a!^zse(J)#L&HYQp`J^Q(g_frRUny!dVv#^lmC z8P@`1D>l*(Qx33wW$zeU_-BxmaN{fKD;mN^=HOg~S1 z`=+oHX6|`0!%laFoE*|)uJwI0(=o|9hwPP^7N3iY@!J$(MsDtcYIE>TZ|l#m0W6{K zi;2H$kB-o37d|=Wn)v>G=iG5@>cb5N1A$PkZ~mX7xVY$Fr9LfDQzm~Zy)i|+3)bFpXT0t7r5-7l5Czm9-S9=$mV50oh|+WgSY>F zY|DE|w6*8da}RYmzGRO);C&s+RF=A?-*i7?`36Sl{$Tn3^;9ZydAo*Bl&WpOI2-8i zpL=n&83CdY6)qxZVHz{9wqMK6Py&J-@|2ybuPC5XfE(y3b+xw~h;&tpVo+sX6-qogM52Ui_fi=NOC3(6MBjDr!*_$nj zoi;p}^ZGlW8|vuv)uI(u}!>WIB$B+(Y~uu>%dzc`1?%g zRiLW9H|# zO-(Jl@N`&PQ5b#tT#)Z-xRmg33hIZUXxo$3Sr^7s_1}`wI39oe8WZy_@Wf%|Rw8NQ zbN?Z#tk)0W&N^E2?640xXOE;zx>KP(a0LB!7c5c;4ySN_w8QQ!XQs!pN;W+)A>|l! zO;9iha1@gGp|C2%E+Pb>{BA68-GGE9q)0QZuo}wC$szBp0I>FKutGs zQOqd0%T2unSmu}~42QNxMhAk=z|3y-gKcnhFYLMn@wc-3}?+xFczR%x-_?EorqDmJG22@FXz7~8RMNM?=!p;wYK8!x%Md6g#?|gnyRh}82%=!`(OiCSlG#U zikwL}1Y5x|JNX#whW!iQE7@%&W;e4f$FCYIAJtz*duG}qRST@i0+X<-3yo*WP=rkGpu^KqP-kGK#pW)>7ig@jAg29VTYvkt7E4Dv_j;Z33EiWVl=y@G7#a>M zL+bFQPFra&T&CRoH|TDvlmjk%5+Q@P5-JxRYgF^NDB5>%KlcPl@zCdmW9Ogn6&0;W zc;Ozuv2R%_K1ecGJFMFkP@ShuS9X3VJiI;RD*QkKxGHNi{sJ3Cu*I9l^6uw4uGxQM zIdWsTr3MG%?AyqA3{lLAq$_pSF1}yl&K!UEB59M&HEbRp&=_cIa8zqS^qL1VmDd3u z=ah@|k`7Mmda25X8{Dlp*Sgu9#RI%0E5CZ#Uiy||(sW<7jn5z5p!=kx7^7VfD!grg zICSMRuEYg18ASjdfi6c%S{iXhLEvY|{_VIKTHi~(cWrE^DLubHt~pQZ_3z`g5@~}V zX=&;0W%&!bOP4Mgwgku`tZ`tH0Ss_s;@bLTO<#htH04S;-!r5_^PO)LZ}DI1DwD7#DGJD18JbMvoi_LO-2NS53`DTP+vJ8=XLsBcSzov)HrrR?0`hP zW1j<|;E&+f3~L;jfOG?->Q+HQV`JmLh$G-1!O~RD*M6^T&irEEd>g1K-j!I>cMOve z>xIFgA(y4kRNaSD^4x9Lq349J8M*H;+rk> zqC#mX-TNmUNJs8%OjH4c2%~Rz<=3w^NU#4D^ylQX+eHBF@K2X`^ZW||1;03`>*csK z*N**^cvt>Fc}cPCl4_!btQ+R7n&m(hf5mdce)pez*`q~@k*`Vm=0DPWQ8x?_m>_0u zE_+_i=jLehJ)gjU)WXn=@U|9Fftk<9(!J@a{>WD;7c?`M%Nhnbx!4bqiB_8K!rj^B zDXc1F*mr8eNHUA7ovaRay(8;O{>!zT>`n42x#lx23S$yx#g2u}NJHZvySo!o(gW2_ z^2ddb?ru`-`Gj5N*|T#${xo>oARH7@+F08FUVaf)dbE4m9AlR9COQ%eOK@aFa)eZu zlWaphmc!>v3fFb{k2_(`Jd&=TZCYtEjQw^y-*mI)a6jwVsRV>Fd|~{Cf_NNnj10p& z{f!D;DwkaM#x*UR1Xq|o|6=l{ zQcjP)t}f|j!p(L!D6z16ciC?SI<1}ko?DNgHL-*UeE*%essZwn?x$5wkk zr~68?Q8p$hD_WT1Tgk(3aHsv;yY5ciVDq5sIs37IDRa#uu7osz7wsX; zJn25GSD?=1`zPuT7)9*<29F3fNlChFZmH%65Ich=fst|j58bEo=r3P1Wp;Wv5Motg zVxr6@nPbf)5+otyE`az#Vr84Y@E;yfK1gz@hR@stuAdih>=PJ*`f!zahpfXX$ekJ$ z$TDb2M({^1dYLBQSCFpJclp1O*WjX%ie*+-8MtR_W!2?p-?5;I`?XJb>xh6tE<-J+ z=?eaZEjdNJ-xe|L+N$Y9_?7bY=Z$u#IVk<@|M2WL^+3z(B2(R_#5&kCyL&cd-tYaB z@#lF4i}G5Y{Qg@DqYkH;uxfvt{@prP;v)8^w$pdewR4qzdbap0C*`(C)olgjybnk+K6aX)Mogag3i!qD1fG!mI6t{MHKXHKC}<<5U1{3( z>!5Hh^{GELWL&;!Z4jGd4zh(17cT5%EuA*(XDoXowRFUj3Ch37#P8kW8h zAr@YUqL4!5;KA;1E2ptiG!QN-8yV3dwl5$NYlq;o+Lgos1GvnHT@E;2#lyD*PGBx~ zRIbqzAuAi;pBKTPpyNGMZA9sr3cHngr=Y%wRDPj&1?FWWdXx!iX)zG?f}qJzmWilc z5K+XyHU|-+Vc-zY0RTNKxNu_Q~Q1q6EK0g}0oY&3J zuAxkUscasXgwgD^eGhPX^I)$7#c9Rcx1TRA%ZqNp$U+c`hzUfS1quaFUs7E?v z=xZzgU_}V}Q3TctGuSpzFLPiPM!YsWJ!^*Qz-SCKJ_v3SRzP;hH5IZyuwFo<2CoHh z@0Jn|20h9!j(exyKV45}-~VSa`t3J?u|D&lDT*=vnRa(Z$?&%gTVY&WKIOeI1x7h-<^UdA8iO6zV%$hQs7w}hw_q|)-8PCGfTu3ccdK4=*7 z$EW1>kd}&N>YkVOWIft!h(FDh&Ww%2;l-ukpwmH|$bGak zg13!xd;KSB4OIk8$ZH{;2O5UNn}S5Bw97hKC8xr}LPF2Qy}JZ88czh=lF}7+^H1(# z2&gKyZ<3JJ+2cX-?`2}rwi8#@s>O#JJ?h?`vL6OJJS|-~W^|MbYsJe)OoBrsEkC6) zP^T7^Kp6~Bl^|I`0C;-l=5f{4Vt{yoTpwt5wQDb~whJQ8Siooo=P+zwwTOy}X6EEz zfDi$KCV+*<$~ZXTg#4 z&dtSwH$c%(t zx4qW={b8*^`D=embtp%*mfBzWh`%%7T5PYhJlLr{b0bNJ33Ih=C496pfFsXi<|x&L*JIxFy{E#+$&3L zj5lk%D^c8v)En_%Z6ehuu!~K1$7?C7oz!QaJhSz>z^Dm!936M%KAXsiob)4D5OWF< zV?(& z0*BW&CqjF2Z*s|I1b+8yc@kVezZbL9Tib@_$z><*kh-)+e#eLy@R<`dtirFa^|GZ{%p@j> zAf?AQC_?AOjo)DBd`@<67WF}PT5v?Xb!rOV8@*)BmNp$GmllFg)@nCDDQYE6X;t zn7O%Z%a`SY#6H!~2Ej7wF-Y(x}a5frpA%sk-NjY*5n#a)vlDG@2odO%91RU za9t3|V1*E2>dMn4m&ZbS{SMJj$G}-n61E)NTypeG#uJ_V`nBz&@60@x+r zA=Rt>9Udp1SX4p4e{#bwU}|2X3jY`6(8x4R8tVJq*I~EYN~5ar_;GBseDl@QvTF2PA$(~l*r+lvHVFk z6S;0+$X=aCY3cdZiLl!vu|x< zW%OGp98Xr?^Q6ckr>g|JAd%%}Ufy4;*@q zwn-B9H=Nk{uF_0#I~Z~)QP4eo+u+zem2rmo%RCUXZQO{0r&WyVx{Zhwap2GDep3x? z>W}CzYF3Cja3jYn$r`^`r6%}WpopZQ#;8{}2;%7NZyUIehs^bZ(Oqv6tjwQO2t(KY_+>)kDWS+o8%Eq$lp`BJfBRNKcN z)IA(wQ*Rt+3Qd({+REp$vs+Qj;jAbMM$C;oqM*xEp{iux+cOk5_pC0>;jOk9JpE?X zO;&a9C^c@e(pZI3KxOSbbfu(rb)ZZ?>zwyDd6Ngfo82#gHnpDhaRro#(z~2&!INK? z$tsSh6+HY8ofrSPnZa$Ak5w|H#6UyfuT8wL)rb*)Kaz`r?`u(MwP^dq0N$fJmnjRW z%BP7{(P@)V+J(V4SkSfX3Ee(j(d||V)h}d9syri0C62knL_^TNbH9gFwTFuWn}^r( zLt$u95mR-sfQAh(=QAw6-ry0tRva8<1}Y-=dooJGgKV^f7WzD;GFvH6U-dWE8UC3x zKlxyqDo&dmyy|m8sg|R7aItGud-BYh+l+cHq3#x-9|Mlca z_4TSlsiHO1LYZc*g@2|V7Wlhm$n^MUAufrh}?o(2!c328X^^cg7SanXajpwzr%aYe<=Q$f`&igqy5pF}_20 zyrdbMKc_z?T7#0!o%FL9E0e4F2GRy+5^2O1I46`)4a(#u z4GFc_a-GeylQ4alXx^=b%VvGt|C>i9wFymL_Iy;2W${<_23vWy#RqpgtX6-!!b}>s zbP~4^NGgI3k(~Ur1zj8Wr7^M{V$Qi0{46?by4`Fj86yJ?M{alb9lEmcOHl2Y$jNdM zV7Jw|`uS)o;j#^xsM*R?=kawl=&NTg+#PyL8*T2l{tQPXC_B1-#N?K>bp+SF^tJ{j z$}rLe{(_%c8oH#zy-}@~FJX!_-m_o;h~0o z`ILs>6n%uFf3Z!VmlfmWZ)Ld}fZFs~dX#)Wt>L^;Hu%GT^F>5!F_azmD02F*nUJz` zT#4s`uZb+&vXrL`_344HzA=r56Z92r%E~xuUnY85{X|LG@gU#8_EZW33WJsc8CU@8D zZUwdOSkQJACL3}PZHfCo*b#mwnM9&~1DDMzr_fTVt6gwz@K#pfv2XteGqm1@t@g*~ z>~CWQTD7PKUdKprV$P2nX*9Y@vwtr}E6kMP4!ON-^1`_tWRy=gpLaZ*i;Anuzz zL^^5#*018!)N$F;vn*bbk_bH;{W`0(@aw#f@gf^8-Z z-r>`sD2Tj6uRw-!)yV(H7HY}{UkdW5?hob+!buk-mt~oSl8uR~= z9LGI7(#dLaAn*x1dNfw@UGt!4YS6B#=j2lyX~0SKCuaPA-!w$buSm9Vx!?(bh1dS2 zFfjMl?Yn`KGorcbMJs6G&0PPE`wO_ke~|ErN4JCX3j?X+Jt(U^mnBrnV={ip)e%RV zgg@a>qg3V0rn$8dzCULfxvv$^Z-5G3)BF0EG34GoQvF)gbrOH7iD=O|>=PeyILwcq zNPh}gKUqKtu507u8488Ya9(ZKH_HYSbrT8wIoXnT2%gF8M*&F%(JskRfP_58k<^p{; z+M7YRFV$c+=4?%c{`O@4C-K)9suwN^Zpq`Wwe_*meU+1x>vM^GWgb)uT_%;8sMWWe z8H_2&S1Fz`UpELv1xihd1uVF_mzXzIQ$mY}%FkK+}t6l-|E>DA<3Q zlYL_zhpgTfP1Md#j#&sfA4jqF&|i?m0n;#!m|`~EZCqqJRx^f>=M0*@J)dFH=Rhl%OO$%FvY-OKv9Y0DvoX`eFnjdP zlgmy8?i-w%FqU8lic5gFK7u*SX9%0t{0{^6%*?gTUBg)Aj|-hWr=LhNwYBhCHSpk! z9#@Pt`PTG0Kute2EP+&5RxiU&DUVh_jQTj^95*~AJ)+tc&CnmWHDJ5&b5L;R5StVS z#j}gu(bSXEEpB99Q;Hk~vsqI|5&9TMr^{ir*-3B!Zhb}OunQmR?`Jp`KAt4eRChAV zC$n_46hHDmB0U)?(LNwWK3!NVDLMJ0wQyaN6O2G;)WiQBiTg4Dz8!0PtKo;XV$=KU*vR-_u=iEUlY*Pc5)paz zb|F48l%^y=Iq2x<29C$yi%l6a$;jXuzy0q46N$VmIpBM+4mSh$Kc9GR1^1=d|8-LED>X;Q%~ViMW(E0p1zcn6psVU)|KBM?Ydtg8pfX(J z&89p&I*g+KP88$E&!0YLZ=khZJ~}M^H3keg$VOKX&nRqzWi4nASkx0 zI`3tzU4MN0*T%;F+P2+m@&BD}{A=QN!2nsgB268u_F3pMZnF^7T(JFn0X=S372}NN zk3{J^Iy#VF*116F+|<-$L5mH3Dgm-ISVQ7Z!DYuDXb9yIihtjfmjI693t&ZrjRN4o zz&_{81EetvEOSub?8?p+CL90n?$ob~j3(*0xPsP%RQ{>YZ}R)nK<}v{Ags-%-6}JxT@FTy%$x}_m~214Kg%U1#1di(qz&e z^zrA{xhm3jea}WeC8Fh8+=Q9NBQr0EnB5>Ax6gFv%azIqOYF- zzAzvcfX>a#+FIJEkJ?0kUnc4&q&b9T_bMC&0+ls2i{LDTv}7jp8HIql$S?(5ZsCWL zf^dk^0;+61eSIWjKbg15dE4>|yaYPf(NG=@vev29$;m7`dO#Qm3k&OlbZ%i`f%))iF2bxp^mC%(;_XY15qEen&_le#fVI(HPy?q0 z5{%%XUmf6B?gG|3*wKd`63|;bhbky2IIZI1Ham84?WMa9}YGCUI|8= z<*Sd`cCRkBvO?Sd^8nTHmB91?Tkx4fG_KHyg7~n5ILmVW;}b;@Ctn$6d#Hm|RaK!- zY?%KFVc|j1)zb?e9K5BOE>ovdCB;Y#vQB30duzD1X2jDUAu-zRlr*u zgoCudkD-kksbVq5;h^GEQ*nWPg7l1oW^MGYt5(Jg%ilrWN!%{_WCrf zl$wg_$Rr4$iDjVu4D^x*=P0b%b};ip%2H4cfEHs+=slW~1aHA7lN;gV_Fc#cfvo_H z_u|H#8{p$kjRK@bdVKe`myEMi8VrE43xBlVp4V}LfcqiA7#rj|JUF-zm@(~y50=q) zy_b@pRF81^;3vw}{$(BtESfCi;;ux6Bqow;z82%Rrr8P!L7#FTHCS5Z<@>R(jC z1^eiaHWh6)6<9Jq86t|fZ|FX|Hn(AH3i0W|!2yB5rz)_h`^Ufl0uReiiI)_sZd^Iz zUx(*M@TDf(AsC{CK+P3d-rv8!GWRp64`!0k`a%p`+R16a4P^`$<>hr<1bo{%-w<(G zPzk)_`FGNc(g8I2gZkn{xLsh-Tf1J~i*D@dA4aM;-O{l8$ zX2FG5z|abc#>C7rxcd6Ylg$n?wiQYE<9z$`%a<=@H^BwG_u{att1I5JK7Z7cWMz8x z5iFEJGqVp47ymka==p(_1S*T`%b+_GJQ;`s6a*4_@YsP1mKAb&Rw?eL-N+OJd=q4f z`Q?Uud2v@MkQSm#Duh047$% zfYv}YS_O%ShyX_8w8B;#>Vr*9vMaRB$qSnm4iS&QMDV;N1*Dx|*p6oPvQM6Rj;P9C z(nhBbZ=|z9yqSTZiAf~URpH-xDHNHP3V3eZxSdoo+2G78Qul=UL7KNET!oF%luEPDDfB3_y%|hhC zhKaBfq#G!&ZcCU{rB}SC8*Dt?-1bhq&gL0JW}tGm=*ljM^Y@sdg0y*8?57_r9B5T8 zc{H5$-rE-qPR_GCAOFy|{Q9gOz&G8k{y?d*pQE7MhL7_O*V>>`?i-yVo zVN(B>F%Wm0fByvrr(shmI+ZE!ZfI#?p(?AZ55}ZS@7$povHEv_>;WCmP==WV)YT}j z2EUVfufl>=r>C1&2m`_E^t{zSz;km`#GM6fMpvp}{OwUPTwz581q^HnpFM5_v~aPbjkvVMLFZxTEW1C1Q*h$PhjulS+hA3^2tp{t zq&m>#a1$J8Khc8U8VWIjLqy1d>!r}x0b0ZU!9jGy({=)DHX@rF{KTL&5(6}fp~e*t zzNEs&05`5XbRV$PSy^otsZMG;TCc_0HayyGMb#W`mFnfF9W}f}=JJt|k@Id?o6B4l z)oQ05FUpPPwVnSB7cfF8;`M?yMeZHitPa1g{gHSRz1lS3XbBmzbWC}V>%0t1EkewP{-A#Q50$A(A&*fOy|PVzhcm5+FzW)(bC;5`7PhTy%9 zNV$s~%qQV$LlA#Ih(gqI$be-L_ywfRUtV1+ z)ahO$fcaxY{|@3Ki1SAK^7j&R5^!8p)th@Bou^Wj^6N;#=KsS;`2U6A`u{)V|1%qv0YP1uL=PT;rd>ekl8Q3MzgwaK zL5O_NU}i4s>)V1*mA9nvF&QsA{nY>NdpHvAp6-_fZrsk?gn!owJiZN~j|Yl}gZ|Bb zuR(+09C_KMXUp0(-IEYEFyw_K3Qnm~cH5JGcV@P!zn?6oqq`rnHo@v-SoA$uAi=iZ z;@=$_Jr}$h#9>6O4DSv%r`H0%EN=e^t=y_p85a3>x0h}C)>k9oWTWOR5JI&ed5z0l zT*8_Zrl|j}0&p?e@skZ#Lq~>OBUc#zdzUpV=CmR79nLRD>Y0;o0QX;eeZ6ez>wY7lb^ScKe4Vd)`M^kcwYT2F{X`Ak7NHHF+8$3{=-eL3F#mY2J1(>ck{J#_N}oP zwZ6vJJNEyBsrQcOvVH%@?Y#-v6d^k!d(*HbWs9=+-h1zm8B!sIjO;BdJL0xi*?Vu_ z<5lm^@A2#5asSaBuGe*)*Lfbta~-ekbRvJ(I3c|!*6$mYV+4?kNmP^?;$Wce|;fFVmcOVf)whdb5JRXi?zZtzG>fdAYwT=k#N2e_wLn8y!~?7cZkZqYS!25 zOAiB;^ZmQ%&~xBRXehQBUg0bo8v5TPA(}b4KNZA}biFYn!|G4OgF>|Z1=J?j=qoy3 zKEJ=;9?==z3UmBmp#()HiHIC;$ggi-VU;U}#iMBO$sIpHLP43xurktZY7uRO&6)|O z*CYOISQ1fsY~GCl#+LcLeomJA#)lzTjK+?&_Gfn_!|F=A>$Z-FbnG(1S;_ytcjjuP z^!KsG@`{LFr|`}bp**nJmReTS4eQmJl#?s{J`3Taa%9&Z4!D9ouA4vG6;t9OL?bo+ z?}@TvPwk=q7V>`rS>dcqe^)fWxqEv0{6skgJ5qOd$C-3%xziofFxuDCFr}2K_21R` zyV+NK&co<9BIsE0B_UDMnH;KhqJZ&t#OiYYu4l*GI&{q*d5-DXB_q0#npVZu%(MXZ zO=9B16vk0>MDKPO6Kri6xKote%TFuFh)$+2!&WkvYQdC?Rr(TfYAs~@yD{ezPzQ&t z-#$(uBS9g_T4I@rVql6S(nY{F=JxROYV$1j zv5=Kf(uwSArv3Af*(bHa!_NTkfS-$jjLj<5PirW9rnNt4;Dd9dDjDRn|CEx7%D6)G zzv*I3+j8Xo1LxG@YO+yuZN^Xb9MQrx{=ALcs2`J{v)geOgD+{5dWcIZEQCH8z)3YN z0fl6eA^RJ%*HKWH4(+gfbi=X4lEUh$aHiB4P7w6L`B~gVSKEhizBO%rw!W`cxfz&H zG(00*%bX+IEa1RVwpB+l`nfppbruHe%=4jv!`&^M0*&wOl+J9-07oFg<2GiS=%L*( zx3g0Oj3QITtl5c^92atJNk~Z%Iggv{@3d z0q?}d#zqWlCu3fkO^o^n11=_73UYewx+W}Z$m$--^h%#{5yj6WYbT^)C`r#zqn27c?7^SA&u8Wrun2AT1LRX zdi2wn>IqOhcqC`^`4DM@ow?F(HWo2`JUKae&_$eq|A1u#y|%DWP3s2ufe{f{XNT(u zl4hZD(l*Lh=O7P z_z`S_VUT`Cm15}Yk?p6@D!jG!>+|l6*S5U#6&^-VQ|AL9kqod6S#xvA3Qn{8oI2VyI7;e<0|rQ z?Wf;UXRL~bJq#U%-wc;Cc8o5o8U@d9?zntzN`;U^1D`{!`m?pqgD!S9TYKD zu6FLI3E3(H_Mpz|Qhc5i$U>GXBQP&1Y3Y97seaM=i1lH_*XX-}yS4IzvpSeJ=3TUD zNNx|NWkuFMPw^T^VNpLGTh4*w=eD^%W9_8J6Gr19W;IR1bIm4&^|L<8{S-;0h@~h` z>efxyMVNW=eQUZ7S+AP9D(UBJ$RzaSb?5An3)g$XeumHuH9pu5G&cg-FQ}5o47~8c zT|>^*bm1s=^q&drF1&UL+Yv-4g@p^{0}^cry?*-*?Kv~a^XGbFGz9-%Wn6fw>7li= z*Vv(c*1_ugA#CH{BpkzS8{)sxh(*T6Ny_ZKX7(>+a%mB(D0+_hiSWJaYO(MHKk~Cj zW-<>|LeS^hcQ6NpnShST15S*1 z)S8+>Ai##;Wh_PjZUHvN!!S6~*a#LSzq!)T4u5X~0ZY}FN0YnI8@_;tel;eiY3Fio zx!&UtLIm3{A{p@NkKq-%s@N_XI9uN9SaIz5-9SKT)Uo2{gOv+@@gFcN<-%}&N?=rh zXv|K2@7owkA&#s8*N1UDXAz8?g_DH@DVS(Mgc7fzI4!!}I%2z>PSmjMv|>|A&Lf4A zy&-iz@$JF+#AY?6#TkTKBDy_Poy1EQEM!18MYpO^0kE}eK5E?2KLLOkk-Gc&X%Pf~ zqe4{;I2hGiAt^EzHfAtW*pI(V(ch^7v_M%|`M%2<83Z`uAcGdbXOepEDx)i5eCb z@;lT8qqJj%;1#dWsZ1{X;@3fNU0A~SfBch3R-I|I(02A}}XnoFh zFvR{vI}T*sPPs3}s9&Zv0K~G}XXjf!AOLVu4uoli5zw{*K<8gpR+eK_#EOG}h5>U! zy!S!1b;tG)sEOFh!q-RGSUcIzevw;#6}>DWEkwo|S`+@@!r58$m^LD9dfX z@KtgyJ?)@cUS3A1!x83$QpZ1!lu~(GW-seRm50B2pE|->++?W#Y|AXl>A||T zHRu4Rb2J_n*@b*jR3`&)uwU|Y&PbrwcNnT2^?FBo5xj37#rJ5_@CHLxzFD2b->x_O zY5l!sXh~mKq*v4UjZ{yDom<0wk(4OF#S;A9%U7lH(xbbz!PIN=!P-O!32!wejZH7l*7aCo`?2}ePMu?@iiyQQKWQG{XVNz6G1Gns8KsUMzr{3)b+Q9L5&OO ztnunoUfw^Es=3~VCdu!=ucAp!^3PNBUZbL-8l0i?d{NWdD)ZsvM|oHOs0WX*0kH}~ zOeapbRZvtU51GIlu65TA(8~k56%Ff<^p48+BsNW>Nc)Gp06juaM6Hs4uOJJ2hVQ`p zHG6&qxF3Y2m*$)y>J;#(`)-fr1HXp|uLXo&O{M`anfZ4Swz*u2diwfPRy4y^a-N zWB!Ld#v$C(P}!;{<#cED=dX(Z1%$B9A~+)WT$eaFwpG-K(oRPg)yv8}Jrua8@YVw` zF-E)1`Usg9Ev%O`(UrgIThngPcm!wN1q5z)7HWOIFh0ES3Bh>+rv$==S809Iw&o8x zxY^`sioLD)A@U6YnIp;r$azLbLe3U4jH)3*0aIHm#I1&b$L-n)L$)h}*8~IXlY`^q zH@{v2GFwnm5|sKIpiu9X_5<=?Y{DiBT1lD(thfNAaeib)lO<*A;MnVxEo{ly`WYK7){11)hsa& z|GN=f|2}>?ntz4q?~9%DuG)QqOrI;ixeI5C!JjxVq&myChd<(k@IQUjx}3CVDMym% z;e4j$qY@^EGcqXw87ySlT_MK)UD8fjTU8Ym1y|Q2B<*3*{NV_Qi$N{{I*@(%_4!C28RtbH|d4(HZq|wn)->_AP4i~$=*hhpXU(DB( z%*ryNIqU!J7{H!+v8LUGQ{|EELPyQ2lqh$WRD)L1mj;5- z832F}>L3hT%bL|3d%=hXRQe7gEaP1m-I_Kh>O-ud#lA52n?jf8v)6QeeSKFMoQ>O^ z6&Ax7m&*SHA5^*CiO#N<`dAFS#ChN4QeWt3A7uJP(5M+hJ=J5(5Z{leO}8ER^ZxY96ql4J z0_2Iv`_a-0sjU@(ScOATr7>XguD3+DC4epiErYazLa3j&gO86mQ1A2G7&C8)Pyo7b z1JIFd=;R>abxO*zU(@t#RNK6N-z!<*wZA-SJKt`KLu?`iV}U?HYd4+!s?NN}Nb?W2 zsd(tI^*HW&Ys!aZu0cA7btt1n^v9H~5XcOT_|Rt?!~dXPox;wx+ltE_O!L^9hY~Tn zWG?b%6Nfc25R=Z`XfQ4X;~(hMwYt{vX?;*f*J!p9|E-rqSltqyvu?)m zu5?335sDN_1UaSR5~G77Hi_9lpu_KiVk6r1vwjOJt96I6&sn2yV?u;xz3-Xkl<5>9 zhG6_H+wJLrlmZ8I5G);t^@+;4*-K4L4Z+y8(oG~$NhI9Go#hVxE(JHNi326jUSKh)bG zfv7FU40)=h74+(qAZ2(JFI}rqv}zJxe+=$9qFq2}w!q;0U)f7sc$`7Dj)0a-xlY>1 z=B8jY|HbEIquofju$No-XquLd}IE&{04FZtY z@Gh$@=HK9aBDIVCOGkY0Lz20*H6mr5YHt@}pc_=BYwG~d|6BI~_f2x}AJ77Ux^@jW zfTO)E6rzLvZZ1((0=s78S2*#l7lQN2c@_xH{4YCj^IqOSQ8&CP&&o`(4S<02-;}|+ zPeTBw;&-1^l}C?oYBo}dP~eTr^=X1Q9PsG6#Ko=G(hdGH9CKNz-IA2BxBXNGY#<`~ z1b%FIL7qE_UQO&wDAU6_U}=SDB}y z)8^OK+Ro%*v4Q)YMOmQ1>y+;qk-XZCqodaaoz8#oz>J{Mm!3}cX<2GGo>@Pv|9+2+ z`A1KWESJ-VLUuZ@jnY(QRu^cz5#jgH-LARFRPSTMZ{hY6F3_UbQ7K!}%@)ZDDV*;7 z<0xNY2an3NPS&?ZkIP+*&O99>t`jw`bCGbgao_HnPAO#Bi=F;XL_ifdxVT;$MSPTh zwQECzOw9da=a`hS+EQ59$PTuacGrd&r`lt>uXC-Gxcp7?sf#`vpd7UDKCUS&Tf(xgNfXME0L8D^w={+6v?k< zH50o>woCg!g#l;^!E>*I@s-8yc7l%$K9Y6UQwL=6lM@p=kU6p#=XY^y#(fbV!C&i^ z{|`E((lGVH6cMrxc3@Q&9KD0muUd(kbpmJ6H#3vIP1pCZ<(bzNuOlWIFijjISW7;h zOmQ#41&1%C3&1PeOjgFfvjAyPP;GlD41N85q?R2w|9wopu8N!OW!(HTEiLFX;5*3u zuJ*GX2E>o&VAhJXuI?mKQ({z*$zSmIfrEgMtjqn{bQ=@>KBV0kWov769bLxq^RZki z<>^lKP@VOsQM)3u8joPHA%1&7C5$tGLbh!7oLmMWu7e^A-aX_v0kD-rtUd6>L0s;j zZ35H=vxu;0{VeC1OyM0FEI0trd{jb+Kz$Nr{4yazVSPIg9oHTh>BF;3kXwMZ3E@nK zVHyz3huH4Cyy~ty5{OV>01yoL0(n~taLGGhE6*(`Fdw|6asEdK$VNKXFggo+2RaL( zpp+HihX?WCyLUc5;^%$cHXkl69{|!BN=NeF56qG=>bH4?goId?>ZWZ0=wjsN=3X$t zs{q|w{GyY9a$AA=`xk2J2LQE(;<+^RnbHz^Te%(I{>i(6c=4+3jkDKQuG|1%Iy>_O zIWH~TQW`RO?E6i?+MIN&`UcKk9aRxeS4RrC?jv{-M)}m3_(&2VQU`pjRj)dduPjJX z&2leGU%z>S!EjKmQa3Fz_y>(hW)3h)MysgN+WN+0zeZ4_5&Rgf2F(VVO`-=kiyRp*V)pN9ny>(psAfZ95X~5^B2p5 z$MsMVd2f5o!gLZ%z3kbUe}q;13#G?Fo%c@yAN{^9XNeP^Hh#GMUp8V47^q(3DSnjN z?j~wL&=R{T*24!6!hi6}a0W03V+m6q84Zq%knMTjj8TAkk@5+dI7SfTZ?sp9yluN1 z7Xp1gACh=8^rscE0$`OOb{d3)@}x-$D*!YA2(<(67aqQiC2>3f*ZU5Ah7#Y2bxo%~ zD^O~Qc^=A5iMz=pvEO3KHCAR~KUMw4!e~6>?QY;_MXA5?fK{W}{SOD0{9)X?SY}2v zP;np-+M|u}oK9%OUOX8Wh6;yK_CW>8g90_KV5!HCA9p$Y-u;rl^<4%F+B5vZW0FW| z{HxjAD&Ff|_zULWF-UQpq(WBdxaU%uKcUi0e#0Vfn>$4FV)x2{`E9eK^dXz9O5Pu@jTcnb(&-B+NhH9lFw)=U;Mh2xn4}1TXtIY7v7vxN zsRUCVENeccVTN01Mh{UO@1XcxeqI3>Jii;) z>lwqKj%%MAoS$cr(rx_n4lmsdGD!UoM@PpgH`=YcY%hB|n+QRQ_Z|d% z=5RXi+E{g9Agu^5_3`oZO zQnzm-H8Pv!()5Z&;uwc}Zy@9>Fr*N`roVS7PV(yhD`S9x0Yi&_C#Z8TrmCtcOw9In zc?isrceK)o&B7p~xY(+*&%2k<~{FL{DG&%_f@p0`yZ!bjP=ybhIhW{c^a!|?2KedxoPUmMc zz5BetwtRlghQkWzvXbfg7zL9!6aBaS|0!RIfXXV~g&M;1g`Gl;J^dfDm4XWNzs;i@ z+hKU|VB$-(`b+VsmjjVefC|<>k=5gPFAd6t6ysj=uD7ehs~SPoy+G#l~?rk zzGe7(2RFM|V?tt>1B%6puqd6J-u2g$b&u%>eE^nHExABo<8dN3h85F?aO)HxCu-M= z+d!Yy=}*KGECm{1*Ny)I0Q5Pl!Y5-y`xjOhh;o>A&uq@M?wnTP1A<8f5tPy(3-iC$TATd^HdoB{GSav*t$J_tHmQ zi+6^q&-5#%8u8xKoe~H0?)8XbOLg}KzfcKxMiWJvTgtHO@Vh?t!?dB0nQNyo_)gJu zA`iWt!u*4I-ZZ7Io*rDCyq;C(7tnyGin`f0aqmf<{w9UBl|$aPv9W>6#mpQmWnf^? z#Y5KOF7hR6vIh3OZI;S%!#kA;9mO&6FNtvoXKw&%Bv}{0(A(O;6~*^nAwO zl16v~_)RH0VuEaWq!frg_|SyK<*Z6(O9u|4Z--l~zOBHOUB`_);Od`umiF4cQBnMy zblmz6iGR`{S+nEmNABWUkJxV;$*v^24hQzk#N3Dkz|VQ&Wl=s3g7ns6HmYEvYB;rJ zC0qeNfn-(v1A*FZYKgHg&x2r2RhXXR7WM22hK7d5izoU6AdiIkh}}8qF8YeTzP{0g zk$A8ZS=dUc_s3}Na|Zo+Pw6jl(Fvm25yQ|aJ@cENF7fPsUVnrUpH3gV2e|`okk5L* z%idhod0cm0mw+PW$fv>e7CB%=pF<@>5FeH?;mt}tE{ewM%WV^oG^vYB2sea?8g>y1 zIK0Va1>j!j%%vW}i!h6{I6uNzxTo25GOC~e|J~aOgb`!|uW0KxKCilkNJATXuZU@* zO@^*2enqqim`5BrZ#&!)G1DMr{iKO%e-rKa7lDYeF+hcSTJgE_`H8jm25>lU=5 z3d!=JumSWwWvCFMVputG18mbrtv8$6s#-PtcD2RcU5XM$&HO6)SZGU`G zd&3y#r6IT&-~*gM?Yk3Yc!2^MS@A|L=x~8KEAflS-x9C^ND~p(3K)`SQRi`L=VHtC z)%Nv^%d7?37o(rOO#e|c8g>KE&|`1$de3rM~fVOU-VNcC?~ zJ+^}8%BUqUXP+@xN?)JW076rJU1YbfF5f%V`VnTNr|-~T@6sax%Ain&lUL8Le`q(7 z2o?Qo-2Mo-9Mr%<^$0<$q*p?(GLcoLzcnS_C!D~gKm6$d#PZ9nWdePZ8k_3|NrEVY zKKd~j%VBSUi^?EF8F%v`)v_y+4(u7;o)!GLh;cCQAzh3mRb4NwfP?%l*o_<=Nnb0z z)`%`gp{cJOLc0Ml?f?)aX!OkunP%InMMcRoVvxi}e|(&R5KDlxmZE;}D5SkDj1VzX z4MC*=0)$Y>g0feir@22vh!9>w7GTg(5jDzkwjUkf2MA=vb2@I?wi8AVYS+VEX6!6o z`bT6nj5;(z8xH}c+(sEhD6o6A-5U@K3ZwJH!jK(E+1GfKDds`qcYQt!`!)ekdqUvP`*NwV6xuFy#FOSCKJi*8E|SL8_HBOy4*mLN=H!3&P1V#MT$3Qp5ZpZiem^SY_zhsSuwV)=}))!Xg{Z|7iivJh2#e;EKK) z3bfaOkp;HW!!w%y4~hc!C}@rsAxGKV))qq5q=j<)or;>Y^&HT*pd>J`D?U*4@wr4_ zKic&<>dz97LM&+50nIHeR(a(<7e;P-FNN^*@NhJ?t7&60BtqN&NE`Zgt|Il4Mj|oh;G%a# zJ6HF0%qM?D&v}f@%#B%QMIyw8B<#X>fUjF$o_0KM>RgD!M}I{ZP2q5nON4Sf>nHg{ zs~xhR$;l+@BnSRD8Uv*AU%8oTS6a~kMWOutk&_uUuA1K@Vi!AYCjj`|Bs1`t9z?hl zfO7==5_C$+!*k9efcP*5V|jQpqS1M-FeW7>9ej%2+S}WM7lU2E1Uy?5-Ui28E49VvL4K;=)@x%kY-_QFrkyn_9@DAe4VV7T*mr5Hmtb=t>yRa^r2Mlug-8T8k$27)(ZOPVhi?(&f1YM z$x$Z7+f(CrReKVA$aNn}txQeW{q=Iid#TCzwWoFgUHT^-8CR>u6dulW!XcMk_Tc7l z?&;{^yV}w=Hpi68A1^zL1a+{v`RP4cHO$%oQB^w-HB1Buss%CL5D2GI zApZZeu8jY-T1ybth8)&L>_|Utb>J=rMy{xWV)x(c*!EW+oEyZOxMitfHr4J&ZXaxz z;o5`lWq6RnO%rx&M45SRY9IuL69S*S13GH)1!K(84jx)78Dxc6bdsPuiz^8u0c$up z@9}xk{Yw*D*CRiA`A4?-cj7~&?8m=xqPwNx?EvSqNwmch9o|V<0$R%OXl5$3u(tlJ<+6$tQ$EiEqv#1DPWB-V3z)lt>vbl!LD>I;Cba}3>>`=QO63Iw)HglXZ1xo>_P6y7aDUisY zz!p;KckK(q18D>^IL$Ad+@|Z23JW7aEgB6(Dd2;tJjN)9+5<{!U;VGkOG_^RmYC2e@;MU1QOZWkepK$QmAN_4%FTA<6gDX*39!lsN zHd313+)mkl{a2)2b%0@@jPgw}Aee01N<=qcRD{7Ksp_!y(?s3C1~1kc2^aI6IcEP; zq?$#fM09ge-20;SB|?+|XOFfW?kNzgd_wkj4WlmE5DCCn96(C{-uI33q@%*}Vks)+ zR*z-l4go^8yjm;u1*J8#lT+R4F6V^TFIaz25Zc|EU;M*1EzlDw`LN|LRg z(a;ONnB@+u%foQ78bdxOl)W#)yMn3Vmdt$v{m03R=-O3Wo>*E;N<3t{KB3jr^rYa- z>thD{+3AAoPE7mF6TIAa*q#a^Buj6YtcIAvzsqgM92AccI(sERdJ*EeE2YlOx`G>z z=088AP+#D;uwD`otMM>4m zn|AaBY|IFS3j9k2nn5uA!dUAlD65TOp;8>0G0|alw@+bYwiV5fyLjye;lK2^MCuqo z>5Y*3v+UoAu9S}JT!EBNfOIP|Ac@0{r&t1yOa+tU;mmTSfP2vPci|cGKYN=}D({4d zgnqfV9j4x#@z>YgnqIE%X_!Cn5^Vm1^wZJbAqBbUusK3pYUq!@z>NaQ)#>Zh#|_43 z-?^j&kWI|ok2Q~YjrisVgp}H-iiH0Cv&@gx!H@$(=TtEM(Ru@CiwWz zBfVI*?Vc~g%Oy@?YKJGWV<``ZxGJ}n^GlXZ7}f|}qScnUbUI^AT^(oF2TJlKvrG0R z?<9mfj~+HgE)5JxT`3)X0Ll_#$kCCM()bX}X03VWiymh&UP>?ea}Kg?CmHpTIm6)V zriSy_#P!1M>+4##v;L#TyPJg+pC?{(=vKCLC{%uOU1{)XOYz1gV&I*Btop#W0uAMM zKs?btK6ZORssUcL+xTnFnolKXM}ne0TMbQ;{a;+oGF+d&)E+%Qb?4aY?`=4qx{2&N zu$(!t`*y(_eT<;L`}$T)ewp{7nA>6>SC?yikbEO|wEJ!eKvhsqV`jSGvn_UEqI6`F9#hi#-v&4C&nQpsN?W}bNYUX7YDRsZd0emc)68nEQbT=%xW zDmit~F~g{|pL@45WA^7Ur})`VJea{ZC>pE^UN zCl*F#ktym${Hps-ukRgI=3kZ+zey(SYrEkidYyXZq9$j`a?q5;XU1GkkbO2iyp&>( zo%Cyox>#Php!f@Bb~fg*>)utim`bOVqbnxIUsE#$UWi3nIo;H3|NN2f@G}-23*S)D z$gteOdKC8c=E`b6J52f}A8OQ38`gxnP-e@?aUtOhJ1KLCKOXCg=66lIMdy2T|71^D z{gD;USd{J?i;2;Ssf}ct=iXk+#J-2W-;Gm$1*uE#-ZF_{^Ao-9ZCqNc^oHD) zi<@}7t3OzK_}(_yWPh4E3(C_x*;)7T#R|UD0r*R&%@S(j^-y9>WEL*8Ug_TD@lqZzw2|4Cv!<{367VB0VXUf{cNw|BmRC#9>$Ny# z5OI0TQwGyfW^Mjd&dSibx)JWsi8sSdrxt5Bm3EvBQLJ$v{a|Ub^EbcoL@;pK!Jeo4 zxT-3lTX@;}%m04=(CD*!NnO8J;_}TZ!t_QDAAE3PDe$B-)y&g%@oiFcJXO#kpL@xe zVu-m>-rV>5ZbjSJVe`X`vC}WDW4itsq4R;oZzYdc7WFatu=nc*==|#MSx(fTnaJP8lfjhON@St#?IG5sXPVwz7L;b4sC<-C6teK!7 z)Q6#ED!z7`Y=uADP^1fNLru=B>rCSFMKIG0^$Q#FyN`; zuNUVEqYkR=`#EJdJ!9L9BBwVmt@UTZ?aC}R|9!@MY2z~`*1H0Ib&Yl2Rn<6lHmBRPs1r^o{ZX4^{M~FDLiZY{(G+;PUf)T)s z#4-4avAZh8_dd3LLTe*p3wiSTPTbMYdr2&0JM%SL)r}T!Ue522qj{4vHW6mq7%Lx( z{96JonyC`{ba^$}F83CP-wCYAr#5f=$q&iCkMuUI&#I6@+Bx^IA(1A#N9O1zX`YX- zxt>L343*E-r~c#~8S4yT2@Qh%vGmS-uZuw>XP4AGqvRO1Dx<)~&S;;Ct@k`98@I=J z6+e{4emXfvNfc71?pYQxDdV)29K@FN%ItTKd?F?_I!6!eK`=o~oEF%6u)3#5%H$*6^+Cz0_(7V7SVn)zDSrB_CN}BOg)}Ki zSia6ViV-@)Tb^aS)iI2q@^H!cnrpoWC*+?>#x=I*J<@}RhC@LwAUn?kK zvs#0<{79Gx#cRZOh;(P1Tp+=J_4nHzA;t^>p;`3lvhYLZlQup9nDzGkBkN* zI(=G?soW3Go<0?LO0x55yy5STqoiapuSB&GxHypZ>P0cCxS~>+#lXELdN10VpyW3VmZypwlnus}UO%*GK zzgjIkW<=pki^hF@RxEh0vO73UdTWaU{Ay+yfrb|Vz%x1#%<;ZYu3kE@_GKr zlH?oxd891nD&(x?Y{P23WlA~9cNAMo67MysYFQ}X zQD`ks6eyw3auwI}$ckQ;X16Vt^yXewUr)dHP%|LQdP9Yrq_owmbZ`A_*yjxu+r9NT zlCPZPTFFMIKJHnfht;^xh`2&J4j3R@j9X>ofK`9--N!S3qO`+>WHnhy&4;m zpu0cVV%Xq~x_>uPkCf~0l@53nDrKwdn0c{0d((dLgCzZNU|wq`rI8+HX?Jk0+K`dV z;SQPSq*>wNdp~dA{ptb2dDfB2)(fq?NSo*JE+@z5$3x?y&aQS(5qpDN|6`nCv)7v$ zzRMPA8aDjB>4o8+qB}8_K3+T#8+(##_G3Bhr{!=jejK4eO=|Lfp_wm05AerhMk7@s zacb(|ZUNuNvq%zH7-p5*Kk^tyoz}S7S#(t;^i>Ej>iT9T-yxOMgNIJKC>T`u#KZ}^ zWO*-Da89fZN{!!rQmTu!`28m9#b!lfhVR&R_jgZ*QQX)buhA;|)xg?e(d@sgOU#Z< zDcfR;j5g=3X0Z4jA-=ccE}dbr18?giQr4qOB1Pq&{CK;O`MI#fy6`t`3ODa|yAk)n z+f*^0Y+Egnl#s2q`0hbH!~QzMuYu+dv@8(UL7bNQvo-C>3{ndTX|FZ?6M+nu>NhWs zUfJru-R2ROo~!i9!zNE9qQR40Bq`s%C-qR6pObdH$|H9%BPGozOMmQQyxQGVbtO_E z{At=4L~Uq(MO!N2@2lpZ{;|%eC&>4$))v`F`Rb+gb54$DHdo_ieGNg_O#wXo9DK_e z3P#6bgk$?%!gM7~)ydl%VtCIfCXQt*eol3+u+6Htez5W=6&s-OT6uV{q3(8{s?%eMlU-t+`McTM{4VXUjUV(J-aZUsBx-jGRn9MN z4FqA&zf;#0NluDunlW$T8R?~W;r_T}_U!rQZ4-J42^0a&rEHtJ9Rm)WPQidLi?1J; zt*X9SjbQf3Gx0w^&YCl%lYGH`R*C+u3+t`Pd zEB@^P4qg<#8z29I0~>CN_45dTs5&4 zm3YAMc2UkR+Q-LX!ZY+g(bP~SF8bUyHJz8Oz7PLA(3;p+(()|)bePzEn^73cXEQz; zmCmoCHcfTrYiwSj`R?-HaEAok$kv0~8qZU<#a-jMr}t@2d=?GoJXr8_$q%yp8)Fx^ z=4$-S_{`5+7OF<5vI;j%=U29J9mSApyi?(Do;QmU9c_IwBTjK9s*JhuqPkdE;_c!# z{S@Z7`g#LrPv+Qi&}%-{5&^BlpKA$h>vskgQ`ruOYdm`RxO;9h-UzxPc+lRrOIN?Y z$L#IBuJdLjC42A5zjG94II-(DP1ZUU&%5FM-jP40!|#i{+b2R6hQGW-`LjwRNz?3f z&z$B}Okt&HzC*oG;-X^AH0s4^Q)mDKn(QlO=jTOf6I+BT^?p^$e~y#rTsHLtn-raA z>@~kB{X|>-jby5^?O?Tsuv4q3nqnXB+!Y(fpzbO7)Sj0DFjXg<}qe&yvpz+E{|pP#_De=hg7xASKC(^?;Tyra}_vu$M-q**P&yYt-KG!)iR zgnE_XlGC-ZfADXZZT#C}ez)fEh+~hrJj7$^OIo!5^eM@c>qIu>m#VOnuMZ|J|`ZxIZEp{_|TY zd7=*)XSn=_%U(9>5^n6XD(tb!zL>jI<`JPVx~r$GAQH_YJTz5XtF=Cz@9Dtjyh6Eq zxPO1b?*mq)p3`<01|hxV%HAhirg(ZOF3LB&xBjH?H09o&HJ@f8IaoX%558CwEsOfQ zwtJIWo#BN<6Y&Zpm~}k*Q}%vT(~D?3=m`o~Q+ux6cI;mYn}ytW0WH6<;~SF}zQGlFCEQnY;>BvNa8SslN;vnpYFxxk?K@ zHjx!BnXETG>HuyA{!q|_tUf&P5mf$YOq#3jHbP~gsmOjfrS(@ayjgJYPJHnXfC*jFu7cT8#elW1puEsCPd)))V1 zhu{0}{Yh|=f<-1VnVTzymyq*GE{N7+DHqSW*Y2_>J#p9j%l7>b3v<==uU?W0 z71=Q7_Un|MgMvHW#AHUaH zVy{-(?M15CKYW8uWE$95r>C9NV`X_Yo=-#nJ$aP$CGn3rvz-f}IOIv8`(D&;HyVv{ zF`kuFluaZu+ zwu^~Uf6&gou%}GDLiK1r%4D_Xx?4ryn`lPhmTX>-XaBrU2E~5X-4sna^<&$=%Oj0? zq|b}$k*qI7fN@ItodvJ5(yj;Cf3kRl!9q46QC@szUB>ai>tcU~Y~2dAelN6W%6su? zv+3~Flh^^VpQ^gOqUR>Uw3-;J{LYoqU+DExgbXWF2O7OmUncBZY}Nj&sAgde4*$%v zv^6m3RCRT0R^xs$B3<1pw(5~5vbmpqNo1ufHnq7M8%A31mey8QP-CEt;XC!_52g(l z)Xed&jN&av+RyTsrW+|jF`9$=dZDwg2D6~57YH65&#=x^vXQt3M}ykdPbv&{0G&4%Yt9F*g_q#58Ty3pB zy%DYb?`$AjGCxbt_|b+uQ~vVi%U>Vk`_gSP6r5OAmGq;PNMgk?!`#yS$Gr|R1@DXA z&HVCdO7%&CN{5oX2rpJ_4=(wW{cqZOtsQTuE}RZ~kpI2!b8JOqE!*Wao))NfhNAQr zg5N#gt*gyPIi`8rXR>6^2LE{`L^Fe~I*s}^jNxXO^P3w_B~wzeCpWA53!J?dj@$No z1x@Z8NqZBO2@7(3TArOfL*X)<^7kuN(f)UAOIzhdJyj=Jh)Lo2E#xKo-X`e>Zes@X6EqR<;%+cK^xQ%I?)28Iq|3T^7WMzxp@Dr*fT55{DJK9`k%kkOT zQxrkbqE&Uyvh$b1Y2En^o##q_#1ljP<5G%k|4^4SWRCuL?Ifc2_k$&*0k9Bo_YMC} zz}=Mn07G%?ZakW48x$8-yv7{t`ZwqST@P|xX*J*V#wC@jBao#&0-+rGb@*{cw zZjJAA(yb(2+&E`YJ8NPS0gpVuyQ=ltl%cCF4oA~F)y3Hs(f&+E$^DK1*pGh%D zDZj)X6VxvAFs8N2xchwa*+VBS=c&V)M!wdgMw;uPH-eo50&Q<=_01L-Hbq`NE^Xl& zE}eA2)=u83`K-OS^q4|ZJCEVtd%sK=vU;O%jCar zaHb(yo~o>@NASRGMFfc4%`B;?Vrnf9pH-nxLI@1d#dyS!Y{%IR4Uf`}O{#eN& zwt4<zG5c25Un`g0FtsWn}J8GBbGbz}!q`iMiJ-Qbu zz=<|e^bh##H+jUL-(AMRW%*^!&hA;yFWk>9l_%o?wh|Zb6+H@y!k$#x>webbQWSa1 zlF_%IEXa9AW+2A>omM-^SUxXR$A_iH)>qki)R{e-<3U|9_K;8K{C5M&4FUaz_lz_4 z5ARC)tZUUf7X4p&am`_u7ombt-<%6u__I1K3@_k z9!j+4N*k1bg)w|dM|XcoKlV;kec|%^=Ste2!t(72OTw}WN-0z0->Rf;7KdUe<+zH6 zqq(2v>dcf`@ak#{YU)!-lrM^^f?~&{G7QYIOiYf_Fv@oxBx6XB)fWoB&Vw)dkB!gp zM2E8HaQ)mPOJ=Gl9EGtk-6wx2%(%Am306H(agToa{J&Gqiq`p^ZojP9OVsCAtN*XH zZ;xm4jl-@aNvMS6Sd?-ua@uAIsU*rdVww zu$VEt`{h0S_5Ss~&!77|pXYP$e(vXcU*GGxzTZ3JD0DRYdiKBrHDiDk-v=Z9kM^H+ z=*GNKL??ri4{SC48^u|ScfDz4j`pB8f?Jb=tmD!t9=t3MDvKbDtYmc>WYtu|aRa4F z;R2uid1}G1_iB@S=T2Te%*9j{NBap;oBghC47!?r@)ZAJ{PHb9ZLSxHb&yzI-34(@ zHp+63UetPkRc0wRCu&zT`K8?({4qO*daQhme>_TF-VDyXM5*_?E9p3WsHWpJE*6|~ z<^I2Y|3lb+b!t`>PrI!EEv*J?Q3GKoigJl=Y0>^!19=jbG`} zaYw`NtGSKU7)o7dAo}QHMr*0rI?NKu{iFsBK0l0~|1i{j8767cY~pJYEjE7@=-q{- z2;f)8Hoi4IB|gf%uu&~+INbCP-wk|Y6)FfQKtjw*KPiQ$1#(}m4;(-26}BXi7|eT1 zhNGrKulgYhI@-sTrdIJ$rM>CZ@uX*=T#*z8QxRPoP$;mgn7_`Q}sPcWt~ zTwfSGK0c7m(Rd+Am6FwVm<6*d@~dNdGkdKbncaf9a=uBuq{|dYFlqlw0b-)^eAB}; zfqOnG1Ir+V&%o8&%N(9_ct?QMa5jL|drBkgI(NID(49+t4rz|J0={F5I{j2{nEP!E z9aF9TRfftZoov?mH-wA-1vLLF8LVT>qz7trY?yz)<}pL)oOc`z$?iG4x!MBh$E=KP zTYGxW2>ebNdTi0tRG}oBS;T4G!A_}i9~8x|c}!p;#QnDr*5JRJ89n~0?4z$4!`&Ii z%d>^ipV!suTq z`>~4SF@1ljZwdP9^LbKdCC;oqJoBr@?BHb=8rUDCpSqv#xMAcDetaYqeL#nuPP%yY z;ER0u^6cIJbLWZSgBvgEJ$nBSew{vjHM#X5Eqi$<>1@HjFG*MT)ojl4;XeL_4?4i? zOJ`S2&aB#7;XHUK8I&Uo3X;`2pqATe0vsS#OX?$aS^ z1N^FNRRcv``vv4zDI`d5Muy45FX5F>eq z!@r&k5wpZ~C2}NC`Zs?%=|O?q0+LjA0V}*@QlL|q%fWQ{ce0EB@2SaGI=~MX|6gaD zSqXZk{0*Ejr%O16qVNO7;*MHDOhR#`5pbou1UtV8;-JgRXtTk}&}H4r`p!T@AW|V@ zf?E6aYP_*9clK|Jk&{x!bV$UJacAY0iWkXtYZ1#82?pL5b*RQC@V-V`UgH9emo8-X zNN#x)&(jM0dGteLSfbh&c}07B&(Rm922P@59LZ8cLgzLtdN)T+Z?~zW#>S&-4j@U( zz>d;#otVyo9E$)Xp|WFPBp2S61*3O{0>^svk`Ccj%zV0EIoZ~D9j3`%JPI#_zQ<}P zgm<5$FME@bHnFgIAI0%)Ozc86H$TLRf4b*}d{f9A(Cyx>t#E-fGx#A9c}m@fb9emc zNFsB(TNN?|xaq09BDC?)c;pAlpr8>g55wcL z|D0#VL;SO3+7WNlOr9;6HteOLAwMLn`y$GE@cxylHm!avOKE0ZB-LITkorq8D-43o zb64sJ_snLtfv{`eCwa;w_QjP{uV}7x7hd7^?w8L9a zd{H@}Hwkr)5Rv=FNUKb6n@^Iiwh5Om{wrpw>Q1s)E2o&#axZQCO64~XAZ+v#d@0J( zw+E&}ONwRZ=;EPQ1M`QAJ)Hd&!Wxb-_G;Le%gv1!-p$QU0TZds%l9Tj7LxBKV(S(D zl&jEJyvd4)#&}8TZGB{w98I~8ww^k}41)^H5UtZ_1#jXlCyiAX!YDAYmhjDUY7x{6 zLs3_085#=da$ly$OaHtkP>Jb{39B7DLBoOu+|Y@M&Zl_#Xp?I{Tx+Akz!GPSy7}+Z zS_cN%niu$^dRK_M@Li-cBVC$DN5-L*U^?wscY;M{q>v1PwR*F603o}Jj8m)pfxD)- zX;k%%L>(4O~U70rAXB;ZE#yqW;DTU$7CUN-{%*6#sIBhz7 zqPcdsiIB(kjj}fXW8iLEz<}?lZ(UXd!j6{!TR;A}!i13J$d8D-o0@pt2gm>x4UWe*vvHz#R&B*Ju6>W%Y3!>m+^%r=yJ3?^T?V!` zz<$H0#>{k`l(KF9EwBMz@}HJvvPe3BMdeqv{OQ<@4ZYtnYN2~hO9(Nwrqc|Z)KWiF zRd^w3V69D*gYh>T>-X8AYzjV%Mq@=*cgSO-zd`N#DD+FZht<7+^V7xdO5GOJ@qR&Z z(9N1)m&K17LOI+Cy`JN|zE$8KWGLdAg`AiAH&?>Khqk1Z3tEAg2Z*NHsJ_*J`Emz; zP#P}PC=>|=`KK5$g9IBBHZop?mYb}}b3xMe>A`CQE9dqpmf%`Qh=`u^V41Jam!q}ADVT^|%qXL59KY_nD^r7PwhY~q>gVvgtJxe@`a{Xesdt!z( z(DaeRTESHRs%qZXA0n2ViJ_3jiX;mZRB0L(R2Aqq?3vhl({FL%*T4uCC(~rR$CWVf z{A|w7?yzZy7_|iGlW3!7qjVD%Ud= zqX%_t<&BF)hlDa4=HaQ8B`RIGOB)^@MV}kwZe7kIPO@bKL%+mIvR&ot>O8jnT#CB0 ztngSiujy|tiBq;cfwEp)n6Ua4kfW*{x>P61BKZTW^GmFa+kVF{9%pBYP~vG@Yg#K~ zgu6y^HkO{%eVWs#=SRPmD6eD=`<4MZp}S1qJ;FPEX_Rgh=cYC|BKVKY-qvFLmn%Zz zWAs2Czu{Wy^XI?XsoyBtcb{1(xEa51D}{F>(^L!tPh6e zI3OHf;JvIK_-LlC#NDdGIypF8O_xVGTiFOz4=Qnl#)NF%Q3I?0a^HIpB7iT=zz8eY z-qbySG_$bfCeC5j>Lf7NeZ?m5hx3YS8K=gLty(!0ty?LoijLZW0T2n%`*R^%Hvt4h zh%4{V_RD@X<+^N{^&8C?pD`12F3e5v}1p?;&pn7tD~*s=cy512v>Nw9C*z4 ztv5L6tv*jsqG>{`Y;m~n9w{LkGGThxU}HcL4VMpr3P3Xr0}y#Af`ol4Bi-(ZfW z_QKYRU@0+2hzW#Yeqs%VcXiH_V}X+J254`sVxDrg+DZ5$IEmzJRJE252DX`Gm#>-R z#>#frbQI_X!kL-zAq!)1ctv{0FnmUETw^FlB*OcqgQt-AMALgbq~dLKb^cZ-JZVVO zh&F_q2;g;;8(evFc+}wW4FCM!+iROLbZ0210m=y$kn6v z+#i8UWLA^c(VvgnI=CAdeQi5^4U?{2nhFHC9dE?QA1$pr;{x7~0Xd225bk1_Y@?xN$9dxm=wpcGqqn}_ur0!)5f$7GDSJzY)S~uhx)&BE42EyEA7#11 z3Ib_cTh+z&b=5&b-}>D0E_gLPy;dynizc49L>{J7J4JiE-=sx=ky=A-!8M|GR^g1Q znz>e5S??|Q>??lwY-Xyd;Wc&y3rv09F*zWHV8oAaTl#QOmEIAEIm4ie8;#MqQDNfcpGgU|>ZPqn%)85dU=Qz%yZU=@( zyctW#TFj^Tda#hnjy|%ll(xHFv)i;+k(R$vUY&BJkk-E8A-BWzy02n5em=J8;V7+t>GBg3 zOAYA>I3jLqu>2ztso5&5$m(&F|HdSzizabq3ZUjW%PlOJowVEaFQ=Gg%rzY!4g+w6 z%vwfFM64W}6tK&Su{^JR4g-hplV?omM=k5!{fH3*>^{+}N z;I4zip~ABFwzf7XAt6u>0N{xvxmrG9qrIL|@6be(sl)`zP<(bwFcQSG3B$hi3p3`E z!5clCgVC zUZs4{W;?7uc!j8DB(6rx{-T}E?p+^nT2vf%i5fnAk7Sni;rbok{0iVNoFRE0i=(kt zTcVo0(?(N9c+G~R{bYrsmHkw0pVrTDx|p+4YBtjjPn_upY$7k3>FSU>f(;LHGcFSR zahHZdm?p;wfMu9iN=%*C2JnbOp_ZV%p8pLh1k(G>NL-vC3Z&klo(hYpbvsWAg;aiw z?2lh`hI>9MPRBY-GTjoY>4F}AHohlmUDt?B{+J{ACki-zP08s*6-E}{Us%r+QEkYa z-Tgt6SR#uO8eBcQHQRMalBE8|NB*H zo~%cCTpvgtyxaB!dQm3~2=X#0cI;0zQO(axaOuLvD%f;EnF0FKBF{^7tnm_pieDUz zf=hg`E{A$&Qj5tsxN7W`oJ8ZF(4Q)vn%Avj_d;X{UGfnnjz5fFCGO8~evitCS(pwl z!g!?q7Bb*7a<;E1gPfUq#eO3t1{19NKec&Pa$CSf%G>vLZod9jbzfxWpW>>2DVZ^p zS>>KxuZuo}I^FYk4;&S;GHU!NqlwtPCYJ3x{HDSG3P{WN7`(6eDrngqdk4{26xm!v zbe-JK%1+^cH+c=uxaP<#*ZnQ@Bj%LJ^%+`6^HY>Bq+SAaAjfF85CW#U1-0VU2eVYh znkD3GPpc14?ygknN`CrUoP&y;d(8`V{PbO@9_?sVU_hV0F^bGM0%B-S!3vf4VaJ-_ zQRO~|L`uuJ8rZ+?9rfP(A*ri_u&t>Hd|X&1$K_t3R{j$79V?aNXrB|ud*B&B;uW^m ztv#-2%+buh^FCiAXaw+F?#{+V+O}-~hrfmesBZ!vWpo!8lIn)h0lt0;#ph)ijB(UV zrJ}7(oqiBv=PN`N(331jvF^;j$hq}JyfFy21+Q_`65KhtyXDzxb_q@)amy8hnyWYejq{>ETG!${ z=Ob$&Q9f09G0jOVaz)!*B_-?Ykn$-b=X!smu<5;i#%*3{**%&Q+kL*B1A@FU%wMx~3$Jf7%0%I2uL)Q3(38eJ4H#w( zb-@Cr{(Zk0A!-w+(h@>yzY_=ocM?{-$XqRdx}Blr&ta*T_>gKWQU0OlXqSL_8$CVn z&WNf7XPvCz{+J6ZlVMM8lR<-mWLhxT87FHU zZNJ$NPkNY9svgT!RV(qx{rIiwzr;n63QPNg*>MWkbxx%F_j(7v@t9WWqlL6J;NE4o z_OcYmvRvQ$ZHmgx+k7n}19AR0{)8QgcfZG2;--WQCXc;y(9}Sew0%pgU7G{sTujQS zW1agwMVv`0&Nz z(ShfvAGrf~<&>G>7Fcp4Z$M(slcgUykjkQ|Pwr_qDoegrlu^5-|N?L!(! z7s?EZoN!upePj?`(=o>Q4JX9}nwsfxwJdd&7VfQwhcWPtNTibScv?pc`vzplSo_Bh zfhFpzHDu1RMB0GBje-vpzc13A4m*JPes9Ht^CSHVvIXrMG|$h7T6~jekxqgAy#6Nt z0m}l}2Hr)6(M6<@1BUgEDa6pKK+IMPc(k)cE3~X^E#0{$YDvM{9zlz4J-$U~V1|G7`fch+3AbJZ* znVF)o4fie9gjg1GMF_5)7uq5ub20kO%=+&|-o2T-TKkQKcgUT=S4vrm5k4*d6nA31 zT70;E=qR%qP!~bvOnzrt8>@lB#63SMj^4c{fFMajwmYDYXlmd&d?OEbYw};luX~xe z)90*3%NP}F59ljZn7g@u3XsTqR<)@@Zm9d@esy7#E>Q2MGqKi#sU?ix=&Bc63rKK& z@YfeJ$)gpFd9WAu_dK+V4^G%b|~~2ex~TgD3FU5Q{(` zZ@ffrucTbDy!4bJlc(@&?u(T@bwI-31a}oY=p@zJm!4EtF}^Ra zx&}TJ#{VzQWze|0Ztt+7Bg??GQd8smTodqisyA4xEnVE3I7gFl{VH2{{j3xj_O~N> z;y12iFF{*5Yow+#8YE+|wfbAIJP7go#h=37TL`Uyw$Pf54p{Ct=h-->J8u>5`d|)N z+bS?6OYoPm?ZaCzrJKO4{5-`0Hq4I3n8xwhTDRQQ^9GqRj4@d?V?NPJGt)_yT15!y z=wL2jYy7{2+kGBQcYID=UA-txCBS(rREdF79dBUi(PHtKLD7EqpC9# zzroL=$XJnONy?Y&2MoD04#r<@)G7_`tg{ZM7QELpIx@nZwr&$ z8`x3Y$VvC2ygc9Mk($LY3 zane{@s*!u-DQc*xnLeZSjr(ZRM*+gfjR~06_)G)8A+tZQm_cX>iJZOZH)|_LnYA4? z5?h(;Zfl;RXOR6FU#Dx>Ye0M3hrz{eJ;&Ldai_ye)Vv^fG~W?-TUcG*MLEy`-Yu-dW`=J@5(7@k9U>#b<=-H;>{Y+Inu=*1E2xnAF9e z=H7z4G+R_HS)^N&G?{%(v{^r~!`sCC^mI%|HFMWcc&kMX zRruuo4XqUzGlV>tLc=bgeGG$MR|`=K|B46Mx6V0_ndJd^G@ z)&)mMH?Q?|`+M11wo%mN3PO{sDF?XYP@39r+Xv)0O0=sSXT?X$ zKO?u3CAehsprKd%uB3jRB+^?ugnB1_ZUlKaBN z?jplI2;rY&k6#@9^{6ek;rbD@NlR_{(-=r3*5-_D8hbA8Qv|vP7ytNOFcqcKKPh zZk2i_z*>;ogpd0SC;RcOlFBo`So)m|`R#p2*TnpDJ=ET%%8wV% + + + + + ndb-core documentation + + + + + + + + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Release Version +Build Status +Code Climate +Test Coverage +E2E Tests +Guides +Known Vulnerabilities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Aam Digital

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Enabling social organizations digitally to transform lives.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Aam Digital is an easy-to-use case management software for the social sector that improves the effectiveness and transparency of work with beneficiaries in the field.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    For more information about the software and an open demo system visit www.aam-digital.com.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    For more information about the code including guides see the separate Developer Documentation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Installation, Use & Deployment

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    You can directly run the system using Docker. +More information in our Aam-Digital/ndb-setup repository. +In that case you do not have to clone this repository and install all the dependencies as everything is packaged into the docker image already.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The Aam Digital platform can be customized for different use cases through a flexible configuration file. This doesn't require changes to the generic platform code base in this repository: +image

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The overall architecture and tech stack including backend services looks like this: +image

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Development

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Setup

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    1. This project depends on npm (NodeJS) to setup its dependencies. Please make sure you have npm installed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    2. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    3. git clone this repository to get all the code with its configuration and requirements.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    4. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    5. npm install the dependencies (external libraries and packages)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    6. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    7. npm run start to run your local dev server and get started.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    8. +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    By default the app is started with a "mock" session, generating demo data into an in-memory database. +You can change this mode by editing the environment.ts +(or create a file assets/config.json to overwrite settings; that file is on the .gitignore list).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Use the dockerized local environment to run a fully synced app including backend services on your machine: +https://github.com/Aam-Digital/aam-services/tree/main/docs/developer

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Documentation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Our detailed Developer Documentation +provides tutorials, guides, concepts and an API reference.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Code Style

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    We use prettier to enforce a consistent formatting of code to make the project easier to read. +The project is set up with a git pre-commit hook to automatically format your commits according to these rules.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Using Angular CLI

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This project is built upon Angular. +If you are unfamiliar with the framework and Angular CLI go check out the Angular CLI README or use use ng help. +The following sections give you a brief overview.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Development server

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Run npm run start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Code scaffolding (Generate new modules and components)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    You can use Angular CLI to add new code to the project. Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|module.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Build

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Run ng build -prod to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Running unit tests

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Run ng test to execute the unit tests via Karma.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Running end-to-end tests

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Run npm run e2e to execute the end-to-end tests via Cypress in the terminal.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Run npm run e2e-open to execute the end-to-end tests via Cypress own User Interface.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Build a docker image locally

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Deployment on a server can be done through a docker image, our ndb-setup project provides tools and a starting point to run the system using docker. +For more information about Docker, please refer to their official documentation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    To learn more about the build process, see /build.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Contribute

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Our project is completely run by volunteers. Contributions welcome!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    We are trying hard to make it easy for you to join in. +As a starting point, please refer to our CONTRIBUTING page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AbilityService.html b/documentation/injectables/AbilityService.html new file mode 100644 index 0000000000..774d6ac45c --- /dev/null +++ b/documentation/injectables/AbilityService.html @@ -0,0 +1,684 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/permissions/ability/ability.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      This service sets up the EntityAbility injectable with the JSON defined rules for the currently logged in user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      To get notified whenever the permissions of the current user are updated, use EntityAbility.on("updated", callback): +https://casl.js.org/v6/en/api/casl-ability#on

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + LatestEntityLoader +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(ability: EntityAbility, sessionInfo: SessionSubject, currentUser: CurrentUserSubject, permissionEnforcer: PermissionEnforcerService, entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      permissionEnforcer + PermissionEnforcerService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + initializeRules + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + initializeRules() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + loadOnce + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + loadOnce() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Do an initial load of the entity to be available through the entityUpdated property +(without watching for continuous updates).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<T | undefined> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + startLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + startLoading() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Initialize the loader to make the entity available and emit continuous updates +through the entityUpdated property

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + entityUpdated + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : new Subject<T>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      subscribe to this and execute any actions required when the entity changes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DatabaseRule, DatabaseRules } from "../permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { PermissionEnforcerService } from "../permission-enforcer/permission-enforcer.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityAbility } from "./entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Config } from "../../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { get } from "lodash-es";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LatestEntityLoader } from "../../entity/latest-entity-loader";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { SessionInfo, SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CurrentUserSubject } from "../../session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { merge } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This service sets up the `EntityAbility` injectable with the JSON defined rules for the currently logged in user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * To get notified whenever the permissions of the current user are updated, use EntityAbility.on("updated", callback):
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * https://casl.js.org/v6/en/api/casl-ability#on
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class AbilityService extends LatestEntityLoader<Config<DatabaseRules>> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private currentRules: DatabaseRules;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private permissionEnforcer: PermissionEnforcerService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super(Config, Config.PERMISSION_KEY, entityMapper);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entityUpdated.subscribe((config) => (this.currentRules = config.data));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async initializeRules() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const initialPermissions = await super.startLoading();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (initialPermissions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      await this.updateAbilityWithUserRules(initialPermissions.data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // as default fallback if no permission object is defined: allow everything
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.ability.update([{ action: "manage", subject: "all" }]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    merge(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entityUpdated.pipe(map((config) => config.data)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.sessionInfo.pipe(map(() => this.currentRules)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.currentUser.pipe(map(() => this.currentRules)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ).subscribe((rules) => this.updateAbilityWithUserRules(rules));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async updateAbilityWithUserRules(rules: DatabaseRules): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // If rules object is empty, everything is allowed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const userRules: DatabaseRule[] = rules
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ? await this.getRulesForUser(rules)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      : [{ action: "manage", subject: "all" }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (userRules.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // No rules or only default rules defined
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const user = this.sessionInfo.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        `no rules found for user "${user?.name}" with roles "${user?.roles}"`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.ability.update(userRules);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.permissionEnforcer.enforcePermissionsOnLocalData(userRules);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async getRulesForUser(rules: DatabaseRules): Promise<DatabaseRule[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const sessionInfo = this.sessionInfo.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!sessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return rules.public ?? [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const rawUserRules: DatabaseRule[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (rules.default) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      rawUserRules.push(...rules.default);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    sessionInfo.roles.forEach((role) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const rulesForRole = rules[role] || [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      rawUserRules.push(...rulesForRole);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.interpolateUser(rawUserRules, sessionInfo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private interpolateUser(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    rules: DatabaseRule[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    sessionInfo: SessionInfo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): DatabaseRule[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const user = this.currentUser.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (user && user["projects"]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      sessionInfo.projects = user["projects"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      sessionInfo.projects = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return JSON.parse(JSON.stringify(rules), (_that, rawValue) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (rawValue[0] !== "$") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return rawValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      let name = rawValue.slice(2, -1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (name === "user.name") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // the user account related entity (assured with prefix) is now stored in user.entityId
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // mapping the previously valid ${user.name} here for backwards compatibility
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        name = "user.entityId";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const value = get({ user: sessionInfo }, name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (typeof value === "undefined") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        throw new ReferenceError(`Variable ${name} is not defined`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AdminEntityService.html b/documentation/injectables/AdminEntityService.html new file mode 100644 index 0000000000..dda8a19e30 --- /dev/null +++ b/documentation/injectables/AdminEntityService.html @@ -0,0 +1,427 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/admin/admin-entity.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Simply service to centralize updates between various admin components in the form builder.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + updateSchemaField + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +updateSchemaField(entityType: EntityConstructor, fieldId: any, updatedEntitySchema: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Set a new schema field to the given entity and trigger update event for related admin components.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityType + EntityConstructor + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        fieldId + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        updatedEntitySchema + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + entitySchemaUpdated + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : new EventEmitter<void>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { EventEmitter, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Simply service to centralize updates between various admin components in the form builder.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class AdminEntityService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public entitySchemaUpdated = new EventEmitter<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Set a new schema field to the given entity and trigger update event for related admin components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param fieldId
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param updatedEntitySchema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  updateSchemaField(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldId: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    updatedEntitySchema: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entityType.schema.set(fieldId, updatedEntitySchema);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entitySchemaUpdated.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AlertService.html b/documentation/injectables/AlertService.html new file mode 100644 index 0000000000..74ff25a125 --- /dev/null +++ b/documentation/injectables/AlertService.html @@ -0,0 +1,851 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/alerts/alert.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display alerts to the user as a hovering message at the bottom of the view. +(Angular Material "SnackBar")

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inject this service in your classes to easily trigger alerts in the app consistent style.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          If you want to log technical details and problems, use Logging instead! +This service is for user facing messages.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          You can also use the MatSnackBar when you want to have more control over what you +want to display to the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(snackBar: MatSnackBar) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + addAlert + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +addAlert(alert: AlertConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display the given alert.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          alert + AlertConfig + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The alert instance to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + addDanger + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + addDanger(message: string, display: AlertDisplay) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display an alert message of "Danger" level, that is highlighted and will have to be actively dismissed by the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          message + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The text to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          display + AlertDisplay + + No + + AlertDisplay.PERSISTENT + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + addInfo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + addInfo(message: string, display: AlertDisplay) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display an alert message of "Info" level, that will automatically dismiss itself after a timeout.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          message + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The text to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          display + AlertDisplay + + No + + AlertDisplay.TEMPORARY + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + addWarning + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + addWarning(message: string, display: AlertDisplay) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display an alert message of "Warning" level, that will have to be actively dismissed by the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          message + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The text to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          display + AlertDisplay + + No + + AlertDisplay.PERSISTENT + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + alerts + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ExtendedAlertConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          All alerts currently to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AlertConfig, ExtendedAlertConfig } from "./alert-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AlertDisplay } from "./alert-display";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Display alerts to the user as a hovering message at the bottom of the view.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * (Angular Material "SnackBar")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Inject this service in your classes to easily trigger alerts in the app consistent style.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * If you want to log technical details and problems, use {@link Logging} instead!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This service is for user facing messages.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * You can also use the {@link MatSnackBar} when you want to have more control over what you
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * want to display to the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class AlertService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** All alerts currently to be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  alerts: ExtendedAlertConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private static ALERT_BASE_CLASS = "ndb-alert";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private snackBar: MatSnackBar) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Display the given alert.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param alert The alert instance to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  addAlert(alert: AlertConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.alerts.push({ ...alert, timestamp: new Date() });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.displayAlert(alert);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private displayAlert(alert: AlertConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const snackConfig: MatSnackBarConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      duration: 10000,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    switch (alert.display) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      case AlertDisplay.NONE:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      case AlertDisplay.TEMPORARY:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        snackConfig.duration = 5000;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      case AlertDisplay.PERSISTENT:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        snackConfig.duration = 3600000;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    snackConfig.panelClass = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      AlertService.ALERT_BASE_CLASS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      AlertService.ALERT_BASE_CLASS + "--" + alert.type,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.snackBar.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      alert.message,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`:alert dismiss action:dismiss`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      snackConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Display an alert message of "Info" level, that will automatically dismiss itself after a timeout.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param message The text to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param display Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public addInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    display: AlertDisplay = AlertDisplay.TEMPORARY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.addAlert({ message, type: "info", display });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Display an alert message of "Warning" level, that will have to be actively dismissed by the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param message The text to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param display Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public addWarning(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    display: AlertDisplay = AlertDisplay.PERSISTENT,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.addAlert({ message, type: "warning", display });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Display an alert message of "Danger" level, that is highlighted and will have to be actively dismissed by the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param message The text to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param display Optional override of the display style (e.g. whether the alert has to be actively dismissed by the user)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public addDanger(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    display: AlertDisplay = AlertDisplay.PERSISTENT,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.addAlert({ message, type: "danger", display });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AnalyticsService.html b/documentation/injectables/AnalyticsService.html new file mode 100644 index 0000000000..ab1a317dfe --- /dev/null +++ b/documentation/injectables/AnalyticsService.html @@ -0,0 +1,723 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/analytics/analytics.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Track usage analytics data and report it to a backend server like Matomo.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This is automatically disabled if the config doc does not specify "usage_analytics" settings.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(angulartics2: Angulartics2, angulartics2Matomo: Angulartics2Matomo, configService: ConfigService, loginState: LoginStateSubject, sessionInfo: SessionSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            angulartics2 + Angulartics2 + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            angulartics2Matomo + Angulartics2Matomo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            loginState + LoginStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + eventTrack + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +eventTrack(action: string, properties: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Explicitly record a user action

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            action + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            String identifying the action

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            properties + literal type + + No + + { + category: "no_category", + label: "no_label", + } + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Additional properties for categorization

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + init + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +init() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Set up usage analytics tracking.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + setUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + setUser(username: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Sets a unique user hash which is always for the same user but does not expose the username. +This improves the logging behavior.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            username + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            actual username

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ConfigService } from "../config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  USAGE_ANALYTICS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  UsageAnalyticsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "./usage-analytics-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Angulartics2, Angulartics2Matomo } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import md5 from "md5";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LoginState } from "../session/session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LoginStateSubject } from "../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SessionSubject } from "../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Track usage analytics data and report it to a backend server like Matomo.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * This is automatically disabled if the config doc does not specify "usage_analytics" settings.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class AnalyticsService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private isInitialized = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private angulartics2: Angulartics2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private angulartics2Matomo: Angulartics2Matomo,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    loginState: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (environment.production) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.init();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // update the user context for remote error logging and tracking and load config initially
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    loginState.subscribe((s: LoginState) => this.updateSessionInfo(s));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private updateSessionInfo(newState: LoginState): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (newState === LoginState.LOGGED_IN) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const username = this.sessionInfo.value?.name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.setUser(username);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.setUser(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Sets a unique user hash which is always for the same user but does not expose the username.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This improves the logging behavior.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param username actual username
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public setUser(username: string): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const baseUrl = location.host;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.angulartics2Matomo.setUsername(md5(`${baseUrl}${username ?? ""}`));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Set up usage analytics tracking.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  init(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window["_paq"] = window["_paq"] || [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window["_paq"].push([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      "setDocumentTitle",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      document.domain + "/" + document.title,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window["_paq"].push(["trackPageView"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window["_paq"].push(["enableLinkTracking"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.setVersion();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.setOrganization(location.hostname);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.setUser(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.configService.configUpdates.subscribe(() => this.setConfigValues());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setVersion(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.angulartics2.setUserProperties.next({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dimension1: "ndb-core@" + environment.appVersion,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setOrganization(orgName: string): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.angulartics2.setUserProperties.next({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dimension2: orgName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * dynamically sets up everything for Matomo.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The code is inspired by:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * https://github.com/Arnaud73/ngx-matomo/blob/master/projects/ngx-matomo/src/lib/matomo-injector.service.ts
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setConfigValues() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const { url, site_id, no_cookies } =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.configService.getConfig<UsageAnalyticsConfig>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        USAGE_ANALYTICS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ) || { url: "https://matomo.aam-digital.org" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const u = url.endsWith("/") ? url : url + "/";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!this.isInitialized) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const g = document.createElement("script");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const s = document.getElementsByTagName("script")[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      g.type = "text/javascript";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      g.async = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      g.defer = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      g.src = u + "matomo.js";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      s.parentNode.insertBefore(g, s);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.angulartics2Matomo.startTracking();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.isInitialized = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window["_paq"].push(["setTrackerUrl", u + "matomo.php"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (no_cookies) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      window["_paq"].push(["disableCookies"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (site_id) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      window["_paq"].push(["setSiteId", site_id]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Explicitly record a user action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param action String identifying the action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param properties Additional properties for categorization
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  eventTrack(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    action: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    properties: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      category: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      value?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      category: "no_category",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      label: "no_label",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.angulartics2.eventTrack.next({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      action: action,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      properties: properties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AttendanceService.html b/documentation/injectables/AttendanceService.html new file mode 100644 index 0000000000..8622ba5cff --- /dev/null +++ b/documentation/injectables/AttendanceService.html @@ -0,0 +1,1235 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/attendance/attendance.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(entityMapper: EntityMapperService, dbIndexing: DatabaseIndexingService, childrenService: ChildrenService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              dbIndexing + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + createEventForActivity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + createEventForActivity(activity: RecurringActivity, date: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              activity + RecurringActivity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              date + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<EventNote> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getActivitiesForChild + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getActivitiesForChild(childId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              childId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getActivityAttendances + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getActivityAttendances(activity: RecurringActivity, sinceDate?: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Load and calculate activity attendance records.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              activity + RecurringActivity + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              To activity for which records are loaded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              sinceDate + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) date starting from which events should be considered. Events before this are ignored to improve performance.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getAllActivityAttendancesForPeriod + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getAllActivityAttendancesForPeriod(from: Date, until: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              from + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              until + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getEventsForActivity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getEventsForActivity(activityId: string, sinceDate?: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Load events related to the given recurring activity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              activityId + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The reference activity the events should relate to.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              sinceDate + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) date starting from which events should be considered. Events before this are ignored to improve performance.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<EventNote[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getEventsOnDate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getEventsOnDate(startDate: Date, endDate: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Return all events on the given date or date range.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              startDate + Date + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The date (or start date of a range)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              endDate + Date + + No + + startDate + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) end date of the period to be queried; if not given, defaults to the start date

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<EventNote[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + getEventsWithUpdatedParticipants + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getEventsWithUpdatedParticipants(date: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              date + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { RecurringActivity } from "./model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ActivityAttendance } from "./model/activity-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { groupBy } from "../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DatabaseIndexingService } from "../../core/entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EventNote } from "./model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildrenService } from "../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class AttendanceService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private dbIndexing: DatabaseIndexingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.createIndices();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private createIndices() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.createEventsIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.createRecurringActivitiesIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private createEventsIndex(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      _id: "_design/events_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        by_date: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (doc._id.startsWith("${EventNote.ENTITY_TYPE}")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              if (doc.date && doc.date.length === 10) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                emit(doc.date);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                var d = new Date(doc.date || null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                var dString = d.getFullYear() + "-" + String(d.getMonth()+1).padStart(2, "0") + "-" + String(d.getDate()).padStart(2, "0");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                emit(dString);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // TODO: remove this and use general Note's relatedEntities index?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        by_activity: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (doc._id.startsWith("${EventNote.ENTITY_TYPE}") && doc.relatesTo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              var dString;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              if (doc.date && doc.date.length === 10) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                dString = doc.date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              } else {            
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                var d = new Date(doc.date || null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                dString = d.getFullYear() + "-" + String(d.getMonth()+1).padStart(2, "0") + "-" + String(d.getDate()).padStart(2, "0");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              emit(doc.relatesTo + "_" + dString);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.dbIndexing.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private createRecurringActivitiesIndex(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      _id: "_design/activities_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        by_participant: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (doc._id.startsWith("${RecurringActivity.ENTITY_TYPE}")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              for (var p of (doc.participants || [])) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                emit(p);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        by_school: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (doc._id.startsWith("${RecurringActivity.ENTITY_TYPE}")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              for (var g of (doc.linkedGroups || [])) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +                emit(g);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.dbIndexing.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Return all events on the given date or date range.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param startDate The date (or start date of a range)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param endDate (Optional) end date of the period to be queried; if not given, defaults to the start date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getEventsOnDate(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    startDate: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    endDate: Date = startDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<EventNote[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const start = moment(startDate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const end = moment(endDate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const eventNotes = this.dbIndexing.queryIndexDocsRange(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EventNote,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "events_index/by_date",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      start.format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      end.format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const relevantNormalNotes = this.childrenService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .getNotesInTimespan(start, end)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .then((notes) => notes.filter((n) => n.category?.isMeeting));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const allResults = await Promise.all([eventNotes, relevantNormalNotes]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return allResults[0].concat(allResults[1]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getEventsWithUpdatedParticipants(date: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const events = await this.getEventsOnDate(date, date);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const event of events) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const participants = await this.loadParticipantsOfGroups(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        event.schools,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (const newParticipant of participants) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        event.addChild(newParticipant);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return events;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Load events related to the given recurring activity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param activityId The reference activity the events should relate to.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param sinceDate (Optional) date starting from which events should be considered. Events before this are ignored to improve performance.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getEventsForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    activityId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    sinceDate?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<EventNote[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!activityId.startsWith(RecurringActivity.ENTITY_TYPE)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activityId = RecurringActivity.ENTITY_TYPE + ":" + activityId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let dateLimit = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (sinceDate) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dateLimit =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "_" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        sinceDate.getFullYear() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "-" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        String(sinceDate.getMonth() + 1).padStart(2, "0") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "-" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        String(sinceDate.getDate()).padStart(2, "0");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.dbIndexing.queryIndexDocsRange(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EventNote,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "events_index/by_activity",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activityId + dateLimit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activityId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Load and calculate activity attendance records.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param activity To activity for which records are loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param sinceDate (Optional) date starting from which events should be considered. Events before this are ignored to improve performance.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getActivityAttendances(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    activity: RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    sinceDate?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<ActivityAttendance[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const periods = new Map<number, ActivityAttendance>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    function getOrCreateAttendancePeriod(event) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const month = new Date(event.date.getFullYear(), event.date.getMonth());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      let attMonth = periods.get(month.getTime());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (!attMonth) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        attMonth = ActivityAttendance.create(month);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        attMonth.periodTo = moment(month).endOf("month").toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        attMonth.activity = activity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        periods.set(month.getTime(), attMonth);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return attMonth;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const events = await this.getEventsForActivity(activity.getId(), sinceDate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const event of events) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const record = getOrCreateAttendancePeriod(event);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      record.events.push(event);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Array.from(periods.values()).sort(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (a, b) => a.periodFrom.getTime() - b.periodFrom.getTime(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getAllActivityAttendancesForPeriod(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    until: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<ActivityAttendance[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const matchingEvents = await this.getEventsOnDate(from, until);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const groupedEvents = groupBy(matchingEvents, "relatesTo");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const records = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const [activityId, activityEvents] of groupedEvents) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const activityRecord = ActivityAttendance.create(from, activityEvents);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activityRecord.periodTo = until;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (activityId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        activityRecord.activity = await this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .load<RecurringActivity>(RecurringActivity, activityId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .catch(() => undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      records.push(activityRecord);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return records;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async getActivitiesForChild(childId: string): Promise<RecurringActivity[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const activities = await this.dbIndexing.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "activities_index/by_participant",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      childId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const visitedSchools =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.childrenService.queryActiveRelationsOf(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const currentRelation of visitedSchools) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const activitiesThroughRelation = await this.dbIndexing.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        "activities_index/by_school",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        currentRelation.schoolId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (const activityThroughRelation of activitiesThroughRelation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          !activities.some((a) => a.getId() === activityThroughRelation.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          activities.push(activityThroughRelation);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return activities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async createEventForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    activity: RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    date: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<EventNote> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const instance = new EventNote();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.date = date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.subject = activity.title;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.children = await this.getActiveParticipantsOfActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.schools = activity.linkedGroups;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.relatesTo = activity.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    instance.category = activity.type;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return instance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async getActiveParticipantsOfActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    activity: RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    date: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<string[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const schoolParticipants = await this.loadParticipantsOfGroups(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      activity.linkedGroups,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ...new Set(activity.participants.concat(...schoolParticipants)), //  remove duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ].filter((p) => !activity.excludedParticipants.includes(p));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Load all participants' ids for the given list of groups
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param linkedGroups
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param date on which the participants should be part of the group
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async loadParticipantsOfGroups(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    linkedGroups: string[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    date: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<string[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const childIdPromises = linkedGroups.map((groupId) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.childrenService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .queryActiveRelationsOf(groupId, date)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .then((relations) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          relations.map((r) => r.childId).filter((id) => !!id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const allParticipants = await Promise.all(childIdPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // flatten and remove duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Array.from(new Set([].concat(...allParticipants)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/AutoResolutionService.html b/documentation/injectables/AutoResolutionService.html new file mode 100644 index 0000000000..b918585f85 --- /dev/null +++ b/documentation/injectables/AutoResolutionService.html @@ -0,0 +1,455 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/conflict-resolution/auto-resolution/auto-resolution.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Attempt automatic conflict resolutions or identify trivial conflicts for semi-automatic resolution.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(resolutionStrategies: ConflictResolutionStrategy[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                resolutionStrategies + ConflictResolutionStrategy[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The (multi = true) services registered as resolution strategies (can be none --> null)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + shouldDeleteConflictingRevision + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + shouldDeleteConflictingRevision(currentDoc: any, conflictingDoc: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Checks whether any registered resolution strategy suggests that the conflicting version should be automatically deleted.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This method does not delete the conflict. It only suggests whether it should be deleted automatically.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                currentDoc + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The currently active revision of the doc

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                conflictingDoc + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The conflicting revision of the doc to be checked whether it can be deleted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Inject, Injectable, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  CONFLICT_RESOLUTION_STRATEGY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ConflictResolutionStrategy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "./conflict-resolution-strategy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Attempt automatic conflict resolutions or identify trivial conflicts for semi-automatic resolution.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class AutoResolutionService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param resolutionStrategies The (multi = true) services registered as resolution strategies (can be none --> null)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Optional()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    @Inject(CONFLICT_RESOLUTION_STRATEGY)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private resolutionStrategies: ConflictResolutionStrategy[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Checks whether any registered resolution strategy suggests that the conflicting version should be automatically deleted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This method does not delete the conflict. It only suggests whether it should be deleted automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param currentDoc The currently active revision of the doc
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param conflictingDoc The conflicting revision of the doc to be checked whether it can be deleted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public shouldDeleteConflictingRevision(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    currentDoc: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    conflictingDoc: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const resolutionStrategy of this.resolutionStrategies || []) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        resolutionStrategy.autoDeleteConflictingRevision(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          currentDoc,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          conflictingDoc,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/BackupService.html b/documentation/injectables/BackupService.html new file mode 100644 index 0000000000..40433b9724 --- /dev/null +++ b/documentation/injectables/BackupService.html @@ -0,0 +1,574 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/admin/backup/backup.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Create and load backups of the database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(db: Database, papa: Papa) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  db + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  papa + Papa + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + clearDatabase + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + clearDatabase() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Removes all but the user entities of the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Promise a promise that resolves after all remove operations are done

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + getDatabaseExport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getDatabaseExport() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Creates an array holding all elements of the database. +This method can be used to create a backup of the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<any[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + restoreData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + restoreData(documents: any[], forceUpdate) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Fills the database with the provided JSON data. +Data should be generated by the getJsonExport function

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  documents + any[] + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  An array of documents/raw entities to be directly written to the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  forceUpdate + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  should existing objects be overridden? Default false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Database } from "../../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { User } from "../../user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Papa } from "ngx-papaparse";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Config } from "../../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Create and load backups of the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class BackupService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private db: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private papa: Papa,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Creates an array holding all elements of the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * This method can be used to create a backup of the data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async getDatabaseExport(): Promise<any[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return await this.db.getAll();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Removes all but the user entities of the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @returns Promise<any> a promise that resolves after all remove operations are done
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async clearDatabase(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const allDocs = await this.db.getAll();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const row of allDocs) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        row._id.startsWith(User.ENTITY_TYPE + ":") ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        row._id.startsWith(Config.ENTITY_TYPE + ":")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // skip User entities and config in order to not break login!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.db.remove(row);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Fills the database with the provided JSON data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Data should be generated by the `getJsonExport` function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param documents An array of documents/raw entities to be directly written to the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param forceUpdate should existing objects be overridden? Default false
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async restoreData(documents: any[], forceUpdate = false): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const record of documents) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // Remove _rev so CouchDB treats it as a new rather than a updated document
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      delete record._rev;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.db.put(record, forceUpdate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/BooleanDatatype.html b/documentation/injectables/BooleanDatatype.html new file mode 100644 index 0000000000..21d46bc443 --- /dev/null +++ b/documentation/injectables/BooleanDatatype.html @@ -0,0 +1,949 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/boolean/boolean.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DiscreteDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToDatabaseFormat(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:12 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToObjectFormat(value: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:16 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:37 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + importMapFunction(val, schemaField: EntitySchemaField, additional: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:29 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    val + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    additional + literal type + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "boolean" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:6 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "EditBoolean" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : $localize`:datatype-label:checkbox` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:7 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DisplayCheckmark" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DiscreteImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DiscreteDatatype } from "../discrete/discrete.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class BooleanDatatype extends DiscreteDatatype<boolean, boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override dataType = "boolean";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override label: string = $localize`:datatype-label:checkbox`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  editComponent = "EditBoolean";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  viewComponent = "DisplayCheckmark";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transformToDatabaseFormat(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transformToObjectFormat(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ChildrenService.html b/documentation/injectables/ChildrenService.html new file mode 100644 index 0000000000..ae3132c04e --- /dev/null +++ b/documentation/injectables/ChildrenService.html @@ -0,0 +1,1149 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/children/children.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(entityMapper: EntityMapperService, dbIndexing: DatabaseIndexingService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      dbIndexing + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + getChild + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getChild(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      returns a child with additional school info

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      id + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      id of child

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Child> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + getChildren + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getChildren() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      returns a list of children with additional school info

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Child[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + getDaysSinceLastNoteOfEachEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getDaysSinceLastNoteOfEachEntity(entityType, forLastNDays: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Query how many days ago the last note for each child was added.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Warning: Children without any notes will be missing from this map.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          For performance reasons the days since last note are set to infinity when larger then the forLastNDays parameter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityType + + No + + Child.ENTITY_TYPE + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (Optional) entity for which days since last note are calculated. Default "Child".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      forLastNDays + number + + No + + 30 + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (Optional) cut-off boundary how many days into the past the analysis will be done.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Map<string, number>> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A map of childIds as key and days since last note as value; +For performance reasons the days since last note are set to infinity when larger then the forLastNDays parameter

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + getNotesInTimespan + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getNotesInTimespan(startDay: Date | Moment, endDay: Date | Moment) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Returns all notes in the timespan. +It is only checked if the notes are on the same day als start and end day. The time is not checked.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      startDay + Date | Moment + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      the first day where notes should be included

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      endDay + Date | Moment + + No + + moment() + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      the last day where notes should be included

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Note[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + getNotesRelatedTo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getNotesRelatedTo(entityId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Query all notes that have been linked to the given other entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityId + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ID (with prefix!) of the related record

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Note[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + queryActiveRelationsOf + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +queryActiveRelationsOf(id: string, date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      id + string + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      date + + No + + new Date() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<ChildSchoolRelation[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + queryRelations + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +queryRelations(prefix: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      prefix + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Child } from "./model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Note } from "../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ChildSchoolRelation } from "./model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import moment, { Moment } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DatabaseIndexingService } from "../../core/entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { School } from "../schools/model/school";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { User } from "../../core/user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { groupBy } from "../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ChildrenService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dbIndexing: DatabaseIndexingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createDatabaseIndices();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private createDatabaseIndices() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createNotesIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createChildSchoolRelationIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * returns a list of children with additional school info
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async getChildren(): Promise<Child[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const children = await this.entityMapper.loadType(Child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const relations = await this.entityMapper.loadType(ChildSchoolRelation);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    groupBy(relations, "childId").forEach(([id, rels]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const child = children.find((c) => c.getId() === id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (child) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.extendChildWithSchoolInfo(child, rels);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return children;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * returns a child with additional school info
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param id id of child
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async getChild(id: string): Promise<Child> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const child = await this.entityMapper.load(Child, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const relations = await this.queryRelations(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.extendChildWithSchoolInfo(child, relations);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private extendChildWithSchoolInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    child: Child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    relations: ChildSchoolRelation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const active = relations.filter((r) => r.isActive);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    child.schoolId = active.map((r) => r.schoolId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (active.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      child.schoolClass = active[0].schoolClass;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private createChildSchoolRelationIndex(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      _id: "_design/childSchoolRelations_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        by_child_school: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (!doc._id.startsWith("${ChildSchoolRelation.ENTITY_TYPE}:")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            const start = new Date(doc.start || '3000-01-01').getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            emit([doc.childId, start]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            emit([doc.schoolId, start]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.dbIndexing.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  queryRelations(prefix: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const startkey = prefix.endsWith(":") ? [prefix + "\uffff"] : [prefix, {}];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.dbIndexing.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ChildSchoolRelation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      "childSchoolRelations_index/by_child_school",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        startkey,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        endkey: [prefix],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        descending: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  queryActiveRelationsOf(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    date = new Date(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<ChildSchoolRelation[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.queryRelations(id).then((relations) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      relations.filter((rel) => rel.isActiveAt(date)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Query all notes that have been linked to the given other entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entityId ID (with prefix!) of the related record
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async getNotesRelatedTo(entityId: string): Promise<Note[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let legacyLinkedNotes = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.inferNoteLinkPropertyFromEntityType(entityId)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      legacyLinkedNotes = await this.dbIndexing.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        Note,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        `notes_index/by_${this.inferNoteLinkPropertyFromEntityType(entityId)}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        entityId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const explicitlyLinkedNotes = await this.dbIndexing.queryIndexDocsRange(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Note,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      `notes_related_index/note_by_relatedEntities`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [entityId],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [entityId],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return [...legacyLinkedNotes, ...explicitlyLinkedNotes].filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // remove duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (element, index, array) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        array.findIndex((e) => e._id === element._id) === index,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private inferNoteLinkPropertyFromEntityType(entityId: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entityType = Entity.extractTypeFromId(entityId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case Child.ENTITY_TYPE:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return "children";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case School.ENTITY_TYPE:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return "schools";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case User.ENTITY_TYPE:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return "authors";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Query how many days ago the last note for each child was added.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Warning: Children without any notes will be missing from this map.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entityType (Optional) entity for which days since last note are calculated. Default "Child".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param forLastNDays (Optional) cut-off boundary how many days into the past the analysis will be done.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @return A map of childIds as key and days since last note as value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *         For performance reasons the days since last note are set to infinity when larger then the forLastNDays parameter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async getDaysSinceLastNoteOfEachEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityType = Child.ENTITY_TYPE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    forLastNDays: number = 30,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<Map<string, number>> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const startDay = moment().subtract(forLastNDays, "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const notes = await this.getNotesInTimespan(startDay);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const results = new Map();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entities = await this.entityMapper.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((c) => c.isActive)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .forEach((c) => results.set(c.getId(), Number.POSITIVE_INFINITY));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const noteProperty = Note.getPropertyFor(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const note of notes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // TODO: filter notes to only include them if the given child is marked "present"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      for (const entityId of note[noteProperty]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const daysSinceNote = moment().diff(note.date, "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const previousValue = results.get(entityId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (previousValue > daysSinceNote) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          results.set(entityId, daysSinceNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Returns all notes in the timespan.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * It is only checked if the notes are on the same day als start and end day. The time is not checked.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param startDay the first day where notes should be included
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param endDay the last day where notes should be included
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async getNotesInTimespan(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    startDay: Date | Moment,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    endDay: Date | Moment = moment(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<Note[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.dbIndexing.queryIndexDocsRange(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Note,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      "notes_index/note_child_by_date",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moment(startDay).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moment(endDay).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async createNotesIndex(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      _id: "_design/notes_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        note_child_by_date: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (!doc._id.startsWith("${Note.ENTITY_TYPE}")) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (!Array.isArray(doc.children) || !doc.date) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (doc.date.length === 10) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              emit(doc.date);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              var d = new Date(doc.date || null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              emit(d.getFullYear() + "-" + String(d.getMonth()+1).padStart(2, "0") + "-" + String(d.getDate()).padStart(2, "0"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // TODO: remove these and use general note_by_relatedEntities instead --> to be decided later #1501
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // creating a by_... view for each of the following properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ["children", "schools", "authors"].forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (prop) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (designDoc.views[`by_${prop}`] = this.createNotesByFunction(prop)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.dbIndexing.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const newDesignDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      _id: "_design/notes_related_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        note_by_relatedEntities: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (!doc._id.startsWith("${Note.ENTITY_TYPE}")) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (!Array.isArray(doc.relatedEntities)) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            var dString;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (doc.date && doc.date.length === 10) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              dString = doc.date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              var d = new Date(doc.date || null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              dString = d.getFullYear() + "-" + String(d.getMonth()+1).padStart(2, "0") + "-" + String(d.getDate()).padStart(2, "0");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            doc.relatedEntities.forEach((relatedEntity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              emit([relatedEntity, dString]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.dbIndexing.createIndex(newDesignDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private createNotesByFunction(property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (!doc._id.startsWith("${Note.ENTITY_TYPE}")) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (!Array.isArray(doc.${property})) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        doc.${property}.forEach(val => emit(val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ComingSoonDialogService.html b/documentation/injectables/ComingSoonDialogService.html new file mode 100644 index 0000000000..6020498254 --- /dev/null +++ b/documentation/injectables/ComingSoonDialogService.html @@ -0,0 +1,405 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/coming-soon/coming-soon-dialog.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Show a popup dialog with the ComingSoonComponent +explaining that the requested feature is not available yet and integrating with usage analytics to track requests.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(dialog: MatDialog) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + open + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +open(featureId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Open dialog with the coming soon page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        featureId + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        identifier to track requests for the given feature in usage analytics

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ComingSoonComponent } from "./coming-soon/coming-soon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Show a popup dialog with the {@link ComingSoonComponent}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * explaining that the requested feature is not available yet and integrating with usage analytics to track requests.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class ComingSoonDialogService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private dialog: MatDialog) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Open dialog with the coming soon page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param featureId identifier to track requests for the given feature in usage analytics
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  open(featureId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dialog.open(ComingSoonComponent, { data: { featureId: featureId } });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ConfigImportParserService.html b/documentation/injectables/ConfigImportParserService.html new file mode 100644 index 0000000000..2c8e8061a5 --- /dev/null +++ b/documentation/injectables/ConfigImportParserService.html @@ -0,0 +1,857 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/config-setup/config-import-parser.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + parseImportDefinition + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +parseImportDefinition(configRaw: ConfigFieldRaw[], entityName: string, includingDefaultConfigs: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          configRaw + ConfigFieldRaw[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityName + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          includingDefaultConfigs + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : GeneratedConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + enumsAvailable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Map<string | ConfigurableEnumConfig> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new Map() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + existingEnumHashmap + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Map<string | string> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new Map() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + generatedViews + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Map<string | ViewConfig | ViewConfig> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : new Map() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + NOT_CONFIGURED_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "NOT_CONFIGURED" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  EntityListConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  GroupConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  EntityDetailsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Panel,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  PanelComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../core/entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigurableEnumConfig } from "../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntitySchemaField } from "../../core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigFieldRaw } from "./config-field.raw";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ViewConfig } from "../../core/config/dynamic-routing/view-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { defaultJsonConfig } from "../../core/config/config-fix";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityConfig } from "../../core/entity/entity-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityConfigService } from "../../core/entity/entity-config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { generateIdFromLabel } from "../../utils/generate-id-from-label/generate-id-from-label";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class ConfigImportParserService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static NOT_CONFIGURED_KEY = "NOT_CONFIGURED";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private static DEFAULT_CONFIG_KEYS = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "appConfig",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "appConfig:usage-analytics",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "navigationMenu",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // TODO what do we do with these?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "enum:interaction-type",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "enum:warning-levels",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:note",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:attendance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:attendance/add-day",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:attendance/recurring-activity",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:attendance/recurring-activity/:id",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:admin",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:admin/conflicts",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:admin/config-import",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:import",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:user",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:user/:id",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    "view:help",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  enumsAvailable: Map<string, ConfigurableEnumConfig> = new Map();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  existingEnumHashmap: Map<string, string> = new Map();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  generatedViews: Map<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ViewConfig<EntityListConfig> | ViewConfig<EntityDetailsConfig>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  > = new Map();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private reset() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.enumsAvailable.clear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.existingEnumHashmap.clear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.generatedViews.clear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // TODO: how to get the id for already existing enums in database?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  parseImportDefinition(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    configRaw: ConfigFieldRaw[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    includingDefaultConfigs: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): GeneratedConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const entity: EntityConfig = { attributes: {} };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const f of configRaw) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (!f?.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const parsedField = this.parseFieldDefinition(f, entityName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entity.attributes[parsedField.id] = parsedField.schema;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const generatedConfig: GeneratedConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (includingDefaultConfigs) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.initializeDefaultValues(generatedConfig);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    generatedConfig[EntityConfigService.PREFIX_ENTITY_CONFIG + entityName] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // add enum configs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const [key, enumConfig] of this.enumsAvailable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      generatedConfig["enum:" + key] = enumConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // add generated list and details view configs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const [key, viewConfig] of this.generatedViews) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      generatedConfig["view:" + key.toLowerCase()] = viewConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return generatedConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private parseFieldDefinition(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fieldDef: ConfigFieldRaw,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): { id: string; schema: EntitySchemaField } {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const fieldId = fieldDef.id ?? generateIdFromLabel(fieldDef.label);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const schema: EntitySchemaField = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      dataType: fieldDef.dataType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      label: fieldDef.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      description: fieldDef.description,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.dataType === "single-entity-select" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.dataType === "entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.dataType = "entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.additional = fieldDef.additional_type_details;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (fieldDef.dataType === "entity-array") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.dataType = "entity-array";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.additional = fieldDef.additional_type_details;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.dataType === "enum" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.dataType === "configurable-enum"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.dataType = "configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.additional = this.generateOrMatchEnum(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldDef.additional_type_details,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (fieldDef.dataType === "enum-multi") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.dataType = "configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.isArray = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      schema.additional = this.generateOrMatchEnum(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldDef.additional_type_details,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.generateOrUpdateListViewConfig(fieldDef, entityType, fieldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.generateOrUpdateDetailsViewConfig(fieldDef, entityType, fieldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    deleteEmptyProperties(schema);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return { id: fieldId, schema: schema };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Parse a comma-separated list of enum values
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * and either create a new configurable-enum config or match an existing one that has the same options.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param enumValues values for enum options as imported string
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param key If new enum is created, this key is used as id.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @return The id of the matched or created configurable-enum
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateOrMatchEnum(enumValues: string, key: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (typeof enumValues !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return ConfigImportParserService.NOT_CONFIGURED_KEY;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let values = enumValues
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .split(",")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .map((v) => v.trim())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .filter((v) => v.length > 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    values = values.filter((v, index) => values.indexOf(v) === index); // remove duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // identify existing enum with same values
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const hash = values.sort((a, b) => a.localeCompare(b)).join(",");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.existingEnumHashmap.has(hash)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.existingEnumHashmap.get(hash);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // create and add new enum
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const enumConfig: ConfigurableEnumConfig = values.map((v) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      id: v,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      label: v,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.enumsAvailable.set(key, enumConfig);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.existingEnumHashmap.set(hash, key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return key;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateOrUpdateListViewConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fieldDef: ConfigFieldRaw,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fieldId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !fieldDef.show_in_list ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.show_in_list.toString().length === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const listView: EntityListConfig =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (this.generatedViews.get(entityType)?.config as EntityListConfig) ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateEmptyListView(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const fieldColGroup of fieldDef.show_in_list.split(",")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const columnGroup = this.generateOrFindColumnGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        listView,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldColGroup.trim(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      columnGroup.columns.push(fieldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateEmptyListView(entityType: string): EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newListView: EntityListConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      columns: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entityType: entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      title: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      columnGroups: { groups: [] },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.generatedViews.set(entityType, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      _id: entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      component: "EntityList",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      config: newListView,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return newListView;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateOrFindColumnGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    listView: EntityListConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    columnGroupName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const existingColumnGroup = listView.columnGroups.groups.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (c) => c.name === columnGroupName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (existingColumnGroup) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return existingColumnGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newColumnGroup: GroupConfig = { name: columnGroupName, columns: [] };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    listView.columnGroups.groups.push(newColumnGroup);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return newColumnGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateOrUpdateDetailsViewConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fieldDef: ConfigFieldRaw,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fieldId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !fieldDef.show_in_details ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fieldDef.show_in_details.toString().length === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const detailsView: EntityDetailsConfig =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (this.generatedViews.get(entityType + "/:id")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ?.config as EntityDetailsConfig) ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateEmptyDetailsView(entityType + "/:id", entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const detailsTab of fieldDef.show_in_details.split(",")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const [tabName, fieldGroupName] = detailsTab.split(":");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const panel: PanelComponent = this.generateOrFindDetailsPanel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        detailsView,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        tabName.trim(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      let fieldGroupIndex = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (fieldGroupName) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (!panel.config.headers) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          panel.config.headers = [null]; // initialize headers with a default for fields without header
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        fieldGroupIndex = panel.config.headers.findIndex(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          (header) => header === fieldGroupName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (fieldGroupIndex === -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          panel.config.headers.push(fieldGroupName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          fieldGroupIndex = panel.config.headers.length - 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      extendArray(panel.config.cols, fieldGroupIndex + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      panel.config.cols[fieldGroupIndex].push(fieldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateEmptyDetailsView(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    viewId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): EntityDetailsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newDetailsView = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      entityType: entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      icon: "child",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      panels: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      title: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.generatedViews.set(viewId, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      _id: viewId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      component: "EntityDetails",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      config: newDetailsView,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return newDetailsView;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateOrFindDetailsPanel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    detailsView: EntityDetailsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    panelName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): PanelComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const existingPanel = detailsView.panels.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (c) => c.title === panelName && c.components[0].component === "Form",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (existingPanel) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return existingPanel.components[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newPanel: Panel = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      title: panelName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      components: [{ title: "", component: "Form", config: { cols: [[]] } }],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    detailsView.panels.push(newPanel);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return newPanel.components[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private initializeDefaultValues(generatedConfig: GeneratedConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    generatedConfig["enum:" + ConfigImportParserService.NOT_CONFIGURED_KEY] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        id: ConfigImportParserService.NOT_CONFIGURED_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        label: "NOT CONFIGURED",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const key of ConfigImportParserService.DEFAULT_CONFIG_KEYS) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      generatedConfig[key] = defaultJsonConfig[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export type GeneratedConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [key: string]: EntityConfig | ViewConfig | ConfigurableEnumConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Delete properties on an object which are "empty", to clean up redundant details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +function deleteEmptyProperties(data: Object) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  for (const k of Object.keys(data)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (data[k] === null || data[k] === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      delete data[k];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Pad an array with additional empty arrays up to the given new size.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * @param array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * @param newSize
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +function extendArray(array: any, newSize: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  while (newSize > array.length) array.push([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ConfigService.html b/documentation/injectables/ConfigService.html new file mode 100644 index 0000000000..8391d2502c --- /dev/null +++ b/documentation/injectables/ConfigService.html @@ -0,0 +1,1062 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/config/config.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Access dynamic app configuration retrieved from the database +that defines how the interface and data models should look.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + LatestEntityLoader +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + exportConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + exportConfig() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + getAllConfigs + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + getAllConfigs(prefix: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            prefix + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + getConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + getConfig(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            id + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : T | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + saveConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + saveConfig(config: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            config + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + loadOnce + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + loadOnce() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Do an initial load of the entity to be available through the entityUpdated property +(without watching for continuous updates).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<T | undefined> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + startLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + startLoading() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Initialize the loader to make the entity available and emit continuous updates +through the entityUpdated property

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + configUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.entityUpdated.pipe(shareReplay(1)) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + entityUpdated + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : new Subject<T>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            subscribe to this and execute any actions required when the entity changes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Config } from "./config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LatestEntityLoader } from "../entity/latest-entity-loader";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { shareReplay } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  PLACEHOLDERS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FieldGroup } from "../entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MenuItem } from "../ui/navigation/menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DefaultValueConfig } from "../entity/schema/default-value-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityDatatype } from "../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Access dynamic app configuration retrieved from the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * that defines how the interface and data models should look.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ConfigService extends LatestEntityLoader<Config> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Subscribe to receive the current config and get notified whenever the config is updated.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private currentConfig: Config;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configUpdates = this.entityUpdated.pipe(shareReplay(1));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(Config, Config.CONFIG_KEY, entityMapper);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super.startLoading();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityUpdated.subscribe(async (config) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.currentConfig = this.applyMigrations(config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public saveConfig(config: any): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.entityMapper.save(new Config(Config.CONFIG_KEY, config), true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public exportConfig(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return JSON.stringify(this.currentConfig.data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public getConfig<T>(id: string): T | undefined {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.currentConfig.data[id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public getAllConfigs<T>(prefix: string): T[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const matchingConfigs = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const id of Object.keys(this.currentConfig.data)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (id.startsWith(prefix)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.currentConfig.data[id]._id = id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        matchingConfigs.push(this.currentConfig.data[id]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return matchingConfigs;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private applyMigrations(config: Config): Config {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const migrations: ConfigMigration[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateEntityAttributesWithId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateFormHeadersIntoFieldGroups,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateFormFieldConfigView2ViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateMenuItemConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateEntityDetailsInputEntityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateEntityArrayDatatype,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateEntitySchemaDefaultValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const newConfig = JSON.parse(JSON.stringify(config), (_that, rawValue) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      let configPart = rawValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      for (const migration of migrations) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        configPart = migration(_that, configPart);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return newConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A ConfigMigration is checked during a full JSON.parse using a reviver function.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * If the migration does not apply to the given configPart, make sure to return it unchanged.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Multiple migrations are chained and can transform the same config part one after the other.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +type ConfigMigration = (key: string, configPart: any) => any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Transform legacy "entity:" config format into the flattened structure containing id directly.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateEntityAttributesWithId: ConfigMigration = (key, configPart) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (!(key.startsWith("entity") && Array.isArray(configPart.attributes))) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart.attributes = configPart.attributes.reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (acc, attr: { name: string; schema: EntitySchemaField }) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...acc,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      [attr.name]: attr.schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // id inside the field schema config (FieldConfig) is added by EntityConfigService and does not need migration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Transform legacy "view:...Form" config format to have form field group headers with the fields rather than as separate array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateFormHeadersIntoFieldGroups: ConfigMigration = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (!(configPart?.component === "Form" && configPart?.config?.cols)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const formConfig = configPart.config;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // change .cols and .headers into .fieldGroups
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const newFormConfig = { ...formConfig };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  delete newFormConfig.cols;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  delete newFormConfig.headers;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  newFormConfig.fieldGroups = formConfig.cols?.map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (colGroup) => ({ fields: colGroup }) as FieldGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (formConfig.headers) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    newFormConfig.fieldGroups.forEach((group, i) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (formConfig.headers[i]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        group.header = formConfig.headers[i];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart.config = newFormConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateFormFieldConfigView2ViewComponent: ConfigMigration = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    !(key === "columns" || key === "fields" || key === "cols") &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    key !== null
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (Array.isArray(configPart)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart.map((c) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      migrateFormFieldConfigView2ViewComponent(null, c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (configPart?.view) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    configPart.viewComponent = configPart.view;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete configPart.view;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (configPart?.edit) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    configPart.editComponent = configPart.edit;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete configPart.edit;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateMenuItemConfig: ConfigMigration = (key, configPart) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (key !== "navigationMenu") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const oldItems: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    | {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        icon: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        link: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    | MenuItem
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  )[] = configPart.items;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart.items = oldItems.map((item) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (item.hasOwnProperty("name")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        label: item["name"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        icon: item.icon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        link: item.link,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return item;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Config properties specifying an entityType should be named "entityType" rather than "entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * to avoid confusion with a specific instance of an entity being passed in components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @param key
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @param configPart
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateEntityDetailsInputEntityType: ConfigMigration = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (key !== "config") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (configPart["entity"]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    configPart["entityType"] = configPart["entity"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete configPart["entity"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Replace custom "entity-array" dataType with dataType="array", innerDatatype="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @param key
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @param configPart
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateEntityArrayDatatype: ConfigMigration = (key, configPart) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (configPart === "DisplayEntityArray") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return "DisplayEntity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (!configPart?.hasOwnProperty("dataType")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const config: EntitySchemaField = configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (config.dataType === "entity-array") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    config.dataType = EntityDatatype.dataType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    config.isArray = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (config.dataType === "array") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    config.dataType = config["innerDataType"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete config["innerDataType"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    config.isArray = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (config.dataType === "configurable-enum" && config["innerDataType"]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    config.additional = config["innerDataType"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    delete config["innerDataType"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +const migrateEntitySchemaDefaultValue: ConfigMigration = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  key: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  configPart: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +): any => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (key !== "defaultValue") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (typeof configPart == "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return configPart;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  let placeholderValue: string | undefined = Object.values(PLACEHOLDERS).find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    (value) => value === configPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (placeholderValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      mode: "dynamic",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      value: placeholderValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } as DefaultValueConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    mode: "static",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    value: configPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } as DefaultValueConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ConfigurableEnumDatatype.html b/documentation/injectables/ConfigurableEnumDatatype.html new file mode 100644 index 0000000000..faa5637a26 --- /dev/null +++ b/documentation/injectables/ConfigurableEnumDatatype.html @@ -0,0 +1,1089 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/basic-datatypes/configurable-enum/configurable-enum-datatype/configurable-enum.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + DiscreteDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(enumService: ConfigurableEnumService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + transformToDatabaseFormat(value: ConfigurableEnumValue) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:26 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              transforms Objects of InteractionType to strings to save in DB

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + ConfigurableEnumValue + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Object to be saved as specified in config file; e.g. {id: 'CALL', label:'Phone Call', color:'#FFFFFF'}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + transformToObjectFormat(value: string, schemaField: EntitySchemaField) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              transforms saved strings from the DB to Objects of InteractionType

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              string from database as specified in config file; e.g. 'PHONE_CALL'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : ConfigurableEnumValue + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:37 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + importMapFunction(val, schemaField: EntitySchemaField, additional: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:29 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              val + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              additional + literal type + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "configurable-enum" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:12 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + Readonly + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "EditConfigurableEnum" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:16 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : $localize`:datatype-label:dropdown option` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:13 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + Readonly + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "DisplayConfigurableEnum" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "DiscreteImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:15 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { ConfigurableEnumValue } from "../configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchemaField } from "../../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ConfigurableEnumService } from "../configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DiscreteDatatype } from "../../discrete/discrete.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ConfigurableEnumDatatype extends DiscreteDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ConfigurableEnumValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  string
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static override dataType = "configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static override label: string = $localize`:datatype-label:dropdown option`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public readonly viewComponent = "DisplayConfigurableEnum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public readonly editComponent = "EditConfigurableEnum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(private enumService: ConfigurableEnumService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * transforms Objects of InteractionType to strings to save in DB
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value Object to be saved as specified in config file; e.g. `{id: 'CALL', label:'Phone Call', color:'#FFFFFF'}`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public transformToDatabaseFormat(value: ConfigurableEnumValue): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return value?.id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * transforms saved strings from the DB to Objects of InteractionType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value string from database as specified in config file; e.g. 'PHONE_CALL'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param schemaField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): ConfigurableEnumValue {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (value === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let enumId = schemaField.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let enumOption = this.enumService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .getEnumValues(enumId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ?.find((option) => option.id === value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!enumOption) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      enumOption = this.generateOptionForInvalid(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return enumOption;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Build a dummy option so that invalid values are not lost on the next save and users can manually correct issues.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param optionValue
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private generateOptionForInvalid(optionValue: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      id: optionValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      isInvalidOption: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      label:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        $localize`:enum option label prefix for invalid id dummy:[invalid option]` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        optionValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ConfigurableEnumService.html b/documentation/injectables/ConfigurableEnumService.html new file mode 100644 index 0000000000..739c32b5d4 --- /dev/null +++ b/documentation/injectables/ConfigurableEnumService.html @@ -0,0 +1,596 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/configurable-enum/configurable-enum.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapper: EntityMapperService, ability: EntityAbility) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + getEnum + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +getEnum(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                id + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + getEnumValues + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +getEnumValues(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                id + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + listEnums + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +listEnums() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + preLoadEnums + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + preLoadEnums() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfigurableEnum } from "./configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfigurableEnumValue } from "./configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class ConfigurableEnumService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private enums = new Map<string, ConfigurableEnum>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .receiveUpdates(ConfigurableEnum)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .subscribe(({ entity }) => this.cacheEnum(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async preLoadEnums() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const allEnums = await this.entityMapper.loadType(ConfigurableEnum);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    allEnums.forEach((entity) => this.cacheEnum(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private cacheEnum(entity: ConfigurableEnum) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.enums.set(entity.getId(), entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  getEnumValues<T extends ConfigurableEnumValue = ConfigurableEnumValue>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    id: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): T[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const configurableEnum = this.getEnum(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return configurableEnum ? (configurableEnum.values as T[]) : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  getEnum(id: string): ConfigurableEnum | undefined {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!this.enums) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const entityId = Entity.createPrefixedId(ConfigurableEnum.ENTITY_TYPE, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      !this.enums.has(entityId) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.ability.can("create", ConfigurableEnum)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const newEnum = new ConfigurableEnum(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.cacheEnum(newEnum);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.enums.get(entityId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  listEnums() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Array.from(this.enums.keys());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ConfirmationDialogService.html b/documentation/injectables/ConfirmationDialogService.html new file mode 100644 index 0000000000..241e04380b --- /dev/null +++ b/documentation/injectables/ConfirmationDialogService.html @@ -0,0 +1,656 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/common-components/confirmation-dialog/confirmation-dialog.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inject this service instead of MatDialog if you need a simple, configurable confirmation dialog box +to be displayed to the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Import the ConfirmationDialogModule in your root module to provide this service.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  this.confirmationDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.getConfirmation('Delete?', 'Are you sure you want to delete this record?')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +.then((confirmed) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +// delete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +});
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(dialog: MatDialog, ngZone: NgZone) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ngZone + NgZone + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + getConfirmation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +getConfirmation(title: string, text: string, buttons: ConfirmationDialogButton[], closeButton) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Open a dialog with the given configuration. +arbitrary

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  title + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The title displayed for the dialog

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  text + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The text displayed for the dialog

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  buttons + ConfirmationDialogButton[] + + No + + YesNoButtons + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The buttons to show. Defaults to 'yes' and 'no', but can be +arbitrary

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  closeButton + + No + + true + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Whether a single icon-button with an 'x' is shown to the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  promise that resolves to true if the user confirmed and false otherwise`

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + getDiscardConfirmation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +getDiscardConfirmation() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + showProgressDialog + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +showProgressDialog(message: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Show an (indeterminate) progress bar modal that cannot be closed by the user. +Use the returned dialogRef to close the dialog once your processing is completed.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  message + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable, NgZone } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ConfirmationDialogButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ConfirmationDialogComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  YesNoButtons,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "./confirmation-dialog/confirmation-dialog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ProgressDialogComponent } from "./progress-dialog/progress-dialog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Inject this service instead of MatDialog if you need a simple, configurable confirmation dialog box
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * to be displayed to the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Import the {@link ConfirmationDialogModule} in your root module to provide this service.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * @example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + this.confirmationDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + .getConfirmation('Delete?', 'Are you sure you want to delete this record?')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + .then((confirmed) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +       // delete
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ConfirmationDialogService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private ngZone: NgZone,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Open a dialog with the given configuration.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param title The title displayed for the dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param text The text displayed for the dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param buttons The buttons to show. Defaults to 'yes' and 'no', but can be
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * arbitrary
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param closeButton Whether a single icon-button with an 'x' is shown to the user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @returns promise that resolves to true if the user confirmed and false otherwise`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    title: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    text: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    buttons: ConfirmationDialogButton[] = YesNoButtons,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    closeButton = true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const dialogRef = this.ngZone.run(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return this.dialog.open(ConfirmationDialogComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          title: title,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          text: text,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          buttons: buttons,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          closeButton: closeButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return firstValueFrom(dialogRef.afterClosed());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getDiscardConfirmation() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`:Discard changes header:Discard Changes?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`:Discard changes message:You have unsaved changes. Do you really want to leave this page? All unsaved changes will be lost.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Show an (indeterminate) progress bar modal that cannot be closed by the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Use the returned dialogRef to close the dialog once your processing is completed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  showProgressDialog(message: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.dialog.open(ProgressDialogComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      data: { message },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      minWidth: "50vh",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      disableClose: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/CouchdbFileService.html b/documentation/injectables/CouchdbFileService.html new file mode 100644 index 0000000000..f9ed2a9f2e --- /dev/null +++ b/documentation/injectables/CouchdbFileService.html @@ -0,0 +1,1104 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/file/couchdb-file.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Stores the files in the CouchDB. +See https://docs.couchdb.org/en/3.2.2-docs/intro/api.html?highlight=attachments#attachments +Running upload and download processes are shown with progress bars.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + FileService +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(sanitizer: DomSanitizer, http: HttpClient, dialog: MatDialog, snackbar: MatSnackBar, syncService: SyncService, entityMapper: EntityMapperService, entities: EntityRegistry, syncState: SyncStateSubject, navigator: Navigator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    sanitizer + DomSanitizer + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    snackbar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    syncService + SyncService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    syncState + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    navigator + Navigator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + loadFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +loadFile(entity: Entity, property: string, throwErrors: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in FileService:185 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property + string + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    throwErrors + boolean + + No + + false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Observable<SafeUrl> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + removeAllFiles + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +removeAllFiles(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in FileService:148 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + removeFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +removeFile(entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in FileService:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +showFile(entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in FileService:163 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + uploadFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +uploadFile(file: File, entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in FileService:64 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpEvent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpEventType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpProgressEvent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpResponse,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  HttpStatusCode,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  catchError,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  concatMap,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  filter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  last,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  map,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  shareReplay,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  tap,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { from, Observable, of, throwError } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ShowFileComponent } from "./show-file/show-file.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FileService } from "./file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ProgressComponent } from "./progress/progress.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityRegistry } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Logging } from "../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ObservableQueue } from "./observable-queue/observable-queue";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DomSanitizer, SafeUrl } from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncStateSubject } from "../../core/session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncService } from "../../core/database/sync.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncState } from "../../core/session/session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NAVIGATOR_TOKEN } from "../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NotAvailableOfflineError } from "../../core/session/not-available-offline.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Stores the files in the CouchDB.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * See {@link https://docs.couchdb.org/en/3.2.2-docs/intro/api.html?highlight=attachments#attachments}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Running upload and download processes are shown with progress bars.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class CouchdbFileService extends FileService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private attachmentsUrl = `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}-attachments`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // TODO it seems like failed requests are executed again when a new one is done
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private requestQueue = new ObservableQueue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private cache: { [key: string]: Observable<string> } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private sanitizer: DomSanitizer,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private snackbar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private syncService: SyncService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    syncState: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @Inject(NAVIGATOR_TOKEN) private navigator: Navigator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super(entityMapper, entities, syncState);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  uploadFile(file: File, entity: Entity, property: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.navigator.onLine) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return throwError(() => new NotAvailableOfflineError("File Attachments"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const obs = this.requestQueue.add(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.runFileUpload(file, entity, property),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.reportProgress($localize`Uploading "${file.name}"`, obs);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.cache[`${entity.getId()}/${property}`] = obs.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      last(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      map(() => URL.createObjectURL(file)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      shareReplay(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return obs;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private runFileUpload(file: File, entity: Entity, property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const attachmentPath = `${this.attachmentsUrl}/${entity.getId()}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.ensureDocIsSynced().pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      concatMap(() => this.getAttachmentsDocument(attachmentPath)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      concatMap(({ _rev }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.http.put(`${attachmentPath}/${property}?rev=${_rev}`, file, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          headers: { "ngsw-bypass": "" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          reportProgress: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          observe: "events",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      // prevent http request to be executed multiple times (whenever .subscribe is called)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      shareReplay(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * For permission checks to work correctly, the Entity must be available server-side already.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Manually send this doc to the DB here because sync is only happening at slower intervals.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private ensureDocIsSynced(): Observable<SyncState> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return from(this.syncService.sync()).pipe(map(() => this.syncState.value));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getAttachmentsDocument(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    attachmentPath: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Observable<{ _rev: string }> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http.get<{ _id: string; _rev: string }>(attachmentPath).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      catchError((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (err.status === HttpStatusCode.NotFound) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            .put<{ rev: string }>(attachmentPath, {})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            .pipe(map((res) => ({ _rev: res.rev })));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  removeFile(entity: Entity, property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.navigator.onLine) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return throwError(() => new NotAvailableOfflineError("File Attachments"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.requestQueue.add(this.runFileRemoval(entity, property));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private runFileRemoval(entity: Entity, property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const path = `${entity.getId()}/${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .get<{ _rev: string }>(`${this.attachmentsUrl}/${entity.getId()}`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        concatMap(({ _rev }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.http.delete(`${this.attachmentsUrl}/${path}?rev=${_rev}`),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        tap(() => delete this.cache[path]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        catchError((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          if (err.status === HttpStatusCode.NotFound) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            return of({ ok: true });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  removeAllFiles(entity: Entity): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.requestQueue.add(this.runAllFilesRemoval(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private runAllFilesRemoval(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const attachmentPath = `${this.attachmentsUrl}/${entity.getId()}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .get<{ _rev: string }>(attachmentPath)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        concatMap(({ _rev }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.http.delete(`${attachmentPath}?rev=${_rev}`),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  showFile(entity: Entity, property: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const obs = this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .get(`${this.attachmentsUrl}/${entity.getId()}/${property}`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        responseType: "blob",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        reportProgress: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        observe: "events",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        headers: { "ngsw-bypass": "" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(shareReplay());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.reportProgress($localize`Loading "${entity[property]}"`, obs);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    obs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(filter((e) => e.type === HttpEventType.Response))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe((e: HttpResponse<Blob>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        const fileURL = URL.createObjectURL(e.body);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        const win = window.open(fileURL, "_blank");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (!win || win.closed || typeof win.closed == "undefined") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          // When it takes more than a few (2-5) seconds to open the file, the browser might block the popup
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.dialog.open(ShowFileComponent, { data: fileURL });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  loadFile(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    property: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    throwErrors: boolean = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Observable<SafeUrl> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const path = `${entity.getId()}/${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.cache[path]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.cache[path] = this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .get(`${this.attachmentsUrl}/${path}`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          responseType: "blob",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          map((blob) => URL.createObjectURL(blob)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          catchError((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            Logging.warn("Could not load file", entity?.getId(), property, err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            if (throwErrors) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              return of("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          shareReplay(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.cache[path].pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      map((url) => this.sanitizer.bypassSecurityTrustUrl(url)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private reportProgress(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    obs: Observable<HttpEvent<any> | any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const progress = obs.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          e.type === HttpEventType.DownloadProgress ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          e.type === HttpEventType.UploadProgress,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      map((e: HttpProgressEvent) => Math.round(100 * (e.loaded / e.total))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const ref = this.snackbar.openFromComponent(ProgressComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      data: { message, progress },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    progress.subscribe({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      complete: () => ref.dismiss(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      error: () => ref.dismiss(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/CurrentUserSubject.html b/documentation/injectables/CurrentUserSubject.html new file mode 100644 index 0000000000..24e0abb2ab --- /dev/null +++ b/documentation/injectables/CurrentUserSubject.html @@ -0,0 +1,267 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/session/current-user-subject.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The Entity linked to the currently logged-in user, which can be used to pre-fill forms or customize workflows. +This might be undefined even when logged in. E.g. when using an administrative support account.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + BehaviorSubject +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The Entity linked to the currently logged-in user, which can be used to pre-fill forms or customize workflows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This might be undefined even when logged in. E.g. when using an administrative support account.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class CurrentUserSubject extends BehaviorSubject<Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DataAggregationService.html b/documentation/injectables/DataAggregationService.html new file mode 100644 index 0000000000..f8b6a9acf8 --- /dev/null +++ b/documentation/injectables/DataAggregationService.html @@ -0,0 +1,535 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/data-aggregation.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(queryService: QueryService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        queryService + QueryService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + Async + calculateReport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + calculateReport(aggregations: Aggregation[], from?: Date, to?: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        aggregations + Aggregation[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        from + Date + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        to + Date + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Promise<ReportRow[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { QueryService } from "../../core/export/query.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { GroupByDescription, ReportRow } from "./report-row";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { groupBy } from "../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface Aggregation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  query: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  groupBy?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregations?: Aggregation[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DataAggregationService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private fromDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private toDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private queryService: QueryService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public async calculateReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregations: Aggregation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Promise<ReportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.fromDate = from;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.toDate = to;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const fullQuery = aggregations.map((a) => this.concatQueries(a)).join("|");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await this.queryService.cacheRequiredData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      fullQuery,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.calculateAggregations(aggregations);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private concatQueries(config: Aggregation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return (config.aggregations ?? []).reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (query, c) => query + this.concatQueries(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      config.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private calculateAggregations(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregations: Aggregation[] = [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    data?: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    additionalValues: GroupByDescription[] = [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): ReportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const resultRows: ReportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let currentSubRows = resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const aggregation of aggregations) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const queryResult = this.queryService.queryData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        aggregation.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (aggregation.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const newRow = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          header: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: aggregation.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupedBy: additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            result: queryResult?.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          subRows: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        resultRows.push(newRow);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        currentSubRows = newRow.subRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (aggregation.aggregations) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        currentSubRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ...this.calculateAggregations(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            aggregation.aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            queryResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (aggregation.groupBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        currentSubRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ...this.calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            aggregation.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            aggregation.aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            aggregation.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            queryResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    properties: string[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregations: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    label: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    additionalValues: GroupByDescription[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): ReportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const resultRows: ReportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (let i = properties.length; i > 0; i--) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const currentProperty = properties[i - 1];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const remainingProperties = properties.slice(i);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const groupingResults = groupBy(data, currentProperty);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      for (const [group, entries] of groupingResults) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const groupingValues = additionalValues.concat({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          property: currentProperty,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          value: group,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const newRow: ReportRow = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          header: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupedBy: groupingValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            result: entries.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          subRows: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        newRow.subRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ...this.calculateAggregations(aggregations, entries, groupingValues),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        newRow.subRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ...this.calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            remainingProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            entries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupingValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        resultRows.push(newRow);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DataTransformationService.html b/documentation/injectables/DataTransformationService.html new file mode 100644 index 0000000000..a847649e5c --- /dev/null +++ b/documentation/injectables/DataTransformationService.html @@ -0,0 +1,775 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/export/data-transformation-service/data-transformation.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Prepare data for export or analysis

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(queryService: QueryService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          queryService + QueryService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + queryAndTransformData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + queryAndTransformData(config: ExportColumnConfig[], from?: Date, to?: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + ExportColumnConfig[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          from + Date + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          to + Date + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<ExportRow[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + transformData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + transformData(data: any[], config: ExportColumnConfig[], from?: Date, to?: Date, groupByProperty?: literal type) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Creates a dataset with the provided values that can be used for a simple table or export.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          data + any[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          an array of elements. If not provided, the first query in config will be used to get the data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + ExportColumnConfig[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) config specifying how export should look

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          from + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) limits the data which is fetched from the database and is also available inside the query. If not provided, all data is fetched.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          to + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) same as from.If not provided, today is used.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          groupByProperty + literal type + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (optional) groups the data using the value at the given property and adds a column to the final table.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<ExportRow[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          array with the result of the queries and sub queries

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getReadableValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  transformToReadableFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "../../common-components/entities-table/value-accessor/value-accessor";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ExportColumnConfig } from "./export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { QueryService } from "../query.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { groupBy } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Prepare data for export or analysis
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DataTransformationService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private queryService: QueryService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async queryAndTransformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<ExportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const combinedResults: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const totalRow: ExportRow = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const c of config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.queryService.cacheRequiredData(c.query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const baseData = this.queryService.queryData(c.query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const result: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (c.subQueries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        result.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ...(await this.transformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            baseData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            c.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            c.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          )),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        totalRow[c.label] = baseData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      combinedResults.push(...result);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return Object.keys(totalRow).length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ? [totalRow, ...combinedResults]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      : combinedResults;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private concatQueries(config: ExportColumnConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return (config.subQueries ?? []).reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (query, c) => query + this.concatQueries(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      config.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Creates a dataset with the provided values that can be used for a simple table or export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param data an array of elements. If not provided, the first query in `config` will be used to get the data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param config (Optional) config specifying how export should look
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param from (Optional) limits the data which is fetched from the database and is also available inside the query. If not provided, all data is fetched.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param to (Optional) same as from.If not provided, today is used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param groupByProperty (optional) groups the data using the value at the given property and adds a column to the final table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @returns array with the result of the queries and sub queries
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async transformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    groupByProperty?: { label: string; property: string },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<ExportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const fullQuery = config.map((c) => this.concatQueries(c)).join("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.queryService.cacheRequiredData(fullQuery, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.generateRows(data, config, from, to, groupByProperty).map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      transformToReadableFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    groupByProperty?: { label: string; property: string },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const result: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (groupByProperty) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const groups = groupBy(data, groupByProperty.property);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      for (const [group, values] of groups) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        const groupColumn: ExportColumnConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          label: groupByProperty.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          query: `:setString(${getReadableValue(group)})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        const rows = this.generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          values,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          [groupColumn].concat(...config),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        result.push(...rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      for (const dataRow of data) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        const rows = this.generateColumnsForRow(dataRow, config, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        result.push(...rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Generate one or more export row objects from the given data data and config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param data A data to be exported as one or more export row objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @returns array of one or more export row objects (as simple {key: value})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let exportRows: ExportRow[] = [{}];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const exportColumnConfig of config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const partialExportObjects = this.buildValueRecursively(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        exportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      exportRows = this.mergePartialExportRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        exportRows,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        partialExportObjects,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return exportRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Generate one or more (partial) export row objects from a single property of the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param data one single data item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param exportColumnConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private buildValueRecursively(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    exportColumnConfig: ExportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const label =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      exportColumnConfig.label ?? exportColumnConfig.query.replace(".", "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const value = this.getValueForQuery(exportColumnConfig, data, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!exportColumnConfig.subQueries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return [{ [label]: value }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else if (value.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        exportColumnConfig.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.generateRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        exportColumnConfig.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        exportColumnConfig.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private getValueForQuery(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    exportColumnConfig: ExportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const value = this.queryService.queryData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      exportColumnConfig.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Array.isArray(data) ? data : [data],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!Array.isArray(value)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else if (!exportColumnConfig.subQueries && value.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value.filter((val) => val !== undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Combine two arrays of export row objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Every additional row is merged with every row of the first array (combining properties),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * resulting in n*m export rows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param exportRows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param additionalExportRows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private mergePartialExportRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    exportRows: ExportRow[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    additionalExportRows: ExportRow[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const rowsOfRows: ExportRow[][] = additionalExportRows.map((addRow) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      exportRows.map((row) => Object.assign({}, row, addRow)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // return flattened array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return rowsOfRows.reduce((acc, rowOfRows) => acc.concat(rowOfRows), []);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface ExportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [key: string]: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DatabaseIndexingService.html b/documentation/injectables/DatabaseIndexingService.html new file mode 100644 index 0000000000..df88d6c766 --- /dev/null +++ b/documentation/injectables/DatabaseIndexingService.html @@ -0,0 +1,1290 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity/database-indexing/database-indexing.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Manage database query index creation and use, working as a facade in front of the Database service. +This allows to track pending indexing processes and also show them to users in the UI.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Accessors
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(db: Database, entitySchemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            db + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + createIndex + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + createIndex(designDoc: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Register a new database query to be created/updated and indexed.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This also triggers updates to the observable indicesRegistered.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            designDoc + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The design document (see

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + generateIndexOnProperty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +generateIndexOnProperty(indexId: string, entity: EntityConstructor<E>, referenceProperty: REF, secondaryIndex?: SEC) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • REF
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • SEC
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Generate and save a new database query index for the given entity type and property.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This allows you to efficiently query documents of that entity type based on values of the reference property, +e.g. query all Notes (entityType=Note) that are related to a certain user (referenceProperty="authors").

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Query this index using the given indexId like this: +generateIndexOnProperty("myIndex", Note, "category"); +queryIndexDocs(Note, "myIndex/by_category")

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indexId + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            id to query this index after creation (--> {indexId}/by_{referenceProperty})

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity + EntityConstructor<E> + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity type to limit the documents included in this index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            referenceProperty + REF + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property key on the documents whose value is indexed as a query key

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            secondaryIndex + SEC + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (optional) additional property to emit as a secondary index to narrow queries further

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + queryIndexDocs + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + queryIndexDocs(entityConstructor: EntityConstructor<T>, indexName: string, options: QueryOptions | string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Load data from the Database through the given, previously created index.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityConstructor + EntityConstructor<T> + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indexName + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The name of the previously created index to be queried.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            options + QueryOptions | string + + No + + {} + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (Optional) additional query options object or a simple value used as the exact key to retrieve

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + queryIndexDocsRange + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + queryIndexDocsRange(entityConstructor: EntityConstructor<T>, indexName: string, startkey: string | any[], endkey?: string | any[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Load data from the Database through the given, previously created index for a key range.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityConstructor + EntityConstructor<T> + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indexName + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The name of the previously created index to be queried.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            startkey + string | any[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            start id of range to query

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            endkey + string | any[] + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            end id of range to query (inclusive)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + queryIndexRaw + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + queryIndexRaw(indexName: string, options: QueryOptions, doNotWaitForIndexCreation?: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Run a query on the database. +If the required index does not exist (yet) this blocks the request by default +and only runs and returns once the index is available.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               If no index exists this may result in an error (e.g. 404)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indexName + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            key of the database index to be used

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            options + QueryOptions + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            additional options for the request

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            doNotWaitForIndexCreation + boolean + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (Optional) flag to not block the query if the index doesn't exist yet. +If no index exists this may result in an error (e.g. 404)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + queryIndexStats + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +queryIndexStats(indexName: string, options: QueryOptions) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            indexName + string + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            options + QueryOptions + + No + + { + reduce: true, + group: true, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Accessors +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + indicesRegistered +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + getindicesRegistered() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            All currently registered indices with their status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Database, QueryOptions } from "../../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { BehaviorSubject, firstValueFrom, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { BackgroundProcessState } from "../../ui/sync-status/background-process-state.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { first } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Manage database query index creation and use, working as a facade in front of the Database service.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * This allows to track pending indexing processes and also show them to users in the UI.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class DatabaseIndexingService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private _indicesRegistered = new BehaviorSubject<BackgroundProcessState[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** All currently registered indices with their status */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get indicesRegistered(): Observable<BackgroundProcessState[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this._indicesRegistered.asObservable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private db: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entitySchemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Register a new database query to be created/updated and indexed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This also triggers updates to the observable `indicesRegistered`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param designDoc The design document (see @link{Database}) describing the query/index.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async createIndex(designDoc: any): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const indexDetails = designDoc._id.replace(/_design\//, "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const indexState: BackgroundProcessState = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      title: $localize`Preparing data (Indexing)`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      details: indexDetails,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      pending: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const indexCreationPromise = this.db.saveDatabaseIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._indicesRegistered.next([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...this._indicesRegistered.value.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (state) => state.details !== indexDetails,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      indexState,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await indexCreationPromise;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      indexState.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      indexState.error = err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._indicesRegistered.next(this._indicesRegistered.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexState.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._indicesRegistered.next(this._indicesRegistered.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Generate and save a new database query index for the given entity type and property.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This allows you to efficiently query documents of that entity type based on values of the reference property,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * e.g. query all Notes (entityType=Note) that are related to a certain user (referenceProperty="authors").
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Query this index using the given indexId like this:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * generateIndexOnProperty("myIndex", Note, "category");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * queryIndexDocs(Note, "myIndex/by_category")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param indexId id to query this index after creation (--> {indexId}/by_{referenceProperty})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entity entity type to limit the documents included in this index
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param referenceProperty property key on the documents whose value is indexed as a query key
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param secondaryIndex (optional) additional property to emit as a secondary index to narrow queries further
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  generateIndexOnProperty<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    E extends Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    REF extends keyof E & string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    SEC extends keyof E & string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  >(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entity: EntityConstructor<E>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    referenceProperty: REF,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    secondaryIndex?: SEC,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const emitParamFormatter = (primaryParam) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (secondaryIndex) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return `emit([${primaryParam}, doc.${secondaryIndex}]);`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return `emit(${primaryParam});`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const simpleEmit = emitParamFormatter("doc." + referenceProperty);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const arrayEmit = `
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!Array.isArray(doc.${referenceProperty})) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      doc.${referenceProperty}.forEach((relatedEntity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ${emitParamFormatter("relatedEntity")}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      _id: "_design/" + indexId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        [`by_${referenceProperty}`]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            if (!doc._id.startsWith("${entity.ENTITY_TYPE}")) return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            ${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +              entity.schema.get(referenceProperty).isArray
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +                ? arrayEmit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +                : simpleEmit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Load data from the Database through the given, previously created index.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entityConstructor
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param indexName The name of the previously created index to be queried.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param options (Optional) additional query options object or a simple value used as the exact key to retrieve
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async queryIndexDocs<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityConstructor: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    options: QueryOptions | string = {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<T[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (typeof options === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      options = { key: options };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    options.include_docs = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const rawResults = await this.queryIndexRaw(indexName, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return rawResults.rows.map((loadedRecord) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const entity = new entityConstructor("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.entitySchemaService.loadDataIntoEntity(entity, loadedRecord.doc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Load data from the Database through the given, previously created index for a key range.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entityConstructor
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param indexName The name of the previously created index to be queried.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param startkey start id of range to query
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param endkey end id of range to query (inclusive)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async queryIndexDocsRange<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityConstructor: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    startkey: string | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    endkey?: string | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<T[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (Array.isArray(endkey)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      endkey = [...endkey, {}];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      endkey = endkey + "\ufff0";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.queryIndexDocs(entityConstructor, indexName, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      startkey: startkey,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      endkey: endkey,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  queryIndexStats(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    options: QueryOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      reduce: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      group: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.queryIndexRaw(indexName, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Run a query on the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * If the required index does not exist (yet) this blocks the request by default
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * and only runs and returns once the index is available.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param indexName key of the database index to be used
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param options additional options for the request
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param doNotWaitForIndexCreation (Optional) flag to *not* block the query if the index doesn't exist yet.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *        If no index exists this may result in an error (e.g. 404)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async queryIndexRaw(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    indexName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    options: QueryOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    doNotWaitForIndexCreation?: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!doNotWaitForIndexCreation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.waitForIndexAvailable(indexName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.db.query(indexName, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * If the index is not created yet, wait until it is ready to avoid 404 errors.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns immediately if index is already created.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param indexName
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async waitForIndexAvailable(indexName: string): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    function relevantIndexIsReady(processes, requiredIndexName) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const relevantProcess = processes.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (process) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          process.details === requiredIndexName ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          requiredIndexName.startsWith(process.details + "/"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return relevantProcess && !relevantProcess.pending;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (relevantIndexIsReady(this._indicesRegistered.value, indexName)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._indicesRegistered.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        first((processes) => relevantIndexIsReady(processes, indexName)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DateAdapterWithFormatting.html b/documentation/injectables/DateAdapterWithFormatting.html new file mode 100644 index 0000000000..a1ddadfca4 --- /dev/null +++ b/documentation/injectables/DateAdapterWithFormatting.html @@ -0,0 +1,418 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/language/date-adapter-with-formatting.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + NativeDateAdapter +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + getFirstDayOfWeek + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getFirstDayOfWeek() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + parse + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +parse(value: any, parseFormat?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Using Moment.js to parse the date input https://momentjs.com/guides/#/parsing/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              parseFormat + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Date | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MAT_NATIVE_DATE_FORMATS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatDateFormats,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NativeDateAdapter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { getLocaleFirstDayOfWeek } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Extend MAT_NATIVE_DATE_FORMATS to also support parsing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export const DATE_FORMATS: MatDateFormats = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  parse: { dateInput: "l" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  display: MAT_NATIVE_DATE_FORMATS.display,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DateAdapterWithFormatting extends NativeDateAdapter {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Using Moment.js to parse the date input {@link https://momentjs.com/guides/#/parsing/}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param parseFormat
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  parse(value: any, parseFormat?: any): Date | null {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (value && typeof value == "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return moment(value, parseFormat, this.locale, true).toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return value ? moment(value, true).locale(this.locale).toDate() : null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  override getFirstDayOfWeek(): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return getLocaleFirstDayOfWeek(this.locale);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DateDatatype.html b/documentation/injectables/DateDatatype.html new file mode 100644 index 0000000000..d30c35d866 --- /dev/null +++ b/documentation/injectables/DateDatatype.html @@ -0,0 +1,1002 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/date/date.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Datatype for the EntitySchemaService transforming values to Date instances.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This type is automatically used if you annotate a class's property that has the TypeScript type "Date" +ensuring that even if values in the database might be some kind of date string they will be cast to Date instances.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                For example:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @DatabaseField() myDate: Date; // will be a valid Date even if the database previously had "2020-01-15" as string

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + DefaultDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + anonymize(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:76 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<Date> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:63 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                additional + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToDatabaseFormat(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToObjectFormat(value, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:50 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parent + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "date" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:39 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "EditDate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:44 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "DateImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "DisplayDate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:43 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : $localize`:datatype-label:any` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The human-readable name for this dataType, used in config UIs.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Datatype for the EntitySchemaService transforming values to Date instances.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This type is automatically used if you annotate a class's property that has the TypeScript type "Date"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * ensuring that even if values in the database might be some kind of date string they will be cast to Date instances.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * `@DatabaseField() myDate: Date; // will be a valid Date even if the database previously had "2020-01-15" as string`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class DateDatatype<DBFormat = any> extends DefaultDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  DBFormat
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override dataType = "date";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  // currently not shown to users in Admin UI, as this is not supported well with timezones and UI
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  // static override label: string = $localize`:datatype-label:date (with time)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  viewComponent = "DisplayDate";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  editComponent = "EditDate";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  transformToDatabaseFormat(value: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return value as any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  transformToObjectFormat(value, schemaField: EntitySchemaField, parent: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const date = new Date(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (Number.isNaN(date.getTime())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        `failed to convert data '${value}' to Date object for ${parent?._id}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  importConfigComponent = "DateImportConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async importMapFunction(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    val: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    additional?: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const date = moment(val, additional, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (date.isValid()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return date.toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async anonymize(value: Date): Promise<Date> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    // normalize to 01.06. of the year, which has less statistical distortion than 01.01.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    // (roughly half the dates before anonymization will be earlier and half will be later)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return new Date(value.getFullYear(), 6, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DateOnlyDatatype.html b/documentation/injectables/DateOnlyDatatype.html new file mode 100644 index 0000000000..6ad8068f48 --- /dev/null +++ b/documentation/injectables/DateOnlyDatatype.html @@ -0,0 +1,1007 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/basic-datatypes/date-only/date-only.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Datatype for the EntitySchemaService transforming Date values to/from a date string format ("YYYY-mm-dd").

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Throws an exception if the property is set to something that is not a Date instance and cannot be cast to Date either. +Uses the import value mapping properties of the general DateDatatype.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  For example: +@DatabaseField({dataType: 'date-only'}) myDate: Date = new Date('2020-01-15'); // will be "2020-01-15" (without time) in the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + DateDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +transformToDatabaseFormat(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:37 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +transformToObjectFormat(value: string, schemaField?: EntitySchemaField, parent?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:44 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  schemaField + EntitySchemaField + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  parent + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + anonymize(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:76 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<Date> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:63 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  additional + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "date-only" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:34 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : $localize`:datatype-label:date` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "EditDate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:44 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "DateImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "DisplayDate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in DefaultDatatype:43 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { dateToString } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DateDatatype } from "../date/date.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Datatype for the EntitySchemaService transforming Date values to/from a date string format ("YYYY-mm-dd").
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Throws an exception if the property is set to something that is not a Date instance and cannot be cast to Date either.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Uses the import value mapping properties of the general DateDatatype.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * `@DatabaseField({dataType: 'date-only'}) myDate: Date = new Date('2020-01-15'); // will be "2020-01-15" (without time) in the database`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DateOnlyDatatype extends DateDatatype<string> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static override dataType = "date-only";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static override label: string = $localize`:datatype-label:date`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  transformToDatabaseFormat(value: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!(value instanceof Date)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return dateToString(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    schemaField?: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    parent?: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Date {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    value = migrateIsoDatesToInferredDateOnly(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // new Date("2022-01-01") is interpreted as UTC time whereas new Date(2022, 0, 1) is local time
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // -> we want local time to represent the same day wherever used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const values = value.split("-").map((v) => Number(v));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let date: Date = new Date(values[0], values[1] - 1, values[2]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (isNaN(date.getTime())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // fallback to legacy date parsing if format is not "YYYY-mm-dd"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      date = new Date(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // re-use error logging and basic return logic from base type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return super.transformToObjectFormat(date, schemaField, parent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +function migrateIsoDatesToInferredDateOnly(value: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  if (!value.match(/\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ/)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // not ISO Date format (2023-01-06T10:03:35.726Z)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  const date = new Date(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    date.getMinutes() % 15 === 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    date.getSeconds() === 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    date.getMilliseconds() === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // this date was originally created without time information
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // -> infer the time zone and adjust its offset
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (date.getHours() > 12) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // adjust because these are showing the previous day due to timezone offset
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      date.setDate(date.getDate() + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return dateToString(date);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  // not a clean offset but a custom date => cannot reliably infer timezone here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  // cut off the time details and use the UTC date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  return value.substring(0, 10);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DateWithAgeDatatype.html b/documentation/injectables/DateWithAgeDatatype.html new file mode 100644 index 0000000000..5e447fe70c --- /dev/null +++ b/documentation/injectables/DateWithAgeDatatype.html @@ -0,0 +1,957 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/date-with-age/date-with-age.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Similar to the 'date-only' datatype but it uses the DateWithAge class which provides the age function.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DateOnlyDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToObjectFormat(value, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:16 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    parent + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : DateWithAge + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToDatabaseFormat(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:37 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + anonymize(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:76 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<Date> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:63 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    additional + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "date-with-age" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:11 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "EditAge" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:14 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : $localize`:datatype-label:date of birth (date + age)` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:12 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DateImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DisplayDate" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:43 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { DateOnlyDatatype } from "../date-only/date-only.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DateWithAge } from "./dateWithAge";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Similar to the 'date-only' datatype but it uses the `DateWithAge` class which provides the `age` function.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class DateWithAgeDatatype extends DateOnlyDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override dataType = "date-with-age";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override label: string = $localize`:datatype-label:date of birth (date + age)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  editComponent = "EditAge";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    parent: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): DateWithAge {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const dateValue = super.transformToObjectFormat(value, schemaField, parent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!dateValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return new DateWithAge(dateValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DefaultValueService.html b/documentation/injectables/DefaultValueService.html new file mode 100644 index 0000000000..4370d9f8e9 --- /dev/null +++ b/documentation/injectables/DefaultValueService.html @@ -0,0 +1,426 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity/default-value.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(handleDefaultValuesUseCase: HandleDefaultValuesUseCase) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      handleDefaultValuesUseCase + HandleDefaultValuesUseCase + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + handle + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +handle(formGroup: FormGroup, entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      formGroup + FormGroup + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "./model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { HandleDefaultValuesUseCase } from "./default-field-value/handle-default-values.usecase";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DefaultValueService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private handleDefaultValuesUseCase: HandleDefaultValuesUseCase) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  handle(formGroup: FormGroup, entity: Entity): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let schema = entity.getSchema();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let defaultValueConfigs = Array.from(schema.entries()).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ([key, fieldSchema]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return fieldSchema.defaultValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let inheritedConfigs = defaultValueConfigs.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ([key, fieldSchema]) => fieldSchema.defaultValue.mode == "inherited",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let nonInheritedConfigs = defaultValueConfigs.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ([key, fieldSchema]) => fieldSchema.defaultValue.mode != "inherited",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (inheritedConfigs.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // apply inherited rules first, to be sure, that default values are reflected correctly
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.handleDefaultValuesUseCase.handleFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        inheritedConfigs,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        entity.isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (nonInheritedConfigs.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.handleDefaultValuesUseCase.handleFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        nonInheritedConfigs,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        entity.isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoActivityEventsGeneratorService.html b/documentation/injectables/DemoActivityEventsGeneratorService.html new file mode 100644 index 0000000000..4734146fba --- /dev/null +++ b/documentation/injectables/DemoActivityEventsGeneratorService.html @@ -0,0 +1,759 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/child-dev-project/attendance/demo-data/demo-activity-events-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Generate Events with participants' attendance details for all RecurringActivities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(config: DemoEventsConfig, demoActivities: DemoActivityGeneratorService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        config + DemoEventsConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        demoActivities + DemoActivityGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : EventNote[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Static + generateEventForActivity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + generateEventForActivity(activity: RecurringActivity, date: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Create a specific event for a date based on the given activity and fill with random attendance.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        activity + RecurringActivity + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The activity for which to generate a concrete event instance

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        date + Date + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The date of the generated event

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : EventNote + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + provider(config: DemoEventsConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoActivityEventsGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        config + DemoEventsConfig + + No + + { + forNLastYears: 2, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AttendanceLogicalStatus } from "../model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { defaultAttendanceStatusTypes } from "../../../core/config/default-config/default-attendance-status-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DemoActivityGeneratorService } from "./demo-activity-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EventNote } from "../model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DemoEventsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  forNLastYears: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Generate Events with participants' attendance details for all RecurringActivities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DemoActivityEventsGeneratorService extends DemoDataGenerator<EventNote> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Create a specific event for a date based on the given activity and fill with random attendance.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param activity The activity for which to generate a concrete event instance
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param date The date of the generated event
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static generateEventForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    activity: RecurringActivity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    date: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): EventNote {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const eventNote = EventNote.create(date, activity.title);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    eventNote.authors = activity.assignedTo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    eventNote.category = activity.type;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    eventNote.relatesTo = activity.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const participantId of activity.participants) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      eventNote.addChild(participantId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const eventAtt = eventNote.getAttendance(participantId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      eventAtt.status = faker.helpers.arrayElement(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        defaultAttendanceStatusTypes,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (eventAtt.status.countAs === AttendanceLogicalStatus.ABSENT) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        eventAtt.remarks = faker.helpers.arrayElement([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          $localize`:Event demo attendance remarks:sick`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          $localize`:Event demo attendance remarks:fever`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          $localize`:Event demo attendance remarks:no information`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return eventNote;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *   `providers: [DemoActivityEventsGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static provider(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    config: DemoEventsConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      forNLastYears: 2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        provide: DemoActivityEventsGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        useClass: DemoActivityEventsGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      { provide: DemoEventsConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private config: DemoEventsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private demoActivities: DemoActivityGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  generateEntities(): EventNote[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const activity of this.demoActivities.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      for (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        let dayOffset = 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        dayOffset < this.config.forNLastYears * 365;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        dayOffset++
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const date = moment().subtract(dayOffset, "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (date.isoWeekday() === 6 || date.isoWeekday() === 7) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          // skip Saturday, Sunday
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          DemoActivityEventsGeneratorService.generateEventForActivity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            activity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            date.toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoActivityGeneratorService.html b/documentation/injectables/DemoActivityGeneratorService.html new file mode 100644 index 0000000000..5282506849 --- /dev/null +++ b/documentation/injectables/DemoActivityGeneratorService.html @@ -0,0 +1,712 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/attendance/demo-data/demo-activity-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Generate RecurringActivity entities +Builds upon the generated demo Child entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(demoChildren: DemoChildGenerator, demoUser: DemoUserGeneratorService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          demoUser + DemoUserGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + generateActivityForChildren + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + generateActivityForChildren(children: Child[], assignedUser?: User) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Create a single instance filled with dummy data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          children + Child[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The list of children to be added to the new activity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          assignedUser + User + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) user to be assigned as responsible for the activity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : RecurringActivity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : RecurringActivity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoAttendanceGenerator.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { DemoChildGenerator } from "../../children/demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RecurringActivity } from "../model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DemoUserGeneratorService } from "../../../core/user/demo-user-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { User } from "../../../core/user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { defaultInteractionTypes } from "../../../core/config/default-config/default-interaction-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Generate RecurringActivity entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Builds upon the generated demo Child entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DemoActivityGeneratorService extends DemoDataGenerator<RecurringActivity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private static readonly ACTIVITY_TYPES = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    defaultInteractionTypes.find((t) => t.id === "SCHOOL_CLASS"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    defaultInteractionTypes.find((t) => t.id === "COACHING_CLASS"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Create a single instance filled with dummy data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param children The list of children to be added to the new activity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param assignedUser (Optional) user to be assigned as responsible for the activity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static generateActivityForChildren(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    children: Child[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    assignedUser?: User,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): RecurringActivity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const activity = RecurringActivity.create();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const type = faker.helpers.arrayElement(this.ACTIVITY_TYPES);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    activity.title =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      type.label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      faker.number.int({ min: 1, max: 9 }) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      faker.string.alphanumeric(1).toUpperCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    activity.type = type;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    activity.participants = children.map((c) => c.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    activity.assignedTo = [assignedUser?.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return activity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *   `providers: [DemoAttendanceGenerator.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        provide: DemoActivityGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        useClass: DemoActivityGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly MIN_PARTICIPANTS = 3;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly MAX_PARTICIPANTS = 25;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private demoChildren: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private demoUser: DemoUserGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  generateEntities(): RecurringActivity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const children = this.demoChildren.entities.filter((c) => c.isActive);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let i = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    while (i < children.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const groupSize = faker.number.int({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        min: this.MIN_PARTICIPANTS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        max: this.MAX_PARTICIPANTS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const participatingChildren = children.slice(i, i + groupSize);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        DemoActivityGeneratorService.generateActivityForChildren(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          participatingChildren,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          faker.helpers.arrayElement(this.demoUser.entities),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      i += groupSize;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoAserGeneratorService.html b/documentation/injectables/DemoAserGeneratorService.html new file mode 100644 index 0000000000..361b4a2bdc --- /dev/null +++ b/documentation/injectables/DemoAserGeneratorService.html @@ -0,0 +1,623 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/children/aser/demo-aser-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Generate ASER results every 12 months for each Child until passing. +Builds upon the generated demo Child entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(demoChildren: DemoChildGenerator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Aser[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoAserGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { DemoChildGenerator } from "../demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Aser } from "./model/aser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { mathLevels, readingLevels } from "./model/skill-levels";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { WarningLevel } from "../../warning-level";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Generate ASER results every 12 months for each Child until passing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Builds upon the generated demo Child entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class DemoAserGeneratorService extends DemoDataGenerator<Aser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *   `providers: [DemoAserGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      { provide: DemoAserGeneratorService, useClass: DemoAserGeneratorService },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private demoChildren: DemoChildGenerator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public generateEntities(): Aser[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data.push(...this.generateAserResultsForChild(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private generateAserResultsForChild(child: Child): Aser[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let date = new Date(child.admissionDate.getTime());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let previousResult = new Aser("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const firstLanguage = child["motherTongue"].toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    do {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const aserResult = new Aser();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      aserResult.child = child.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      aserResult.date = date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      aserResult.math = this.selectNextSkillLevel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        mathLevels.slice(1),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        previousResult.math,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      aserResult.english = this.selectNextSkillLevel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        readingLevels.slice(1),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        previousResult.english,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      aserResult[firstLanguage] = this.selectNextSkillLevel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        readingLevels.slice(1),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        previousResult[firstLanguage],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data.push(aserResult);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      date = new Date(date.getFullYear() + 1, 2, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      previousResult = aserResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } while (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      date < faker.getEarlierDateOrToday(child.dropoutDate) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      previousResult.getWarningLevel() !== WarningLevel.OK
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Randomly select the next Aser level for a skill based on the previous result.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param skillRange The array of skill levels for the desired subject (mathLevels or readingLevels)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param previousSkillLevel The string indicating the level from the previous test for this subject
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private selectNextSkillLevel<T>(skillRange: T[], previousSkillLevel: T): T {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const previousSkillLevelIndex = skillRange.indexOf(previousSkillLevel);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let nextSkillLevelIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const random = faker.number.int(100);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (random < 20) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      nextSkillLevelIndex = previousSkillLevelIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (random < 90) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      nextSkillLevelIndex = previousSkillLevelIndex + 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      nextSkillLevelIndex = previousSkillLevelIndex + 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return skillRange[this.trimToValidIndex(nextSkillLevelIndex, skillRange)];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Convert the given number to a valid index of the array by capping it to a range of [0, array.lenght -1]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param index
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private trimToValidIndex(index: number, array: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (index < 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Math.min(index, array.length - 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoChildGenerator.html b/documentation/injectables/DemoChildGenerator.html new file mode 100644 index 0000000000..15fd60853a --- /dev/null +++ b/documentation/injectables/DemoChildGenerator.html @@ -0,0 +1,756 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/children/demo-data-generators/demo-child-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(config: DemoChildConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoChildConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Child[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + generateEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + generateEntity(id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              id + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + provider(config: DemoChildConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoUserProvider.provider({count: 150})]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoChildConfig + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The configuration specifying the number of entities the service should generate.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + config + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : DemoChildConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + count + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { religions } from "./fixtures/religions";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { languages } from "./fixtures/languages";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { dropoutTypes } from "./fixtures/dropout-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { centersWithProbability } from "./fixtures/centers";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { genders } from "../model/genders";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { calculateAge } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DateWithAge } from "../../../core/basic-datatypes/date-with-age/dateWithAge";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoChildConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  count: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoChildGenerator extends DemoDataGenerator<Child> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static count: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *   `providers: [DemoUserProvider.provider({count: 150})]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param config The configuration specifying the number of entities the service should generate.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static provider(config: DemoChildConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { provide: DemoChildGenerator, useClass: DemoChildGenerator },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { provide: DemoChildConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static generateEntity(id: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const child = new Child(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.name = faker.person.firstName() + " " + faker.person.lastName();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.projectNumber = id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child["religion"] = faker.helpers.arrayElement(religions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.gender = faker.helpers.arrayElement(genders.slice(1));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.dateOfBirth = new DateWithAge(faker.dateOfBirth(5, 20));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child["motherTongue"] = faker.helpers.arrayElement(languages);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.center = faker.helpers.arrayElement(centersWithProbability);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.phone =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "+" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      faker.number.int({ min: 10, max: 99 }) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      faker.number.int({ min: 10000000, max: 99999999 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.admissionDate = faker.date.past({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      years: calculateAge(child.dateOfBirth) - 4,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child["address"] = faker.geoAddress();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (faker.number.int(100) > 90) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      DemoChildGenerator.makeChildDropout(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private static makeChildDropout(child: Child) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.dropoutDate = faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      from: child.admissionDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      to: new Date(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.dropoutRemarks = faker.lorem.sentence();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.dropoutType = faker.helpers.arrayElement(dropoutTypes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    child.status = $localize`:Child status:Dropout`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(public config: DemoChildConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  generateEntities(): Child[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (let i = 1; i <= this.config.count; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data.push(DemoChildGenerator.generateEntity(String(i)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoChildSchoolRelationGenerator.html b/documentation/injectables/DemoChildSchoolRelationGenerator.html new file mode 100644 index 0000000000..f306d7e270 --- /dev/null +++ b/documentation/injectables/DemoChildSchoolRelationGenerator.html @@ -0,0 +1,638 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/child-dev-project/children/demo-data-generators/demo-child-school-relation-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Generate ChildSchoolRelation entities linking a child to a school for a specific year. +Builds upon the generated demo Child and demo School entities, +generating relations for each Child from the date of admission till dropout or today.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(demoChildren: DemoChildGenerator, demoSchools: DemoSchoolGenerator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                demoSchools + DemoSchoolGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : ChildSchoolRelation[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoChildSchoolRelationGenerator.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { DemoChildGenerator } from "./demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DemoSchoolGenerator } from "../../schools/demo-school-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ChildSchoolRelation } from "../model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { School } from "../../schools/model/school";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Generate ChildSchoolRelation entities linking a child to a school for a specific year.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Builds upon the generated demo Child and demo School entities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * generating relations for each Child from the date of admission till dropout or today.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class DemoChildSchoolRelationGenerator extends DemoDataGenerator<ChildSchoolRelation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *   `providers: [DemoChildSchoolRelationGenerator.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        provide: DemoChildSchoolRelationGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        useClass: DemoChildSchoolRelationGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private demoChildren: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private demoSchools: DemoSchoolGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  generateEntities(): ChildSchoolRelation[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      data.push(...this.generateChildSchoolRecordsForChild(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private generateChildSchoolRecordsForChild(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    child: Child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): ChildSchoolRelation[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const data: ChildSchoolRelation[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const firstYear = child.admissionDate.getFullYear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let finalYear = new Date().getFullYear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (child.dropoutDate) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      finalYear = child.dropoutDate.getFullYear();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let currentSchool: School = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let offset = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    while (firstYear + offset <= finalYear && offset <= 12) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      currentSchool = this.selectNextSchool(currentSchool);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.generateRecord(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          firstYear + offset,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          offset + 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          currentSchool,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      offset++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (Math.random() < 0.8) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // 80% of the latest records for each child don't have an end date, which means the child currently attends this school.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      delete data[data.length - 1].end;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private generateRecord(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    child: Child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    year,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolClass: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    school: School,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): ChildSchoolRelation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const schoolRelation = new ChildSchoolRelation();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.childId = child.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.start = new Date(year + "-01-01");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.end = new Date(year + "-12-31");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.schoolClass = String(schoolClass);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.schoolId = school.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schoolRelation.result = faker.number.int(100);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return schoolRelation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Select a different school randomly in a certain percentages of cases keeping the currentSchool otherwise.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param currentSchool
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private selectNextSchool(currentSchool: School) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!currentSchool) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return faker.helpers.arrayElement(this.demoSchools.entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (faker.number.int(100) > 75) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return faker.helpers.arrayElement(this.demoSchools.entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return currentSchool;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoConfigGeneratorService.html b/documentation/injectables/DemoConfigGeneratorService.html new file mode 100644 index 0000000000..7ac2c2d948 --- /dev/null +++ b/documentation/injectables/DemoConfigGeneratorService.html @@ -0,0 +1,485 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/config/demo-config-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Config[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DemoDataGenerator } from "../demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Config } from "./config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { defaultJsonConfig } from "./config-fix";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  CONFIG_SETUP_WIZARD_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  defaultSetupWizardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "../admin/setup-wizard/setup-wizard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DemoConfigGeneratorService extends DemoDataGenerator<Config> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        provide: DemoConfigGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        useClass: DemoConfigGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  protected generateEntities(): Config[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const defaultConfig = JSON.parse(JSON.stringify(defaultJsonConfig));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      new Config(Config.CONFIG_KEY, defaultConfig),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      new Config(CONFIG_SETUP_WIZARD_ID, defaultSetupWizardConfig),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoConfigurableEnumGeneratorService.html b/documentation/injectables/DemoConfigurableEnumGeneratorService.html new file mode 100644 index 0000000000..bcf62a7eb2 --- /dev/null +++ b/documentation/injectables/DemoConfigurableEnumGeneratorService.html @@ -0,0 +1,477 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/configurable-enum/demo-configurable-enum-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : ConfigurableEnum[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DemoDataGenerator } from "../../demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ConfigurableEnum } from "./configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { demoEnums } from "./configurable-enum-testing";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class DemoConfigurableEnumGeneratorService extends DemoDataGenerator<ConfigurableEnum> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        provide: DemoConfigurableEnumGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        useClass: DemoConfigurableEnumGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  protected generateEntities(): ConfigurableEnum[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return demoEnums;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoDataInitializerService.html b/documentation/injectables/DemoDataInitializerService.html new file mode 100644 index 0000000000..81a5596f92 --- /dev/null +++ b/documentation/injectables/DemoDataInitializerService.html @@ -0,0 +1,537 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/demo-data/demo-data-initializer.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      This service handles everything related to the demo-mode

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Register users (demo and demo-admin)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Publish demo data if none is present
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Automatically login user (demo)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Synchronizes (local) databases of different users in the same browser
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • + Async + run +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(demoDataService: DemoDataService, localAuthService: LocalAuthService, sessionManager: SessionManagerService, dialog: MatDialog, database: Database, loginState: LoginStateSubject, sessionInfo: SessionSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      demoDataService + DemoDataService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      localAuthService + LocalAuthService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      sessionManager + SessionManagerService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      database + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      loginState + LoginStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + run + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + run() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DemoDataService } from "./demo-data.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DemoUserGeneratorService } from "../user/demo-user-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DemoDataGeneratingProgressDialogComponent } from "./demo-data-generating-progress-dialog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { SessionManagerService } from "../session/session-service/session-manager.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LocalAuthService } from "../session/auth/local/local-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { SessionInfo, SessionSubject } from "../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Logging } from "../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Database } from "../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { PouchDatabase } from "../database/pouch-database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LoginState } from "../session/session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LoginStateSubject, SessionType } from "../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import memory from "pouchdb-adapter-memory";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import PouchDB from "pouchdb-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { User } from "../user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This service handles everything related to the demo-mode
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *  - Register users (demo and demo-admin)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *  - Publish demo data if none is present
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *  - Automatically login user (demo)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *  - Synchronizes (local) databases of different users in the same browser
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DemoDataInitializerService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private liveSyncHandle: PouchDB.Replication.Sync<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private pouchDatabase: PouchDatabase;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private readonly normalUser: SessionInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    name: DemoUserGeneratorService.DEFAULT_USERNAME,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    roles: ["user_app"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityId: `${User.ENTITY_TYPE}:${DemoUserGeneratorService.DEFAULT_USERNAME}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private readonly adminUser: SessionInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    name: DemoUserGeneratorService.ADMIN_USERNAME,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    roles: ["user_app", "admin_app"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityId: `${User.ENTITY_TYPE}:${DemoUserGeneratorService.ADMIN_USERNAME}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private demoDataService: DemoDataService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private localAuthService: LocalAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private sessionManager: SessionManagerService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private database: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private loginState: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async run() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const dialogRef = this.dialog.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      DemoDataGeneratingProgressDialogComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.database instanceof PouchDatabase) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.pouchDatabase = this.database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        "Cannot create demo data with session: " + environment.session_type,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.localAuthService.saveUser(this.normalUser);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.localAuthService.saveUser(this.adminUser);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.sessionManager.offlineLogin(this.normalUser);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.demoDataService.publishDemoData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    dialogRef.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.syncDatabaseOnUserChange();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private syncDatabaseOnUserChange() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.loginState.subscribe((state) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        state === LoginState.LOGGED_IN &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.sessionInfo.value.name !==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          DemoUserGeneratorService.DEFAULT_USERNAME
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // There is a slight race-condition with session type local
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // It throws an error because it can't find the view-documents which are not yet synced
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // Navigating in the app solves this problem
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.syncWithDemoUserDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      } else if (state === LoginState.LOGGED_OUT) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.stopLiveSync();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async syncWithDemoUserDB() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const dbName = `${DemoUserGeneratorService.DEFAULT_USERNAME}-${environment.DB_NAME}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let demoUserDB: PouchDB.Database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (environment.session_type === SessionType.mock) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      PouchDB.plugin(memory);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      demoUserDB = new PouchDB(dbName, { adapter: "memory" });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      demoUserDB = new PouchDB(dbName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const currentUserDB = this.pouchDatabase.getPouchDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await currentUserDB.sync(demoUserDB, { batch_size: 500 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.liveSyncHandle = currentUserDB.sync(demoUserDB, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      live: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      retry: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private stopLiveSync() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.liveSyncHandle) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.liveSyncHandle.cancel();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.liveSyncHandle = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoDataService.html b/documentation/injectables/DemoDataService.html new file mode 100644 index 0000000000..a1bb425a41 --- /dev/null +++ b/documentation/injectables/DemoDataService.html @@ -0,0 +1,527 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/demo-data/demo-data.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The DemoDataService is the manager for all provided DemoDataGenerator implementations. +It serves as the central service to trigger the demo data generation into the database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        To add more demo data generators, refer the documentation +How to Generate Demo Data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, injector: Injector, config: DemoDataServiceConfig, database: Database) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        injector + Injector + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        config + DemoDataServiceConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        database + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + publishDemoData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + publishDemoData() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Trigger all registered DemoDataGenerator implementations to generate demo entities +and add all the generated entities to the Database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Readonly + dataGenerators + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : DemoDataGenerator<any>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : [] +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        All registered demo data generator services

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ClassProvider,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  FactoryProvider,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Injectable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Injector,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ValueProvider,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DemoDataGenerator } from "./demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Database } from "../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * General config object to pass all initially register DemoDataGenerators
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * with `DemoDataModule.forRoot()`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * see docs at {@link DemoDataModule}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DemoDataServiceConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Providers for DemoDataGenerator service implementations to be registered for data generation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * This may also include providers for services a DemoDataGenerator depends on.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  dataGeneratorProviders: (ValueProvider | ClassProvider | FactoryProvider)[] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * The DemoDataService is the manager for all provided DemoDataGenerator implementations.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * It serves as the central service to trigger the demo data generation into the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * To add more demo data generators, refer the documentation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * [How to Generate Demo Data]{@link /additional-documentation/how-to-guides/generate-demo-data.html}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DemoDataService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** All registered demo data generator services */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  readonly dataGenerators: DemoDataGenerator<any>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private injector: Injector,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private config: DemoDataServiceConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private database: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private registerAllProvidedDemoDataGenerators() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const provider of this.config.dataGeneratorProviders) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const service = this.injector.get<any>(provider.provide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (service && service instanceof DemoDataGenerator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.dataGenerators.push(service);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Trigger all registered DemoDataGenerator implementations to generate demo entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * and add all the generated entities to the Database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async publishDemoData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!(await this.database.isEmpty())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.registerAllProvidedDemoDataGenerators();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // completely generate all data (i.e. call every generator) before starting to save the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // to allow generators to delete unwanted entities of other generators before they are saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // (e.g. the DropoutChildGenerator should be able to delete Attendance records of the Child after its dropout date)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.dataGenerators.forEach((generator) => generator.entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // save the generated data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const generator of this.dataGenerators) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.entityMapper.saveAll(generator.entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Wait for other async tasks in the queue e.g. ConfigService setting up config after it has been saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await new Promise((resolve) => setTimeout(resolve));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoEducationalMaterialGeneratorService.html b/documentation/injectables/DemoEducationalMaterialGeneratorService.html new file mode 100644 index 0000000000..e3d59be05c --- /dev/null +++ b/documentation/injectables/DemoEducationalMaterialGeneratorService.html @@ -0,0 +1,635 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/children/educational-material/demo-educational-material-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Generate EducationalMaterial records. +Builds upon the generated demo Child entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(config: DemoEducationMaterialConfig, demoChildren: DemoChildGenerator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + DemoEducationMaterialConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : EducationalMaterial[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + provider(config: DemoEducationMaterialConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoEducationalMaterialGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + DemoEducationMaterialConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { DemoChildGenerator } from "../demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EducationalMaterial } from "./model/educational-material";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { materials } from "./model/materials";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DemoEducationMaterialConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  minCount: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  maxCount: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Generate EducationalMaterial records.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Builds upon the generated demo Child entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DemoEducationalMaterialGeneratorService extends DemoDataGenerator<EducationalMaterial> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *   `providers: [DemoEducationalMaterialGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static provider(config: DemoEducationMaterialConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        provide: DemoEducationalMaterialGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        useClass: DemoEducationalMaterialGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      { provide: DemoEducationMaterialConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private config: DemoEducationMaterialConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private demoChildren: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public generateEntities(): EducationalMaterial[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const count = faker.number.int({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        min: this.config.minCount,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        max: this.config.maxCount,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      for (let i = 1; i < count; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        data.push(this.generateEducationalMaterialEntity(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const specialMaterial = this.generateEducationalMaterialEntity(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      specialMaterial.materialType = faker.helpers.arrayElement(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        materials.filter((material) => material.hasOwnProperty("color")),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      specialMaterial.materialAmount = 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      data.push(specialMaterial);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateEducationalMaterialEntity(child: Child): EducationalMaterial {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const entity = new EducationalMaterial();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entity.child = child.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entity.date = faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      from: child.admissionDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entity.materialAmount = faker.helpers.arrayElement([1, 1, 1, 2, 3]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entity.materialType = faker.helpers.arrayElement(materials);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoHealthCheckGeneratorService.html b/documentation/injectables/DemoHealthCheckGeneratorService.html new file mode 100644 index 0000000000..4163e69a69 --- /dev/null +++ b/documentation/injectables/DemoHealthCheckGeneratorService.html @@ -0,0 +1,612 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/children/health-checkup/demo-data/demo-health-check-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Generate HealthCheck records every 6 months for children up to the age of 12. +Builds upon the generated demo Child entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(demoChildren: DemoChildGenerator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : HealthCheck[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoHealthCheckGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { DemoChildGenerator } from "../../demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DemoDataGenerator } from "../../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Child } from "../../model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { faker } from "../../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { HealthCheck } from "../model/health-check";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { heightRangeForAge, weightRangeForAge } from "./height-weight";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Generate HealthCheck records every 6 months for children up to the age of 12.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Builds upon the generated demo Child entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class DemoHealthCheckGeneratorService extends DemoDataGenerator<HealthCheck> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *   `providers: [DemoHealthCheckGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        provide: DemoHealthCheckGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        useClass: DemoHealthCheckGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private demoChildren: DemoChildGenerator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public generateEntities(): HealthCheck[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data.push(...this.generateHealthCheckHistoryForChild(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private generateHealthCheckHistoryForChild(child: Child): HealthCheck[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let date = new Date(child.admissionDate.getTime());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let previousRecord = new HealthCheck("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    previousRecord.height = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    previousRecord.weight = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    do {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const record = new HealthCheck();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      record.child = child.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      record.date = date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.setNextHeightAndWeight(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        record,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        previousRecord,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.getAgeAtDate(child, date),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data.push(record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (date.getMonth() === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        date = new Date(date.getFullYear(), 5, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        date = new Date(date.getFullYear() + 1, 0, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      previousRecord = record;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } while (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      date < faker.getEarlierDateOrToday(child.dropoutDate) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.getAgeAtDate(child, date) < 11
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getAgeAtDate(child: Child, date: Date): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const timeDiff = date.getTime() - child.dateOfBirth.getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return timeDiff / (1000 * 60 * 60 * 24 * 365);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setNextHeightAndWeight(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    record: HealthCheck,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    previousRecord: HealthCheck,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    age: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const ageRoundedToHalfYear = Math.round(2 * age) / 2;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const randomHeight = faker.number.int(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      heightRangeForAge.get(ageRoundedToHalfYear),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    record.height = Math.max(randomHeight, previousRecord.height); // height will not become less
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    record.weight = faker.number.int(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      weightRangeForAge.get(ageRoundedToHalfYear),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoHistoricalDataGenerator.html b/documentation/injectables/DemoHistoricalDataGenerator.html new file mode 100644 index 0000000000..5905ccd212 --- /dev/null +++ b/documentation/injectables/DemoHistoricalDataGenerator.html @@ -0,0 +1,624 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/historical-data/demo-historical-data-generator.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(childrenGenerator: DemoChildGenerator, config: DemoHistoricalDataConfig, configGenerator: DemoConfigGeneratorService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              childrenGenerator + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoHistoricalDataConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              configGenerator + DemoConfigGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : HistoricalEntityData[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + provider(config: DemoHistoricalDataConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoHistoricalDataConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { HistoricalEntityData } from "./model/historical-entity-data";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoChildGenerator } from "../../child-dev-project/children/demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { faker } from "../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ratingAnswers } from "./model/rating-answers";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConfigService } from "../../core/entity/entity-config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoConfigGeneratorService } from "../../core/config/demo-config-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConfig } from "../../core/entity/entity-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoHistoricalDataConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  minCountAttributes: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  maxCountAttributes: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoHistoricalDataGenerator extends DemoDataGenerator<HistoricalEntityData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static provider(config: DemoHistoricalDataConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        provide: DemoHistoricalDataGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        useClass: DemoHistoricalDataGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { provide: DemoHistoricalDataConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private childrenGenerator: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private config: DemoHistoricalDataConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private configGenerator: DemoConfigGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  protected generateEntities(): HistoricalEntityData[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const config = this.configGenerator.entities[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const attributes: any[] = Object.keys(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        config.data[
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          EntityConfigService.PREFIX_ENTITY_CONFIG +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            HistoricalEntityData.ENTITY_TYPE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ] as EntityConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ).attributes,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const entities: HistoricalEntityData[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const child of this.childrenGenerator.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const countOfData =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        faker.number.int(this.config.maxCountAttributes) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.config.minCountAttributes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const historicalDataOfChild = [...Array(countOfData)].map(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const historicalData = new HistoricalEntityData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        historicalData.date = faker.date.past();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        historicalData.relatedEntity = child.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        for (const attribute of attributes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          historicalData[attribute] = faker.helpers.arrayElement(ratingAnswers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return historicalData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      entities.push(...historicalDataOfChild);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoNoteGeneratorService.html b/documentation/injectables/DemoNoteGeneratorService.html new file mode 100644 index 0000000000..fc5cf6be29 --- /dev/null +++ b/documentation/injectables/DemoNoteGeneratorService.html @@ -0,0 +1,743 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/child-dev-project/notes/demo-data/demo-note-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Generate a number of Note entities for each Child. +Builds upon the generated demo Child entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(config: DemoNoteConfig, demoChildren: DemoChildGenerator, demoUsers: DemoUserGeneratorService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                config + DemoNoteConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                demoUsers + DemoUserGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Note[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + provider(config: DemoNoteConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoNoteGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                config + DemoNoteConfig + + No + + { + minNotesPerChild: 2, + maxNotesPerChild: 10, + groupNotes: 5, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { DemoChildGenerator } from "../../children/demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Child } from "../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { noteIndividualStories } from "./notes_individual-stories";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { noteGroupStories } from "./notes_group-stories";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { centersUnique } from "../../children/demo-data-generators/fixtures/centers";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { absenceRemarks } from "./remarks";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { AttendanceLogicalStatus } from "../../attendance/model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DemoUserGeneratorService } from "../../../core/user/demo-user-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { defaultAttendanceStatusTypes } from "../../../core/config/default-config/default-attendance-status-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { warningLevels } from "../../warning-level";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class DemoNoteConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  minNotesPerChild: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  maxNotesPerChild: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  groupNotes: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Generate a number of Note entities for each Child.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Builds upon the generated demo Child entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class DemoNoteGeneratorService extends DemoDataGenerator<Note> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *   `providers: [DemoNoteGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static provider(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    config: DemoNoteConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      minNotesPerChild: 2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      maxNotesPerChild: 10,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      groupNotes: 5,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      { provide: DemoNoteGeneratorService, useClass: DemoNoteGeneratorService },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      { provide: DemoNoteConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private config: DemoNoteConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private demoChildren: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private demoUsers: DemoUserGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public generateEntities(): Note[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (!child.isActive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      let numberOfNotes = faker.number.int({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        min: this.config.minNotesPerChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        max: this.config.maxNotesPerChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // generate a recent note for the last week for some children to have data for dashboard
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (numberOfNotes > 0 && faker.number.int(100) < 40) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.generateNoteForChild(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +              from: moment().subtract(6, "days").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +              to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        numberOfNotes--;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      for (let i = 0; i < numberOfNotes; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        data.push(this.generateNoteForChild(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const center of centersUnique) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const children: Child[] = this.demoChildren.entities.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        (c) => c.center === center,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      for (let i = 0; i < this.config.groupNotes; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        data.push(this.generateGroupNote(children));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private generateNoteForChild(child: Child, date?: Date): Note {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const note = new Note();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const selectedStory = faker.helpers.arrayElement(noteIndividualStories);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Object.assign(note, selectedStory);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.addChild(child.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.authors = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      date = faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        from: child.admissionDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        to: faker.getEarlierDateOrToday(child.dropoutDate),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.date = date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.removeFollowUpMarkerForOldNotes(note);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Set all older notes to be "resolved" in order to keep the list of notes needing follow-up limited in the demo.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private removeFollowUpMarkerForOldNotes(note: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const lastMonths = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    lastMonths.setMonth(lastMonths.getMonth() - 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (note.date < lastMonths) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      note.warningLevel = warningLevels.find((level) => level.id === "OK");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private generateGroupNote(children: Child[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const note = new Note();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const selectedStory = faker.helpers.arrayElement(noteGroupStories);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Object.assign(note, selectedStory);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.children = children.map((c) => c.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    children.forEach((child) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const attendance = note.getAttendance(child.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // get an approximate presence of 85%
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (faker.number.int(100) <= 15) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        attendance.status = defaultAttendanceStatusTypes.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (t) => t.countAs === AttendanceLogicalStatus.ABSENT,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        attendance.remarks = faker.helpers.arrayElement(absenceRemarks);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        attendance.status = defaultAttendanceStatusTypes.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (t) => t.countAs === AttendanceLogicalStatus.PRESENT,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.authors = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    note.date = faker.date.past({ years: 1 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.removeFollowUpMarkerForOldNotes(note);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoPermissionGeneratorService.html b/documentation/injectables/DemoPermissionGeneratorService.html new file mode 100644 index 0000000000..29bc314dde --- /dev/null +++ b/documentation/injectables/DemoPermissionGeneratorService.html @@ -0,0 +1,485 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/permissions/demo-permission-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Config[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DemoDataGenerator } from "../demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DatabaseRules } from "./permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Config } from "../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DemoPermissionGeneratorService extends DemoDataGenerator<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Config<DatabaseRules>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        provide: DemoPermissionGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        useClass: DemoPermissionGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  protected generateEntities(): Config<DatabaseRules>[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // This can be changed to experiment with different permission setups locally.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // For the general demo mode everything is allowed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const rules: DatabaseRules = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      user_app: [{ subject: "all", action: "manage" }],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      admin_app: [{ subject: "all", action: "manage" }],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return [new Config(Config.PERMISSION_KEY, rules)];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoProgressDashboardWidgetGeneratorService.html b/documentation/injectables/DemoProgressDashboardWidgetGeneratorService.html new file mode 100644 index 0000000000..563f7c638b --- /dev/null +++ b/documentation/injectables/DemoProgressDashboardWidgetGeneratorService.html @@ -0,0 +1,549 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/dashboard-widgets/progress-dashboard-widget/demo-progress-dashboard-widget-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoProgressDashboardWidgetGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ProgressDashboardConfig } from "./progress-dashboard/progress-dashboard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class DemoProgressDashboardWidgetGeneratorService extends DemoDataGenerator<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *   `providers: [DemoProgressDashboardWidgetGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        provide: DemoProgressDashboardWidgetGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        useClass: DemoProgressDashboardWidgetGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private readonly DEMO_TASKS = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    $localize`:Example for demo task in the progress widget:Clubs visited`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    $localize`:Example for demo task in the progress widget:Schools checked`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    $localize`:Example for demo task in the progress widget:Government Officials met`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  generateEntities(): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    data.push(this.generateDashboardWidgetSurveyStatus());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    data.push(this.generateDashboardWidgetEvaluation());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private generateDashboardWidgetSurveyStatus(): ProgressDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const dashboardProgressWidget = new ProgressDashboardConfig("1");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    dashboardProgressWidget.title = $localize`:Widget title:Annual Survey`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const task of this.DEMO_TASKS) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const targetNumber = faker.number.int({ min: 5, max: 50 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      dashboardProgressWidget.parts.push({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        label: task,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        currentValue: faker.number.int(targetNumber),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        targetValue: targetNumber,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return dashboardProgressWidget;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private generateDashboardWidgetEvaluation() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const dashboardProgressWidget = new ProgressDashboardConfig("2");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    dashboardProgressWidget.title = $localize`:Dashboard widget demo tile:Evaluation targets reached`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const evaluationEntries = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      $localize`:Dashboard widget demo entry:Students graduating`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      $localize`:Dashboard widget demo entry:Students enrolled in training`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      $localize`:Dashboard widget demo entry:Students found job`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const task of evaluationEntries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const targetNumber = faker.number.int({ min: 5, max: 50 });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      dashboardProgressWidget.parts.push({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        label: task,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        currentValue: faker.number.int(targetNumber),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        targetValue: targetNumber,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return dashboardProgressWidget;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoPublicFormGeneratorService.html b/documentation/injectables/DemoPublicFormGeneratorService.html new file mode 100644 index 0000000000..044880136e --- /dev/null +++ b/documentation/injectables/DemoPublicFormGeneratorService.html @@ -0,0 +1,482 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/public-form/demo-public-form-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : PublicFormConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { PublicFormConfig } from "./public-form-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DemoPublicFormGeneratorService extends DemoDataGenerator<PublicFormConfig> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        provide: DemoPublicFormGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        useClass: DemoPublicFormGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  protected generateEntities(): PublicFormConfig[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const form = new PublicFormConfig("test");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    form.title = $localize`Example form`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    form.description = $localize`This is a form that can be shared as a link or embedded in a website. It can be filled by users without having an account. For example you can let participants self-register their details and just review the records within Aam Digital.`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    form.entity = "Child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    form.prefilled = { status: "new" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    form.columns = [["name", "phone", "gender", "dateOfBirth", "center"]];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return [form];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoReportConfigGeneratorService.html b/documentation/injectables/DemoReportConfigGeneratorService.html new file mode 100644 index 0000000000..3a8f933aba --- /dev/null +++ b/documentation/injectables/DemoReportConfigGeneratorService.html @@ -0,0 +1,612 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/demo-report-config-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : ReportEntity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ReportEntity } from "./report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Child } from "../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { School } from "../../child-dev-project/schools/model/school";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ChildSchoolRelation } from "../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EventNote } from "../../child-dev-project/attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EducationalMaterial } from "../../child-dev-project/children/educational-material/model/educational-material";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class DemoReportConfigGeneratorService extends DemoDataGenerator<ReportEntity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        provide: DemoReportConfigGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        useClass: DemoReportConfigGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  protected generateEntities(): ReportEntity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return demoReports.map((report) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Object.assign(new ReportEntity(), report),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +const demoReports: Partial<ReportEntity>[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    title: $localize`:Name of a report:Basic Report`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregationDefinitions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        query: `${Child.ENTITY_TYPE}:toArray[*isActive=true]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        label: $localize`:Label of report query:All children`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        groupBy: ["gender"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        query: `${School.ENTITY_TYPE}:toArray`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        label: $localize`:Label for report query:All schools`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        aggregations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for report query:Children attending a school`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `:getRelated(${ChildSchoolRelation.ENTITY_TYPE}, schoolId)[*isActive=true].childId:unique`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for report query:Governmental schools`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `[*privateSchool!=true]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `[*privateSchool!=true]:getRelated(${ChildSchoolRelation.ENTITY_TYPE}, schoolId)[*isActive=true].childId::unique:toEntities(${Child.ENTITY_TYPE})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for report query:Children attending a governmental school`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupBy: ["gender"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for report query:Private schools`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `[*privateSchool=true]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `[*privateSchool=true]:getRelated(${ChildSchoolRelation.ENTITY_TYPE}, schoolId)[*isActive=true].childId::unique:toEntities(${Child.ENTITY_TYPE})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for report query:Children attending a private school`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupBy: ["gender"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    title: $localize`:Name of a report:Event Report`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregationDefinitions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        query: `${EventNote.ENTITY_TYPE}:toArray[*date >= ? & date <= ?]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        groupBy: ["category"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        label: $localize`:Label for a report query:Events`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        aggregations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `:getParticipantsWithAttendance(PRESENT):unique:toEntities(${Child.ENTITY_TYPE})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            groupBy: ["gender"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: $localize`:Label for a report query:Participants`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    title: $localize`:Name of a report:Attendance Report`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mode: "exporting",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregationDefinitions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        query: `${EventNote.ENTITY_TYPE}:toArray[* date >= ? & date <= ?]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        groupBy: { label: "Type", property: "category" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        subQueries: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: ":getAttendanceArray:getAttendanceReport",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            subQueries: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                label: $localize`:Name of a column of a report:Name`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query: `.participant:toEntities(Child).name`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                  ".participant:toEntities(Child):getRelated(ChildSchoolRelation, childId)[*isActive=true]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                subQueries: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                    label: "Class",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                    query: ".schoolClass",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                    label: "School",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                    query: ".schoolId:toEntities(School).name",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                label: $localize`:Name of a column of a report:Total`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query: `total`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                label: $localize`:Name of a column of a report:Present`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query: `present`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                label: $localize`:Name of a column of a report:Rate`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query: `percentage`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                label: $localize`:Name of a column of a report:Late`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +                query: `detailedStatus.LATE`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +              },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    title: $localize`:Name of a report:Materials Distributed`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mode: "exporting",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    aggregationDefinitions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        query: `${EducationalMaterial.ENTITY_TYPE}:toArray[*date >= ? & date <= ?]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        groupBy: { label: "Type", property: "materialType" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        subQueries: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: "Number of events of handing out",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `.materialAmount:count`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            label: "Total Items",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            query: `.materialAmount:sum`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoSchoolGenerator.html b/documentation/injectables/DemoSchoolGenerator.html new file mode 100644 index 0000000000..7fcf4384a4 --- /dev/null +++ b/documentation/injectables/DemoSchoolGenerator.html @@ -0,0 +1,636 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/schools/demo-school-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(config: DemoSchoolConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + DemoSchoolConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : School[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + provider(config: DemoSchoolConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This function returns a provider object to be used in an Angular Module configuration: + providers: [DemoSchoolGenerator.provider({count: 10})]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config + DemoSchoolConfig + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          A config object specifying the number of entities the service should generate.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + config + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : DemoSchoolConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { faker } from "../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { School } from "./model/school";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DemoDataGenerator } from "../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DemoSchoolConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  count: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class DemoSchoolGenerator extends DemoDataGenerator<School> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This function returns a provider object to be used in an Angular Module configuration:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *   `providers: [DemoSchoolGenerator.provider({count: 10})]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param config A config object specifying the number of entities the service should generate.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static provider(config: DemoSchoolConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      { provide: DemoSchoolGenerator, useClass: DemoSchoolGenerator },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      { provide: DemoSchoolConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly normalSchool = $localize`:School demo name that is connected with a school name:School`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly highSchool = $localize`:School demo name that is connected with a school name:High School`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(public config: DemoSchoolConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  generateEntities(): School[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (let i = 1; i <= this.config.count; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const school = new School(String(i));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school["language"] = faker.helpers.arrayElement([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Language of a school:Hindi`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Language of a school:English`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Language of a school:Bengali`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const schoolNameWithType = $localize`:School demo name order for connecting the school name and (High) School|e.g. Example School:${faker.person.firstName()} ${faker.helpers.arrayElement(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        [this.normalSchool, this.highSchool],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      )}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const schoolNameWithLanguage = $localize`${faker.person.firstName()} ${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        school["language"]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } Language`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school.name = faker.helpers.arrayElement([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        schoolNameWithType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        schoolNameWithLanguage,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school["phone"] = faker.phone.number();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school["privateSchool"] = faker.datatype.boolean();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school["timing"] = faker.helpers.arrayElement([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:School demo timing:6 a.m. - 11 a.m.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:School demo timing:11 a.m. - 4 p.m.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:School demo timing:6:30-11:00 and 11:30-16:00`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      school["address"] = faker.geoAddress();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      data.push(school);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoSiteSettingsGeneratorService.html b/documentation/injectables/DemoSiteSettingsGeneratorService.html new file mode 100644 index 0000000000..11a37d6ad3 --- /dev/null +++ b/documentation/injectables/DemoSiteSettingsGeneratorService.html @@ -0,0 +1,486 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/site-settings/demo-site-settings-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Generates SiteSettings entity. Defaults are defined in the SiteSettings class.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Protected + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : SiteSettings[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DemoDataGenerator } from "../demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SiteSettings } from "./site-settings";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Generates SiteSettings entity. Defaults are defined in the SiteSettings class.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class DemoSiteSettingsGeneratorService extends DemoDataGenerator<SiteSettings> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        provide: DemoSiteSettingsGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        useClass: DemoSiteSettingsGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  protected generateEntities(): SiteSettings[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return [new SiteSettings()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoTodoGeneratorService.html b/documentation/injectables/DemoTodoGeneratorService.html new file mode 100644 index 0000000000..9c22ae87d9 --- /dev/null +++ b/documentation/injectables/DemoTodoGeneratorService.html @@ -0,0 +1,671 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/todos/model/demo-todo-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(config: DemoTodoConfig, demoChildren: DemoChildGenerator, demoUsers: DemoUserGeneratorService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoTodoConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              demoChildren + DemoChildGenerator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              demoUsers + DemoUserGeneratorService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Todo[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + provider(config: DemoTodoConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config + DemoTodoConfig + + No + + { + minPerChild: 1, + maxPerChild: 2, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoDataGenerator } from "../../../core/demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoChildGenerator } from "../../../child-dev-project/children/demo-data-generators/demo-child-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DemoUserGeneratorService } from "../../../core/user/demo-user-generator.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { faker } from "../../../core/demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment/moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Todo } from "./todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoTodoConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  minPerChild: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  maxPerChild: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DemoTodoGeneratorService extends DemoDataGenerator<Todo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static provider(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    config: DemoTodoConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      minPerChild: 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      maxPerChild: 2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { provide: DemoTodoGeneratorService, useClass: DemoTodoGeneratorService },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { provide: DemoTodoConfig, useValue: config },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private config: DemoTodoConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private demoChildren: DemoChildGenerator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private demoUsers: DemoUserGeneratorService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public generateEntities(): Todo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const data = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const child of this.demoChildren.entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (!child.isActive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      let numberOfRecords = faker.number.int({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        min: this.config.minPerChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        max: this.config.maxPerChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (let i = 0; i < numberOfRecords; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        data.push(this.generateTodoForEntity(child));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private generateTodoForEntity(entity: Entity): Todo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const todo = new Todo(faker.string.alphanumeric(20));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const selectedStory = faker.helpers.arrayElement(stories);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    todo.subject = selectedStory.subject;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    todo.description = selectedStory.description;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    todo.deadline = faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      from: moment().subtract(5, "days").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      to: moment().add(90, "days").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    faker.helpers.maybe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (todo.startDate = faker.date.between({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          from: moment(todo.deadline).subtract(25, "days").toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          to: todo.deadline,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        })),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      { probability: 0.5 },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    todo.relatedEntities = [entity.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    todo.assignedTo = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      faker.helpers.arrayElement(this.demoUsers.entities).getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return todo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +const stories: Partial<Todo>[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    subject: $localize`:demo todo record:get signed agreement`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    description: $localize`:demo todo record:We have fixed all the details but still have to put it in writing.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    subject: $localize`:demo todo record:follow up`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    description: $localize`:demo todo record:Call to follow up on the recent developments.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    subject: $localize`:demo todo record:call family`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    description: $localize`:demo todo record:Check about the latest incident.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    subject: $localize`:demo todo record:plan career counselling`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    description: $localize`:demo todo record:Personalized plan for the next discussion has to be prepared.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DemoUserGeneratorService.html b/documentation/injectables/DemoUserGeneratorService.html new file mode 100644 index 0000000000..f6647cd25f --- /dev/null +++ b/documentation/injectables/DemoUserGeneratorService.html @@ -0,0 +1,598 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/user/demo-user-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Generate demo users for the application with its DemoDataModule.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + DemoDataGenerator +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Public + generateEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + generateEntities() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Generate User entities to be loaded by the DemoDataModule.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : User[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + provider + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + provider() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This function returns a provider object to be used in an Angular Module configuration

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : {} + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                providers: [DemoUserGeneratorService.provider()]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Remove all previously generated entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + ADMIN_USERNAME + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "demo-admin" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + DEFAULT_USERNAME + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : TEST_USER +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                the username of the basic account generated by this demo service

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Protected + _entities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DemoDataGenerator +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                internally used array of the generated entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { DemoDataGenerator } from "../demo-data/demo-data-generator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { User } from "./user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { faker } from "../demo-data/faker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export const TEST_USER = "demo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Generate demo users for the application with its DemoDataModule.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class DemoUserGeneratorService extends DemoDataGenerator<User> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** the username of the basic account generated by this demo service */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static DEFAULT_USERNAME = TEST_USER;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static ADMIN_USERNAME = "demo-admin";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This function returns a provider object to be used in an Angular Module configuration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @return `providers: [DemoUserGeneratorService.provider()]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static provider() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      { provide: DemoUserGeneratorService, useClass: DemoUserGeneratorService },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Generate User entities to be loaded by the DemoDataModule.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public generateEntities(): User[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const users = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const demoUser = new User(DemoUserGeneratorService.DEFAULT_USERNAME);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    demoUser.name = DemoUserGeneratorService.DEFAULT_USERNAME;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const demoAdmin = new User(DemoUserGeneratorService.ADMIN_USERNAME);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    demoAdmin.name = DemoUserGeneratorService.ADMIN_USERNAME;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    users.push(demoUser, demoAdmin);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const userNames = new Set<string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    while (userNames.size < 10) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      userNames.add(faker.person.firstName());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const name of userNames) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const user = new User(name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      user.name = name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      user["phone"] = faker.phone.number();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      users.push(user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return users;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DownloadService.html b/documentation/injectables/DownloadService.html new file mode 100644 index 0000000000..03c5cf40ff --- /dev/null +++ b/documentation/injectables/DownloadService.html @@ -0,0 +1,922 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/export/download-service/download.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This service allows to start a download process from the browser. +Depending on the browser and the setting this might open a popup or directly download the file.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(dataTransformationService: DataTransformationService, papa: Papa, entityMapperService: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  dataTransformationService + DataTransformationService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  papa + Papa + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + createCsv + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + createCsv(data: any[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Creates a CSV string of the input data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  data + any[] + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  an array of elements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<string> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  string a valid CSV string of the input data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + exportFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + exportFile(data: any[], entityConstructor: EntityConstructor) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  data + any[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityConstructor + EntityConstructor + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + triggerDownload + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + triggerDownload(data: any, format: ExportDataFormat, filename: string, exportConfig?: ExportColumnConfig[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Starts the download process with the provided data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  data + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  content of the file that will be downloaded

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  format + ExportDataFormat + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  extension of the file that will be downloaded, support is 'csv' and 'json'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  filename + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  of the file that will be downloaded

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  exportConfig + ExportColumnConfig[] + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  special configuration that will be applied to the 'data' before triggering the download

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + SEPARATOR_COL + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "," +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  CSV column/field separator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + SEPARATOR_ROW + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "\n" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  CSV row separator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ExportColumnConfig } from "../data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ExportDataFormat } from "../export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DataTransformationService } from "../data-transformation-service/data-transformation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { transformToReadableFormat } from "../../common-components/entities-table/value-accessor/value-accessor";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Papa } from "ngx-papaparse";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity, EntityConstructor } from "app/core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityDatatype } from "app/core/basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "app/core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This service allows to start a download process from the browser.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Depending on the browser and the setting this might open a popup or directly download the file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DownloadService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** CSV row separator */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly SEPARATOR_ROW = "\n";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** CSV column/field separator */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly SEPARATOR_COL = ",";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private dataTransformationService: DataTransformationService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private papa: Papa,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Starts the download process with the provided data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param data content of the file that will be downloaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param format extension of the file that will be downloaded, support is 'csv' and 'json'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param filename of the file that will be downloaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param exportConfig special configuration that will be applied to the 'data' before triggering the download
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async triggerDownload(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    data: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    format: ExportDataFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    filename: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    exportConfig?: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const blobData = await this.getFormattedBlobData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      format,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      exportConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const filenameWithExtension = filename + "." + format.toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const link = this.createDownloadLink(blobData, filenameWithExtension);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    link.click();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async getFormattedBlobData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    data: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    format: ExportDataFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    exportConfig?: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<Blob> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let result = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (exportConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      data = await this.dataTransformationService.transformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        exportConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    switch (format.toLowerCase()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "json":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        result = typeof data === "string" ? data : JSON.stringify(data); // TODO: support exportConfig for json format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return new Blob([result], { type: "application/json" });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "csv":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        result = await this.createCsv(data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return new Blob([result], { type: "text/csv" });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Logging.warn(`Not supported format: ${format}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return new Blob([""]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private createDownloadLink(blobData, filename: string): HTMLAnchorElement {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const link = document.createElement("a");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    link.setAttribute("style", "display:none;");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    document.body.appendChild(link);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    link.href = window.URL.createObjectURL(blobData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    link.download = filename;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    link.addEventListener("click", () => window.URL.revokeObjectURL(blobData));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return link;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Creates a CSV string of the input data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param data an array of elements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @returns string a valid CSV string of the input data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async createCsv(data: any[]): Promise<string> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let entityConstructor: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (data.length > 0 && typeof data[0]?.getConstructor === "function") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entityConstructor = data[0].getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const keys = new Set<string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    data.forEach((row) => Object.keys(row).forEach((key) => keys.add(key)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    data = data.map(transformToReadableFormat);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!entityConstructor) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return this.papa.unparse(data, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        quotes: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        header: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        newline: DownloadService.SEPARATOR_ROW,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        columns: [...keys],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const result = await this.exportFile(data, entityConstructor);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async exportFile(data: any[], entityConstructor: EntityConstructor) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const entitySchema = entityConstructor.schema;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const columnLabels = new Map<string, string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const [id, field] of entitySchema.entries()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (!field.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // skip "technical" fields without an explicit label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      columnLabels.set(id, field.label);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (field.dataType === EntityDatatype.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        columnLabels.set(id + "_readable", field.label + " (readable)");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const exportEntities = await Promise.all(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      data.map((item) => this.mapEntityToExportRow(item, columnLabels)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const columnKeys: string[] = Array.from(columnLabels.keys());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const labels: any[] = Array.from(columnLabels.values());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const orderedData: any[] = exportEntities.map((item) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      columnKeys.map((key) => item[key]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.papa.unparse(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        fields: labels,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        data: orderedData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        quotes: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        newline: DownloadService.SEPARATOR_ROW,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async mapEntityToExportRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    item: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    columnLabels: Map<string, string>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<Object> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const newItem = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const key in item) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (columnLabels.has(key)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        newItem[key] = item[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (columnLabels.has(key + "_readable")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        newItem[key + "_readable"] = await this.loadRelatedEntitiesToString(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          item[key],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return newItem;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async loadRelatedEntitiesToString(value: string | string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const relatedEntitiesToStrings: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const relatedEntitiesIds: string[] = Array.isArray(value) ? value : [value];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const relatedEntityId of relatedEntitiesIds) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      relatedEntitiesToStrings.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          await this.entityMapperService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            .load(Entity.extractTypeFromId(relatedEntityId), relatedEntityId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            .catch((e) => "<not_found>")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ).toString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return relatedEntitiesToStrings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DuplicateRecordService.html b/documentation/injectables/DuplicateRecordService.html new file mode 100644 index 0000000000..fe41101113 --- /dev/null +++ b/documentation/injectables/DuplicateRecordService.html @@ -0,0 +1,559 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity-list/duplicate-records/duplicate-records.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(entitymapperservice: EntityMapperService, entityTypes: EntityRegistry, entityService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entitymapperservice + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityTypes + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + clone + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +clone(sourceData: Entity[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    sourceData + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + duplicateRecord + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + duplicateRecord(sourceData: Entity[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    sourceData + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + get + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : jasmine.Spy<jasmine.Func> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class DuplicateRecordService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  get: jasmine.Spy<jasmine.Func>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entitymapperservice: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityTypes: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async duplicateRecord(sourceData: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const duplicateData = this.clone(sourceData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return await this.entitymapperservice.saveAll(duplicateData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  clone(sourceData: Entity[]): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const duplicateData = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    sourceData.map((item: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const entityConstructor = item.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const keys = [...entityConstructor.schema.keys()].filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (key) => key !== "_id" && key !== "_rev",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const dbEntity = this.entityService.transformEntityToDatabaseFormat(item);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const entityformat = this.entityService.transformDatabaseToEntityFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        dbEntity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entityConstructor.schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const entity = new entityConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const nameAttribute = entityConstructor.toStringAttributes[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      for (const key of keys) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (nameAttribute === key && nameAttribute !== "entityId") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          entityformat[key] = `Copy of ${entityformat[key]}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entity[key] = entityformat[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      duplicateData.push(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return duplicateData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/DynamicValidatorsService.html b/documentation/injectables/DynamicValidatorsService.html new file mode 100644 index 0000000000..65d1368349 --- /dev/null +++ b/documentation/injectables/DynamicValidatorsService.html @@ -0,0 +1,602 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/entity-form/dynamic-form-validators/dynamic-validators.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + buildValidators + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + buildValidators(config: FormValidatorConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Builds all validator functions that are part of the configuration object. +A validator function is a function that returns possible errors based +on the state of a Form Field. +If there is no Validator by a given name, issues a warning.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      >>> buildValidators({ required: true, max: 5 })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +[ Validators.required, Validators.max(5) ]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +See ValidatorFn
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      config + FormValidatorConfig + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The raw configuration object

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : FormControlOptions + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicValidator, FormValidatorConfig } from "./form-validator-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  AbstractControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormControlOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ValidationErrors,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ValidatorFn,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { uniqueIdValidator } from "../unique-id-validator/unique-id-validator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * creates a pattern validator that also carries a predefined
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @param pattern The pattern to check
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @param message The custom message to display when the pattern fails
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * >>> validator = patternWithMessage(/foo/, "Can only be foo");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * >>> validator(invalidFormField);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * <pre>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *   message: "Can only be foo",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *   requiredPattern: "foo",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *   actualValue: "bar"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * </pre>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export function patternWithMessage(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  pattern: string | RegExp,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +): ValidatorFn {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  const patternValidator = Validators.pattern(pattern);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  return (control: AbstractControl) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const errors = patternValidator(control);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (errors !== null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Object.assign(errors.pattern, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        message: message,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return errors;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DynamicValidatorsService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A map of all validators along with a factory that generates the validator function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * given a value that serves as basis for the validation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getValidator(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    key: DynamicValidator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    value: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ):
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    | { async?: false; fn: ValidatorFn }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    | {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        async: true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        fn: AsyncPromiseValidatorFn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    | null {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (key) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "min":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return { fn: Validators.min(value as number) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "max":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return { fn: Validators.max(value as number) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "pattern":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (typeof value === "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return { fn: patternWithMessage(value.pattern, value.message) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return { fn: Validators.pattern(value as string) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "validEmail":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return value ? { fn: Validators.email } : null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "uniqueId":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return value ? this.buildUniqueIdValidator(value) : null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "required":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return value ? { fn: Validators.required } : null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          `Trying to generate validator ${key} but it does not exist`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private entityMapper: EntityMapperService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Builds all validator functions that are part of the configuration object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A validator function is a function that returns possible errors based
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * on the state of a Form Field.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If there is no Validator by a given name, issues a warning.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param config The raw configuration object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @example
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * >>> buildValidators({ required: true, max: 5 })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * [ Validators.required, Validators.max(5) ]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @see ValidatorFn
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public buildValidators(config: FormValidatorConfig): FormControlOptions {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const formControlOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      validators: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      asyncValidators: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const key of Object.keys(config)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const validatorFn = this.getValidator(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        key as DynamicValidator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        config[key],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (validatorFn?.async) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const validatorFnWithReadableErrors = (control) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          validatorFn
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            .fn(control)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            .then((res) => this.addHumanReadableError(key, res));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formControlOptions.asyncValidators.push(validatorFnWithReadableErrors);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      } else if (validatorFn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const validatorFnWithReadableErrors = (control: FormControl) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          this.addHumanReadableError(key, validatorFn.fn(control));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        formControlOptions.validators.push(validatorFnWithReadableErrors);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // A validator function of `null` is a legal case, for which no validator function is added.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // For example `{ required : false }` produces a `null` validator function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (formControlOptions.asyncValidators.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (formControlOptions as FormControlOptions).updateOn = "blur";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return formControlOptions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private addHumanReadableError(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    validatorType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    validationResult: ValidationErrors | null,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ValidationErrors {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!validationResult) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return validationResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    validationResult[validatorType] = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ...validationResult[validatorType],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      errorMessage: this.descriptionForValidator(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        validatorType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        validationResult[validatorType],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return validationResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * returns a description for a validator given the value where it failed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The value is specific for a certain validator. For example, the `min` validator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * produces a value that could look something like `{ min: 5, current: 4 }`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param validator The validator to get the description for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param validationValue The value associated with the validator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private descriptionForValidator(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    validator: DynamicValidator | string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    validationValue: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (validator) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "min":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`Must be greater than ${validationValue.min}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "max":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`Cannot be greater than ${validationValue.max}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "pattern":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (validationValue.message) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return validationValue.message;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return $localize`Please enter a valid pattern`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "required":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`This field is required`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "validEmail":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`Please enter a valid email`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "matDatepickerParse":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`Please enter a valid date`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "isNumber":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`Please enter a valid number`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "uniqueId":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return validationValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        Logging.error(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          `No description defined for validator "${validator}": ${JSON.stringify(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            validationValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          )}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        throw $localize`Invalid input`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private buildUniqueIdValidator(value: string): {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    async: true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    fn: AsyncPromiseValidatorFn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  } {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      fn: uniqueIdValidator(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          .loadType(value)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          // TODO: extend this to allow checking for any configurable property (e.g. Child.name rather than only id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          .then((entities) => entities.map((entity) => entity.getId())),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      async: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export type AsyncPromiseValidatorFn = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  control: FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +) => Promise<ValidationErrors | null>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityAbility.html b/documentation/injectables/EntityAbility.html new file mode 100644 index 0000000000..5278b9b33b --- /dev/null +++ b/documentation/injectables/EntityAbility.html @@ -0,0 +1,590 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/permissions/ability/entity-ability.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        An extension of the Ability class which can check permissions on Entities. +Inject this class in your component to check for permissions.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        e.g.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        export class ExampleComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private ability: EntityAbility) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.ability.can("update", new Child());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Entities are transformed to the database format and permissions are evaluated based on the configuration found in the database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Ability +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entitySchemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + can + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +can(action: EntityAction, entity: EntitySubject, field?: string, enforceConditions?: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        action + EntityAction + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + EntitySubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        field + string + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        enforceConditions + boolean + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + cannot + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +cannot(action: EntityAction, entity: EntitySubject, field?: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        action + EntityAction + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + EntitySubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        field + string + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityAction, EntitySubject } from "../permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Ability, subject } from "@casl/ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * An extension of the Ability class which can check permissions on Entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Inject this class in your component to check for permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * e.g.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * export class ExampleComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *   constructor(private ability: EntityAbility) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *     this.ability.can("update", new Child());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *   }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Entities are transformed to the database format and permissions are evaluated based on the configuration found in the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class EntityAbility extends Ability<[EntityAction, string | any]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private entitySchemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    super([]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  can(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    action: EntityAction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entity: EntitySubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    field?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    enforceConditions?: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (action === "create" && !enforceConditions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const rules = this.rules.map((r) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        const simplifiedRule = { ...r };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        delete simplifiedRule.conditions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return simplifiedRule;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const abilityWithoutConditions = new Ability(rules);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return abilityWithoutConditions.can(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        action,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.getSubject(entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return super.can(action, this.getSubject(entity), field);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  cannot(action: EntityAction, entity: EntitySubject, field?: string): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return super.cannot(action, this.getSubject(entity), field);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getSubject(entity: EntitySubject): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      !entity ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      typeof entity === "string" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      entity["__caslSubjectType__"]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // This happens in case the subject has already been processed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else if (entity instanceof Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return subject(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        entity.getType(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.entitySchemaService.transformEntityToDatabaseFormat(entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else if (entity.ENTITY_TYPE) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return entity.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw new Error(`${JSON.stringify(entity)} is not a valid subject`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityActionsService.html b/documentation/injectables/EntityActionsService.html new file mode 100644 index 0000000000..0fd99c278a --- /dev/null +++ b/documentation/injectables/EntityActionsService.html @@ -0,0 +1,1094 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/entity/entity-actions/entity-actions.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          A service that can triggers a user flow for entity actions (e.g. to safely remove or anonymize an entity), +including a confirmation dialog.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(confirmationDialog: ConfirmationDialogService, snackBar: MatSnackBar, router: Router, entityMapper: EntityMapperService, entityDelete: EntityDeleteService, entityAnonymize: EntityAnonymizeService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          confirmationDialog + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityDelete + EntityDeleteService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityAnonymize + EntityAnonymizeService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + anonymize(entityParam: E | E[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Anonymize the given entity, +removing properties that are not explicitly configured in the schema to be retained.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This triggers UX interactions like confirmation request dialog and snackbar message as well.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityParam + E | E[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + archive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + archive(entityParam: E | E[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Mark the given entity as inactive.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityParam + E | E[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + delete + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + delete(entityParam: E | E[], navigate: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Shows a confirmation dialog to the user +and removes the entity if the user confirms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This also triggers a toast message, enabling the user to undo the action.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityParam + E | E[] + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The entity to remove

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          navigate + boolean + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          whether upon delete the app will navigate back

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + showSnackbarConfirmationWithUndo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +showSnackbarConfirmationWithUndo(message: string, previousEntitiesForUndo: Entity[], navigateBackToUrl?: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          message + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          previousEntitiesForUndo + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          navigateBackToUrl + string + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + undoArchive + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + undoArchive(entityParam: E | E[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Undo the archive action on the given entity or entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityParam + E | E[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { getUrlWithoutParams } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityDeleteService } from "./entity-delete.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityAnonymizeService } from "./entity-anonymize.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { OkButton } from "../../common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { CascadingActionResult } from "./cascading-entity-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * A service that can triggers a user flow for entity actions (e.g. to safely remove or anonymize an entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * including a confirmation dialog.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EntityActionsService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entityDelete: EntityDeleteService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private entityAnonymize: EntityAnonymizeService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    message: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    previousEntitiesForUndo: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    navigateBackToUrl?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const snackBarRef = this.snackBar.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      message,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`:Undo an entity action:Undo`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        duration: 8000,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // Undo Action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    snackBarRef.onAction().subscribe(async () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const undoProgressRef = this.confirmationDialog.showProgressDialog(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Undo entity action progress dialog: Reverting changes ...`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.entityMapper.saveAll(previousEntitiesForUndo, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      undoProgressRef.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (navigateBackToUrl) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        await this.router.navigate([navigateBackToUrl]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Shows a confirmation dialog to the user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * and removes the entity if the user confirms.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This also triggers a toast message, enabling the user to undo the action.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param entityParam The entity to remove
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param navigate whether upon delete the app will navigate back
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async delete<E extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityParam: E | E[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    navigate: boolean = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let textForDeleteEntity = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let entities = Array.isArray(entityParam) ? entityParam : [entityParam];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (entities.length > 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      textForDeleteEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Demonstrative pronoun plural:these` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities.length +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      textForDeleteEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Definite article singular:the` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ' "' +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].toString() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        '"';
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !(await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Delete confirmation title:Delete?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Delete confirmation dialog:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        This will remove the data permanently as if it never existed. This cannot be undone. Statistical reports (also for past time periods) will change and not include this record anymore.\n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        If you have not just created a record accidentally, deleting this is probably not what you want to do. If a record represents something that actually happened in your work, consider to use "anonymize" or just "archive" instead, so that you will not lose your documentation for reports.\n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Are you sure you want to delete ${textForDeleteEntity}?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const progressDialogRef = this.confirmationDialog.showProgressDialog(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`:Entity action progress dialog:Processing ...`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let result = new CascadingActionResult();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (let entity of entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.mergeResults(await this.entityDelete.deleteEntity(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    progressDialogRef.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (result.potentiallyRetainingPII.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:post-delete related PII warning title:Related records may still contain personal data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:post-delete related PII warning dialog:Some related records (e.g. notes) may still contain personal data in their text. We have automatically deleted all records that are linked to ONLY ${textForDeleteEntity}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        However, there are some records that are linked to multiple records. We have not deleted these, so that you will not lose relevant data. Please review them manually to ensure all sensitive information is removed, if required (e.g. by looking through the linked notes and editing a note's text).`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        OkButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let currentUrl: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (navigate) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      currentUrl = getUrlWithoutParams(this.router);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const parentUrl = currentUrl.substring(0, currentUrl.lastIndexOf("/"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.router.navigate([parentUrl]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateMessageForConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities.length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ? entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          : [result.originalEntitiesBeforeChange[0]],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Entity action confirmation message verb:deleted`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.originalEntitiesBeforeChange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      currentUrl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Anonymize the given entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * removing properties that are not explicitly configured in the schema to be retained.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This triggers UX interactions like confirmation request dialog and snackbar message as well.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param entityParam
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async anonymize<E extends Entity>(entityParam: E | E[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let entities = Array.isArray(entityParam) ? entityParam : [entityParam];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let textForAnonymizeEntity = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (entities.length > 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      textForAnonymizeEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Demonstrative pronoun plural:these` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities.length +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      textForAnonymizeEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Definite article singular:the` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ' "' +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].toString() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        '"';
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !(await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Anonymize confirmation dialog:Anonymize?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Anonymize confirmation dialog:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        This will remove all personal information (PII) permanently and keep only a basic record for statistical reports. Details that are removed during anonymization cannot be recovered.\n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        If a record has only become inactive and you want to keep all details, consider to use "archive" instead.\n
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Are you sure you want to anonymize ${textForAnonymizeEntity}?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const progressDialogRef = this.confirmationDialog.showProgressDialog(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      $localize`:Entity action progress dialog:Processing ...`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let result = new CascadingActionResult();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (let entity of entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.mergeResults(await this.entityAnonymize.anonymizeEntity(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    progressDialogRef.close();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (result.potentiallyRetainingPII.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:post-anonymize related PII warning title:Related records may still contain personal data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:post-anonymize related PII warning dialog:Some related records (e.g. notes) may still contain personal data in their text. We have automatically anonymized all records that are linked to ONLY ${textForAnonymizeEntity}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        However, there are some records that are linked to multiple records. We have not anonymized these, so that you will not lose relevant data. Please review them manually to ensure all sensitive information is removed (e.g. by looking through the linked notes and editing a note's text).`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        OkButton,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateMessageForConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities.length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ? entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          : [result.originalEntitiesBeforeChange[0]],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Entity action confirmation message verb:anonymized`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.originalEntitiesBeforeChange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Mark the given entity as inactive.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async archive<E extends Entity>(entityParam: E | E[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let originalEntities: E[] = Array.isArray(entityParam)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ? entityParam
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      : [entityParam];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const newEntities: E[] = originalEntities.map((e) => e.copy());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    newEntities.forEach(async (e) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      e.inactive = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.entityMapper.save(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateMessageForConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        newEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Entity action confirmation message verb:archived`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      originalEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Undo the archive action on the given entity or entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async undoArchive<E extends Entity>(entityParam: E | E[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let newEntities: E[] = Array.isArray(entityParam)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ? entityParam
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      : [entityParam];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const originalEntities: E[] = newEntities.map((e) => e.copy());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    newEntities.forEach(async (e) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      e.inactive = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.entityMapper.save(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.showSnackbarConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.generateMessageForConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        newEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        $localize`:Entity action confirmation message verb:reactivated`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      originalEntities,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private generateMessageForConfirmationWithUndo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    action: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (entities.length > 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return $localize`:Entity action confirmation message:${entities.length} ${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().labelPlural
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } ${action}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return $localize`:Entity action confirmation message:${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        entities[0].getConstructor().label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } "${entities.toString()}" ${action}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityAnonymizeService.html b/documentation/injectables/EntityAnonymizeService.html new file mode 100644 index 0000000000..52c44060fe --- /dev/null +++ b/documentation/injectables/EntityAnonymizeService.html @@ -0,0 +1,634 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity/entity-actions/entity-anonymize.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Anonymize an entity including handling references with related entities. +This service is usually used in combination with the EntityActionsService, which provides user confirmation processes around this.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + CascadingEntityAction +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(entityMapper: EntityMapperService, schemaService: EntitySchemaService, fileService: FileService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + anonymizeEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + anonymizeEntity(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The actual anonymize action without user interactions.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Protected + Async + cascadeActionToRelatedEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + cascadeActionToRelatedEntities(entity: Entity, compositeAction: (relatedEntity: Entity,refField: string,entity: Entity) => void, aggregateAction: (relatedEntity: Entity,refField: string,entity: Entity) => void) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from CascadingEntityAction +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Recursively call the given actions on all related entities that contain a reference to the given entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Returns an array of all affected related entities (excluding the given entity) in their state before the action +to support an undo action.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            compositeAction + function + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            aggregateAction + function + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CascadingActionResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CascadingEntityAction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "./cascading-entity-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FileDatatype } from "../../../features/file/file.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FileService } from "../../../features/file/file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { asArray } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Anonymize an entity including handling references with related entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * This service is usually used in combination with the `EntityActionsService`, which provides user confirmation processes around this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EntityAnonymizeService extends CascadingEntityAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    protected entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    protected schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private fileService: FileService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(entityMapper, schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The actual anonymize action without user interactions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async anonymizeEntity(entity: Entity): Promise<CascadingActionResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!entity.getConstructor().hasPII) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // entity types that are generally without PII by default retain all fields
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // this should only be called through a cascade action anyway
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return new CascadingActionResult();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const originalEntity = entity.copy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const [key, schema] of entity.getSchema().entries()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (entity[key] === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      switch (schema.anonymize) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        case "retain":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        case "retain-anonymized":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          await this.anonymizeProperty(entity, key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          await this.removeProperty(entity, key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entity.anonymized = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entity.inactive = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await this.entityMapper.save(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const cascadeResult = await this.cascadeActionToRelatedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (e) => this.anonymizeEntity(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (e) => this.keepEntityUnchanged(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return new CascadingActionResult([originalEntity]).mergeResults(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      cascadeResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async anonymizeProperty(entity: Entity, key: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const dataType = this.schemaService.getDatatypeOrDefault(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity.getSchema().get(key).dataType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let anonymizedValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (entity.getSchema().get(key).isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      anonymizedValue = await Promise.all(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        asArray(entity[key]).map((v) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          dataType.anonymize(v, entity.getSchema().get(key), entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      anonymizedValue = await dataType.anonymize(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        entity[key],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        entity.getSchema().get(key),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entity[key] = anonymizedValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async removeProperty(entity: Entity, key: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity.getSchema().get(key).dataType === FileDatatype.dataType &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity[key]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await firstValueFrom(this.fileService.removeFile(entity, key));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (entity[key] !== undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entity[key] = null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async keepEntityUnchanged(e: Entity): Promise<CascadingActionResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return new CascadingActionResult([], e.getConstructor().hasPII ? [e] : []);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityConfigService.html b/documentation/injectables/EntityConfigService.html new file mode 100644 index 0000000000..87295dc933 --- /dev/null +++ b/documentation/injectables/EntityConfigService.html @@ -0,0 +1,1068 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity/entity-config.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A service that allows to work with configuration-objects +related to entities such as assigning dynamic attributes +and their schemas to existing entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(configService: ConfigService, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + addConfigAttributes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + addConfigAttributes(entityType: EntityConstructor, configAttributes?: EntityConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Appends the given (dynamic) attributes to the schema of the provided Entity. +If no arguments are provided, they will be loaded from the config

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityType + EntityConstructor + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The type to add the attributes to

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              configAttributes + EntityConfig + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The attributes to add

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + getDetailsViewConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +getDetailsViewConfig(entityType: EntityConstructor) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityType + EntityConstructor + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + getDetailsViewId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getDetailsViewId(entityConfig: EntityConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityConfig + EntityConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + getEntityConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getEntityConfig(entityType: EntityConstructor) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Returns the EntityConfig from the config service that contains additional +fields for a certain entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityType + EntityConstructor + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The type to get the config for

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : EntityConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + getListViewConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +getListViewConfig(entityType: EntityConstructor) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityType + EntityConstructor + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + getListViewId + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + getListViewId(entityConfig: EntityConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityConfig + EntityConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + setupEntitiesFromConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +setupEntitiesFromConfig() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Assigns additional schema-fields to all entities that are +defined inside the config. Entities that are not registered +using the DatabaseEntity-Decorator won't work and will +trigger an error message

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + Readonly + PREFIX_ENTITY_CONFIG + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + will become private, use the service to access the data +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "entity:" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "./model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ConfigService } from "../config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "./database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConfig } from "./entity-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { addPropertySchema } from "./database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  PREFIX_VIEW_CONFIG,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ViewConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "../config/dynamic-routing/view-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchemaField } from "./schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchema } from "./schema/entity-schema";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityDetailsConfig } from "../entity-details/EntityDetailsConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityListConfig } from "../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * A service that allows to work with configuration-objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * related to entities such as assigning dynamic attributes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * and their schemas to existing entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class EntityConfigService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** @deprecated will become private, use the service to access the data */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static readonly PREFIX_ENTITY_CONFIG = "entity:";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** original initial entity schemas without overrides from config */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private coreEntitySchemas = new Map<string, EntitySchema>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static getDetailsViewId(entityConfig: EntityConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.getListViewId(entityConfig) + "/:id";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static getListViewId(entityConfig: EntityConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return PREFIX_VIEW_CONFIG + entityConfig.route.replace(/^\//, "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  // TODO: merge with EntityRegistry?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.storeCoreEntitySchemas();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private storeCoreEntitySchemas() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entities.forEach((ctr, key) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.coreEntitySchemas.set(key, this.deepCopySchema(ctr.schema));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private deepCopySchema(schema: EntitySchema): EntitySchema {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return new Map<string, EntitySchemaField>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      JSON.parse(JSON.stringify(Array.from(schema))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Assigns additional schema-fields to all entities that are
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * defined inside the config. Entities that are not registered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * using the {@link DatabaseEntity}-Decorator won't work and will
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * trigger an error message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  setupEntitiesFromConfig() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const config of this.configService.getAllConfigs<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EntityConfig & { _id: string }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    >(EntityConfigService.PREFIX_ENTITY_CONFIG)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const id = config._id.substring(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        EntityConfigService.PREFIX_ENTITY_CONFIG.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (!this.entities.has(id)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.createNewEntity(id, config.extends);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const ctor = this.entities.get(id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.setCoreSchemaAttributes(ctor, config.extends);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.addConfigAttributes(ctor, config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private createNewEntity(id: string, parent: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const parentClass = this.entities.has(parent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ? this.entities.get(parent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      : Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const schema = this.deepCopySchema(parentClass.schema);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    class DynamicClass extends parentClass {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      static schema = schema;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      static ENTITY_TYPE = id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entities.set(id, DynamicClass);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Set field definitons from the core schema to ensure undoing customized attributes is correctly applied.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param parent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private setCoreSchemaAttributes(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    parent: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const coreEntityId = parent ?? entityType.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const coreSchema =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.coreEntitySchemas.get(coreEntityId) ?? Entity.schema;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const [key, value] of coreSchema.entries()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      addPropertySchema(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entityType.prototype,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        JSON.parse(JSON.stringify(value)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Appends the given (dynamic) attributes to the schema of the provided Entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If no arguments are provided, they will be loaded from the config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType The type to add the attributes to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param configAttributes The attributes to add
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public addConfigAttributes<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    configAttributes?: EntityConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const entityConfig = configAttributes || this.getEntityConfig(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const [key, value] of Object.entries(entityConfig?.attributes ?? {})) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      value._isCustomizedField = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      addPropertySchema(entityType.prototype, key, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // TODO: shall we just assign all properties that are present in the config object?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.toStringAttributes =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      entityConfig.toStringAttributes ?? entityType.toStringAttributes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.label = entityConfig.label ?? entityType.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.labelPlural = entityConfig.labelPlural ?? entityType.labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.icon = (entityConfig.icon as IconName) ?? entityType.icon;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.color = entityConfig.color ?? entityType.color;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.route = entityConfig.route ?? entityType.route;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType.hasPII = entityConfig.hasPII ?? entityType.hasPII;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType._isCustomizedType = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns the `EntityConfig` from the config service that contains additional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * fields for a certain entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType The type to get the config for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public getEntityConfig(entityType: EntityConstructor): EntityConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const configName =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EntityConfigService.PREFIX_ENTITY_CONFIG + entityType.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.configService.getConfig<EntityConfig>(configName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  getDetailsViewConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): ViewConfig<EntityDetailsConfig> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.configService.getConfig<ViewConfig<EntityDetailsConfig>>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EntityConfigService.getDetailsViewId(entityType),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  getListViewConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): ViewConfig<EntityListConfig> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.configService.getConfig<ViewConfig<EntityListConfig>>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      EntityConfigService.getListViewId(entityType),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityDatatype.html b/documentation/injectables/EntityDatatype.html new file mode 100644 index 0000000000..bb70bc65c8 --- /dev/null +++ b/documentation/injectables/EntityDatatype.html @@ -0,0 +1,1052 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/entity/entity.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Datatype for the EntitySchemaService to handle a single reference to another entity. +Stored as simple id string.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                For example:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @DatabaseField({dataType: 'entity', additional: 'Child'}) relatedEntity: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + StringDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapper: EntityMapperService, removeService: EntityActionsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                removeService + EntityActionsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + anonymize(value, schemaField: EntitySchemaField, parent) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:72 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Recursively calls anonymize on the referenced entity and saves it.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parent + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<string> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:62 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                additional + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToObjectFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "entity" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "EditEntity" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "EntityImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:40 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : $localize`:datatype-label:link to another record` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:36 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "DisplayEntity" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:39 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { StringDatatype } from "../string/string.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ColumnMapping } from "../../import/column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityActionsService } from "../../entity/entity-actions/entity-actions.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Datatype for the EntitySchemaService to handle a single reference to another entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Stored as simple id string.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * `@DatabaseField({dataType: 'entity', additional: 'Child'}) relatedEntity: string;`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class EntityDatatype extends StringDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override dataType = "entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override label: string = $localize`:datatype-label:link to another record`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  editComponent = "EditEntity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  viewComponent = "DisplayEntity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  importConfigComponent = "EntityImportConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private removeService: EntityActionsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  importMapFunction(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    val: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    additional?: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!additional) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return Promise.resolve(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .loadType(schemaField.additional)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .then((res) => res.find((e) => e[additional] === val)?.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  importIncompleteAdditionalConfigBadge(col: ColumnMapping): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return col.additional ? undefined : "?";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Recursively calls anonymize on the referenced entity and saves it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param schemaField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param parent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async anonymize(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    parent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Promise<string> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const referencedEntity = await this.entityMapper.load(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      schemaField.additional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!referencedEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      // TODO: remove broken references?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.removeService.anonymize(referencedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityDeleteService.html b/documentation/injectables/EntityDeleteService.html new file mode 100644 index 0000000000..0fd6b1b315 --- /dev/null +++ b/documentation/injectables/EntityDeleteService.html @@ -0,0 +1,595 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/entity/entity-actions/entity-delete.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Safely delete an entity including handling references with related entities. +This service is usually used in combination with the EntityActionsService, which provides user confirmation processes around this.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + CascadingEntityAction +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(entityMapper: EntityMapperService, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + deleteEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + deleteEntity(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The actual delete action without user interactions.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Returns an array of all affected entities (including the given entity) in their state before the action +to support an undo action.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Protected + Async + cascadeActionToRelatedEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + cascadeActionToRelatedEntities(entity: Entity, compositeAction: (relatedEntity: Entity,refField: string,entity: Entity) => void, aggregateAction: (relatedEntity: Entity,refField: string,entity: Entity) => void) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from CascadingEntityAction +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Recursively call the given actions on all related entities that contain a reference to the given entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Returns an array of all affected related entities (excluding the given entity) in their state before the action +to support an undo action.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  compositeAction + function + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  aggregateAction + function + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  CascadingActionResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  CascadingEntityAction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "./cascading-entity-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Safely delete an entity including handling references with related entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This service is usually used in combination with the `EntityActionsService`, which provides user confirmation processes around this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EntityDeleteService extends CascadingEntityAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    protected entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    protected schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super(entityMapper, schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The actual delete action without user interactions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Returns an array of all affected entities (including the given entity) in their state before the action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * to support an undo action.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async deleteEntity(entity: Entity): Promise<CascadingActionResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const cascadeResult = await this.cascadeActionToRelatedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (e) => this.deleteEntity(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (e, refField, entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.removeReferenceFromEntity(e, refField, entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const originalEntity = entity.copy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    await this.entityMapper.remove(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return new CascadingActionResult([originalEntity]).mergeResults(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      cascadeResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Change and save the entity, removing referenced ids of the given referenced entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Returns an array of the affected entities (which here is only the given entity) in the state before the action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * to support an undo action.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param relatedEntityWithReference
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param refField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param referencedEntity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async removeReferenceFromEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    relatedEntityWithReference: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    refField: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    referencedEntity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<CascadingActionResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const originalEntity = relatedEntityWithReference.copy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (Array.isArray(relatedEntityWithReference[refField])) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      relatedEntityWithReference[refField] = relatedEntityWithReference[
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        refField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ].filter((id) => id !== referencedEntity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      delete relatedEntityWithReference[refField];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    await this.entityMapper.save(relatedEntityWithReference);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return new CascadingActionResult(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [originalEntity],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      relatedEntityWithReference.getConstructor().hasPII
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ? [relatedEntityWithReference]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        : [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityFormService.html b/documentation/injectables/EntityFormService.html new file mode 100644 index 0000000000..84db0a2810 --- /dev/null +++ b/documentation/injectables/EntityFormService.html @@ -0,0 +1,1110 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/common-components/entity-form/entity-form.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This service provides helper functions for creating tables or forms for an entity as well as saving +new changes correctly to the entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(fb: FormBuilder, entityMapper: EntityMapperService, entitySchemaService: EntitySchemaService, dynamicValidator: DynamicValidatorsService, ability: EntityAbility, unsavedChanges: UnsavedChangesService, defaultValueService: DefaultValueService, router: Router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    fb + FormBuilder + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dynamicValidator + DynamicValidatorsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    defaultValueService + DefaultValueService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + createFormGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + createFormGroup(formFields: ColumnConfig[], entity: T, forTable, withPermissionCheck) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Creates a FormGroups from the formFields and the existing values from the entity. +Missing fields in the formFields are filled with schema information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    formFields + ColumnConfig[] + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + T + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    forTable + + No + + false + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    withPermissionCheck + + No + + true + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    if true, fields without 'update' permissions will stay disabled when enabling form

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : EntityForm<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + extendFormFieldConfig + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + extendFormFieldConfig(formField: ColumnConfig, entityType: EntityConstructor, forTable) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Uses schema information to fill missing fields in the FormFieldConfig.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    formField + ColumnConfig + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entityType + EntityConstructor + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    forTable + + No + + false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : FormFieldConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + resetForm + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +resetForm(form: EntityForm<E>, entity: E) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    form + EntityForm<E> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + E + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + Async + saveChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + saveChanges(form: EntityForm<T>, entity: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This function applies the changes of the formGroup to the entity. +If the form is invalid or the entity does not pass validation after applying the changes, an error will be thrown. +The input entity will not be modified but a copy of it will be returned in case of success.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    form + EntityForm<T> + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The formGroup holding the changes (marked pristine and disabled after successful save)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + T + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The entity on which the changes should be applied.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    a copy of the input entity with the changes from the form group

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormControlOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ɵElement,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ColumnConfig, FormFieldConfig, toFormFieldConfig } from "./FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicValidatorsService } from "./dynamic-form-validators/dynamic-validators.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { InvalidFormFieldError } from "./invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { UnsavedChangesService } from "../../entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ActivationStart, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Subscription } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DefaultValueService } from "../../entity/default-value.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * These are utility types that allow to define the type of `FormGroup` the way it is returned by `EntityFormService.create`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type TypedForm<T> = FormGroup<{ [K in keyof T]: ɵElement<T[K], null> }>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type EntityForm<T extends Entity> = TypedForm<Partial<T>>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This service provides helper functions for creating tables or forms for an entity as well as saving
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * new changes correctly to the entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class EntityFormService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private subscriptions: Subscription[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entitySchemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private dynamicValidator: DynamicValidatorsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private defaultValueService: DefaultValueService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    router.events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(filter((e) => e instanceof ActivationStart))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // Clean up everything once navigation happens
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.subscriptions.forEach((sub) => sub.unsubscribe());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.subscriptions = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Uses schema information to fill missing fields in the FormFieldConfig.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param formField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param forTable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public extendFormFieldConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formField: ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entityType: EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    forTable = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): FormFieldConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const fullField = toFormFieldConfig(formField);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return this.addSchemaToFormField(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        fullField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entityType.schema.get(fullField.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        forTable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      throw new Error(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        `Could not create form config for ${fullField.id}: ${err}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private addSchemaToFormField(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formField: FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    propertySchema: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    forTable: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): FormFieldConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // formField config has precedence over schema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const fullField = Object.assign({}, propertySchema, formField);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    fullField.editComponent =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.editComponent ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entitySchemaService.getComponent(propertySchema, "edit");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    fullField.viewComponent =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.viewComponent ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entitySchemaService.getComponent(propertySchema, "view");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (forTable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.forTable = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.label =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        fullField.label || fullField.labelShort || fullField.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      delete fullField.description;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.forTable = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fullField.label =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        fullField.label || fullField.label || fullField.labelShort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return fullField;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Creates a FormGroups from the formFields and the existing values from the entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Missing fields in the formFields are filled with schema information.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param formFields
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param forTable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param withPermissionCheck if true, fields without 'update' permissions will stay disabled when enabling form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public createFormGroup<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formFields: ColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    forTable = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    withPermissionCheck = true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): EntityForm<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const formConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const copy = entity.copy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formFields = formFields.filter((f) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entity.getSchema().has(toFormFieldConfig(f).id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const f of formFields) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.addFormControlConfig(formConfig, f, copy, forTable);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const group = this.fb.group<Partial<T>>(formConfig);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const valueChangesSubscription = group.valueChanges.subscribe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      () => (this.unsavedChanges.pending = group.dirty),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.subscriptions.push(valueChangesSubscription);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (withPermissionCheck) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.disableReadOnlyFormControls(group, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const statusChangesSubscription = group.statusChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .pipe(filter((status) => status !== "DISABLED"))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .subscribe(() => this.disableReadOnlyFormControls(group, entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.subscriptions.push(statusChangesSubscription);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.defaultValueService.handle(group, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return group;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Add a property with form control initialization config to the given formConfig object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param formConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param fieldConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param forTable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private addFormControlConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formConfig: { [key: string]: FormControl },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    fieldConfig: ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    forTable: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const field = this.extendFormFieldConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      fieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      forTable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let value = entity[field.id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const controlOptions: FormControlOptions = { nonNullable: true };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (field.validators) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const validators = this.dynamicValidator.buildValidators(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        field.validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Object.assign(controlOptions, validators);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    formConfig[field.id] = new FormControl(value, controlOptions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private disableReadOnlyFormControls<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form: EntityForm<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const action = entity.isNew ? "create" : "update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Object.keys(form.controls).forEach((fieldId) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (this.ability.cannot(action, entity, fieldId)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        form.get(fieldId).disable({ onlySelf: true, emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This function applies the changes of the formGroup to the entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * If the form is invalid or the entity does not pass validation after applying the changes, an error will be thrown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The input entity will not be modified but a copy of it will be returned in case of success.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param form The formGroup holding the changes (marked pristine and disabled after successful save)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param entity The entity on which the changes should be applied.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @returns a copy of the input entity with the changes from the form group
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public async saveChanges<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form: EntityForm<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Promise<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.checkFormValidity(form);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const updatedEntity = entity.copy() as T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const [key, value] of Object.entries(form.getRawValue())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (value !== null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        updatedEntity[key] = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    updatedEntity.assertValid();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.assertPermissionsToSave(entity, updatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      await this.entityMapper.save(updatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      throw new Error($localize`Could not save ${entity.getType()}\: ${err}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form.markAsPristine();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return Object.assign(entity, updatedEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private checkFormValidity<T extends Entity>(form: EntityForm<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // errors regarding invalid fields won't be displayed unless marked as touched
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form.markAllAsTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (form.invalid) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      throw new InvalidFormFieldError();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private assertPermissionsToSave(oldEntity: Entity, newEntity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let action: "create" | "update", entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (oldEntity.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      action = "create";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entity = newEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      action = "update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entity = oldEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.ability.can(action, entity, undefined, true)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const conditions = this.ability
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .rulesFor(action, entity.getType())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .map((r) => r.conditions);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      throw new Error(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        $localize`Current user is not permitted to save these changes: ${JSON.stringify(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          conditions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        )}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  resetForm<E extends Entity>(form: EntityForm<E>, entity: E) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const key of Object.keys(form.controls)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      form.get(key).setValue(entity[key]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    form.markAsPristine();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.unsavedChanges.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntityMapperService.html b/documentation/injectables/EntityMapperService.html new file mode 100644 index 0000000000..d8e5190c02 --- /dev/null +++ b/documentation/injectables/EntityMapperService.html @@ -0,0 +1,1300 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity/entity-mapper/entity-mapper.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Handles loading and saving of data for any higher-level feature module. +The EntityMapperService implicitly transforms objects from instances of Entity classes to the format to be written +to the database and back - ensuring they you always receive instances of Entity subclasses, that you can +simply treat them as normal javascript class instances without worrying about database persistance logic.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      To understand more about how to use the Entity system in your own modules, refer to the How-To Guides:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(_db: Database, entitySchemaService: EntitySchemaService, currentUser: CurrentUserSubject, registry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      _db + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entitySchemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      registry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + load + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + load(entityType: EntityConstructor<T> | string, id: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Load an Entity from the database with the given id or the registered name of that class.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Class that implements Entity, which is the type of Entity the results should be transformed to

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      id + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The id of the entity to load

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A Promise resolving to an instance of entityType filled with its data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + loadType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + loadType(entityType: EntityConstructor<T> | string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Load all entities from the database of the given type (for example a list of entities of the type User). +Important: Loading via the constructor is always preferred compared to loading via string. The latter +doesn't allow strict type-checking and errors can only be discovered later

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      or the registered name of that class.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Class that implements Entity, which is the type of Entity the results should be transformed to +or the registered name of that class.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<T[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A Promise resolving to an array of instances of entityType with the data of the loaded entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + receiveUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + receiveUpdates(entityType: EntityConstructor<T> | string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      subscribe to this observable to receive updates whenever the state of +an entity of a certain type changes. +The updated-parameter will return the new entity as well as a field that +describes the type of update (either "new", "update" or "remove"). +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +This can be used in collaboration with the update(UpdatedEntity, Entities)-function +to update a list of entities +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Important: Loading via the constructor is always preferred compared to loading via string. The latter +doesn't allow strict type-checking and errors can only be discovered later

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityType + EntityConstructor<T> | string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      the type of the entity or the registered name of that class.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + remove + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + remove(entity: T) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Delete an entity from the database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entity + T + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The entity to be deleted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Protected + resolveConstructor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + resolveConstructor(constructible: EntityConstructor<T> | string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      constructible + EntityConstructor<T> | string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + save + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + save(entity: T, forceUpdate: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Save an entity to the database after transforming it to its database representation. + if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entity + T + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The entity to be saved

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      forceUpdate + boolean + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Optional flag whether any conflicting version in the database will be quietly overwritten. +if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + Async + saveAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + saveAll(entities: Entity[], forceUpdate: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Saves an array of entities that are possibly heterogeneous, i.e. +the entity-type of all the entities does not have to be the same. +This method should be chosen whenever a bigger number of entities needs to be +saved + if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entities + Entity[] + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The entities to save

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      forceUpdate + boolean + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Optional flag whether any conflicting version in the database will be quietly overwritten. +if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<any[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Protected + setEntityMetadata + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + setEntityMetadata(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Database } from "../../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity, EntityConstructor } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { UpdatedEntity } from "../model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { UpdateMetadata } from "../model/update-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CurrentUserSubject } from "../../session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Handles loading and saving of data for any higher-level feature module.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The EntityMapperService implicitly transforms objects from instances of Entity classes to the format to be written
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * to the database and back - ensuring they you always receive instances of {@link Entity} subclasses, that you can
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * simply treat them as normal javascript class instances without worrying about database persistance logic.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * To understand more about how to use the Entity system in your own modules, refer to the How-To Guides:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * - [How to Load and Save Data]{@link /additional-documentation/how-to-guides/load-and-save-data.html}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * - [How to Create a new Entity Type]{@link /additional-documentation/how-to-guides/create-a-new-entity-type.html}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class EntityMapperService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private _db: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entitySchemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private registry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Load an Entity from the database with the given id or the registered name of that class.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entityType Class that implements Entity, which is the type of Entity the results should be transformed to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param id The id of the entity to load
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @returns A Promise resolving to an instance of entityType filled with its data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async load<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const ctor = this.resolveConstructor(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entityId = Entity.createPrefixedId(ctor.ENTITY_TYPE, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const result = await this._db.get(entityId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.transformToEntityFormat(result, ctor);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Load all entities from the database of the given type (for example a list of entities of the type User).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <em>Important:</em> Loading via the constructor is always preferred compared to loading via string. The latter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * doesn't allow strict type-checking and errors can only be discovered later
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entityType Class that implements Entity, which is the type of Entity the results should be transformed to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * or the registered name of that class.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @returns A Promise resolving to an array of instances of entityType with the data of the loaded entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async loadType<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<T[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const ctor = this.resolveConstructor(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const records = await this._db.getAll(ctor.ENTITY_TYPE + ":");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return records.map((rec) => this.transformToEntityFormat(rec, ctor));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private transformToEntityFormat<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    record: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ctor: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): T {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entity = new ctor("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entitySchemaService.loadDataIntoEntity(entity, record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // add _id information to error message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      e.message = `Could not transform entity "${record._id}": ${e.message}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      throw e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * subscribe to this observable to receive updates whenever the state of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * an entity of a certain type changes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The updated-parameter will return the new entity as well as a field that
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * describes the type of update (either "new", "update" or "remove").
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * This can be used in collaboration with the update(UpdatedEntity, Entities)-function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * to update a list of entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * <em>Important:</em> Loading via the constructor is always preferred compared to loading via string. The latter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * doesn't allow strict type-checking and errors can only be discovered later
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entityType the type of the entity or the registered name of that class.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public receiveUpdates<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entityType: EntityConstructor<T> | string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Observable<UpdatedEntity<T>> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const ctor = this.resolveConstructor(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const type = new ctor().getType();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this._db.changes(type + ":").pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      map((doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const entity = new ctor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.entitySchemaService.loadDataIntoEntity(entity, doc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (doc._deleted) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return { type: "remove", entity: entity };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        } else if (doc._rev.startsWith("1-")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          // This does not cover all the cases as docs with higher rev-number might be synchronized for the first time
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return { type: "new", entity: entity };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return { type: "update", entity: entity };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Save an entity to the database after transforming it to its database representation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entity The entity to be saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param forceUpdate Optional flag whether any conflicting version in the database will be quietly overwritten.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *          if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async save<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entity: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    forceUpdate: boolean = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.setEntityMetadata(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const rawData =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entitySchemaService.transformEntityToDatabaseFormat(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const result = await this._db.put(rawData, forceUpdate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (result?.ok) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      entity._rev = result.rev;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Saves an array of entities that are possibly heterogeneous, i.e.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * the entity-type of all the entities does not have to be the same.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * This method should be chosen whenever a bigger number of entities needs to be
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entities The entities to save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param forceUpdate Optional flag whether any conflicting version in the database will be quietly overwritten.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *          if a conflict occurs without the forceUpdate flag being set, the save will fail, rejecting the returned promise.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async saveAll(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    forceUpdate: boolean = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<any[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entities.forEach((e) => this.setEntityMetadata(e));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const rawData = entities.map((e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entitySchemaService.transformEntityToDatabaseFormat(e),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const results = await this._db.putAll(rawData, forceUpdate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    results.forEach((res, idx) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (res.ok) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const entity = entities[idx];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        entity._rev = res.rev;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Delete an entity from the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param entity The entity to be deleted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public remove<T extends Entity>(entity: T): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this._db.remove(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  protected resolveConstructor<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    constructible: EntityConstructor<T> | string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): EntityConstructor<T> | undefined {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (typeof constructible === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return this.registry.get(constructible) as EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return constructible;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  protected setEntityMetadata(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const newMetadata = new UpdateMetadata(this.currentUser.value?.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (entity.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      entity.created = newMetadata;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    entity.updated = newMetadata;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EntitySchemaService.html b/documentation/injectables/EntitySchemaService.html new file mode 100644 index 0000000000..047507be76 --- /dev/null +++ b/documentation/injectables/EntitySchemaService.html @@ -0,0 +1,1331 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity/schema/entity-schema.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Transform between entity instances and database objects +based on the dataType set for properties in Entity classes using the DatabaseField annotation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        You can inject the EntitySchemaService in your code to register your custom DefaultDatatype implementations.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This service is used by the EntityMapperService to internally transform objects. +You should normally use the EntityMapperService instead of transforming objects yourself with the EntitySchemaService.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        also see the How-To Guides:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(injector: Injector) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        injector + Injector + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + getComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +getComponent(propertySchema: EntitySchemaField, mode: "view" | "edit") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Get the name of the component that should display this property. +The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        propertySchema + EntitySchemaField + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The schema definition of the attribute for which a component should be get

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        mode + "view" | "edit" + + No + + "view" + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (Optional) The mode for which a component is required. Default is "view".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        string The name of the component which should display this property

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + getDatatypeOrDefault + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + getDatatypeOrDefault(datatypeName: string, failSilently) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Get the datatype for the giving name (or the default datatype if no other registered type fits)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        datatypeName + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The key/name of the datatype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        failSilently + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If set to 'true' no error is thrown if datatype does not exist

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + getEntityTypesReferencingType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +getEntityTypesReferencingType(type: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Get all entity types whose schema includes fields referencing the given type.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        e.g. given Child -> [Note, ChildSchoolRelation, ...]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + loadDataIntoEntity + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + loadDataIntoEntity(entity: E, data: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Helper function to assign the giving data to the given entity instance after transforming it according to the schema.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + E + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        An entity instance whose properties will be overwritten with the transformed data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        data + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The database object that will be transformed and assigned to the entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : E + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + transformDatabaseToEntityFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + transformDatabaseToEntityFormat(data: any, schema: EntitySchema) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Transform a database object to entity format according to the schema.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        data + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The database object that will be transformed to the given entity format

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schema + EntitySchema + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        A schema defining the transformation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Public + transformEntityToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + transformEntityToDatabaseFormat(entity: Entity, schema?: EntitySchema) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Transform an entity instance to a database object according to the schema.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + Entity + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The object (an instance of an entity type)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schema + EntitySchema + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The schema of the entity (if not explicitly defined the schema of the given entity is used)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + valueToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +valueToDatabaseFormat(value: any, schemaField: EntitySchemaField, entity?: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Transform a single value into database format

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entity + Entity + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + valueToEntityFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +valueToEntityFormat(value: any, schemaField: EntitySchemaField, dataObject?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Transform a single value into entity format

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        dataObject + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Entity, EntityConstructor } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Injectable, Injector } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchema } from "./entity-schema";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaField } from "./entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DefaultDatatype } from "../default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { asArray } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Transform between entity instances and database objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * based on the dataType set for properties in Entity classes using the {@link DatabaseField} annotation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * You can inject the EntitySchemaService in your code to register your custom {@link DefaultDatatype} implementations.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This service is used by the {@link EntityMapperService} to internally transform objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * You should normally use the EntityMapperService instead of transforming objects yourself with the EntitySchemaService.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * also see the How-To Guides:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * - [Create A New Entity Type]{@link /additional-documentation/how-to-guides/create-a-new-entity-type.html}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class EntitySchemaService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Internal cache of datatype implementations.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private schemaTypes = new Map<string, DefaultDatatype>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private defaultDatatype: DefaultDatatype = new DefaultDatatype();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private injector: Injector) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Get the datatype for the giving name (or the default datatype if no other registered type fits)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param datatypeName The key/name of the datatype
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param failSilently If set to 'true' no error is thrown if datatype does not exist
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public getDatatypeOrDefault(datatypeName: string, failSilently = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!datatypeName) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return this.defaultDatatype;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.schemaTypes.has(datatypeName)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return this.schemaTypes.get(datatypeName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // use Injector instead of normal dependency injection in the constructor, because some Datatypes use the SchemaService (--> Circular Dependency)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dataTypes: DefaultDatatype[] = this.injector.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      DefaultDatatype,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ) as unknown as DefaultDatatype[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let dataType = dataTypes.find((d) => d.dataType === datatypeName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.schemaTypes.set(datatypeName, dataType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return dataType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else if (!failSilently) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw new Error(`Data type "${datatypeName}" does not exist`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Transform a database object to entity format according to the schema.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param data The database object that will be transformed to the given entity format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param schema A schema defining the transformation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public transformDatabaseToEntityFormat<T = Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    data: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    schema: EntitySchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): T {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const transformed = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const key of schema.keys()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const schemaField: EntitySchemaField = schema.get(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (data[key] === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const newValue = this.valueToEntityFormat(data[key], schemaField, data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (newValue !== undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        transformed[key] = newValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (schemaField.generateIndex) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        throw new Error('schema option "isIndexed" not implemented yet');
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return transformed as T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Helper function to assign the giving data to the given entity instance after transforming it according to the schema.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param entity An entity instance whose properties will be overwritten with the transformed data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param data The database object that will be transformed and assigned to the entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public loadDataIntoEntity<E extends Entity>(entity: E, data: any): E {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const transformed = this.transformDatabaseToEntityFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (<typeof Entity>entity.constructor).schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return Object.assign(entity, transformed);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Transform an entity instance to a database object according to the schema.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param entity The object (an instance of an entity type)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param schema The schema of the entity (if not explicitly defined the schema of the given entity is used)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  public transformEntityToDatabaseFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    schema?: EntitySchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!schema) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      schema = entity.getSchema();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const data = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const key of schema.keys()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      let value = entity[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const schemaField: EntitySchemaField = schema.get(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (value === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // skip and keep undefined
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        data[key] = this.valueToDatabaseFormat(value, schemaField, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        throw new Error(`Transformation for ${key} failed: ${err}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (data[key] === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        delete data[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Get the name of the component that should display this property.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The edit component has to be a registered component. Components that are registered contain the `DynamicComponent`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * decorator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param propertySchema The schema definition of the attribute for which a component should be get
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param mode (Optional) The mode for which a component is required. Default is "view".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @returns string The name of the component which should display this property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getComponent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    propertySchema: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    mode: "view" | "edit" = "view",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!propertySchema) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const componentAttribute =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      mode === "view" ? "viewComponent" : "editComponent";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (propertySchema[componentAttribute]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return propertySchema[componentAttribute];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dataType = this.getDatatypeOrDefault(propertySchema.dataType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (dataType?.[componentAttribute]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return dataType[componentAttribute];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Transform a single value into database format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param schemaField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  valueToDatabaseFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    value: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entity?: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (value === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // keep 'null' to be able to explicitly mark a value as being reset
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dataType = this.getDatatypeOrDefault(schemaField.dataType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (schemaField.isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return asArray(value).map((v) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        dataType.transformToDatabaseFormat(v, schemaField, entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return dataType.transformToDatabaseFormat(value, schemaField, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Transform a single value into entity format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param schemaField
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param dataObject
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  valueToEntityFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    value: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    dataObject?: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (value === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // keep 'null' to be able to explicitly mark a value as being reset
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dataType = this.getDatatypeOrDefault(schemaField.dataType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (schemaField.isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return asArray(value).map((v) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        dataType.transformToObjectFormat(v, schemaField, dataObject),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return dataType.transformToObjectFormat(value, schemaField, dataObject);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Get all entity types whose schema includes fields referencing the given type.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * e.g. given Child -> [Note, ChildSchoolRelation, ...]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getEntityTypesReferencingType(type: string): {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    referencingProperties: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const referencingTypes = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const t of this.injector.get(EntityRegistry).values()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      for (const [key, field] of t.schema.entries()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (asArray(field.additional).includes(type)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          let refType = referencingTypes.find((e) => e.entityType === t);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          if (!refType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            refType = { entityType: t, referencingProperties: [] };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            referencingTypes.push(refType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          refType.referencingProperties.push(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return referencingTypes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EventAttendanceDatatype.html b/documentation/injectables/EventAttendanceDatatype.html new file mode 100644 index 0000000000..b5abb6e304 --- /dev/null +++ b/documentation/injectables/EventAttendanceDatatype.html @@ -0,0 +1,1129 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/child-dev-project/attendance/model/event-attendance.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + do not use externally, use EventAttendanceMap instead * +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + SchemaEmbedDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +transformToDatabaseFormat(value: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +transformToObjectFormat(value: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : EventAttendance.DATA_TYPE +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:69 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + embeddedType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : EventAttendance as unknown as EntityConstructor +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from SchemaEmbedDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "EditText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : $localize`:datatype-label:any` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The human-readable name for this dataType, used in config UIs.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in DefaultDatatype:60 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { SchemaEmbedDatatype } from "../../../core/basic-datatypes/schema-embed/schema-embed.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntitySchemaService } from "../../../core/entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EventAttendance, EventAttendanceMap } from "./event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DefaultDatatype } from "../../../core/entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Holds a full register of EventAttendance entries.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * (previously this was "MapDatatype")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EventAttendanceMapDatatype extends DefaultDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  Map<string, any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [string, any][]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static override dataType = EventAttendanceMap.DATA_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  embeddedType: EventAttendanceDatatype;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(schemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.embeddedType = new EventAttendanceDatatype(schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  transformToDatabaseFormat(value: Map<string, any>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!(value instanceof Map)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      console.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        'property to be saved with "map" EntitySchema is not of expected type',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value as any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const result: [string, any][] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    value.forEach((item, key) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.push([key, this.embeddedType.transformToDatabaseFormat(item)]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  transformToObjectFormat(value: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (value instanceof Map) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // usually this shouldn't already be a map but in MockDatabase somehow this can happen
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!Array.isArray(value) || value === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      console.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        'property to be loaded with "map" EntitySchema is not valid',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return value as any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const result = new EventAttendanceMap();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const keyValue of value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const transformedElement = this.embeddedType.transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        keyValue[1],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ) as unknown as EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.set(keyValue[0], transformedElement);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/** @deprecated do not use externally, use EventAttendanceMap instead **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class EventAttendanceDatatype extends SchemaEmbedDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static override dataType = EventAttendance.DATA_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  override embeddedType = EventAttendance as unknown as EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(schemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super(schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/EventAttendanceMapDatatype.html b/documentation/injectables/EventAttendanceMapDatatype.html new file mode 100644 index 0000000000..38326cdc81 --- /dev/null +++ b/documentation/injectables/EventAttendanceMapDatatype.html @@ -0,0 +1,1121 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/attendance/model/event-attendance.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Holds a full register of EventAttendance entries. +(previously this was "MapDatatype")

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DefaultDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToDatabaseFormat(value: Map) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:26 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + Map<string | any> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToObjectFormat(value: any[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + any[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : EventAttendanceMap.DATA_TYPE +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:17 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + embeddedType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EventAttendanceDatatype + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "EditText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : $localize`:datatype-label:any` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The human-readable name for this dataType, used in config UIs.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:60 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SchemaEmbedDatatype } from "../../../core/basic-datatypes/schema-embed/schema-embed.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../../../core/entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EventAttendance, EventAttendanceMap } from "./event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DefaultDatatype } from "../../../core/entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Holds a full register of EventAttendance entries.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * (previously this was "MapDatatype")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EventAttendanceMapDatatype extends DefaultDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Map<string, any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [string, any][]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static override dataType = EventAttendanceMap.DATA_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  embeddedType: EventAttendanceDatatype;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(schemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.embeddedType = new EventAttendanceDatatype(schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  transformToDatabaseFormat(value: Map<string, any>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!(value instanceof Map)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      console.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        'property to be saved with "map" EntitySchema is not of expected type',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return value as any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const result: [string, any][] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    value.forEach((item, key) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      result.push([key, this.embeddedType.transformToDatabaseFormat(item)]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  transformToObjectFormat(value: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (value instanceof Map) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // usually this shouldn't already be a map but in MockDatabase somehow this can happen
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!Array.isArray(value) || value === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      console.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        'property to be loaded with "map" EntitySchema is not valid',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return value as any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const result = new EventAttendanceMap();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const keyValue of value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const transformedElement = this.embeddedType.transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        keyValue[1],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ) as unknown as EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      result.set(keyValue[0], transformedElement);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/** @deprecated do not use externally, use EventAttendanceMap instead **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EventAttendanceDatatype extends SchemaEmbedDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static override dataType = EventAttendance.DATA_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  override embeddedType = EventAttendance as unknown as EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(schemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/FileDatatype.html b/documentation/injectables/FileDatatype.html new file mode 100644 index 0000000000..46508854ff --- /dev/null +++ b/documentation/injectables/FileDatatype.html @@ -0,0 +1,996 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/file/file.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Datatype for saving a file on an entity property.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The name of the file is saved on the property while the file itself is stored in another database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Usage in code:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @DatabaseProperty({ dataType: "file", label: "My label"}) myFileProperty: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Usage in config:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  "name": "myFileProperty",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  "schema": {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    "dataType": "file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    "label": "My label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + StringDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + anonymize(value: string, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:33 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              parent + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +transformToObjectFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "file" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:27 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "EditFile" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:31 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : $localize`:datatype-label:file attachment` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:28 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "ViewFile" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:30 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { StringDatatype } from "../../core/basic-datatypes/string/string.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchemaField } from "../../core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Datatype for saving a file on an entity property.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The name of the file is saved on the property while the file itself is stored in another database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Usage in code:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * ```javascript
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * @DatabaseProperty({ dataType: "file", label: "My label"}) myFileProperty: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Usage in config:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * ```json
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *   "name": "myFileProperty",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *   "schema": {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *     "dataType": "file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *     "label": "My label"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *   }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class FileDatatype extends StringDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static override dataType = "file";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static override label: string = $localize`:datatype-label:file attachment`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  viewComponent = "ViewFile";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  editComponent = "EditFile";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async anonymize(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    parent: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // accessing the id of the entity property seems difficult here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // file anonymization requires the FileService to actively delete - not supporting partial anonymization for now
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // --> see EntityRemoveService for full anonymization, removing files
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    throw new Error(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      "'retain-anonymized' is not implemented for 'file' datatype",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/FilterGeneratorService.html b/documentation/injectables/FilterGeneratorService.html new file mode 100644 index 0000000000..8128392195 --- /dev/null +++ b/documentation/injectables/FilterGeneratorService.html @@ -0,0 +1,603 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/filter/filter-generator/filter-generator.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(enumService: ConfigurableEnumService, entities: EntityRegistry, entityMapperService: EntityMapperService, filterService: FilterService, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapperService + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                filterService + FilterService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + generate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + generate(filterConfigs: FilterConfig[], entityConstructor: EntityConstructor<T>, data: T[], onlyShowUsedOptions) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                filterConfigs + FilterConfig[] + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityConstructor + EntityConstructor<T> + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                data + T[] + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                onlyShowUsedOptions + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (Optional) whether to remove those filter options for selection that are not present in the data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<Filter[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  Filter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FilterSelectionOption,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  SelectableFilter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  BooleanFilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  DateRangeFilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  PrebuiltFilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfigurableEnumService } from "../../basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FilterService } from "../filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { defaultDateFilters } from "../../basic-datatypes/date/date-range-filter/date-range-filter-panel/date-range-filter-panel.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DateDatatype } from "../../basic-datatypes/date/date.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DateFilter } from "../filters/dateFilter";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BooleanFilter } from "../filters/booleanFilter";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ConfigurableEnumFilter } from "../filters/configurableEnumFilter";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityFilter } from "../filters/entityFilter";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class FilterGeneratorService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param filterConfigs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param entityConstructor
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param onlyShowUsedOptions (Optional) whether to remove those filter options for selection that are not present in the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async generate<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    filterConfigs: FilterConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    entityConstructor: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    data: T[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    onlyShowUsedOptions = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Promise<Filter<T>[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const filters: Filter<T>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const filterConfig of filterConfigs) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const schema = entityConstructor.schema.get(filterConfig.id) || {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      let filter: Filter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const label = filterConfig.label ?? schema.labelShort ?? schema.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const type = filterConfig.type ?? schema.dataType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (type == "configurable-enum") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new ConfigurableEnumFilter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filterConfig.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          this.enumService.getEnumValues(schema.additional),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else if (type == "boolean") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new BooleanFilter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filterConfig.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filterConfig as BooleanFilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else if (type == "prebuilt") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new SelectableFilter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filterConfig.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (filterConfig as PrebuiltFilterConfig<T>).options,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.schemaService.getDatatypeOrDefault(type, true) instanceof
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        DateDatatype
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new DateFilter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filterConfig.id,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (filterConfig as DateRangeFilterConfig).options ?? defaultDateFilters,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // type: entity reference
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.entities.has(filterConfig.type) ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.entities.has(schema.additional)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const entityType = filterConfig.type || schema.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const filterEntities =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          await this.entityMapperService.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new EntityFilter(filterConfig.id, label, filterEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const options = [...new Set(data.map((c) => c[filterConfig.id]))];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const fSO: FilterSelectionOption<T>[] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          SelectableFilter.generateOptions(options, filterConfig.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter = new SelectableFilter<T>(filterConfig.id, fSO, label);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (filterConfig.hasOwnProperty("default")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter.selectedOptionValues = [filterConfig.default];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (filter instanceof SelectableFilter) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (onlyShowUsedOptions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          filter.options = filter.options.filter((option) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            data.some(this.filterService.getFilterPredicate(option.filter)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // Filters should only be added, if they have more than one (the default) option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (filter.options?.length <= 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      filters.push(filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return filters;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/FilterService.html b/documentation/injectables/FilterService.html new file mode 100644 index 0000000000..7f9d9cc08f --- /dev/null +++ b/documentation/injectables/FilterService.html @@ -0,0 +1,710 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/filter/filter.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Utility service to help handling and aligning filters with entities.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(enumService: ConfigurableEnumService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + alignEntityWithFilter + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +alignEntityWithFilter(entity: T, filter: DataFilter<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Patches an entity with values required to pass the filter query. +This patch happens in-place.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + T + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  the entity to be patched

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  filter + DataFilter<T> + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  the filter which the entity should pass afterward

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + combineFilters + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +combineFilters(entityFilters: EntityFilter[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityFilters + EntityFilter<T>[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + getFilterPredicate + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +getFilterPredicate(filter: DataFilter<T>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Builds a predicate for a given filter object. +This predicate can be used to filter arrays of objects.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  const predicate = this.filterService.getFilterPredicate(filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +const filtered = this.data.filter(predicate)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  filter + DataFilter<T> + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  a valid filter object, e.g. as provided by the FilterComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntitySchemaField } from "../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  allInterpreters,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  allParsingInstructions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  compare,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  createFactory,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Filter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@ucast/mongo2js";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigurableEnumService } from "../basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DataFilter, Filter as EntityFilter } from "./filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MongoQuery } from "@casl/ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Utility service to help handling and aligning filters with entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class FilterService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private filterFactory = createFactory(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    allParsingInstructions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    allInterpreters,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    { compare: this.extendedCompare.bind(this) },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) as Filter;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(private enumService: ConfigurableEnumService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  combineFilters<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entityFilters: EntityFilter<T>[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): DataFilter<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (entityFilters.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return {} as DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $and: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ...entityFilters.map((value: EntityFilter<T>): DataFilter<T> => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          return value.getFilter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } as unknown as DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Builds a predicate for a given filter object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * This predicate can be used to filter arrays of objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * ```javascript
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * const predicate = this.filterService.getFilterPredicate(filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * const filtered = this.data.filter(predicate)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param filter a valid filter object, e.g. as provided by the `FilterComponent`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getFilterPredicate<T extends Entity>(filter: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.filterFactory<T>(filter as MongoQuery<T>);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Patches an entity with values required to pass the filter query.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * This patch happens in-place.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param entity the entity to be patched
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param filter the filter which the entity should pass afterward
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  alignEntityWithFilter<T extends Entity>(entity: T, filter: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const schema = entity.getSchema();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    Object.entries(filter ?? {}).forEach(([key, value]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (typeof value !== "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // only simple equality filters are automatically applied to new entities, complex conditions (e.g. $lt / $gt) are ignored)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.assignValueToEntity(key, value, schema, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      } else if (value["$elemMatch"]?.["$eq"]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // e.g. { children: { $elemMatch: { $eq: "Child:some-id" } } }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.assignValueToEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          [value["$elemMatch"]["$eq"]],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private assignValueToEntity<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    key: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    schema: Map<string, EntitySchemaField>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    newEntity: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (key.includes(".")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // TODO only one level deep nesting is supported (also by ucast https://github.com/stalniy/ucast/issues/32)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      [key, value] = this.transformNestedKey(key, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const property = schema.get(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!property) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // not a schema property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (property?.dataType === "configurable-enum") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      value = this.parseConfigurableEnumValue(property, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (property?.dataType.includes("date")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      value = moment(value).toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    newEntity[key] = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private transformNestedKey(key: string, value): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const [first, second] = key.split(".");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return [first, { [second]: value }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private parseConfigurableEnumValue(property: EntitySchemaField, value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const enumValues = this.enumService.getEnumValues(property.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return enumValues.find(({ id }) => id === value["id"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private extendedCompare<T>(a: T, b: T): 1 | -1 | 0 {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (a instanceof Date && typeof b === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return this.compareDates(a, b);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return compare(a, b);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private compareDates(a: Date, b: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const [momentA, momentB] = [moment(a), moment(b)];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (momentA.isSame(momentB, "days")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else if (momentA.isBefore(momentB, "days")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return -1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/FormDialogService.html b/documentation/injectables/FormDialogService.html new file mode 100644 index 0000000000..ae3dd29108 --- /dev/null +++ b/documentation/injectables/FormDialogService.html @@ -0,0 +1,765 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/form-dialog/form-dialog.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(dialog: MatDialog, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + getSchemaFieldsForDetailsView + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + getSchemaFieldsForDetailsView(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + openFormPopup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +openFormPopup(entity: E, columnsOverall?: ColumnConfig[], component: ComponentType) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Open a form in a popup that allows to edit the given entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptionalDefault value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + E + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    columnsOverall + ColumnConfig[] + + Yes + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    component + ComponentType<T> + + No + + RowDetailsComponent as ComponentType<T> +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : MatDialogRef<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + openView + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +openView(entity: E, component: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • E
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    entity + E + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    component + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + dialogSettings + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : MatDialogConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : { + width: "99%", + maxWidth: "980px", + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatDialogConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ComponentType } from "@angular/cdk/overlay";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { RowDetailsComponent } from "./row-details/row-details.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  toFormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaService } from "../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  DialogViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  DialogViewData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../ui/dialog-view/dialog-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class FormDialogService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static dialogSettings: MatDialogConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    width: "99%",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    maxWidth: "980px",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  openView<E extends Entity>(entity: E, component: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.dialog.open(DialogViewComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      width: "99%",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      maxWidth: "95vw",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      maxHeight: "90vh",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      // EntityDetails with its multiple tabs needs an explicit height to not change size between tabs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      height: component === "EntityDetails" ? "90vh" : undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        component: component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      } as DialogViewData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Open a form in a popup that allows to edit the given entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param columnsOverall
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  openFormPopup<E extends Entity, T = RowDetailsComponent>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: E,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    columnsOverall?: ColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    component: ComponentType<T> = RowDetailsComponent as ComponentType<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): MatDialogRef<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!columnsOverall) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      columnsOverall = FormDialogService.getSchemaFieldsForDetailsView(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const columns: FormFieldConfig[] = this.inferFormFieldColumns(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      columnsOverall,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ).filter((col) => !col.hideFromForm);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const columnsToDisplay = columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .filter((col) => col.editComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .map((col) => Object.assign({}, col, { forTable: false }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.dialog.open(component, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ...FormDialogService.dialogSettings,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        columns: columnsToDisplay,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        viewOnlyColumns: columns.filter((col) => !col.editComponent),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private inferFormFieldColumns(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    columnsOverall: ColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    entity: Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const columns = columnsOverall.map(toFormFieldConfig);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const c of columns) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (!c.editComponent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        c.editComponent = this.schemaService.getComponent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          entity.getSchema().get(c.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          "edit",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return columns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static getSchemaFieldsForDetailsView(entity: Entity): FormFieldConfig[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let formFields: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let isUsingShowFlag = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    for (const [key, field] of entity.getSchema()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (field.showInDetailsView) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        formFields.push(key);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (field.showInDetailsView !== undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        isUsingShowFlag = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!isUsingShowFlag) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const excludedFields = Array.from(Entity.schema.keys());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      formFields = Array.from(entity.getSchema().keys()).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (k: string) => !excludedFields.includes(k),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return formFields.map((k: string) => ({ id: k }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/GeoService.html b/documentation/injectables/GeoService.html new file mode 100644 index 0000000000..e29058d2a0 --- /dev/null +++ b/documentation/injectables/GeoService.html @@ -0,0 +1,603 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/location/geo.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A service that uses nominatim to lookup locations https://nominatim.org/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(http: HttpClient, analytics: AnalyticsService, configService: ConfigService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      analytics + AnalyticsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + lookup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +lookup(searchTerm: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Returns locations that match the search term

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      searchTerm + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      e.g. Rollbergstraße Berlin

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Observable<GeoResult[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + reverseLookup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +reverseLookup(coordinates: Coordinates) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Returns the location at the provided coordinates

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      coordinates + Coordinates + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      of a place (lat and lon)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Observable<GeoResult> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Coordinates } from "./coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigService } from "../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AnalyticsService } from "../../core/analytics/analytics.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MAP_CONFIG_KEY, MapConfig } from "./map-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface GeoResult extends Coordinates {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  display_name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A service that uses nominatim to lookup locations {@link https://nominatim.org/}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class GeoService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private readonly remoteUrl = "/nominatim";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private countrycodes = "de";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private defaultOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    format: "json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    addressdetails: 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    email: environment.email,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private analytics: AnalyticsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    configService.configUpdates.subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const config = configService.getConfig<MapConfig>(MAP_CONFIG_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (config?.countrycodes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.countrycodes = config.countrycodes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Returns locations that match the search term
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param searchTerm e.g. `Rollbergstraße Berlin`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  lookup(searchTerm: string): Observable<GeoResult[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.analytics.eventTrack("lookup_executed", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      category: "Map",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      value: searchTerm.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get<OpenStreetMapsSearchResult[]>(`${this.remoteUrl}/search`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.defaultOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          q: searchTerm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          countrycodes: this.countrycodes,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        map((results) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          Array.isArray(results)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            ? results.map((x) => this.reformatDisplayName(x))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            : [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private reformatDisplayName(result: OpenStreetMapsSearchResult): GeoResult {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const addr = result?.address;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (addr) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const city = addr.city ?? addr.town;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      result.display_name = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        addr.amenity ?? addr.office,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        addr.road ? addr.road + " " + addr.house_number : undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        addr.postcode ? addr.postcode + " " + city : city,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .filter((x) => !!x)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Returns the location at the provided coordinates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param coordinates of a place (`lat` and `lon`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  reverseLookup(coordinates: Coordinates): Observable<GeoResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.analytics.eventTrack("reverse_lookup_executed", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      category: "Map",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get<OpenStreetMapsSearchResult>(`${this.remoteUrl}/reverse`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.defaultOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          lat: coordinates.lat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          lon: coordinates.lon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .pipe(map((result) => this.reformatDisplayName(result)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +type OpenStreetMapsSearchResult = GeoResult & {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  address: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    amenity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    office?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    house_number?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    road?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    neighbourhood?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    suburb?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    borough?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    city?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    town?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    postcode?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    country?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    country_code?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/HandleDefaultValuesUseCase.html b/documentation/injectables/HandleDefaultValuesUseCase.html new file mode 100644 index 0000000000..ab15c8189d --- /dev/null +++ b/documentation/injectables/HandleDefaultValuesUseCase.html @@ -0,0 +1,621 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity/default-field-value/handle-default-values.usecase.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        When edit an Entity, apply this business logic for DefaultValueConfig

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(entityMapper: EntityMapperService, currentUser: CurrentUserSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + handleFormGroup + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +handleFormGroup(formGroup: FormGroup, fieldConfigs: [], isNew: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        formGroup + FormGroup + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        fieldConfigs + [] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        isNew + boolean + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AbstractControl, FormGroup } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaField, PLACEHOLDERS } from "../schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DefaultValueConfig } from "../schema/default-value-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { CurrentUserSubject } from "../../session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * When edit an Entity, apply this business logic for DefaultValueConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class HandleDefaultValuesUseCase {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  handleFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formGroup: FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldConfigs: [string, EntitySchemaField][],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isNew: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldConfigs.forEach(([fieldName, fieldSchema]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      let defaultValueConfig = fieldSchema.defaultValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      switch (defaultValueConfig.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        case "inherited":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return this.handleInheritedMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            defaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldSchema.isArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        case "static":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return this.handleStaticMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            defaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldSchema.isArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        case "dynamic":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return this.handleDynamicMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            formGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldName,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            defaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            isNew,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            fieldSchema.isArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private handleInheritedMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formGroup: FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    defaultValueConfig: DefaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isNew: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isArray: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let sourceFormControl: AbstractControl<any, any> | null = formGroup.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      defaultValueConfig.localAttribute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let targetFormControl: AbstractControl<any, any> | null =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      formGroup.get(fieldName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!sourceFormControl || !targetFormControl) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    sourceFormControl.valueChanges.subscribe(async (change) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (formGroup.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (targetFormControl.dirty && !!targetFormControl.value && isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (!isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (!change || "") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        targetFormControl.setValue(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // source field is array, use first element if only one element
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (Array.isArray(change)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (change.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          change = change[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      let parentEntity: Entity = await this.entityMapper.load(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Entity.extractTypeFromId(change),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        change,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (!parentEntity || !parentEntity[defaultValueConfig.field]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        targetFormControl.setValue([...parentEntity[defaultValueConfig.field]]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        targetFormControl.setValue(parentEntity[defaultValueConfig.field]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      targetFormControl.markAsUntouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      targetFormControl.markAsPristine();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private handleStaticMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formGroup: FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    defaultValueConfig: DefaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isNew: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isArray: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let targetFormControl = formGroup.get(fieldName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.preConditionsFulfilled(isNew, targetFormControl, isArray)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      targetFormControl.setValue([defaultValueConfig.value]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      targetFormControl.setValue(defaultValueConfig.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private handleDynamicMode(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formGroup: FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    defaultValueConfig: DefaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isNew: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isArray: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let targetFormControl = formGroup.get(fieldName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.preConditionsFulfilled(isNew, targetFormControl, isArray)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    switch (defaultValueConfig.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      case PLACEHOLDERS.NOW:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        let now = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          targetFormControl.setValue([now]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          targetFormControl.setValue(now);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      case PLACEHOLDERS.CURRENT_USER:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        let userId = this.currentUser.value?.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (!userId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        if (isArray) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          targetFormControl.setValue([userId]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          targetFormControl.setValue(userId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          "Unknown PLACEHOLDERS value used in fieldValueConfig: " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            defaultValueConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private preConditionsFulfilled(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isNew: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    formControl: AbstractControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    isArray: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!formControl) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!isArray && !!formControl.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (isArray && formControl.value && formControl.value.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/HistoricalDataService.html b/documentation/injectables/HistoricalDataService.html new file mode 100644 index 0000000000..d18b27cbef --- /dev/null +++ b/documentation/injectables/HistoricalDataService.html @@ -0,0 +1,408 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/historical-data/historical-data.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(dbIndexingService: DatabaseIndexingService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dbIndexingService + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + getHistoricalDataFor + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +getHistoricalDataFor(entityId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          entityId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<HistoricalEntityData[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HistoricalEntityData } from "./model/historical-entity-data";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DatabaseIndexingService } from "../../core/entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class HistoricalDataService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private dbIndexingService: DatabaseIndexingService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.createHistoricalDataIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private createHistoricalDataIndex(): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      _id: "_design/historicalData_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        by_entity: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          map: `(doc) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            if (doc._id.startsWith("${HistoricalEntityData.ENTITY_TYPE}")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +              emit([doc.relatedEntity, new Date(doc.date).getTime()]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          }`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.dbIndexingService.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getHistoricalDataFor(entityId: string): Promise<HistoricalEntityData[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.dbIndexingService.queryIndexDocs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      HistoricalEntityData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      "historicalData_index/by_entity",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        startkey: [entityId, "\uffff"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        endkey: [entityId],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        descending: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/HorizontalHammerConfig.html b/documentation/injectables/HorizontalHammerConfig.html new file mode 100644 index 0000000000..24dca2bb11 --- /dev/null +++ b/documentation/injectables/HorizontalHammerConfig.html @@ -0,0 +1,572 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/child-dev-project/attendance/add-day-attendance/roll-call/roll-call.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + HammerGestureConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + overrides + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : object + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : { + swipe: { direction: Hammer.DIRECTION_HORIZONTAL }, + pinch: { enable: false }, + rotate: { enable: false }, + } +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Injectable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { animate, style, transition, trigger } from "@angular/animations";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  AttendanceStatusType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../../model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Note } from "../../../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EventAttendance } from "../../model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Logging } from "../../../../core/logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { sortByAttribute } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgClass, NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ChildBlockComponent } from "../../../children/child-block/child-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { RollCallTabComponent } from "./roll-call-tab/roll-call-tab.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  HAMMER_GESTURE_CONFIG,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  HammerGestureConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  HammerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import Hammer from "hammerjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ConfigurableEnumService } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ConfirmationDialogService } from "../../../../core/common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +// Only allow horizontal swiping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +class HorizontalHammerConfig extends HammerGestureConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  overrides = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    swipe: { direction: Hammer.DIRECTION_HORIZONTAL },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    pinch: { enable: false },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    rotate: { enable: false },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Displays the participants of the given event one by one to mark attendance status.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-roll-call",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./roll-call.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./roll-call.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  animations: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    trigger("completeRollCall", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      transition("void => *", [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        style({ backgroundColor: "transparent" }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        animate(1000),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ChildBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgClass,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    RollCallTabComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    HammerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providers: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      provide: HAMMER_GESTURE_CONFIG,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      useClass: HorizontalHammerConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class RollCallComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The event to be displayed and edited.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() eventEntity: Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * (optional) property name of the participant entities by which they are sorted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() sortParticipantsBy?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Emitted when the roll call is finished and results can be saved.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() complete = new EventEmitter<Note>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Emitted when the user wants to dismiss & leave the roll call view.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() exit = new EventEmitter();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The index, child and attendance that is currently being processed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  currentIndex = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  currentChild: Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  currentAttendance: EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * whether any changes have been made to the model
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  isDirty: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** options available for selecting an attendance status */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  availableStatus: AttendanceStatusType[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  children: Child[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  inactiveParticipants: Child[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private confirmationDialog: ConfirmationDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async ngOnChanges(changes: SimpleChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (changes.eventEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.loadAttendanceStatusTypes();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      await this.loadParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.setInitialIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (changes.sortParticipantsBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.sortParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Set the index of the first child that expects user input.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This is the first entry of the list, if the user has never recorded attendance
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * for this event. Else it is the first child without any attendance information
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * (i.e. got skipped or the user left at this child)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setInitialIndex() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let index = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const entry of this.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!this.eventEntity.getAttendance(entry.getId())?.status?.id) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      index += 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // do not jump to end - if all participants are recorded, start with first instead
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (index >= this.children.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      index = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.goToParticipantWithIndex(index);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private loadAttendanceStatusTypes() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.availableStatus = this.enumService.getEnumValues<AttendanceStatusType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ATTENDANCE_STATUS_CONFIG_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private async loadParticipants() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.children = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.inactiveParticipants = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const childId of this.eventEntity.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      let child: Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        child = await this.entityMapper.load(Child, childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          "Could not find child " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            childId +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            " for event " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            this.eventEntity.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.eventEntity.removeChild(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (child.isActive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.children.push(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.inactiveParticipants.push(child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sortParticipants();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private sortParticipants() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!this.sortParticipantsBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.children.sort(sortByAttribute<any>(this.sortParticipantsBy, "asc"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // also sort the participants in the Note entity itself for display in details view later
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.eventEntity.children = this.children.map((e) => e.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  markAttendance(status: AttendanceStatusType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.currentAttendance.status = status;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.isDirty = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.goToNext();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  goToParticipantWithIndex(newIndex: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.currentIndex = newIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.isFinished) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.complete.emit(this.eventEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.currentChild = this.children[this.currentIndex];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.currentAttendance = this.eventEntity.getAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.currentChild.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  goToPrevious() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.currentIndex - 1 >= 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.goToParticipantWithIndex(this.currentIndex - 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  goToNext() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.currentIndex + 1 <= this.children.length) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.goToParticipantWithIndex(this.currentIndex + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  goToFirst() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.goToParticipantWithIndex(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  goToLast() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // jump directly to completed state, i.e. beyond last participant index
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.goToParticipantWithIndex(this.children.length);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get isFirst(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.currentIndex === 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get isLast(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.currentIndex === this.children.length - 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get isFinished(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.currentIndex >= this.children.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  finish() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.exit.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showDetails() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.formDialog.openView(this.eventEntity, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async includeInactive() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const confirmation = await this.confirmationDialog.getConfirmation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      $localize`Also include archived participants?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      $localize`This event has some participants who are "archived". We automatically remove them from the attendance list for you. Do you want to also include archived participants for this event?`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (confirmation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.children = [...this.children, ...this.inactiveParticipants];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.inactiveParticipants = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ImportColumnMappingService.html b/documentation/injectables/ImportColumnMappingService.html new file mode 100644 index 0000000000..6e2a64d1d2 --- /dev/null +++ b/documentation/injectables/ImportColumnMappingService.html @@ -0,0 +1,396 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/import/import-column-mapping/import-column-mapping.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Infer most likely entity fields that the column from an imported file could be mapped to. +This is used by the Import Module to give users smart pre-selections in the user interface.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + automaticallySelectMappings + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +automaticallySelectMappings(columnMapping: ColumnMapping[], entitySchema: EntitySchema) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              columnMapping + ColumnMapping[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entitySchema + EntitySchema + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ColumnMapping } from "../column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchema } from "app/core/entity/schema/entity-schema";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Infer most likely entity fields that the column from an imported file could be mapped to.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This is used by the Import Module to give users smart pre-selections in the user interface.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ImportColumnMappingService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor() {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  automaticallySelectMappings(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    columnMapping: ColumnMapping[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entitySchema: EntitySchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const allPropertyNames = Array.from(entitySchema.keys());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const colMap of columnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const lowerCaseColumn = colMap.column.toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (const propertyName of allPropertyNames) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const propertyLabel = entitySchema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .get(propertyName)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          ?.label?.toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          lowerCaseColumn === propertyName.toLowerCase() ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          (propertyLabel && lowerCaseColumn === propertyLabel)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          colMap.propertyName = propertyName;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ImportService.html b/documentation/injectables/ImportService.html new file mode 100644 index 0000000000..ded9d650b4 --- /dev/null +++ b/documentation/injectables/ImportService.html @@ -0,0 +1,848 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/import/import.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Supporting import of data from spreadsheets.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(entityMapper: EntityMapperService, entityTypes: EntityRegistry, schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityTypes + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + executeImport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + executeImport(entitiesToImport: Entity[], settings: ImportSettings) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entitiesToImport + Entity[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                settings + ImportSettings + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<ImportMetadata> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + getLinkableEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +getLinkableEntities(entityType: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityType + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + transformRawDataToEntities + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + transformRawDataToEntities(rawData: any[], entityType: string, columnMapping: ColumnMapping[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Use the given mapping to transform raw data into Entity instances that can be displayed or saved.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                rawData + any[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                entityType + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                columnMapping + ColumnMapping[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + undoImport + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +undoImport(item: ImportMetadata) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                item + ImportMetadata + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Child } from "../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { RecurringActivity } from "../../child-dev-project/attendance/model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { School } from "../../child-dev-project/schools/model/school";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ImportMetadata, ImportSettings } from "./import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ColumnMapping } from "./column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityRegistry } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntitySchemaService } from "../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ChildSchoolRelation } from "../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Supporting import of data from spreadsheets.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class ImportService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private linkableEntities: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [key: string]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      [key: string]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        create: (entities: Entity[], id: string) => Promise<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        undo: (importMeta: ImportMetadata, id: string) => Promise<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  } = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    [Child.ENTITY_TYPE]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      [RecurringActivity.ENTITY_TYPE]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        create: this.linkToActivity.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        undo: this.undoActivityLink.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      [School.ENTITY_TYPE]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        create: this.linkToSchool.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        undo: this.undoSchoolLink.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityTypes: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  getLinkableEntities(entityType: string): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Object.keys(this.linkableEntities[entityType] ?? {});
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async executeImport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    entitiesToImport: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    settings: ImportSettings,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Promise<ImportMetadata> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.entityMapper.saveAll(entitiesToImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.linkEntities(entitiesToImport, settings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.saveImportHistory(entitiesToImport, settings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async saveImportHistory(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    savedEntities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    settings: ImportSettings,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const importMeta = new ImportMetadata();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    importMeta.config = settings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    importMeta.ids = savedEntities.map((entity) => entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    await this.entityMapper.save(importMeta);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return importMeta;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private linkEntities(entities: Entity[], settings: ImportSettings) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Promise.all(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      settings.additionalActions?.map(({ type, id }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.linkableEntities[settings.entityType][type].create(entities, id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ) ?? [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private linkToSchool(entities: Entity[], id: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const relations = entities.map((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const relation = new ChildSchoolRelation();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      relation.childId = entity.getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      relation.schoolId = id;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return relation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.entityMapper.saveAll(relations);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async undoSchoolLink(importMeta: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const relations = await this.entityMapper.loadType(ChildSchoolRelation);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const imported = relations.filter((rel) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      importMeta.ids.includes(Entity.createPrefixedId("Child", rel.childId)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Promise.all(imported.map((rel) => this.entityMapper.remove(rel)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async linkToActivity(entities: Entity[], id: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const activity = await this.entityMapper.load(RecurringActivity, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const ids = entities.map((e) => e.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    activity.participants.push(...ids);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.entityMapper.save(activity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async undoActivityLink(importMeta: ImportMetadata, id: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const activity = await this.entityMapper.load(RecurringActivity, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    activity.participants = activity.participants.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (p) => !importMeta.ids.includes(Entity.createPrefixedId("Child", p)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.entityMapper.save(activity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  undoImport(item: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const removes = item.ids.map((id) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .load(item.config.entityType, id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .then((e) => this.entityMapper.remove(e))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        .catch(() => undefined),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const undoes =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      item.config.additionalActions?.map(({ type, id }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.linkableEntities[item.config.entityType][type].undo(item, id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      ) ?? [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    // Or should the ImportMetadata still be kept indicating that it has been undone?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Promise.all([...removes, ...undoes, this.entityMapper.remove(item)]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Use the given mapping to transform raw data into Entity instances that can be displayed or saved.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param rawData
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param columnMapping
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async transformRawDataToEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    rawData: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    columnMapping: ColumnMapping[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Promise<Entity[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!rawData || !entityType || !columnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const entityConstructor = this.entityTypes.get(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const mappedEntities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const row of rawData) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const entity = new entityConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      let hasMappedProperty = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      for (const col in row) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const mapping: ColumnMapping = columnMapping.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          (c) => c.column === col,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (!mapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        const parsed = await this.parseRow(row[col], mapping, entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (parsed === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          continue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        // ignoring falsy values except 0 (=> null, undefined, empty string)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (!!parsed || parsed === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          // enforcing array values to be correctly assigned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          entity[mapping.propertyName] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            entityConstructor.schema.get(mapping.propertyName)?.isArray &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            !Array.isArray(parsed)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +              ? [parsed]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +              : parsed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          hasMappedProperty = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (hasMappedProperty) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        mappedEntities.push(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return mappedEntities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private parseRow(val: any, mapping: ColumnMapping, entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (val === undefined || val === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const schema = entity.getSchema().get(mapping.propertyName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (!schema) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.schemaService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .getDatatypeOrDefault(schema.dataType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .importMapFunction(val, schema, mapping.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/KeycloakAuthService.html b/documentation/injectables/KeycloakAuthService.html new file mode 100644 index 0000000000..4bdd0cac89 --- /dev/null +++ b/documentation/injectables/KeycloakAuthService.html @@ -0,0 +1,1291 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/session/auth/keycloak/keycloak-auth.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Handles the remote session with keycloak

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(httpClient: HttpClient, keycloak: KeycloakService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  httpClient + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  keycloak + KeycloakService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + addAuthHeader + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +addAuthHeader(headers: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Add the Bearer auth header to a existing header object.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  headers + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + changePassword + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +changePassword() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Open password reset page in browser. +Only works with internet connection.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + createUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +createUser(user: Partial<KeycloakUser>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  user + Partial<KeycloakUser> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + getRoles + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +getRoles() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Get a list of all roles generally available in the user management system.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<Role[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + getUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +getUser(username: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  username + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<KeycloakUser> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + getUserinfo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + getUserinfo() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<KeycloakUser> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + login + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + login() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Check for an existing session or forward to the login page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<SessionInfo> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Async + logout + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + logout() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Forward to the keycloak logout endpoint to clear the session.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + logSuccessfulAuth + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +logSuccessfulAuth() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Log timestamp of last successful authentication

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + setEmail + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +setEmail(email: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  email + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + updateUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +updateUser(userId: string, user: Partial<KeycloakUser>) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  userId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  user + Partial<KeycloakUser> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + accessToken + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + ACCOUNT_MANAGER_ROLE + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "account_manager" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Users with this role can create and update other accounts.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + LAST_AUTH_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "LAST_REMOTE_LOGIN" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { environment } from "../../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionInfo } from "../session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { KeycloakEventType, KeycloakService } from "keycloak-angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { User } from "../../../user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ParsedJWT, parseJwt } from "../../../../session/session-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RemoteLoginNotAvailableError } from "./remote-login-not-available.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Handles the remote session with keycloak
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class KeycloakAuthService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Users with this role can create and update other accounts.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly ACCOUNT_MANAGER_ROLE = "account_manager";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly LAST_AUTH_KEY = "LAST_REMOTE_LOGIN";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  accessToken: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private httpClient: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private keycloak: KeycloakService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Check for an existing session or forward to the login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async login(): Promise<SessionInfo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.keycloakInitialised) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.initKeycloak();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    await this.keycloak.updateToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // Forward to the keycloak login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.keycloak.login({ redirectUri: location.href });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.processToken(token);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async initKeycloak() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.keycloak.init({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        config: window.location.origin + "/assets/keycloak.json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        initOptions: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          onLoad: "check-sso",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          silentCheckSsoRedirectUri:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +            window.location.origin + "/assets/silent-check-sso.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // GitHub API rejects if non GitHub bearer token is present
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        shouldAddToken: ({ url }) => !url.includes("api.github.com"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        err?.error ===
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        "Timeout when waiting for 3rd party check iframe message."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // this is actually an expected scenario, user's internet is slow or not available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        err = new RemoteLoginNotAvailableError();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Logging.error("Keycloak init failed", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // auto-refresh expiring tokens, as suggested by https://github.com/mauriciovigolo/keycloak-angular?tab=readme-ov-file#keycloak-js-events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.keycloak.keycloakEvents$.subscribe((event) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (event.type == KeycloakEventType.OnTokenExpired) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.login().catch((err) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Logging.debug("automatic token refresh failed", err),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.keycloakInitialised = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private processToken(token: string): SessionInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      throw new Error("No token received from Keycloak");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.accessToken = token;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.logSuccessfulAuth();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const parsedToken: ParsedJWT = parseJwt(this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const sessionInfo: SessionInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      name: parsedToken.username ?? parsedToken.sub,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      roles: parsedToken["_couchdb.roles"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (parsedToken.username) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      sessionInfo.entityId = parsedToken.username.includes(":")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ? parsedToken.username
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        : Entity.createPrefixedId(User.ENTITY_TYPE, parsedToken.username);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        `User not linked with an entity (userId: ${sessionInfo.name})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (parsedToken.email) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      sessionInfo.email = parsedToken.email;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return sessionInfo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Add the Bearer auth header to a existing header object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param headers
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  addAuthHeader(headers: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.accessToken) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (headers.set && typeof headers.set === "function") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // PouchDB headers are set as a map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        headers.set("Authorization", "Bearer " + this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        // Interceptor headers are set as a simple object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        headers["Authorization"] = "Bearer " + this.accessToken;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Forward to the keycloak logout endpoint to clear the session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async logout() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return await this.keycloak.logout(location.href);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Open password reset page in browser.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Only works with internet connection.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  changePassword(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.keycloak.login({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      action: "UPDATE_PASSWORD",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      redirectUri: location.href,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async getUserinfo(): Promise<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const user = await this.keycloak.getKeycloakInstance().loadUserInfo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return user as KeycloakUser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  setEmail(email: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.httpClient.put(`${environment.account_url}/account/set-email`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      email,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  createUser(user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.httpClient.post(`${environment.account_url}/account`, user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  updateUser(userId: string, user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.httpClient.put(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      `${environment.account_url}/account/${userId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      user,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getUser(username: string): Observable<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.httpClient.get<KeycloakUser>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      `${environment.account_url}/account/${username}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Get a list of all roles generally available in the user management system.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getRoles(): Observable<Role[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.httpClient.get<Role[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      `${environment.account_url}/account/roles`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Log timestamp of last successful authentication
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  logSuccessfulAuth() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      KeycloakAuthService.LAST_AUTH_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      new Date().toISOString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Extract of Keycloak role object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_rolerepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface Role {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  description: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Extract of Keycloak user object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_userrepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface KeycloakUser {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  username: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  email: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  roles: Role[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  enabled: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LanguageService.html b/documentation/injectables/LanguageService.html new file mode 100644 index 0000000000..69b0ed5509 --- /dev/null +++ b/documentation/injectables/LanguageService.html @@ -0,0 +1,461 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/language/language.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Service that provides the currently active locale and applies a newly selected one.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(baseLocale: string, window: Window, siteSettings: SiteSettingsService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    baseLocale + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    window + Window + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    siteSettings + SiteSettingsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + currentRegionCode + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +currentRegionCode() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    returns the region code of the locale currently used +Extracts the region code (i.e. 'de', 'us', 'in') in lowercase letters +from a locale (i.e. 'en-US', 'hi-IN')

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + initDefaultLanguage + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +initDefaultLanguage() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Inject, Injectable, LOCALE_ID } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { LANGUAGE_LOCAL_STORAGE_KEY } from "./language-statics";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { WINDOW_TOKEN } from "../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SiteSettingsService } from "../site-settings/site-settings.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Service that provides the currently active locale and applies a newly selected one.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class LanguageService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @Inject(LOCALE_ID) private baseLocale: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @Inject(WINDOW_TOKEN) private window: Window,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private siteSettings: SiteSettingsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  initDefaultLanguage(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const languageSelected = this.window.localStorage.getItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      LANGUAGE_LOCAL_STORAGE_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!languageSelected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.siteSettings.defaultLanguage.subscribe(({ id }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (id !== this.baseLocale) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          // Reload app with default language from config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.window.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * returns the region code of the locale currently used
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Extracts the region code (i.e. 'de', 'us', 'in') in lowercase letters
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * from a locale (i.e. 'en-US', 'hi-IN')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  currentRegionCode(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const components = this.baseLocale.split("-");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (components.length >= 2) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return components[1].toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return components[0].toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LatestChangesDialogService.html b/documentation/injectables/LatestChangesDialogService.html new file mode 100644 index 0000000000..abac7f2cc9 --- /dev/null +++ b/documentation/injectables/LatestChangesDialogService.html @@ -0,0 +1,602 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/ui/latest-changes/latest-changes-dialog.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Manage the changelog information and display it to the user +on request or automatically on the first visit of a new version after update.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(dialog: MatDialog, latestChangesService: LatestChangesService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      dialog + MatDialog + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      latestChangesService + LatestChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + getCurrentVersion + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +getCurrentVersion() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Get current app version inferred from the latest changelog entry.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + showLatestChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + showLatestChanges(previousVersion?: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Open a modal window displaying the changelog of the latest version.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      previousVersion + string + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (Optional) previous version back to which all changes should be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Public + showLatestChangesIfUpdated + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + showLatestChangesIfUpdated() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Display the latest changes info box automatically if the current user has not seen this version before.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + Readonly + VERSION_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : "AppVersion" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ChangelogComponent } from "./changelog/changelog.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { LatestChangesService } from "./latest-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Manage the changelog information and display it to the user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * on request or automatically on the first visit of a new version after update.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class LatestChangesDialogService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public static readonly VERSION_KEY = "AppVersion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private latestChangesService: LatestChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Get current app version inferred from the latest changelog entry.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  getCurrentVersion(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return environment.appVersion;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Open a modal window displaying the changelog of the latest version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param previousVersion (Optional) previous version back to which all changes should be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public showLatestChanges(previousVersion?: string): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .open(ChangelogComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        width: "80%",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        data: this.latestChangesService.getChangelogsBetweenVersions(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          this.getCurrentVersion(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          previousVersion,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .subscribe(() => this.updateCurrentVersion());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private updateCurrentVersion() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    window.localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.getCurrentVersion(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Display the latest changes info box automatically if the current user has not seen this version before.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public showLatestChangesIfUpdated() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const previousVersion = window.localStorage.getItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (previousVersion && this.getCurrentVersion() !== previousVersion) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.showLatestChanges(previousVersion);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LatestChangesService.html b/documentation/injectables/LatestChangesService.html new file mode 100644 index 0000000000..b1077240cb --- /dev/null +++ b/documentation/injectables/LatestChangesService.html @@ -0,0 +1,647 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/ui/latest-changes/latest-changes.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Manage the changelog information and display it to the user +on request or automatically on the first visit of a new version after update.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(http: HttpClient, alertService: AlertService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + getChangelogsBeforeVersion + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +getChangelogsBeforeVersion(version: string, count: number) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Load the changelog information of a number of releases before (excluding) the given version.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        version + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The version for which preceding releases should be returned.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        count + number + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The number of releases before the given version to be returned

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Observable<Changelog[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + getChangelogsBetweenVersions + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +getChangelogsBetweenVersions(currentVersion: string, previousVersion?: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Load the changelog information of changes since the last update.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        currentVersion + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The current version for which changes are to be loaded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        previousVersion + string + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (Optional) The older version since which changes of all versions until the currentVersion will be loaded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Observable<Changelog[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { catchError, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Observable, throwError } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Changelog } from "./changelog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Manage the changelog information and display it to the user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * on request or automatically on the first visit of a new version after update.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class LatestChangesService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private static GITHUB_API = "https://api.github.com/repos/";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Load the changelog information of changes since the last update.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param currentVersion The current version for which changes are to be loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param previousVersion (Optional) The older version since which changes of all versions until the currentVersion will be loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getChangelogsBetweenVersions(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    currentVersion: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    previousVersion?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Observable<Changelog[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.getChangelogs((releases) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.filterReleasesBetween(releases, currentVersion, previousVersion),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private filterReleasesBetween(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    releases: Changelog[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    currentVersion: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    previousVersion?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const releasesUpToCurrentVersion = releases.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      (r) => this.compareVersion(r.tag_name, currentVersion) <= 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (releasesUpToCurrentVersion.length < 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (previousVersion) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return releasesUpToCurrentVersion
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .filter((r) => this.compareVersion(r.tag_name, previousVersion) > 0)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .sort((a, b) => this.compareVersion(b.tag_name, a.tag_name));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return [releasesUpToCurrentVersion[0]];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Load the changelog information of a number of releases before (excluding) the given version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param version The version for which preceding releases should be returned.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param count The number of releases before the given version to be returned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getChangelogsBeforeVersion(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    version: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    count: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Observable<Changelog[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.getChangelogs((releases: Changelog[]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.filterReleasesBefore(releases, version, count),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private filterReleasesBefore(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    releases: Changelog[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    version: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    count: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return releases
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .filter((r) => (version ? r.tag_name < version : true))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .sort((a, b) => this.compareVersion(b.tag_name, a.tag_name))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .slice(0, count);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private compareVersion(a: string, b: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return a.localeCompare(b, "en", { numeric: true });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Load release information from GitHub based on a given filter to select relevant releases.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param releaseFilter Filter function that is selecting relevant objects from the array of GitHub releases
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getChangelogs(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    releaseFilter: (releases: Changelog[]) => Changelog[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Observable<Changelog[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .get<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Changelog[]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      >(`${LatestChangesService.GITHUB_API}${environment.repositoryId}/releases`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        map(excludePrereleases),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        map(releaseFilter),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        map((relevantReleases) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          relevantReleases.map((r) => this.parseGithubApiRelease(r)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        catchError((error) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.alertService.addWarning(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            $localize`Could not load latest changes: ${error}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          return throwError(() => new Error("Could not load latest changes."));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    function excludePrereleases(releases: Changelog[]): Changelog[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return releases.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        (release) => !release.prerelease && !release.draft,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private parseGithubApiRelease(githubResponse: Changelog): Changelog {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const cleanedReleaseNotes = githubResponse.body
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .replace(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // remove heading
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        /#{1,2}[^###]*/,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .replace(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // remove commit refs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        / \(\[\w{7}\]\([^\)]*\)\)/g,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .replace(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // remove lines starting with "." after markdown characters
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        /^(\*|\#)* *\.(.*)(\n|\r\n)/gm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      tag_name: githubResponse.tag_name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      name: githubResponse.name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      published_at: githubResponse.published_at,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      body: cleanedReleaseNotes,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LocalAuthService.html b/documentation/injectables/LocalAuthService.html new file mode 100644 index 0000000000..c9f042be18 --- /dev/null +++ b/documentation/injectables/LocalAuthService.html @@ -0,0 +1,408 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/session/auth/local/local-auth.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Manages the offline login.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + getStoredUsers + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +getStoredUsers() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Get a list of users stored in the local storage.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : SessionInfo[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + saveUser + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +saveUser(user: SessionInfo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Saves a user to the local storage

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          user + SessionInfo + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          a object holding the username and the roles of the user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { SessionInfo } from "../session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Manages the offline login.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class LocalAuthService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly STORED_USER_PREFIX = "USER-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Get a list of users stored in the local storage.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getStoredUsers(): SessionInfo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return Object.entries(localStorage)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .filter(([key]) => key.startsWith(this.STORED_USER_PREFIX))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .map(([_, user]) => JSON.parse(user));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Saves a user to the local storage
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param user a object holding the username and the roles of the user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  saveUser(user: SessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.STORED_USER_PREFIX + user.name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      JSON.stringify(user),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LocationDatatype.html b/documentation/injectables/LocationDatatype.html new file mode 100644 index 0000000000..38943e2b0f --- /dev/null +++ b/documentation/injectables/LocationDatatype.html @@ -0,0 +1,1058 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/location/location.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + DefaultDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(geoService: GeoService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            geoService + GeoService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + importMapFunction(val: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:46 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<GeoLocation> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToObjectFormat(value: GeoLocation) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:29 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + GeoLocation + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : GeoLocation + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToDatabaseFormat(value: EntityType, schemaField?: EntitySchemaField, parent?: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:72 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Transformation function taking a value in the format that is used in entity instances and returning the value +in the format used in database objects.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 This can be set as a parameter to the `@DatabaseField()` annotation in Entity classes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The value (in Entity format) to be transformed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The EntitySchemaField configuration providing details of how the value should be transformed. +This can be set as a parameter to the @DatabaseField() annotation in Entity classes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            parent + Entity + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The full entity instance this value is part of (e.g. to allow cross-related transformations)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : DBType + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "location" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:19 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "EditLocation" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:22 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : $localize`:datatype-label:location (address + map)` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "ViewLocation" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:23 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { DefaultDatatype } from "../../core/entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { GeoResult, GeoService } from "./geo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { lastValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A location both as custom string and an optional geo location lookup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface GeoLocation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  locationString?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  geoLookup?: GeoResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class LocationDatatype extends DefaultDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  GeoLocation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  GeoLocation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static override dataType = "location";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static override label: string = $localize`:datatype-label:location (address + map)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  editComponent = "EditLocation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  viewComponent = "ViewLocation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private geoService: GeoService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  transformToObjectFormat(value: GeoLocation): GeoLocation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (typeof value !== "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // until we have an extended location datatype that includes a custom address addition field, discard invalid values (e.g. in case datatype was changed)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!value.hasOwnProperty("locationString")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // migrate from legacy format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        locationString: value["display_name"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        geoLookup: value as unknown as GeoResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async importMapFunction(val: any): Promise<GeoLocation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!val) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const geoResults = await lastValueFrom(this.geoService.lookup(val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return { locationString: val, geoLookup: geoResults[0] };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LoginStateSubject.html b/documentation/injectables/LoginStateSubject.html new file mode 100644 index 0000000000..04339c4ab4 --- /dev/null +++ b/documentation/injectables/LoginStateSubject.html @@ -0,0 +1,283 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/session/session-type.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + BehaviorSubject +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { LoginState } from "./session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { SyncState } from "./session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Available Session types with their keys that can be used in the app-config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export enum SessionType {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * synced local PouchDB and remote CouchDB connection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  synced = "synced",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * local only demo mode - PouchDB database without a remote sync counterpart
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  local = "local",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * in-memory adapter of pouchdb database - data is lost after leaving the page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mock = "mock",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class LoginStateSubject extends BehaviorSubject<LoginState> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super(LoginState.LOGGED_OUT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class SyncStateSubject extends BehaviorSubject<SyncState> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super(SyncState.UNSYNCED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/LongTextDatatype.html b/documentation/injectables/LongTextDatatype.html new file mode 100644 index 0000000000..e7436089ce --- /dev/null +++ b/documentation/injectables/LongTextDatatype.html @@ -0,0 +1,976 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/string/long-text.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Datatype for multi-line string fields.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + StringDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToObjectFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "long-text" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:9 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "EditLongText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:12 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : $localize`:datatype-label:text (long)` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:10 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:60 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { StringDatatype } from "./string.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Datatype for multi-line string fields.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class LongTextDatatype extends StringDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override dataType = "long-text";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override label: string = $localize`:datatype-label:text (long)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  override editComponent = "EditLongText";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/MockFileService.html b/documentation/injectables/MockFileService.html new file mode 100644 index 0000000000..659f68a2ab --- /dev/null +++ b/documentation/injectables/MockFileService.html @@ -0,0 +1,841 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/file/mock-file.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  A mock implementation of the file service which only stores the file temporarily in the browser. +This can be used in the demo mode. +NO FILES ARE UPLOADED OR DOWNLOADED

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + FileService +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(entityMapper: EntityMapperService, entities: EntityRegistry, syncState: SyncStateSubject, sanitizer: DomSanitizer) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  syncState + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  sanitizer + DomSanitizer + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + loadFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +loadFile(entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in FileService:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<SafeUrl> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + removeAllFiles + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +removeAllFiles(entity: Entity) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in FileService:33 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + removeFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +removeFile(entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in FileService:28 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + showFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +showFile(entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in FileService:37 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + uploadFile + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +uploadFile(file: File, entity: Entity, property: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Inherited from FileService +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Defined in FileService:47 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  file + File + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  entity + Entity + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EMPTY, Observable, of } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FileService } from "./file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityRegistry } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DomSanitizer, SafeUrl } from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SyncStateSubject } from "../../core/session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * A mock implementation of the file service which only stores the file temporarily in the browser.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This can be used in the demo mode.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * NO FILES ARE UPLOADED OR DOWNLOADED
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class MockFileService extends FileService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private fileMap = new Map<string, string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    syncState: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private sanitizer: DomSanitizer,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super(entityMapper, entities, syncState);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  removeFile(entity: Entity, property: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.fileMap.delete(`${entity.getId()}:${property}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return of({ ok: true });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  removeAllFiles(entity: Entity): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return EMPTY;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  showFile(entity: Entity, property: string): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const url = this.fileMap.get(`${entity.getId()}:${property}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    window.open(url, "_blank");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  loadFile(entity: Entity, property: string): Observable<SafeUrl> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const url = this.fileMap.get(`${entity.getId()}:${property}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return of(this.sanitizer.bypassSecurityTrustUrl(url));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  uploadFile(file: File, entity: Entity, property: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const fileURL = URL.createObjectURL(file);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.fileMap.set(`${entity.getId()}:${property}`, fileURL);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return of({ ok: true });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/MonthDatatype.html b/documentation/injectables/MonthDatatype.html new file mode 100644 index 0000000000..6cd45036f4 --- /dev/null +++ b/documentation/injectables/MonthDatatype.html @@ -0,0 +1,980 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/basic-datatypes/month/month.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Datatype for the EntitySchemaService transforming Date values to/from a short string month format ("YYYY-mm").

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Throws an exception if the property is set to something that is not a Date instance and cannot be cast to Date either. +Uses the import value mapping properties of the general DateDatatype.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    For example: +@DatabaseField({dataType: 'month'}) myMonth: Date = new Date('2020-01-15'); // will be "2020-01" in the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DateOnlyDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:23 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +transformToObjectFormat(value: string, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:34 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    parent + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + anonymize(value: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:76 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value + Date + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Promise<Date> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:63 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    val + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schemaField + EntitySchemaField + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    additional + any + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "month" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:17 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "EditMonth" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:21 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : $localize`:datatype-label:month (date without day of month)` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:18 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DisplayMonth" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:20 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Default value : "DateImportConfig" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DateOnlyDatatype } from "../date-only/date-only.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Datatype for the EntitySchemaService transforming Date values to/from a short string month format ("YYYY-mm").
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Throws an exception if the property is set to something that is not a Date instance and cannot be cast to Date either.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Uses the import value mapping properties of the general DateDatatype.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * `@DatabaseField({dataType: 'month'}) myMonth: Date = new Date('2020-01-15'); // will be "2020-01" in the database`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class MonthDatatype extends DateOnlyDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override dataType = "month";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static override label: string = $localize`:datatype-label:month (date without day of month)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  viewComponent = "DisplayMonth";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  editComponent = "EditMonth";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transformToDatabaseFormat(value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!(value instanceof Date)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      value = new Date(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      value.getFullYear().toString() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      "-" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (value.getMonth() + 1).toString().replace(/^(\d)$/g, "0$1")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  transformToObjectFormat(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    schemaField: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    parent: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const values = value.split("-").map((v) => Number(v));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const date = new Date(values[0], values[1] - 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (Number.isNaN(date.getTime())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        `failed to convert data '${value}' to Date object for ${parent?._id}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/NumberDatatype.html b/documentation/injectables/NumberDatatype.html new file mode 100644 index 0000000000..703f86283d --- /dev/null +++ b/documentation/injectables/NumberDatatype.html @@ -0,0 +1,989 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/basic-datatypes/number/number.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Datatype for the EntitySchemaService transforming values to "number".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      This type is automatically used if you annotate a class's property that has the TypeScript type "number" +ensuring that even if values in the database from other sources are not of type number they will be cast to number.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      For example:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @DatabaseField() myNumber: number;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @DatabaseField({dataType: 'number'}) myValue: any;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + DefaultDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:41 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +transformToObjectFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:45 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : "number" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : "EditNumber" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:39 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : $localize`:datatype-label:number` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:36 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Datatype for the EntitySchemaService transforming values to "number".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This type is automatically used if you annotate a class's property that has the TypeScript type "number"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * ensuring that even if values in the database from other sources are not of type number they will be cast to number.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * `@DatabaseField() myNumber: number;`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * `@DatabaseField({dataType: 'number'}) myValue: any;`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class NumberDatatype extends DefaultDatatype<number, number> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static override dataType = "number";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static override label: string = $localize`:datatype-label:number`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  viewComponent = "DisplayText";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  editComponent = "EditNumber";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  transformToDatabaseFormat(value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return Number(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  transformToObjectFormat(value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return Number(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/PermissionEnforcerService.html b/documentation/injectables/PermissionEnforcerService.html new file mode 100644 index 0000000000..43d6a4e1ff --- /dev/null +++ b/documentation/injectables/PermissionEnforcerService.html @@ -0,0 +1,647 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/permissions/permission-enforcer/permission-enforcer.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This service checks whether the relevant rules for the current user changed. +If it detects a change, all Entity types that have read restrictions are collected. +All entities of these entity types are loaded and checked whether the currently logged-in user has read permissions. +If one entity is found for which the user does not have read permissions, then the local database is destroyed and a new sync has to start.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(sessionInfo: SessionSubject, ability: EntityAbility, entityMapper: EntityMapperService, database: Database, analyticsService: AnalyticsService, entities: EntityRegistry, location: Location, configService: ConfigService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ability + EntityAbility + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        database + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        analyticsService + AnalyticsService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + enforcePermissionsOnLocalData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + enforcePermissionsOnLocalData(userRules: DatabaseRule[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        userRules + DatabaseRule[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Static + Readonly + LOCALSTORAGE_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "RULES" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This is a suffix used to persist the user-relevant rules in local storage to later check for changes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatabaseRule } from "../permission-types";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Database } from "../../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { LOCATION_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AnalyticsService } from "../../analytics/analytics.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityAbility } from "../ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ConfigService } from "../../config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { firstValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This service checks whether the relevant rules for the current user changed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * If it detects a change, all Entity types that have read restrictions are collected.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * All entities of these entity types are loaded and checked whether the currently logged-in user has read permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * If one entity is found for which the user does **not** have read permissions, then the local database is destroyed and a new sync has to start.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class PermissionEnforcerService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * This is a suffix used to persist the user-relevant rules in local storage to later check for changes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static readonly LOCALSTORAGE_KEY = "RULES";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private database: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private analyticsService: AnalyticsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    @Inject(LOCATION_TOKEN) private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async enforcePermissionsOnLocalData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    userRules: DatabaseRule[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const userRulesString = JSON.stringify(userRules);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.sessionInfo.value || !this.userRulesChanged(userRulesString)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const subjects = this.getSubjectsWithReadRestrictions(userRules);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (await this.dbHasEntitiesWithoutPermissions(subjects)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.analyticsService.eventTrack(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "destroying local db due to lost permissions",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        { category: "Migration" },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.database.destroy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    window.localStorage.setItem(this.getUserStorageKey(), userRulesString);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private userRulesChanged(newRules: string): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const storedRules = window.localStorage.getItem(this.getUserStorageKey());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return storedRules !== newRules;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getUserStorageKey() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return `${this.sessionInfo.value.name}-${PermissionEnforcerService.LOCALSTORAGE_KEY}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getSubjectsWithReadRestrictions(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    rules: DatabaseRule[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): EntityConstructor[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const subjects = new Set<string>(this.entities.keys());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    rules
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .filter((rule) => this.isReadRule(rule))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .forEach((rule) => this.collectSubjectsFromRule(rule, subjects));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return [...subjects].map((subj) => this.entities.get(subj));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private collectSubjectsFromRule(rule: DatabaseRule, subjects: Set<string>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const relevantSubjects = this.getRelevantSubjects(rule);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (rule.inverted || rule.conditions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Add subject if the rule can prevent someone from having access
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      relevantSubjects.forEach((subject) => subjects.add(subject));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Remove subject if rule gives access
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      relevantSubjects.forEach((subject) => subjects.delete(subject));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private isReadRule(rule: DatabaseRule): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      rule.action === "read" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      rule.action.includes("read") ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      rule.action === "manage"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private getRelevantSubjects(rule: DatabaseRule): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let subjects: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (rule.subject === "all") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      subjects = [...this.entities.keys()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else if (Array.isArray(rule.subject)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      subjects = rule.subject;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      subjects = [rule.subject];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // Only return valid entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return subjects.filter((sub) => this.entities.has(sub));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async dbHasEntitiesWithoutPermissions(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    subjects: EntityConstructor[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // wait for config service to be ready before using the entity mapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await firstValueFrom(this.configService.configUpdates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    for (const subject of subjects) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const entities = await this.entityMapper.loadType(subject);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (entities.some((entity) => this.ability.cannot("read", entity))) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/PouchDatabase.html b/documentation/injectables/PouchDatabase.html new file mode 100644 index 0000000000..fc6a3e1bae --- /dev/null +++ b/documentation/injectables/PouchDatabase.html @@ -0,0 +1,2194 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/database/pouch-database.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Wrapper for a PouchDB instance to decouple the code from +that external library.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Additional convenience functions on top of the PouchDB API +should be implemented in the abstract Database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Database +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(authService?: KeycloakAuthService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Create a PouchDB database manager.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          authService + KeycloakAuthService + + Yes +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + allDocs + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + allDocs(options?: GetAllOptions) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:214 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Load all documents (matching the given PouchDB options) from the database. +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Normally you should rather use "getAll()" or another well typed method of this class +instead of passing PouchDB specific options here +because that will make your code tightly coupled with PouchDB rather than any other database provider.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          options + GetAllOptions + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          PouchDB options object as in the normal PouchDB library

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + changes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +changes(prefix: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:318 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Listen to changes to documents which have an _id with the given prefix

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          prefix + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          for which document changes are emitted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Observable<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          observable which emits the filtered changes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Static + create + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + create() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Small helper function which creates a database with in-memory PouchDB initialized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : PouchDatabase + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + destroy + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + destroy() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:352 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Destroy the database and all saved data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + get + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + get(id: string, options: GetOptions, returnUndefined?: boolean) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:185 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Load a single document by id from the database. +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          id + string + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The primary key of the document to be loaded

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          options + GetOptions + + No + + {} + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional PouchDB options for the request

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          returnUndefined + boolean + + Yes + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) return undefined instead of throwing error if doc is not found in database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + getPouchDB + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +getPouchDB() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Get the actual instance of the PouchDB

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : PouchDB.Database + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + getPouchDBOnceReady + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + getPouchDBOnceReady() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<PouchDB.Database> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + initIndexedDB + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +initIndexedDB(dbName: string, options?: PouchDB.Configuration.DatabaseConfiguration) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Initialize the PouchDB with the IndexedDB/in-browser adapter (default). +See {link https://github.com/pouchdb/pouchdb/tree/master/packages/node_modules/pouchdb-browser}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dbName + string + + No + + "indexed-database" + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          the name for the database under which the IndexedDB entries will be created

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          options + PouchDB.Configuration.DatabaseConfiguration + + Yes + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          PouchDB options which are directly passed to the constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : PouchDatabase + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + initInMemoryDB + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +initInMemoryDB(dbName: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dbName + string + + No + + "in-memory-database" + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          the name for the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : PouchDatabase + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + initRemoteDB + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +initRemoteDB(dbName) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Initializes the PouchDB with the http adapter to directly access a remote CouchDB without replication +See https://pouchdb.com/adapters.html#pouchdb_over_http

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          dbName + No + + `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}` + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (relative) path to the remote database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : PouchDatabase + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + isEmpty + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +isEmpty() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:307 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Check if a database is new/empty. +Returns true if there are no documents in the database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + put + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + put(object: any, forceOverwrite) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:233 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Save a document to the database. +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          object + any + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The document to be saved

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          forceOverwrite + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          (Optional) Whether conflicts should be ignored and an existing conflicting document forcefully overwritten.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Async + putAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + putAll(objects: any[], forceOverwrite) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:256 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Save an array of documents to the database + The save can partially fail and return a mix of success and error states in the array (e.g. [{ ok: true, ... }, { error: true, ... }])

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          objects + any[] + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          the documents to be saved

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          forceOverwrite + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          whether conflicting versions should be overwritten

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          array with the result for each object to be saved, if any item fails to be saved, this returns a rejected Promise. +The save can partially fail and return a mix of success and error states in the array (e.g. [{ ok: true, ... }, { error: true, ... }])

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + query + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +query(fun: string | , options: QueryOptions) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:378 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Query data from the database based on a more complex, indexed request. +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          This is directly calling the PouchDB implementation of this function. +Also see the documentation there: https://pouchdb.com/api.html#query_database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          fun + string | + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The name of a previously saved database index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          options + QueryOptions + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Additional options for the query, like a key. See the PouchDB docs for details.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + remove + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +remove(object: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:295 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Delete a document from the database +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          object + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The document to be deleted (usually this object must at least contain the _id and _rev)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + reset + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +reset() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Reset the database state so a new one can be opened.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + saveDatabaseIndex + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +saveDatabaseIndex(designDoc: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:400 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Create a database index to query() certain data more efficiently in the future. +(see Database)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Also see the PouchDB documentation regarding indices and queries: https://pouchdb.com/api.html#query_database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          designDoc + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The PouchDB style design document for the map/reduce query

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + getAll + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +getAll(prefix: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Inherited from Database +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Defined in Database:88 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Load all documents (with the given prefix) from the database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          prefix + string + + No + + "" + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The string prefix of document ids that should be retrieved

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : Promise<Array<any>> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Database, GetAllOptions, GetOptions, QueryOptions } from "./database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import PouchDB from "pouchdb-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import memory from "pouchdb-adapter-memory";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { PerformanceAnalysisLogging } from "../../utils/performance-analysis-logging";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Injectable, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { firstValueFrom, Observable, Subject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HttpStatusCode } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { KeycloakAuthService } from "../session/auth/keycloak/keycloak-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Wrapper for a PouchDB instance to decouple the code from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * that external library.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Additional convenience functions on top of the PouchDB API
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * should be implemented in the abstract {@link Database}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class PouchDatabase extends Database {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Small helper function which creates a database with in-memory PouchDB initialized
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static create(): PouchDatabase {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return new PouchDatabase().initInMemoryDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The reference to the PouchDB instance
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private pouchDB: PouchDB.Database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * A list of promises that resolve once all the (until now saved) indexes are created
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private indexPromises: Promise<any>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * An observable that emits a value whenever the PouchDB receives a new change.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This change can come from the current user or remotely from the (live) synchronization
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private changesFeed: Subject<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private databaseInitialized = new Subject<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Create a PouchDB database manager.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(@Optional() private authService?: KeycloakAuthService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Initialize the PouchDB with the in-memory adapter.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * See {@link https://github.com/pouchdb/pouchdb/tree/master/packages/node_modules/pouchdb-adapter-memory}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param dbName the name for the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  initInMemoryDB(dbName = "in-memory-database"): PouchDatabase {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    PouchDB.plugin(memory);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.pouchDB = new PouchDB(dbName, { adapter: "memory" });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.databaseInitialized.complete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Initialize the PouchDB with the IndexedDB/in-browser adapter (default).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * See {link https://github.com/pouchdb/pouchdb/tree/master/packages/node_modules/pouchdb-browser}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param dbName the name for the database under which the IndexedDB entries will be created
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param options PouchDB options which are directly passed to the constructor
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  initIndexedDB(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dbName = "indexed-database",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    options?: PouchDB.Configuration.DatabaseConfiguration,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): PouchDatabase {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.pouchDB = new PouchDB(dbName, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.databaseInitialized.complete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Initializes the PouchDB with the http adapter to directly access a remote CouchDB without replication
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * See {@link https://pouchdb.com/adapters.html#pouchdb_over_http}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param dbName (relative) path to the remote database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param fetch a overwrite for the default fetch handler
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  initRemoteDB(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dbName = `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): PouchDatabase {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const options = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      adapter: "http",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      skip_setup: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      fetch: (url: string | Request, opts: RequestInit) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.defaultFetch(url, opts),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.pouchDB = new PouchDB(dbName, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.databaseInitialized.complete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private defaultFetch: Fetch = async (url: string | Request, opts: any) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (typeof url !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const err = new Error("PouchDatabase.fetch: url is not a string");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      err["details"] = url;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const remoteUrl =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      environment.DB_PROXY_PREFIX + url.split(environment.DB_PROXY_PREFIX)[1];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.authService.addAuthHeader(opts.headers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let result: Response;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result = await PouchDB.fetch(remoteUrl, opts);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.warn("Failed to fetch from DB", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // retry login if request failed with unauthorized
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!result || result.status === HttpStatusCode.Unauthorized) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        await this.authService.login();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.authService.addAuthHeader(opts.headers);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        result = await PouchDB.fetch(remoteUrl, opts);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Logging.warn("Failed to fetch from DB", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!result || result.status >= 500) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("Actual DB Fetch response", result);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("navigator.onLine", navigator.onLine);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw new DatabaseException({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        error: "Failed to fetch from DB",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        actualResponse: JSON.stringify(result.headers),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        actualResponseBody: await result?.text(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async getPouchDBOnceReady(): Promise<PouchDB.Database> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await firstValueFrom(this.databaseInitialized, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      defaultValue: this.pouchDB,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.pouchDB;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Get the actual instance of the PouchDB
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getPouchDB(): PouchDB.Database {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.pouchDB;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Load a single document by id from the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param id The primary key of the document to be loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param options Optional PouchDB options for the request
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param returnUndefined (Optional) return undefined instead of throwing error if doc is not found in database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    id: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    options: GetOptions = {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    returnUndefined?: boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return await (await this.getPouchDBOnceReady()).get(id, options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (err.status === 404) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Logging.debug("Doc not found in database: " + id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (returnUndefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw new DatabaseException(err, id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Load all documents (matching the given PouchDB options) from the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Normally you should rather use "getAll()" or another well typed method of this class
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * instead of passing PouchDB specific options here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * because that will make your code tightly coupled with PouchDB rather than any other database provider.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param options PouchDB options object as in the normal PouchDB library
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async allDocs(options?: GetAllOptions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const result = await (await this.getPouchDBOnceReady()).allDocs(options);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return result.rows.map((row) => row.doc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw new DatabaseException(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        err,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        "allDocs; startkey: " + options?.["startkey"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Save a document to the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param object The document to be saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param forceOverwrite (Optional) Whether conflicts should be ignored and an existing conflicting document forcefully overwritten.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async put(object: any, forceOverwrite = false): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (forceOverwrite) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      object._rev = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return await (await this.getPouchDBOnceReady()).put(object);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (err.status === 409) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        return this.resolveConflict(object, forceOverwrite, err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        throw new DatabaseException(err, object._id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Save an array of documents to the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param objects the documents to be saved
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param forceOverwrite whether conflicting versions should be overwritten
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @returns array with the result for each object to be saved, if any item fails to be saved, this returns a rejected Promise.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *          The save can partially fail and return a mix of success and error states in the array (e.g. `[{ ok: true, ... }, { error: true, ... }]`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async putAll(objects: any[], forceOverwrite = false): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (forceOverwrite) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      objects.forEach((obj) => (obj._rev = undefined));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const pouchDB = await this.getPouchDBOnceReady();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const results = await pouchDB.bulkDocs(objects);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (let i = 0; i < results.length; i++) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Check if document update conflicts happened in the request
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const result = results[i] as PouchDB.Core.Error;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (result.status === 409) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        results[i] = await this.resolveConflict(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          objects.find((obj) => obj._id === result.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          forceOverwrite,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          result,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ).catch((e) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            "error during putAll",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            e,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            objects.map((x) => x._id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          return new DatabaseException(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (results.some((r) => r instanceof Error)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return Promise.reject(results);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Delete a document from the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param object The document to be deleted (usually this object must at least contain the _id and _rev)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  remove(object: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.getPouchDBOnceReady()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .then((pouchDB) => pouchDB.remove(object))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        throw new DatabaseException(err, object["_id"]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Check if a database is new/empty.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Returns true if there are no documents in the database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  isEmpty(): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.getPouchDBOnceReady()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .then((pouchDB) => pouchDB.info())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .then((res) => res.doc_count === 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Listen to changes to documents which have an _id with the given prefix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param prefix for which document changes are emitted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @returns observable which emits the filtered changes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  changes(prefix: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.changesFeed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.changesFeed = new Subject();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.subscribeChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.changesFeed.pipe(filter((doc) => doc._id.startsWith(prefix)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async subscribeChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    (await this.getPouchDBOnceReady())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .changes({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        live: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        since: "now",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        include_docs: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .addListener("change", (change) => this.changesFeed.next(change.doc))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          err.statusCode === HttpStatusCode.Unauthorized ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          err.statusCode === HttpStatusCode.GatewayTimeout
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Logging.warn(err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Logging.error(err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // retry
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        setTimeout(() => this.subscribeChanges(), 10000);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Destroy the database and all saved data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async destroy(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await Promise.all(this.indexPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.pouchDB) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.pouchDB.destroy();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Reset the database state so a new one can be opened.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  reset() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.pouchDB = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.changesFeed = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.databaseInitialized = new Subject();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Query data from the database based on a more complex, indexed request.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This is directly calling the PouchDB implementation of this function.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Also see the documentation there: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param fun The name of a previously saved database index
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param options Additional options for the query, like a `key`. See the PouchDB docs for details.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  query(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    fun: string | ((doc: any, emit: any) => void),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    options: QueryOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.getPouchDBOnceReady()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .then((pouchDB) => pouchDB.query(fun, options))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        throw new DatabaseException(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          err,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          typeof fun === "string" ? fun : undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Create a database index to `query()` certain data more efficiently in the future.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (see {@link Database})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Also see the PouchDB documentation regarding indices and queries: {@link https://pouchdb.com/api.html#query_database}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param designDoc The PouchDB style design document for the map/reduce query
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  saveDatabaseIndex(designDoc: any): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const creationPromise = this.createOrUpdateDesignDoc(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.indexPromises.push(creationPromise);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return creationPromise;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async createOrUpdateDesignDoc(designDoc): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const existingDesignDoc = await this.get(designDoc._id, {}, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!existingDesignDoc) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("creating new database index");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      JSON.stringify(existingDesignDoc.views) !==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      JSON.stringify(designDoc.views)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug("replacing existing database index");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      designDoc._rev = existingDesignDoc._rev;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // already up to date, nothing more to do
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.put(designDoc, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.prebuildViewsOfDesignDoc(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @PerformanceAnalysisLogging
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async prebuildViewsOfDesignDoc(designDoc: any): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const viewName of Object.keys(designDoc.views)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const queryName = designDoc._id.replace(/_design\//, "") + "/" + viewName;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.query(queryName, { key: "1" });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Attempt to intelligently resolve conflicting document versions automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param newObject
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param overwriteChanges
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param existingError
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async resolveConflict(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    newObject: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    overwriteChanges = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    existingError: any = {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const existingObject = await this.get(newObject._id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const resolvedObject = this.mergeObjects(existingObject, newObject);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (resolvedObject) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        "resolved document conflict automatically (" + resolvedObject._id + ")",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.put(resolvedObject);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else if (overwriteChanges) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        "overwriting conflicting document version (" + newObject._id + ")",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      newObject._rev = existingObject._rev;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return this.put(newObject);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      existingError.message = `${
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        existingError.message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } (unable to resolve) ID: ${JSON.stringify(newObject)}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw new DatabaseException(existingError);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private mergeObjects(_existingObject: any, _newObject: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // TODO: implement automatic merging of conflicting entity versions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This overwrites PouchDB's error class which only logs limited information
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +class DatabaseException extends Error {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    error: PouchDB.Core.Error | { [key: string]: any },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    entityId?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (entityId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      error["entityId"] = entityId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    Object.assign(this, error);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/PwaInstallService.html b/documentation/injectables/PwaInstallService.html new file mode 100644 index 0000000000..cdcd30e2f0 --- /dev/null +++ b/documentation/injectables/PwaInstallService.html @@ -0,0 +1,600 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/pwa-install/pwa-install.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(window: Window) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            window + Window + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + getPWAInstallType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +getPWAInstallType() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : PWAInstallType + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + installPWA + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +installPWA() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + registerPWAInstallListener + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + registerPWAInstallListener() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + canInstallDirectly + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Promise<void> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Resolves once/if it is possible to directly install the app

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { WINDOW_TOKEN } from "../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export enum PWAInstallType {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ShowiOSInstallInstructions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  RunningAsPWA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  NotAvailable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +enum Browser {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Opera,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MicrosoftInternetExplorer,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Edge,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Safari,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Chrome,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Firefox,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Other,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +enum OS {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  iOS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MacOS,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Android,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Linux,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Windows,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Other,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class PwaInstallService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Resolves once/if it is possible to directly install the app
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static canInstallDirectly: Promise<void>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private static deferredInstallPrompt: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(@Inject(WINDOW_TOKEN) private window: Window) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static registerPWAInstallListener() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.canInstallDirectly = new Promise((resolve) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      window.addEventListener("beforeinstallprompt", (e) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        e.preventDefault();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.deferredInstallPrompt = e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        resolve();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  installPWA(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!PwaInstallService.deferredInstallPrompt) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      throw new Error(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        "InstallPWA called, but PWA install prompt has not fired.",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    PwaInstallService.deferredInstallPrompt.prompt();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return PwaInstallService.deferredInstallPrompt.userChoice;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  getPWAInstallType(): PWAInstallType {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const os: OS = this.detectOS();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const browser: Browser = this.detectBrowser();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const standaloneMode: boolean = this.detectStandaloneMode();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let pwaInstallType: PWAInstallType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (standaloneMode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      pwaInstallType = PWAInstallType.RunningAsPWA;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (os === OS.iOS && browser === Browser.Safari) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      pwaInstallType = PWAInstallType.ShowiOSInstallInstructions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      pwaInstallType = PWAInstallType.NotAvailable;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return pwaInstallType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private detectOS(): OS {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let os: OS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const userAgent = this.window.navigator.userAgent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (/iphone|ipad|ipod|macintosh/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.window.innerWidth < 1025) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        os = OS.iOS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        os = OS.MacOS;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/android/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      os = OS.Android;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/windows|win32|win64|WinCE/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      os = OS.Windows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/linux|X11/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      os = OS.Linux;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return os;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private detectBrowser(): Browser {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let browser: Browser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const userAgent = this.window.navigator.userAgent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (/opera/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Opera;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/msie|trident/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.MicrosoftInternetExplorer;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/edg/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Edge;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/chrome/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Chrome;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/safari/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Safari;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (/crios|fxios/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        browser = Browser.Chrome;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else if (/firefox/i.test(userAgent)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Firefox;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      browser = Browser.Other;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return browser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private detectStandaloneMode(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ("standalone" in this.window.navigator &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        !!this.window.navigator["standalone"]) ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.window.matchMedia("(display-mode: standalone)").matches
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/QueryService.html b/documentation/injectables/QueryService.html new file mode 100644 index 0000000000..c096034591 --- /dev/null +++ b/documentation/injectables/QueryService.html @@ -0,0 +1,1079 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/export/query.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A query service which uses the json-query library (https://github.com/auditassistant/json-query).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(entityMapper: EntityMapperService, childrenService: ChildrenService, attendanceService: AttendanceService, entityRegistry: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              childrenService + ChildrenService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              attendanceService + AttendanceService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              entityRegistry + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + cacheRequiredData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + cacheRequiredData(query: string, from: Date, to: Date) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Call this function to prefetch required data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              query + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              single query or concatenation of all query strings that will be executed soon

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              from + Date + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              date from which data should be available

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              to + Date + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              date to which data should be available

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Public + queryData + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + queryData(query: string, from?: Date, to?: Date, data?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Runs the query on the passed data object

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              query + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              a string or array according to the json-query language (https://github.com/auditassistant/json-query)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              from + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              a date which can be accessed in the query using a ?.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              to + Date + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              a date which can be accessed in the query using another ?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              data + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              the data on which the query should run, default is all entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              the results of the query on the data

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Note } from "../../child-dev-project/notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EventNote } from "../../child-dev-project/attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildSchoolRelation } from "../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildrenService } from "../../child-dev-project/children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AttendanceService } from "../../child-dev-project/attendance/attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EventAttendance } from "../../child-dev-project/attendance/model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import jsonQuery from "json-query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * A query service which uses the json-query library (https://github.com/auditassistant/json-query).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class QueryService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private entities: { [type: string]: { [id: string]: Entity } } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A map of information about the loading state of the different entity types
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private entityInfo: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [type: string]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * A optional function which can be used to load this entity that might use a start and end date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * @param form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction?: (form, to) => Promise<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * Whether already all entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      allLoaded?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * A certain range in which entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      rangeLoaded?: { from: Date; to: Date };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * Whether updates of this entity are listened to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      updating?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  } = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Note: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.childrenService.getNotesInTimespan(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EventNote: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.attendanceService.getEventsOnDate(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A list of further aliases for which a certain entity needs to be loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This can be necessary if a function requires a certain entity to be present.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private queryStringMap: [string, EntityConstructor][] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ["getAttendanceArray\\(true\\)", ChildSchoolRelation],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityRegistry.forEach((entity, name) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.queryStringMap.push([name, entity]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Runs the query on the passed data object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query a string or array according to the json-query language (https://github.com/auditassistant/json-query)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from a date which can be accessed in the query using a ?.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to a date which can be accessed in the query using another ?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data on which the query should run, default is all entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the results of the query on the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public queryData(query: string, from?: Date, to?: Date, data?: any): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!data) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data = this.entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return jsonQuery([query, from, to], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data: data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      locals: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        toArray: this.toArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        unique: this.unique,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        count: this.count,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        sum: this.sum,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        avg: this.avg,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        toEntities: this.toEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getRelated: this.getRelated.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        filterByObjectAttribute: this.filterByObjectAttribute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getIds: this.getIds,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getParticipantsWithAttendance: this.getParticipantsWithAttendance,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getAttendanceArray: this.getAttendanceArray.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getAttendanceReport: this.getAttendanceReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        addEntities: this.addEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        setString: this.setString,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }).value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Call this function to prefetch required data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query single query or concatenation of all query strings that will be executed soon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from date from which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to date to which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async cacheRequiredData(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const uncachedEntities = this.getUncachedEntities(query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const dataPromises = uncachedEntities.map((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (info?.dataFunction) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return info.dataFunction(from, to).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          info.rangeLoaded = { from, to };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.entityMapper.loadType(entity).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.entityInfo[entity.ENTITY_TYPE] = { allLoaded: true };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await Promise.all(dataPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.applyEntityUpdates(uncachedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private applyEntityUpdates(uncachedEntities: EntityConstructor[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    uncachedEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(({ ENTITY_TYPE }) => !this.entityInfo[ENTITY_TYPE].updating)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .forEach(({ ENTITY_TYPE }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityInfo[ENTITY_TYPE].updating = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .receiveUpdates(ENTITY_TYPE)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .subscribe(({ entity, type }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (type === "remove") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              delete this.entities[ENTITY_TYPE][entity.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              this.entities[ENTITY_TYPE][entity.getId()] = entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get entities that are referenced in the query string and are not sufficiently cached.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getUncachedEntities(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.queryStringMap
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(([matcher]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // matches query string without any alphanumeric characters before or after (e.g. so Child does not match ChildSchoolRelation)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        query?.match(new RegExp(`(^|\\W)${matcher}(\\W|$)`)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map(([_, entity]) => entity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          info === undefined ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          !(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            info.allLoaded ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            (info.rangeLoaded?.from <= from && info.rangeLoaded?.to >= to)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private setEntities<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityClass: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entities: T[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entities[entityClass.ENTITY_TYPE] = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entities.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (this.entities[entityClass.ENTITY_TYPE][entity.getId()] = entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Creates an array containing the value of each key of the object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * e.g. `{a: 1, b: 2} => [1,2]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This should be used when iterating over all documents of a given entity type because they are stored as
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * `"{entity._id}": {entity}`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param obj the object which should be transformed to an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the values of the input object as a list
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private toArray(obj): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Object.values(obj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns a copy of the input array without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the array where duplicates should be removed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private unique(data: any[]): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return new Array(...new Set(data));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get the size of an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data for which the length should be returned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the length of the input array or 0 if no array is provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private count(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data ? data.length : 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns the (integer) sum of the provided array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * It can also handle integers in strings, e.g. "3"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private sum(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data.reduce((res, cur) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const parsed = Number.parseInt(cur);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return Number.isNaN(parsed) ? res : res + parsed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns the avg of the provided array as string.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * It can also handle integers in strings, e.g. "3".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The average is only calculated if the value exists and is a valid number.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param decimals the amount of decimals for the result, default 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private avg(data: any[], decimals = 0): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const numbers = data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((d) => Number.parseInt(d))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((i) => !Number.isNaN(i));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const result =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      numbers.length === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : numbers.reduce((i, sum) => sum + i, 0) / numbers.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return result.toFixed(decimals);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Turns a list of ids (with the entity prefix) into a list of entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param ids the array of ids with entity prefix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityPrefix indicate the type of entity that should be loaded. This is required for pre-loading the required entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list of entity objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private toEntities(ids: string[], entityPrefix: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!entityPrefix) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      throw new Error("Entity type not defined");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!ids) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return ids
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (typeof id !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          console.debug("invalid entity id in Query :toEntities", id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const prefix = id.split(":")[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.entities[prefix][id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => !!entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns all entities which reference a entity from the passed list of entities (by their id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param srcEntities the entities for which relations should be found
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType the type of entities where relations should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param relationKey the name of the attribute that holds the reference.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *                    The attribute can be a string or a list of strings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list of the related unique entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getRelated(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    srcEntities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    relationKey: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const targetEntities = this.toArray(this.entities[entityType]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const srcIds = srcEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => typeof entity.getId === "function") // skip empty placeholder objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((entity) => entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      targetEntities.length > 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Array.isArray(targetEntities[0][relationKey])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (entity[relationKey] as string[]).some((id) => srcIds.includes(id)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entity[relationKey] ? srcIds.includes(entity[relationKey]) : false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Filters the data when the filter value is a object (e.g. configurable enum) rather than a simple value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param objs the objects to be filtered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attr the attribute of the objects which is a object itself
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param key the key of the attribute-object which should be compared
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value the value which will be compared with `obj[attr][key]` for each obj in objs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *              The value can be a simple value or list of values separated by `|` (e.g. SCHOOL_CLASS|LIFE_SKILLS).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *              If it is a list of values, then the object is returned if its value matches any of the given values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the filtered objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private filterByObjectAttribute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    objs: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attr: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    key: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // splits at "|" and removes optional whitespace before or after the symbol
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const values = value.trim().split(/\s*\|\s*/);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return objs.filter((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (obj?.hasOwnProperty(attr)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return values.includes(obj[attr][key]?.toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns a list of IDs held by each object (e.g. the children-IDs held by an array of notes)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param objs the objects which each holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param key the key on which each object holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a one dimensional string array holding all IDs which are held by the objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *            This list may contain duplicate IDs. If this is not desired, use `:unique` afterwards.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getIds(objs: any[], key: string): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const ids: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    objs.forEach((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (obj.hasOwnProperty(key)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ids.push(...obj[key]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return ids;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Return the ids of all the participants of the passed events with the defined attendance status using the `countAs`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * attribute. The list may contain duplicates and the id does not necessarily have the entity prefix.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param events the array of events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attendanceStatus the status for which should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the ids of children which have the specified attendance in an event
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getParticipantsWithAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events: EventNote[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendanceStatus: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const attendedChildren: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events.forEach((e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      e.children.forEach((childId) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (e.getAttendance(childId).status.countAs === attendanceStatus) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          attendedChildren.push(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return attendedChildren;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Transforms a list of notes or event-notes into a flattened list of participants and their attendance for each event.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param events the input list of type Note or EventNote
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param includeSchool (optional) also include the school to which a participant belongs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns AttendanceInfo[] a list holding information about the attendance of a single participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getAttendanceArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events: Note[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    includeSchool = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): AttendanceInfo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const attendances: AttendanceInfo[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const event of events) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const linkedRelations = includeSchool
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? this.getMembersOfGroupsForEvent(event)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (const child of event.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const attendance: AttendanceInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          participant: child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          status: event.getAttendance(child),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const relation = linkedRelations.find((rel) => rel.childId === child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (relation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          attendance.school = relation.schoolId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        attendances.push(attendance);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return attendances;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getMembersOfGroupsForEvent(event: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.toArray(this.entities[ChildSchoolRelation.ENTITY_TYPE]).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (relation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        event.schools.includes(relation.schoolId) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        relation.isActiveAt(event.date),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Transforms a list of attendances infos into an aggregated report for each participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attendances an array of AttendanceInfo objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns AttendanceReport[] for each participant the ID, the number of present and total absences as well as the attendance percentage.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getAttendanceReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendances: AttendanceInfo[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): AttendanceReport[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const participantMap: { [key in string]: AttendanceReport } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendances.forEach((attendance) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (!participantMap.hasOwnProperty(attendance.participant)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        participantMap[attendance.participant] = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          participant: attendance.participant,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          total: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          present: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          percentage: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          detailedStatus: {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const report = participantMap[attendance.participant];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      report.detailedStatus[attendance.status.status.id] = report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .detailedStatus[attendance.status.status.id]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? report.detailedStatus[attendance.status.status.id] + 1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (attendance.status.status.countAs === "PRESENT") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.present++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (attendance.status.status.countAs !== "IGNORE") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.total++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (report.total > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.percentage = (report.present / report.total).toFixed(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Object.values(participantMap);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Adds all entities of the given type to the input array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entities the array before
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType the type of entities which should be added
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the input array concatenated with all entities of the entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private addEntities(entities: Entity[], entityType: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return entities.concat(...this.toArray(this.entities[entityType]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Replaces all input values by the string provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data which will be replaced
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value the string which should replace initial data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns array of same length as data where every input is value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private setString(data: any[], value: string): string[] | string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Array.isArray(data) ? data.map(() => value) : value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface AttendanceInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  status: EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  school?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface AttendanceReport {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  total: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  present: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  percentage: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** counts by all custom configured status **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  detailedStatus?: { [key: string]: number };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/RoutePermissionsService.html b/documentation/injectables/RoutePermissionsService.html new file mode 100644 index 0000000000..cd6ef9fc3e --- /dev/null +++ b/documentation/injectables/RoutePermissionsService.html @@ -0,0 +1,429 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/config/dynamic-routing/route-permissions.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Service that checks permissions for routes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(roleGuard: UserRoleGuard, permissionGuard: EntityPermissionGuard) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                roleGuard + UserRoleGuard + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                permissionGuard + EntityPermissionGuard + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + filterPermittedRoutes + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + filterPermittedRoutes(items: MenuItem[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Filters menu items based on the route and entity permissions on the link.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                items + MenuItem[] + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<MenuItem[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { UserRoleGuard } from "../../permissions/permission-guard/user-role.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityPermissionGuard } from "../../permissions/permission-guard/entity-permission.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MenuItem } from "../../ui/navigation/menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Service that checks permissions for routes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class RoutePermissionsService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private roleGuard: UserRoleGuard,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private permissionGuard: EntityPermissionGuard,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Filters menu items based on the route and entity permissions on the link.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async filterPermittedRoutes(items: MenuItem[]): Promise<MenuItem[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const accessibleRoutes: MenuItem[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const item of items) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      if (await this.isAccessibleRouteForUser(item.link)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        accessibleRoutes.push(item);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return accessibleRoutes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async isAccessibleRouteForUser(path: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (await this.roleGuard.checkRoutePermissions(path)) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (await this.permissionGuard.checkRoutePermissions(path))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/RouterService.html b/documentation/injectables/RouterService.html new file mode 100644 index 0000000000..9533298c44 --- /dev/null +++ b/documentation/injectables/RouterService.html @@ -0,0 +1,566 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/config/dynamic-routing/router.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The RouterService dynamically sets up Angular routing from config loaded through the ConfigService.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  You can define ViewConfig objects in the central configuration and build the routing at runtime +rather than hard-coding the available paths and settings.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(configService: ConfigService, router: Router) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + initRouting + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +initRouting() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Initialize routes from the config while respecting existing routes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + reloadRouting + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +reloadRouting(viewConfigs: ViewConfig[], additionalRoutes: Route[]) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Reset the routing config and reload it from the global config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  viewConfigs + ViewConfig[] + + No + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  The configs loaded from the ConfigService

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  additionalRoutes + Route[] + + No + + [] + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Optional array of routes to keep in addition to the ones loaded from config

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Route, Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ConfigService } from "../config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { PREFIX_VIEW_CONFIG, ViewConfig } from "./view-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UserRoleGuard } from "../../permissions/permission-guard/user-role.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NotFoundComponent } from "./not-found/not-found.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AuthGuard } from "../../session/auth.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { UnsavedChangesService } from "../../entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RoutedViewComponent } from "../../ui/routed-view/routed-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityPermissionGuard } from "../../permissions/permission-guard/entity-permission.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * The RouterService dynamically sets up Angular routing from config loaded through the {@link ConfigService}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * You can define {@link ViewConfig} objects in the central configuration and build the routing at runtime
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * rather than hard-coding the available paths and settings.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class RouterService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Initialize routes from the config while respecting existing routes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  initRouting() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const viewConfigs =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.configService.getAllConfigs<ViewConfig>(PREFIX_VIEW_CONFIG);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.reloadRouting(viewConfigs, this.router.config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Reset the routing config and reload it from the global config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param viewConfigs The configs loaded from the ConfigService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @param additionalRoutes Optional array of routes to keep in addition to the ones loaded from config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  reloadRouting(viewConfigs: ViewConfig[], additionalRoutes: Route[] = []) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const routes: Route[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const view of viewConfigs) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        const newRoute = this.createRoute(view, additionalRoutes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        routes.push(newRoute);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Logging.warn(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          `Failed to create route for view ${view._id}: ${e.message}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // add routes from other sources (e.g. pre-existing  hard-coded routes)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const noDuplicates = additionalRoutes.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (r) => !routes.find((o) => o.path === r.path),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // change wildcard route to show not-found component instead of empty page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const wildcardRoute = noDuplicates.find((route) => route.path === "**");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (wildcardRoute) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      wildcardRoute.component = NotFoundComponent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    routes.push(...noDuplicates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.router.resetConfig(routes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private createRoute(view: ViewConfig, additionalRoutes: Route[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const path = view._id.substring(PREFIX_VIEW_CONFIG.length);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const existingRoute = additionalRoutes.find((r) => r.path === path);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (existingRoute) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return this.generateRouteFromConfig(view, existingRoute);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return this.generateRouteFromConfig(view, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        path,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        component: RoutedViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        data: { component: view.component },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private generateRouteFromConfig(view: ViewConfig, route: Route): Route {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    route.data = { ...route?.data }; // data of currently active route is readonly, which can throw errors here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    route.canActivate = [AuthGuard, EntityPermissionGuard];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    route.canDeactivate = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      () => inject(UnsavedChangesService).checkUnsavedChanges(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (view.permittedUserRoles) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      route.canActivate.push(UserRoleGuard);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      route.data.permittedUserRoles = view.permittedUserRoles;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (view.config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      route.data.config = view.config;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return route;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/ScreenWidthObserver.html b/documentation/injectables/ScreenWidthObserver.html new file mode 100644 index 0000000000..d6cd34d583 --- /dev/null +++ b/documentation/injectables/ScreenWidthObserver.html @@ -0,0 +1,666 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/utils/media/screen-size-observer.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This can be used to check the current screen size programmatically +and get notified when it changes. Use the shared observable to +get notified on any changes. This observable is shared across all instances and +will persist throughout the lifespan of the app.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The platform observable emits changes whenever the screen size changes to +where the app is considered to be in Mobile mode vs. desktop mode.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    This class can also be used statically to check the current screen size and/or check whether +the app is currently considered to be in mobile mode or desktop mode.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor(window: Window) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    window + Window + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + currentScreenSize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + currentScreenSize() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Return the current screen size as determined by the media queries

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : ScreenSize + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + isDesktop + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + isDesktop() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    returns whether the app is currently considered to be in desktop mode +looking only at the screen size.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : IsDesktop + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + platform + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + platform() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    An observable that emits whenever the screen size changes so that the app is considered +to be on a mobile device or a desktop device.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Observable<IsDesktop> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + Public + shared + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + shared() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The observable shared amongst all instances. +Subscribers to this observable get notified whenever the current screen size changes.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    When getting a new observable (or, in other words, when calling this function), the current +screen size is injected so that when you subscribe the first element that arrives is the current screen size.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Returns : Observable<ScreenSize> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { combineLatest, fromEvent, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { distinctUntilChanged, map, startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { WINDOW_TOKEN } from "../di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Constants describing the threshold values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * These constants are considered the lower limit, i.e. if
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * a screen is more than 576px large but less than 768px
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * the screen is considered SM.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Any screen smaller than `SM` is considered `XS`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const SM = "576px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const MD = "768px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const LG = "992px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const XL = "1200px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const XXL = "1400px";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Different ranges of screen sizes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/* Implementation note: This is implemented as an enum (as opposed to a string-type)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * so that
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * sizeA: ScreenSize = ...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * sizeB: ScreenSize = ...
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * aIsGreaterThanB: boolean = sizeA > sizeB
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * makes sense.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export enum ScreenSize {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // extra small (0px <= width < 576px)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  xs = 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // medium small (576px <= width < 768px)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  sm = 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // medium (768px <= width < 992px)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  md = 2,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // large (992px <= width < 1200px)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  lg = 3,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // extra large (1200px <= width < 1400px)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  xl = 4,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // extra-extra large (1400 <= width)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  xxl = 5,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The screen size where anything smaller and this size itself is considered mobile while anything strictly larger
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * is considered desktop.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export const MOBILE_THRESHOLD: ScreenSize = ScreenSize.sm;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * A type that is used to document the return type of the `platform` observable.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * A variable that has this type shall only have two values that are encoded in
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * a boolean way:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * - `true`: the variable represents that the width of something is considered 'desktop width'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * - `false`: the variable represents that the width of something is considered 'mobile width'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type IsDesktop = boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This can be used to check the current screen size programmatically
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * and get notified when it changes. Use the {@link shared} observable to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * get notified on any changes. This observable is shared across all instances and
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * will persist throughout the lifespan of the app.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The `platform` observable emits changes whenever the screen size changes to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * where the app is considered to be in Mobile mode vs. desktop mode.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This class can also be used statically to check the current screen size and/or check whether
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * the app is currently considered to be in mobile mode or desktop mode.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ScreenWidthObserver {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * create an observable that emits whenever the `query` matches.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Also emits the current state to begin with.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param query The query to check
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private static matching(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    query: MediaQueryList,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Observable<MediaQueryListEvent> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return fromEvent<MediaQueryListEvent>(query, "change").pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      startWith({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        matches: query.matches,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        media: query.media,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      } as MediaQueryListEvent),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The internal query lists that are used to check the current screen sizes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private queryLists: MediaQueryList[] = [SM, MD, LG, XL, XXL].map((size) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // matches when the screen's width is greater than `size`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.window.matchMedia(`screen and (min-width: ${size})`),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private readonly _shared: Observable<ScreenSize>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The observable shared amongst all instances.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Subscribers to this observable get notified whenever the current screen size changes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * When getting a new observable (or, in other words, when calling this function), the current
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * screen size is injected so that when you subscribe the first element that arrives is the current screen size.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public shared(): Observable<ScreenSize> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this._shared.pipe(startWith(this.currentScreenSize()));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private readonly _platform: Observable<IsDesktop>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * An observable that emits whenever the screen size changes so that the app is considered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * to be on a mobile device or a desktop device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public platform(): Observable<IsDesktop> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this._platform.pipe(startWith(this.isDesktop()));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(@Inject(WINDOW_TOKEN) private window: Window) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._shared = combineLatest(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.queryLists.map((queryList) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ScreenWidthObserver.matching(queryList),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      map(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // Listening to the events requires parsing (or understanding) the event and the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // attached media-string which requires more logic than simply computing the result in-place.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        return this.currentScreenSize();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this._platform = this._shared.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      map((screenSize) => screenSize > MOBILE_THRESHOLD),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      distinctUntilChanged(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Return the current screen size as determined by the media queries
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public currentScreenSize(): ScreenSize {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // when this returns -1 then no query is active. This means
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // that the screen size is less than `SM`, i.e. `XS`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.queryLists.map((queryList) => queryList.matches).lastIndexOf(true) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * returns whether the app is currently considered to be in desktop mode
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * looking only at the screen size.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public isDesktop(): IsDesktop {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.currentScreenSize() > MOBILE_THRESHOLD;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SearchService.html b/documentation/injectables/SearchService.html new file mode 100644 index 0000000000..e5943140e4 --- /dev/null +++ b/documentation/injectables/SearchService.html @@ -0,0 +1,528 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/ui/search/search.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      This service handles to logic for global searches across all entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(indexingService: DatabaseIndexingService, schemaService: EntitySchemaService, entities: EntityRegistry) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      indexingService + DatabaseIndexingService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entities + EntityRegistry + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + getSearchResults + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + getSearchResults(searchTerm: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Returns the results matching the provided search term. +Multiple search terms should be separated by a space

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      searchTerm + string + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      for which entities should be returned

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : Promise<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DatabaseIndexingService } from "../../entity/database-indexing/database-indexing.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This service handles to logic for global searches across all entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class SearchService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private searchableEntities: [string, string[]][];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private indexingService: DatabaseIndexingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createSearchIndex();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Creates the search index based on the `toStringAttributes` and the `searchable` schema property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private createSearchIndex() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.initializeSearchableEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const designDoc = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      _id: "_design/search_index",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      views: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        by_name: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          map: this.getSearchIndexDesignDoc(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.indexingService.createIndex(designDoc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private initializeSearchableEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.searchableEntities = [...this.entities.entries()]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map(([name, ctr]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const stringAttributes = ctr.toStringAttributes.filter((attr) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ctr.schema.has(attr),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const searchableAttributes = [...ctr.schema.entries()]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          .filter(([_, schema]) => schema.searchable)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          .map(([name]) => name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return [name, [...stringAttributes, ...searchableAttributes]] as [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          string[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter(([_, props]) => props.length > 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getSearchIndexDesignDoc() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let searchIndex = `(doc) => {\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.searchableEntities.forEach(([type, attributes]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      searchIndex += `if (doc._id.startsWith("${type}:")) {\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      attributes.forEach((attr) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        searchIndex += `if (doc["${attr}"]) {\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        searchIndex += `doc["${attr}"].toString().toLowerCase().split(" ").forEach((val) => emit(val))\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        searchIndex += `}\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      searchIndex += `return\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      searchIndex += `}\n`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    searchIndex += `}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return searchIndex;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Returns the results matching the provided search term.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Multiple search terms should be separated by a space
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param searchTerm for which entities should be returned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async getSearchResults(searchTerm: string): Promise<Entity[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const searchTerms = searchTerm.toLowerCase().split(" ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const res = await this.indexingService.queryIndexRaw(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      "search_index/by_name",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        startkey: searchTerms[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        endkey: searchTerms[0] + "\ufff0",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        include_docs: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.getUniqueDocs(res.rows)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((doc) => this.containsSecondarySearchTerms(doc, searchTerms))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((doc) => this.transformDocToEntity(doc));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getUniqueDocs(rows: any[]): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const uniques = new Map<string, any>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    rows.forEach((row) => uniques.set(row.doc._id, row.doc));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return [...uniques.values()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private containsSecondarySearchTerms(doc, searchTerms: string[]): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entityType = Entity.extractTypeFromId(doc._id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const values = this.searchableEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .find(([type]) => type === entityType)[1]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((attr) => doc[attr])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .join(" ")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .toLowerCase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return searchTerms.every((s) => values.includes(s));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private transformDocToEntity(doc): Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const ctor = this.entities.get(Entity.extractTypeFromId(doc._id));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entity = new ctor(doc._id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.schemaService.loadDataIntoEntity(entity, doc);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SessionManagerService.html b/documentation/injectables/SessionManagerService.html new file mode 100644 index 0000000000..ffa2ee4f8e --- /dev/null +++ b/documentation/injectables/SessionManagerService.html @@ -0,0 +1,993 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/session/session-service/session-manager.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This service handles the user session. +This includes an online and offline login and logout. +After a successful login, the database for the current user is initialised.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(remoteAuthService: KeycloakAuthService, localAuthService: LocalAuthService, syncService: SyncService, sessionInfo: SessionSubject, currentUser: CurrentUserSubject, entityMapper: EntityMapperService, loginStateSubject: LoginStateSubject, router: Router, navigator: Navigator, configService: ConfigService, database: Database) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        remoteAuthService + KeycloakAuthService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        localAuthService + LocalAuthService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        syncService + SyncService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        loginStateSubject + LoginStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        navigator + Navigator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        configService + ConfigService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        database + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + clearRemoteSessionIfNecessary + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +clearRemoteSessionIfNecessary() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + getOfflineUsers + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +getOfflineUsers() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Get a list of all users that can log in offline

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : SessionInfo[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + logout + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + logout() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If online, clear the remote session. +If offline, reset the state and forward to login page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + offlineLogin + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +offlineLogin(user: SessionInfo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Login an offline session without sync.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        user + SessionInfo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + remoteLogin + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + remoteLogin() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Login for a remote session and start the sync. +After a user has logged in once online, this user can later also use the app offline. +Should only be called if there is an internet connection

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + remoteLoginAvailable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +remoteLoginAvailable() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Readonly + DEPRECATED_DB_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "RESERVED_FOR" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Readonly + RESET_REMOTE_SESSION_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : "RESET_REMOTE" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SessionInfo, SessionSubject } from "../auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SyncService } from "../../database/sync.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { LoginStateSubject, SessionType } from "../session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { LoginState } from "../session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { KeycloakAuthService } from "../auth/keycloak/keycloak-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { LocalAuthService } from "../auth/local/local-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { PouchDatabase } from "../../database/pouch-database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { environment } from "../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Database } from "../../database/database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { NAVIGATOR_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { CurrentUserSubject } from "../current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityMapperService } from "../../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { filter, take } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Subscription } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ConfigService } from "../../config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This service handles the user session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This includes an online and offline login and logout.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * After a successful login, the database for the current user is initialised.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class SessionManagerService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  readonly DEPRECATED_DB_KEY = "RESERVED_FOR";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  readonly RESET_REMOTE_SESSION_KEY = "RESET_REMOTE";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private pouchDatabase: PouchDatabase;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private remoteLoggedIn = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private updateSubscription: Subscription;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private remoteAuthService: KeycloakAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private localAuthService: LocalAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private syncService: SyncService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private loginStateSubject: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    @Inject(NAVIGATOR_TOKEN) private navigator: Navigator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    database: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (database instanceof PouchDatabase) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.pouchDatabase = database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Login for a remote session and start the sync.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * After a user has logged in once online, this user can later also use the app offline.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Should only be called if there is an internet connection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async remoteLogin() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.loginStateSubject.next(LoginState.IN_PROGRESS);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.remoteLoginAvailable()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return this.remoteAuthService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .login()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .then((user) => this.handleRemoteLogin(user))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          this.loginStateSubject.next(LoginState.LOGIN_FAILED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          // ignore fall back to offline login - if there was a technical error, the AuthService has already logged/reported it
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.loginStateSubject.next(LoginState.LOGIN_FAILED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  remoteLoginAvailable() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return navigator.onLine && environment.session_type === SessionType.synced;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Login an offline session without sync.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  offlineLogin(user: SessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.initializeUser(user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async initializeUser(session: SessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await this.initializeDatabaseForCurrentUser(session);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.sessionInfo.next(session);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.loginStateSubject.next(LoginState.LOGGED_IN);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (session.entityId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.configService.configUpdates.pipe(take(1)).subscribe(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // requires initial config to be loaded first!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.initUserEntity(session.entityId),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initUserEntity(entityId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const entityType = Entity.extractTypeFromId(entityId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .load(entityType, entityId)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .then((res) => this.currentUser.next(res))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .catch(() => undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.updateSubscription = this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .receiveUpdates(entityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          ({ entity }) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            entity.getId() === entityId || entity.getId(true) === entityId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .subscribe(({ entity }) => this.currentUser.next(entity));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Get a list of all users that can log in offline
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getOfflineUsers(): SessionInfo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.localAuthService.getStoredUsers();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If online, clear the remote session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If offline, reset the state and forward to login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async logout() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.remoteLoggedIn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (this.navigator.onLine) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // This will forward to the keycloak logout page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        await this.remoteAuthService.logout();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        localStorage.setItem(this.RESET_REMOTE_SESSION_KEY, "1");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // resetting app state
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.sessionInfo.next(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.updateSubscription?.unsubscribe();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.currentUser.next(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.loginStateSubject.next(LoginState.LOGGED_OUT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.remoteLoggedIn = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.pouchDatabase.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.router.navigate(["/login"], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      queryParams: { redirect_uri: this.router.routerState.snapshot.url },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  clearRemoteSessionIfNecessary() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (localStorage.getItem(this.RESET_REMOTE_SESSION_KEY)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      localStorage.removeItem(this.RESET_REMOTE_SESSION_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return this.remoteAuthService.logout();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async handleRemoteLogin(user: SessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.remoteLoggedIn = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await this.initializeUser(user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.syncService.startSync();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.localAuthService.saveUser(user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async initializeDatabaseForCurrentUser(user: SessionInfo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const userDBName = `${user.name}-${environment.DB_NAME}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // Work on a temporary database before initializing the real one
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const tmpDB = new PouchDatabase();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initDatabase(userDBName, tmpDB);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!(await tmpDB.isEmpty())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Current user has own database, we are done here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.initDatabase(userDBName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initDatabase(environment.DB_NAME, tmpDB);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dbFallback = window.localStorage.getItem(this.DEPRECATED_DB_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const dbAvailable = !dbFallback || dbFallback === user.name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (dbAvailable && !(await tmpDB.isEmpty())) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Old database is available and can be used by the current user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      window.localStorage.setItem(this.DEPRECATED_DB_KEY, user.name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.initDatabase(environment.DB_NAME);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // Create a new database for the current user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initDatabase(userDBName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initDatabase(dbName: string, db = this.pouchDatabase) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (environment.session_type === SessionType.mock) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      db.initInMemoryDB(dbName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      db.initIndexedDB(dbName);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SessionSubject.html b/documentation/injectables/SessionSubject.html new file mode 100644 index 0000000000..2e5dcebb1f --- /dev/null +++ b/documentation/injectables/SessionSubject.html @@ -0,0 +1,300 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/session/auth/session-info.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Use this provider to get information about the currently active session. +E.g. for checking required roles or accessing the unique user identifier.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + BehaviorSubject +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * The session info which holds information about the currently logged-in user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This is retrieved during the login process and will always be present once state changes to `LOGGED_IN`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface SessionInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Name of user account.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * List of roles the logged-in user hold.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  roles: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * List of linked projects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  projects?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * ID of the entity which is connected with the user account.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This is either a full ID or (e.g. Child:123) or only the last part.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * In the later case it refers to the `User` entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityId?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Email address of a user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  email?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Use this provider to get information about the currently active session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * E.g. for checking required roles or accessing the unique user identifier.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class SessionSubject extends BehaviorSubject<SessionInfo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SiteSettingsService.html b/documentation/injectables/SiteSettingsService.html new file mode 100644 index 0000000000..454eb94eda --- /dev/null +++ b/documentation/injectables/SiteSettingsService.html @@ -0,0 +1,939 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/site-settings/site-settings.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Access to site settings stored in the database, like styling, site name and logo.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + LatestEntityLoader +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(title: Title, fileService: FileService, schemaService: EntitySchemaService, enumService: ConfigurableEnumService, entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            title + Title + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            fileService + FileService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            enumService + ConfigurableEnumService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + getPropertyObservable + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +getPropertyObservable(property: P) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type parameters : +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • P
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property + P + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Observable<> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + loadOnce + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + loadOnce() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Do an initial load of the entity to be available through the entityUpdated property +(without watching for continuous updates).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<T | undefined> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + startLoading + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + startLoading() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Initialize the loader to make the entity available and emit continuous updates +through the entityUpdated property

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Readonly + DEFAULT_FAVICON + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "favicon.ico" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + defaultLanguage + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.getPropertyObservable("defaultLanguage") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + displayLanguageSelect + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.getPropertyObservable("displayLanguageSelect") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Readonly + SITE_SETTINGS_LOCAL_STORAGE_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : Entity.createPrefixedId( + SiteSettings.ENTITY_TYPE, + SiteSettings.ENTITY_ID, + ) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + siteName + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.getPropertyObservable("siteName") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + siteSettings + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : this.entityUpdated.pipe(shareReplay(1)) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + entityUpdated + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : new Subject<T>() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from LatestEntityLoader +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            subscribe to this and execute any actions required when the entity changes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SiteSettings } from "./site-settings";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { delay, firstValueFrom, Observable, skipWhile } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { distinctUntilChanged, map, shareReplay } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Title } from "@angular/platform-browser";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FileService } from "../../features/file/file.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import materialColours from "@aytek/material-color-picker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LatestEntityLoader } from "../entity/latest-entity-loader";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Logging } from "../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { availableLocales } from "../language/languages";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ConfigurableEnumService } from "../basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Access to site settings stored in the database, like styling, site name and logo.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class SiteSettingsService extends LatestEntityLoader<SiteSettings> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly DEFAULT_FAVICON = "favicon.ico";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly SITE_SETTINGS_LOCAL_STORAGE_KEY = Entity.createPrefixedId(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    SiteSettings.ENTITY_TYPE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    SiteSettings.ENTITY_ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  siteSettings = this.entityUpdated.pipe(shareReplay(1));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  siteName = this.getPropertyObservable("siteName");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  defaultLanguage = this.getPropertyObservable("defaultLanguage");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  displayLanguageSelect = this.getPropertyObservable("displayLanguageSelect");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private title: Title,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private fileService: FileService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private enumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(SiteSettings, SiteSettings.ENTITY_ID, entityMapper);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.initAvailableLocales();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.siteName.subscribe((name) => this.title.setTitle(name));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.subscribeFontChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.subscribeFaviconChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.subscribeColorChanges("primary");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.subscribeColorChanges("secondary");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.subscribeColorChanges("error");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.initFromLocalStorage();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.cacheInLocalStorage();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super.startLoading();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Making locales enum available at runtime
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * so that UI can show dropdown options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private initAvailableLocales() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.enumService["cacheEnum"](availableLocales);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Do an initial loading of settings from localStorage, if available.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private initFromLocalStorage() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let localStorageSettings: SiteSettings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const stored = localStorage.getItem(this.SITE_SETTINGS_LOCAL_STORAGE_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (stored) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        localStorageSettings = this.schemaService.loadDataIntoEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          new SiteSettings(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          JSON.parse(stored),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } catch (e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        "SiteSettingsService: could not parse settings from localStorage: " + e,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (localStorageSettings) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.entityUpdated.next(localStorageSettings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Store the latest SiteSettings in localStorage to be available before login also.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private cacheInLocalStorage() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityUpdated.subscribe((settings) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const dbFormat =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.schemaService.transformEntityToDatabaseFormat(settings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.SITE_SETTINGS_LOCAL_STORAGE_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        JSON.stringify(dbFormat),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private subscribeFontChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.getPropertyObservable("font").subscribe((font) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      document.documentElement.style.setProperty("--font-family", font),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private subscribeFaviconChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.getPropertyObservable("favicon")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .pipe(delay(0))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .subscribe(async (icon) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const favIcon: HTMLLinkElement = document.querySelector("#appIcon");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (icon) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          const entity = await firstValueFrom(this.siteSettings);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          const imgUrl = await firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            this.fileService.loadFile(entity, "favicon"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          favIcon.href = Object.values(imgUrl)[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          favIcon.href = this.DEFAULT_FAVICON;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private subscribeColorChanges(property: "primary" | "secondary" | "error") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.getPropertyObservable(property).subscribe((color) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (color) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const palette = materialColours(color);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        palette["A100"] = palette["200"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        palette["A200"] = palette["300"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        palette["A400"] = palette["500"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        palette["A700"] = palette["800"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        Object.entries(palette).forEach(([key, value]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          document.documentElement.style.setProperty(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            `--${property}-${key}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            `#${value}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  getPropertyObservable<P extends keyof SiteSettings>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    property: P,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Observable<SiteSettings[P]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.siteSettings.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      skipWhile((v) => !v[property]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      map((s) => s[property]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      distinctUntilChanged(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SqlReportService.html b/documentation/injectables/SqlReportService.html new file mode 100644 index 0000000000..ad4ea0c2c3 --- /dev/null +++ b/documentation/injectables/SqlReportService.html @@ -0,0 +1,742 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/reporting/sql-report/sql-report.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Service that handles management of necessary SQS configurations

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(http: HttpClient) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              http + HttpClient + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + fetchReportCalculation + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +fetchReportCalculation(reportId: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              reportId + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Async + query + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + query(report: SqlReport, from: Date, to: Date, forceCalculation) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Get the combines results of the SQL statements in the report

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptionalDefault valueDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              report + SqlReport + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              from + Date + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              to + Date + + No + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              forceCalculation + + No + + false + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Creates a new Calculation, even when an existing calculation is available

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<ReportData> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Static + QUERY_PROXY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Default value : "/query" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { SqlReport } from "../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { map, switchMap, takeWhile } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { firstValueFrom, interval, lastValueFrom, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ReportData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  calculation: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  data: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ReportCalculation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  startDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  endDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  args: Map<String, String>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  status: "PENDING" | "RUNNING" | "FINISHED_SUCCESS" | "FINISHED_ERROR";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  outcome: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    result_hash: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Service that handles management of necessary SQS configurations
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class SqlReportService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static QUERY_PROXY = "/query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(private http: HttpClient) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get the combines results of the SQL statements in the report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param forceCalculation Creates a new Calculation, even when an existing calculation is available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async query(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    report: SqlReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    forceCalculation = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (forceCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.createReportCalculation(report.getId(), from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .get<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          ReportCalculation[]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        >(`${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${report.getId()}`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          switchMap((reportDetails) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            let lastReports = this.getLastReports(reportDetails, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (lastReports.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              return this.createReportCalculation(report.getId(), from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              return this.fetchReportCalculationData(lastReports[0].id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getLastReports(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    reportDetails: ReportCalculation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return reportDetails
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.filterFromToDates(value, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .sort((a: ReportCalculation, b: ReportCalculation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.sortByEndDate(a, b),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private createReportCalculation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    reportId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .post<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            from: moment(from).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            to: moment(to).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        map((value) => value.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        switchMap((id) => lastValueFrom(this.waitForReportData(id))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        switchMap((value: ReportCalculation) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          return this.handleReportCalculationResponse(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  fetchReportCalculation(reportId: string): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.http.get<ReportCalculation>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private waitForReportData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    reportCalculationId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return interval(1500).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      switchMap(() => this.fetchReportCalculation(reportCalculationId)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      takeWhile((response) => this.pollCondition(response), true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private fetchReportCalculationData(reportId: string): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.http.get<ReportData>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}/data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private handleReportCalculationResponse(value: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (value.status) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case "FINISHED_SUCCESS":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.fetchReportCalculationData(value.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        throw new Error("Invalid ReportCalculation outcome.");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private sortByEndDate(a: ReportCalculation, b: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return new Date(b.endDate).getTime() - new Date(a.endDate).getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private pollCondition(reportCalculation: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      reportCalculation.status !== "FINISHED_SUCCESS" &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      reportCalculation.status !== "FINISHED_ERROR"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private filterFromToDates(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    value: ReportCalculation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let argFrom = value.args.get("from");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let argTo = value.args.get("to");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!argFrom || !argTo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      moment(argFrom.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        moment(from).format("YYYY-MM-DD") &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      moment(argTo.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        moment(to).format("YYYY-MM-DD")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/StringDatatype.html b/documentation/injectables/StringDatatype.html new file mode 100644 index 0000000000..3ff0d2e96e --- /dev/null +++ b/documentation/injectables/StringDatatype.html @@ -0,0 +1,994 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/string/string.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Datatype for the EntitySchemaService transforming values to "string".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This type is automatically used if you annotate a class's property that has the TypeScript type "string" +ensuring that even if values in the database from other sources are not of type string, the property will be a string.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                For example:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @DatabaseField() myString: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                @DatabaseField({dataType: 'string'}) myValue: any;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + DefaultDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToDatabaseFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:38 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +transformToObjectFormat(value) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "string" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:35 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Static + + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : $localize`:datatype-label:text` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:36 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "EditText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Defined in DefaultDatatype:60 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Datatype for the EntitySchemaService transforming values to "string".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This type is automatically used if you annotate a class's property that has the TypeScript type "string"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * ensuring that even if values in the database from other sources are not of type string, the property will be a string.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * `@DatabaseField() myString: string;`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * `@DatabaseField({dataType: 'string'}) myValue: any;`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class StringDatatype extends DefaultDatatype<string, string> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override dataType = "string";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static override label: string = $localize`:datatype-label:text`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  transformToDatabaseFormat(value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return String(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  transformToObjectFormat(value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return String(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SyncService.html b/documentation/injectables/SyncService.html new file mode 100644 index 0000000000..b73347ddd8 --- /dev/null +++ b/documentation/injectables/SyncService.html @@ -0,0 +1,696 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/database/sync.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This service initializes the remote DB and manages the sync between the local and remote DB.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +constructor(database: Database, authService: KeycloakAuthService, syncStateSubject: SyncStateSubject, navigator: Navigator) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  database + Database + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  authService + KeycloakAuthService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  syncStateSubject + SyncStateSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  navigator + Navigator + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + startSync + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +startSync() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Initializes the remote DB and starts the sync

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + sync + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +sync() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Execute a (one-time) sync between the local and server database.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Returns : Promise<SyncResult> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + LAST_SYNC_KEY + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : "LAST_SYNC" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + liveSyncEnabled + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Continuous syncing in background.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + Static + Readonly + SYNC_INTERVAL + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Default value : 30000 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Database } from "./database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { PouchDatabase } from "./pouch-database";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Logging } from "../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SyncState } from "../session/session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SyncStateSubject } from "../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  debounceTime,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  filter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  mergeMap,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  retry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  takeWhile,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { KeycloakAuthService } from "../session/auth/keycloak/keycloak-auth.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Config } from "../config/config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { from, interval, merge, of } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NAVIGATOR_TOKEN } from "../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * This service initializes the remote DB and manages the sync between the local and remote DB.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class SyncService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly LAST_SYNC_KEY = "LAST_SYNC";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private readonly POUCHDB_SYNC_BATCH_SIZE = 500;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static readonly SYNC_INTERVAL = 30000;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private remoteDatabase: PouchDatabase;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private remoteDB: PouchDB.Database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private localDB: PouchDB.Database;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private database: Database,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private authService: KeycloakAuthService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private syncStateSubject: SyncStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(NAVIGATOR_TOKEN) private navigator: Navigator,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.remoteDatabase = new PouchDatabase(this.authService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.logSyncContext();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.syncStateSubject
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(filter((state) => state === SyncState.COMPLETED))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        const lastSyncTime = new Date().toISOString();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        localStorage.setItem(SyncService.LAST_SYNC_KEY, lastSyncTime);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.logSyncContext();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async logSyncContext() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const lastSyncTime = localStorage.getItem(SyncService.LAST_SYNC_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const configRev = await this.database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .get(Entity.createPrefixedId(Config.ENTITY_TYPE, Config.CONFIG_KEY))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .catch(() => null)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .then((config) => config?._rev);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    Logging.addContext("Aam Digital sync", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      "last sync completed": lastSyncTime,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      "config _rev": configRev,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Initializes the remote DB and starts the sync
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  startSync() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.initDatabases();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.liveSync();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Create the remote DB and configure it to use correct cookies.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private initDatabases() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.remoteDatabase.initRemoteDB(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      `${environment.DB_PROXY_PREFIX}/${environment.DB_NAME}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.remoteDB = this.remoteDatabase.getPouchDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.database instanceof PouchDatabase) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.localDB = this.database.getPouchDB();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Execute a (one-time) sync between the local and server database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  sync(): Promise<SyncResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.navigator.onLine) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      Logging.debug("Not syncing because offline");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.syncStateSubject.next(SyncState.UNSYNCED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return Promise.resolve({});
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.syncStateSubject.next(SyncState.STARTED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.localDB
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .sync(this.remoteDB, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        batch_size: this.POUCHDB_SYNC_BATCH_SIZE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .then((res) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Logging.debug("sync completed", res);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.syncStateSubject.next(SyncState.COMPLETED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return res as SyncResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .catch((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        Logging.debug("sync error", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.syncStateSubject.next(SyncState.FAILED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Continuous syncing in background.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  liveSyncEnabled: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private liveSync() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.liveSyncEnabled = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    merge(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // do an initial sync immediately
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      of(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // re-sync at regular interval
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      interval(SyncService.SYNC_INTERVAL),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      // and immediately sync to upload any local changes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.database.changes(""),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        debounceTime(500),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        mergeMap(() => from(this.sync())),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        retry({ delay: SyncService.SYNC_INTERVAL }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        takeWhile(() => this.liveSyncEnabled),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subscribe();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +type SyncResult = PouchDB.Replication.SyncResultComplete<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/SyncStateSubject.html b/documentation/injectables/SyncStateSubject.html new file mode 100644 index 0000000000..0ae35b5fd1 --- /dev/null +++ b/documentation/injectables/SyncStateSubject.html @@ -0,0 +1,283 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/session/session-type.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + BehaviorSubject +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +constructor() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { LoginState } from "./session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SyncState } from "./session-states/sync-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Available Session types with their keys that can be used in the app-config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export enum SessionType {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * synced local PouchDB and remote CouchDB connection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  synced = "synced",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * local only demo mode - PouchDB database without a remote sync counterpart
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  local = "local",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * in-memory adapter of pouchdb database - data is lost after leaving the page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  mock = "mock",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class LoginStateSubject extends BehaviorSubject<LoginState> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super(LoginState.LOGGED_OUT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class SyncStateSubject extends BehaviorSubject<SyncState> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    super(SyncState.UNSYNCED);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/TodoService.html b/documentation/injectables/TodoService.html new file mode 100644 index 0000000000..c8b028089f --- /dev/null +++ b/documentation/injectables/TodoService.html @@ -0,0 +1,521 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/todos/todo.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +constructor(currentUser: CurrentUserSubject, alertService: AlertService, entityMapper: EntityMapperService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      currentUser + CurrentUserSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      alertService + AlertService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entityMapper + EntityMapperService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + completeTodo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + completeTodo(todo: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      todo + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + Async + uncompleteTodo + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + uncompleteTodo(todo: Todo) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      todo + Todo + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AlertService } from "../../core/alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Todo } from "./model/todo";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import moment from "moment/moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { CurrentUserSubject } from "../../core/session/current-user-subject";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class TodoService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private currentUser: CurrentUserSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async completeTodo(todo: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const nextTodo = await this.createNextRepetition(todo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    todo.completed = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      completedBy: this.currentUser.value?.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      completedAt: new Date(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      nextRepetition: nextTodo?.getId(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.entityMapper.save(todo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private async createNextRepetition(originalTodo: Todo): Promise<Todo | null> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!originalTodo.repetitionInterval) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const nextTodo = originalTodo.copy(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    nextTodo.deadline = moment(nextTodo.deadline)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .add(nextTodo.repetitionInterval.amount, nextTodo.repetitionInterval.unit)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .toDate();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.entityMapper.save(nextTodo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.alertService.addInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      $localize`:snackbar message informing about next recurring task:A new recurring ${Todo.label} has been created based on the repetition interval.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return nextTodo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async uncompleteTodo(todo: Todo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    todo.completed = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.entityMapper.save(todo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // we do not delete recurring todos created when completing this for now
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/UnsavedChangesService.html b/documentation/injectables/UnsavedChangesService.html new file mode 100644 index 0000000000..72a432c54e --- /dev/null +++ b/documentation/injectables/UnsavedChangesService.html @@ -0,0 +1,448 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-details/form/unsaved-changes.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This service handles the state whether there are currently some unsaved changes in the app. +These pending changes might come from a form component or popup. +If there are pending changes, certain actions in the app should trigger a user confirmation if the changes should be discarded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +constructor(confirmation: ConfirmationDialogService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        confirmation + ConfirmationDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + Async + checkUnsavedChanges + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + checkUnsavedChanges() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Shows a user confirmation popup if there are unsaved changes which will be discarded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Returns : unknown + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + pending + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Default value : false +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Set to true if the user has pending changes that are not yet saved. +Set to false once the changes have been saved or discarded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ConfirmationDialogService } from "../../common-components/confirmation-dialog/confirmation-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This service handles the state whether there are currently some unsaved changes in the app.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * These pending changes might come from a form component or popup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * If there are pending changes, certain actions in the app should trigger a user confirmation if the changes should be discarded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class UnsavedChangesService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Set to true if the user has pending changes that are not yet saved.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Set to false once the changes have been saved or discarded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private confirmation: ConfirmationDialogService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // prevent browser navigation if changes are pending
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    window.onbeforeunload = (e) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (this.pending) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        e.preventDefault();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        e.returnValue = "onbeforeunload";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Shows a user confirmation popup if there are unsaved changes which will be discarded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async checkUnsavedChanges() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.pending) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const confirmed = await this.confirmation.getDiscardConfirmation();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (confirmed) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.pending = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/UpdateManagerService.html b/documentation/injectables/UpdateManagerService.html new file mode 100644 index 0000000000..8cbd51a5e2 --- /dev/null +++ b/documentation/injectables/UpdateManagerService.html @@ -0,0 +1,635 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/ui/latest-changes/update-manager.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Check with the server whether a new version of the app is available in order to notify the user.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          As we are using ServiceWorkers to cache the app to also work offline, explicit checking for updates is necessary. +The user receives a toast (hover message) if an update is available +and can click that to reload the app with the new version.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +constructor(appRef: ApplicationRef, updates: SwUpdate, snackBar: MatSnackBar, latestChangesDialogService: LatestChangesDialogService, unsavedChanges: UnsavedChangesService, location: Location) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          appRef + ApplicationRef + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          updates + SwUpdate + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          snackBar + MatSnackBar + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          latestChangesDialogService + LatestChangesDialogService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          unsavedChanges + UnsavedChangesService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          location + Location + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + detectUnrecoverableState + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + detectUnrecoverableState() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Notifies user if app ends up in an unrecoverable state due to SW updates

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + listenToAppUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + listenToAppUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Display a notification to the user in case a new app version is detected by the ServiceWorker.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + Public + regularlyCheckForUpdates + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + regularlyCheckForUpdates() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Schedule a regular check with the server for updates.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : void + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { ApplicationRef, Inject, Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { SwUpdate } from "@angular/service-worker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { filter, first } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { concat, interval } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LatestChangesDialogService } from "./latest-changes-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { LOCATION_TOKEN } from "../../../utils/di-tokens";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { UnsavedChangesService } from "../../entity-details/form/unsaved-changes.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Check with the server whether a new version of the app is available in order to notify the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * As we are using ServiceWorkers to cache the app to also work offline, explicit checking for updates is necessary.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * The user receives a toast (hover message) if an update is available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * and can click that to reload the app with the new version.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({ providedIn: "root" })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class UpdateManagerService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly UPDATE_PREFIX = "update-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private appRef: ApplicationRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private updates: SwUpdate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private latestChangesDialogService: LatestChangesDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private unsavedChanges: UnsavedChangesService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(LOCATION_TOKEN) private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.updates.unrecoverable.subscribe((err) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.error("App is in unrecoverable state: " + err.reason);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const currentVersion = localStorage.getItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (currentVersion && currentVersion.startsWith(this.UPDATE_PREFIX)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        currentVersion.replace(this.UPDATE_PREFIX, ""),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.latestChangesDialogService.showLatestChangesIfUpdated();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Display a notification to the user in case a new app version is detected by the ServiceWorker.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public listenToAppUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.updates.isEnabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.updates.versionUpdates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .pipe(filter((e) => e.type === "VERSION_READY"))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .subscribe(() => this.updateIfPossible());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Schedule a regular check with the server for updates.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public regularlyCheckForUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.updates.isEnabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // Allow the app to stabilize first, before starting polling for updates with `interval()`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const appIsStable$ = this.appRef.isStable.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      first((isStable) => isStable === true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const everyHours$ = interval(60 * 60 * 1000);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const everyHoursOnceAppIsStable$ = concat(appIsStable$, everyHours$);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    everyHoursOnceAppIsStable$.subscribe(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.updates.checkForUpdate().catch((err) => Logging.error(err)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private updateIfPossible() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const currentVersion =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      localStorage.getItem(LatestChangesDialogService.VERSION_KEY) || "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (currentVersion.startsWith(this.UPDATE_PREFIX)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Sometimes this is triggered multiple times for one update
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.unsavedChanges.pending) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // app cannot be safely reloaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.UPDATE_PREFIX + currentVersion,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.snackBar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          $localize`A new version of the app is available!`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          $localize`:Action that a user can update the app with:Update`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .onAction()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            LatestChangesDialogService.VERSION_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            currentVersion,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.location.reload();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Notifies user if app ends up in an unrecoverable state due to SW updates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  public detectUnrecoverableState() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.updates.isEnabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.updates.unrecoverable.subscribe(({ reason }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.warn(`SW in unrecoverable state: ${reason}`);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.snackBar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          $localize`The app is in a unrecoverable state, please reload.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          $localize`:Action that a user can reload the app with:Reload`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .onAction()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .subscribe(() => this.location.reload());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/UpdateMetadataDatatype.html b/documentation/injectables/UpdateMetadataDatatype.html new file mode 100644 index 0000000000..abc058a3c0 --- /dev/null +++ b/documentation/injectables/UpdateMetadataDatatype.html @@ -0,0 +1,1071 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity/model/update-metadata.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Datatype for internally saved meta-data of entity edits.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + SchemaEmbedDatatype +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +constructor(schemaService: EntitySchemaService) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaService + EntitySchemaService + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToDatabaseFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToDatabaseFormat(value: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:42 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + transformToObjectFormat + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +transformToObjectFormat(value: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + anonymize + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + anonymize(value: EntityType, schemaField: EntitySchemaField, parent: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:137 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (Partially) anonymize to "retain-anonymized" for reporting purposes without personal identifiable information.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value + EntityType + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The original value to be anonymized

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            parent + any + + No + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + importIncompleteAdditionalConfigBadge + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +importIncompleteAdditionalConfigBadge(col: ColumnMapping) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:129 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Output a label indicating whether the given column mapping needs user configuration for the "additional" config +or has a valid, complete "additional" config. +returns "undefined" if no user action is required.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            col + ColumnMapping + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Async + importMapFunction + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + importMapFunction(val: any, schemaField: EntitySchemaField, additional?: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:103 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The function used to map values from the import data to values in the entities to be created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NameTypeOptionalDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            val + any + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The value from an imported cell to be mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schemaField + EntitySchemaField + + No + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The schema field definition for the target property into which the value is mapped

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            additional + any + + Yes + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            config as returned by the configComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Returns : Promise<EntityType | []> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Properties +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + + dataType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : UpdateMetadata.DATA_TYPE +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:12 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + embeddedType + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : UpdateMetadata as unknown as EntityConstructor +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from SchemaEmbedDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + editComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "EditText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:61 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Optional + importConfigComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:121 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A component to be display as a dialog to configure the transformation function +(e.g. defining a format or mapping)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + Static + label + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : $localize`:datatype-label:any` +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:49 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The human-readable name for this dataType, used in config UIs.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + viewComponent + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Default value : "DisplayText" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Inherited from DefaultDatatype +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Defined in DefaultDatatype:60 +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The default component how this datatype should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { UpdateMetadata } from "./update-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { SchemaEmbedDatatype } from "../../basic-datatypes/schema-embed/schema-embed.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityConstructor } from "./entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Datatype for internally saved meta-data of entity edits.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class UpdateMetadataDatatype extends SchemaEmbedDatatype {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static override dataType = UpdateMetadata.DATA_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  override embeddedType = UpdateMetadata as unknown as EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(schemaService: EntitySchemaService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(schemaService);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/injectables/UserRoleGuard.html b/documentation/injectables/UserRoleGuard.html new file mode 100644 index 0000000000..c728c7ce13 --- /dev/null +++ b/documentation/injectables/UserRoleGuard.html @@ -0,0 +1,431 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/permissions/permission-guard/user-role.guard.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A guard that checks the roles of the current user against the permissions which are saved in the route data.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + AbstractPermissionGuard +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +constructor(router: Router, sessionInfo: SessionSubject) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              router + Router + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              sessionInfo + SessionSubject + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + Protected + Async + canAccessRoute + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + canAccessRoute(routeData: DynamicComponentConfig) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              routeData + DynamicComponentConfig + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : Promise<boolean> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AbstractPermissionGuard } from "./abstract-permission.guard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * A guard that checks the roles of the current user against the permissions which are saved in the route data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class UserRoleGuard extends AbstractPermissionGuard {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super(router);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  protected async canAccessRoute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    routeData: DynamicComponentConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Promise<boolean> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const permittedRoles = routeData?.permittedUserRoles;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const user = this.sessionInfo.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (permittedRoles?.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // Check if user has a role which is in the list of permitted roles
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return permittedRoles.some((role) => user.roles.includes(role));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // No config set => all users are allowed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interceptors/AcceptLanguageInterceptor.html b/documentation/interceptors/AcceptLanguageInterceptor.html new file mode 100644 index 0000000000..78dab709fe --- /dev/null +++ b/documentation/interceptors/AcceptLanguageInterceptor.html @@ -0,0 +1,400 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/language/accept-language.interceptor.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Constructor

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +constructor(locale: string) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                locale + string + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + intercept + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +intercept(request: HttpRequest<>, next: HttpHandler) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                request + HttpRequest<> + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                next + HttpHandler + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Returns : Observable<HttpEvent<>> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Inject, Injectable, LOCALE_ID } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  HttpEvent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  HttpHandler,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  HttpInterceptor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  HttpRequest,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class AcceptLanguageInterceptor implements HttpInterceptor {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(@Inject(LOCALE_ID) private locale: string) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  intercept(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    request: HttpRequest<unknown>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    next: HttpHandler,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): Observable<HttpEvent<unknown>> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return next.handle(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      request.clone({ setHeaders: { "Accept-Language": this.locale } }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AdditionalImportAction.html b/documentation/interfaces/AdditionalImportAction.html new file mode 100644 index 0000000000..0114ab01d9 --- /dev/null +++ b/documentation/interfaces/AdditionalImportAction.html @@ -0,0 +1,330 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/import/import-additional-actions/additional-import-action.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Definition of an additional generic import action, e.g. linking imported records to an existing group entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + type + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + type: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  export interface AdditionalImportAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  type: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AdminTabTemplateContext.html b/documentation/interfaces/AdminTabTemplateContext.html new file mode 100644 index 0000000000..5a7e6407d3 --- /dev/null +++ b/documentation/interfaces/AdminTabTemplateContext.html @@ -0,0 +1,343 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/admin/building-blocks/admin-tabs/admin-tab-template.directive.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + $implicit + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + $implicit: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + index + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + index: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Directive, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +// following guide from https://medium.com/@thomas.laforge/ngtemplateoutlet-type-checking-5d2dcb07a2c6
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +// to ensure typing of ng-template context
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +interface AdminTabTemplateContext<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  $implicit: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  index: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Directive({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "ng-template[appAdminTabTemplate]",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class AdminTabTemplateDirective<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input("appAdminTabTemplate") tabs!: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static ngTemplateContextGuard<TContext>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    dir: AdminTabTemplateDirective<TContext>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ctx: unknown,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): ctx is AdminTabTemplateContext<TContext> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/Aggregation.html b/documentation/interfaces/Aggregation.html new file mode 100644 index 0000000000..6920e33030 --- /dev/null +++ b/documentation/interfaces/Aggregation.html @@ -0,0 +1,553 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/reporting/data-aggregation.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + aggregations + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + aggregations: Aggregation[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Aggregation[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + groupBy + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + groupBy: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + query + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + query: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { QueryService } from "../../core/export/query.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { GroupByDescription, ReportRow } from "./report-row";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { groupBy } from "../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface Aggregation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  query: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  groupBy?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  aggregations?: Aggregation[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DataAggregationService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private fromDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private toDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private queryService: QueryService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  public async calculateReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    aggregations: Aggregation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<ReportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.fromDate = from;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.toDate = to;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const fullQuery = aggregations.map((a) => this.concatQueries(a)).join("|");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.queryService.cacheRequiredData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      fullQuery,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.calculateAggregations(aggregations);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private concatQueries(config: Aggregation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return (config.aggregations ?? []).reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (query, c) => query + this.concatQueries(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      config.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private calculateAggregations(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    aggregations: Aggregation[] = [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data?: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    additionalValues: GroupByDescription[] = [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ReportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const resultRows: ReportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let currentSubRows = resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const aggregation of aggregations) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const queryResult = this.queryService.queryData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        aggregation.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.fromDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.toDate,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (aggregation.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const newRow = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          header: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            label: aggregation.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            groupedBy: additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            result: queryResult?.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          subRows: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        resultRows.push(newRow);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        currentSubRows = newRow.subRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (aggregation.aggregations) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        currentSubRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.calculateAggregations(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            aggregation.aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            queryResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (aggregation.groupBy) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        currentSubRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            aggregation.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            aggregation.aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            aggregation.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            queryResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            additionalValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    properties: string[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    aggregations: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    label: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    additionalValues: GroupByDescription[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ReportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const resultRows: ReportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (let i = properties.length; i > 0; i--) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const currentProperty = properties[i - 1];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const remainingProperties = properties.slice(i);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const groupingResults = groupBy(data, currentProperty);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      for (const [group, entries] of groupingResults) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const groupingValues = additionalValues.concat({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          property: currentProperty,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          value: group,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const newRow: ReportRow = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          header: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            label: label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            groupedBy: groupingValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            result: entries.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          subRows: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        newRow.subRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.calculateAggregations(aggregations, entries, groupingValues),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        newRow.subRows.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...this.calculateGroupBy(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            remainingProperties,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            aggregations,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            entries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            groupingValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        resultRows.push(newRow);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return resultRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AggregationReport.html b/documentation/interfaces/AggregationReport.html new file mode 100644 index 0000000000..8cf84dbaaa --- /dev/null +++ b/documentation/interfaces/AggregationReport.html @@ -0,0 +1,394 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/report-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Reports handles by the {@class DataAggregationService}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ReportConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + aggregationDefinitions + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + aggregationDefinitions: Aggregation[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Aggregation[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + mode + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + mode: + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatabaseEntity } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Aggregation } from "./data-aggregation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatabaseField } from "../../core/entity/database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A report can be accessed by users to generate aggregated statistics or customized exports calculated from available data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * "read" permission for a ReportConfig entity is also used to control which users can generate the report's results.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This is the class which is saved to the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * However, when using this in code, use the {@link ReportEntity} instead which provides better type safety.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@DatabaseEntity("ReportConfig")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +class ReportConfig extends Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** human-readable title of the report */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (optional) mode of export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The {@link ReportEntity} holds the restriction on valid report modes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is "reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() mode?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** the definitions to calculate the report's aggregations */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() aggregationDefinitions: any[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Union type to enable type safety for report configs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Use this instead of the {@class ReportConfig}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type ReportEntity = AggregationReport | ExportingReport | SqlReport;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This allows the `ReportEntity` to also be used as a constructor or in the `EntityMapper`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export const ReportEntity = ReportConfig as EntityConstructor<ReportEntity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class DataAggregationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface AggregationReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode: "reporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: Aggregation[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class DataTransformationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ExportingReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If no mode is set, it will default to 'exporting'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode?: "exporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class SqlReportService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface SqlReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode: "sql";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Array of valid SQL SELECT statements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AlertConfig.html b/documentation/interfaces/AlertConfig.html new file mode 100644 index 0000000000..2388a89a1c --- /dev/null +++ b/documentation/interfaces/AlertConfig.html @@ -0,0 +1,402 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/alerts/alert-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + display + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + display: AlertDisplay + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : AlertDisplay + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The display style (e.g. whether the alert has to be actively dismissed by the user)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + message + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + message: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The text of the message

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + type + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + type: "info" | "warning" | "danger" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : "info" | "warning" | "danger" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          The type of the message

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Info messages provide feedback or information to the user without any required action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Warning messages provide feedback about unexpected or potentially unintended events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Danger messages inform about errors or critical conditions that the user should not overlook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { AlertDisplay } from "./alert-display";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface AlertConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The text of the message */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  message: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The type of the message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Info messages provide feedback or information to the user without any required action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Warning messages provide feedback about unexpected or potentially unintended events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Danger messages inform about errors or critical conditions that the user should not overlook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  type: "info" | "warning" | "danger";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The display style (e.g. whether the alert has to be actively dismissed by the user) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: AlertDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ExtendedAlertConfig extends AlertConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  timestamp: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AttendanceInfo.html b/documentation/interfaces/AttendanceInfo.html new file mode 100644 index 0000000000..8d06b64d4c --- /dev/null +++ b/documentation/interfaces/AttendanceInfo.html @@ -0,0 +1,861 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/export/query.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + participant + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + participant: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + school + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + school: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + status + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + status: EventAttendance + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EventAttendance + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Note } from "../../child-dev-project/notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EventNote } from "../../child-dev-project/attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ChildSchoolRelation } from "../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ChildrenService } from "../../child-dev-project/children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AttendanceService } from "../../child-dev-project/attendance/attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EventAttendance } from "../../child-dev-project/attendance/model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import jsonQuery from "json-query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityRegistry } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A query service which uses the json-query library (https://github.com/auditassistant/json-query).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class QueryService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private entities: { [type: string]: { [id: string]: Entity } } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * A map of information about the loading state of the different entity types
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private entityInfo: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    [type: string]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * A optional function which can be used to load this entity that might use a start and end date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * @param form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dataFunction?: (form, to) => Promise<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * Whether already all entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      allLoaded?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * A certain range in which entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      rangeLoaded?: { from: Date; to: Date };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       * Whether updates of this entity are listened to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      updating?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    Note: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.childrenService.getNotesInTimespan(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EventNote: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.attendanceService.getEventsOnDate(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * A list of further aliases for which a certain entity needs to be loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This can be necessary if a function requires a certain entity to be present.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private queryStringMap: [string, EntityConstructor][] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ["getAttendanceArray\\(true\\)", ChildSchoolRelation],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityRegistry.forEach((entity, name) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.queryStringMap.push([name, entity]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Runs the query on the passed data object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param query a string or array according to the json-query language (https://github.com/auditassistant/json-query)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param from a date which can be accessed in the query using a ?.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param to a date which can be accessed in the query using another ?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data the data on which the query should run, default is all entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the results of the query on the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  public queryData(query: string, from?: Date, to?: Date, data?: any): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!data) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data = this.entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return jsonQuery([query, from, to], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data: data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      locals: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        toArray: this.toArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        unique: this.unique,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        count: this.count,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        sum: this.sum,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        avg: this.avg,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        toEntities: this.toEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        getRelated: this.getRelated.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        filterByObjectAttribute: this.filterByObjectAttribute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        getIds: this.getIds,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        getParticipantsWithAttendance: this.getParticipantsWithAttendance,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        getAttendanceArray: this.getAttendanceArray.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        getAttendanceReport: this.getAttendanceReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        addEntities: this.addEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        setString: this.setString,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }).value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Call this function to prefetch required data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param query single query or concatenation of all query strings that will be executed soon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param from date from which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param to date to which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async cacheRequiredData(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const uncachedEntities = this.getUncachedEntities(query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const dataPromises = uncachedEntities.map((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (info?.dataFunction) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return info.dataFunction(from, to).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          info.rangeLoaded = { from, to };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return this.entityMapper.loadType(entity).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          this.entityInfo[entity.ENTITY_TYPE] = { allLoaded: true };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    await Promise.all(dataPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.applyEntityUpdates(uncachedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private applyEntityUpdates(uncachedEntities: EntityConstructor[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    uncachedEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter(({ ENTITY_TYPE }) => !this.entityInfo[ENTITY_TYPE].updating)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .forEach(({ ENTITY_TYPE }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.entityInfo[ENTITY_TYPE].updating = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .receiveUpdates(ENTITY_TYPE)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .subscribe(({ entity, type }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            if (type === "remove") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +              delete this.entities[ENTITY_TYPE][entity.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +              this.entities[ENTITY_TYPE][entity.getId()] = entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Get entities that are referenced in the query string and are not sufficiently cached.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param query
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getUncachedEntities(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.queryStringMap
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter(([matcher]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        // matches query string without any alphanumeric characters before or after (e.g. so Child does not match ChildSchoolRelation)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        query?.match(new RegExp(`(^|\\W)${matcher}(\\W|$)`)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map(([_, entity]) => entity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          info === undefined ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          !(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            info.allLoaded ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            (info.rangeLoaded?.from <= from && info.rangeLoaded?.to >= to)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setEntities<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityClass: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entities: T[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entities[entityClass.ENTITY_TYPE] = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entities.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (this.entities[entityClass.ENTITY_TYPE][entity.getId()] = entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Creates an array containing the value of each key of the object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * e.g. `{a: 1, b: 2} => [1,2]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This should be used when iterating over all documents of a given entity type because they are stored as
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * `"{entity._id}": {entity}`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param obj the object which should be transformed to an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the values of the input object as a list
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private toArray(obj): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Object.values(obj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns a copy of the input array without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data the array where duplicates should be removed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns a list without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private unique(data: any[]): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return new Array(...new Set(data));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Get the size of an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data the data for which the length should be returned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the length of the input array or 0 if no array is provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private count(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data ? data.length : 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns the (integer) sum of the provided array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * It can also handle integers in strings, e.g. "3"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private sum(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return data.reduce((res, cur) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const parsed = Number.parseInt(cur);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return Number.isNaN(parsed) ? res : res + parsed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns the avg of the provided array as string.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * It can also handle integers in strings, e.g. "3".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The average is only calculated if the value exists and is a valid number.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param decimals the amount of decimals for the result, default 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private avg(data: any[], decimals = 0): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const numbers = data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((d) => Number.parseInt(d))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter((i) => !Number.isNaN(i));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const result =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      numbers.length === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ? 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        : numbers.reduce((i, sum) => sum + i, 0) / numbers.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return result.toFixed(decimals);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Turns a list of ids (with the entity prefix) into a list of entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param ids the array of ids with entity prefix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entityPrefix indicate the type of entity that should be loaded. This is required for pre-loading the required entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns a list of entity objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private toEntities(ids: string[], entityPrefix: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!entityPrefix) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      throw new Error("Entity type not defined");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!ids) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return ids
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (typeof id !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          console.debug("invalid entity id in Query :toEntities", id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const prefix = id.split(":")[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return this.entities[prefix][id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter((entity) => !!entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns all entities which reference a entity from the passed list of entities (by their id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param srcEntities the entities for which relations should be found
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entityType the type of entities where relations should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param relationKey the name of the attribute that holds the reference.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *                    The attribute can be a string or a list of strings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns a list of the related unique entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getRelated(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    srcEntities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    relationKey: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const targetEntities = this.toArray(this.entities[entityType]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const srcIds = srcEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .filter((entity) => typeof entity.getId === "function") // skip empty placeholder objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((entity) => entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      targetEntities.length > 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      Array.isArray(targetEntities[0][relationKey])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (entity[relationKey] as string[]).some((id) => srcIds.includes(id)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        entity[relationKey] ? srcIds.includes(entity[relationKey]) : false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Filters the data when the filter value is a object (e.g. configurable enum) rather than a simple value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param objs the objects to be filtered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param attr the attribute of the objects which is a object itself
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param key the key of the attribute-object which should be compared
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param value the value which will be compared with `obj[attr][key]` for each obj in objs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *              The value can be a simple value or list of values separated by `|` (e.g. SCHOOL_CLASS|LIFE_SKILLS).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *              If it is a list of values, then the object is returned if its value matches any of the given values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the filtered objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private filterByObjectAttribute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    objs: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    attr: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    key: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // splits at "|" and removes optional whitespace before or after the symbol
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const values = value.trim().split(/\s*\|\s*/);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return objs.filter((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (obj?.hasOwnProperty(attr)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        return values.includes(obj[attr][key]?.toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Returns a list of IDs held by each object (e.g. the children-IDs held by an array of notes)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param objs the objects which each holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param key the key on which each object holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns a one dimensional string array holding all IDs which are held by the objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *            This list may contain duplicate IDs. If this is not desired, use `:unique` afterwards.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getIds(objs: any[], key: string): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const ids: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    objs.forEach((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (obj.hasOwnProperty(key)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ids.push(...obj[key]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return ids;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Return the ids of all the participants of the passed events with the defined attendance status using the `countAs`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * attribute. The list may contain duplicates and the id does not necessarily have the entity prefix.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param events the array of events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param attendanceStatus the status for which should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the ids of children which have the specified attendance in an event
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getParticipantsWithAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    events: EventNote[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    attendanceStatus: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const attendedChildren: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    events.forEach((e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      e.children.forEach((childId) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (e.getAttendance(childId).status.countAs === attendanceStatus) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          attendedChildren.push(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return attendedChildren;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Transforms a list of notes or event-notes into a flattened list of participants and their attendance for each event.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param events the input list of type Note or EventNote
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param includeSchool (optional) also include the school to which a participant belongs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns AttendanceInfo[] a list holding information about the attendance of a single participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getAttendanceArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    events: Note[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    includeSchool = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): AttendanceInfo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const attendances: AttendanceInfo[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const event of events) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const linkedRelations = includeSchool
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ? this.getMembersOfGroupsForEvent(event)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      for (const child of event.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const attendance: AttendanceInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          participant: child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          status: event.getAttendance(child),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        const relation = linkedRelations.find((rel) => rel.childId === child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        if (relation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          attendance.school = relation.schoolId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        attendances.push(attendance);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return attendances;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getMembersOfGroupsForEvent(event: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.toArray(this.entities[ChildSchoolRelation.ENTITY_TYPE]).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (relation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        event.schools.includes(relation.schoolId) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        relation.isActiveAt(event.date),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Transforms a list of attendances infos into an aggregated report for each participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param attendances an array of AttendanceInfo objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns AttendanceReport[] for each participant the ID, the number of present and total absences as well as the attendance percentage.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getAttendanceReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    attendances: AttendanceInfo[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ): AttendanceReport[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const participantMap: { [key in string]: AttendanceReport } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    attendances.forEach((attendance) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!participantMap.hasOwnProperty(attendance.participant)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        participantMap[attendance.participant] = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          participant: attendance.participant,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          total: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          present: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          percentage: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          detailedStatus: {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const report = participantMap[attendance.participant];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      report.detailedStatus[attendance.status.status.id] = report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .detailedStatus[attendance.status.status.id]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ? report.detailedStatus[attendance.status.status.id] + 1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (attendance.status.status.countAs === "PRESENT") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        report.present++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (attendance.status.status.countAs !== "IGNORE") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        report.total++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (report.total > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        report.percentage = (report.present / report.total).toFixed(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Object.values(participantMap);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Adds all entities of the given type to the input array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entities the array before
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param entityType the type of entities which should be added
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns the input array concatenated with all entities of the entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private addEntities(entities: Entity[], entityType: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return entities.concat(...this.toArray(this.entities[entityType]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Replaces all input values by the string provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data the data which will be replaced
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param value the string which should replace initial data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @returns array of same length as data where every input is value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setString(data: any[], value: string): string[] | string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Array.isArray(data) ? data.map(() => value) : value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface AttendanceInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  status: EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  school?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface AttendanceReport {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  total: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  present: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  percentage: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** counts by all custom configured status **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  detailedStatus?: { [key: string]: number };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AttendanceReport.html b/documentation/interfaces/AttendanceReport.html new file mode 100644 index 0000000000..53bad68e99 --- /dev/null +++ b/documentation/interfaces/AttendanceReport.html @@ -0,0 +1,945 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/export/query.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + detailedStatus + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + detailedStatus: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              counts by all custom configured status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + participant + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + participant: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + percentage + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + percentage: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + present + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + present: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + total + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + total: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Note } from "../../child-dev-project/notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EventNote } from "../../child-dev-project/attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityMapperService } from "../entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildSchoolRelation } from "../../child-dev-project/children/model/childSchoolRelation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildrenService } from "../../child-dev-project/children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AttendanceService } from "../../child-dev-project/attendance/attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EventAttendance } from "../../child-dev-project/attendance/model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import jsonQuery from "json-query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * A query service which uses the json-query library (https://github.com/auditassistant/json-query).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class QueryService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private entities: { [type: string]: { [id: string]: Entity } } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A map of information about the loading state of the different entity types
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private entityInfo: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    [type: string]: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * A optional function which can be used to load this entity that might use a start and end date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * @param form
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction?: (form, to) => Promise<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * Whether already all entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      allLoaded?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * A certain range in which entities of this type have been loaded
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      rangeLoaded?: { from: Date; to: Date };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       * Whether updates of this entity are listened to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +       */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      updating?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  } = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Note: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.childrenService.getNotesInTimespan(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EventNote: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dataFunction: (from, to) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.attendanceService.getEventsOnDate(from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A list of further aliases for which a certain entity needs to be loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This can be necessary if a function requires a certain entity to be present.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private queryStringMap: [string, EntityConstructor][] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ["getAttendanceArray\\(true\\)", ChildSchoolRelation],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityRegistry.forEach((entity, name) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.queryStringMap.push([name, entity]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Runs the query on the passed data object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query a string or array according to the json-query language (https://github.com/auditassistant/json-query)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from a date which can be accessed in the query using a ?.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to a date which can be accessed in the query using another ?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data on which the query should run, default is all entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the results of the query on the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public queryData(query: string, from?: Date, to?: Date, data?: any): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!data) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data = this.entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return jsonQuery([query, from, to], {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      data: data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      locals: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        toArray: this.toArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        unique: this.unique,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        count: this.count,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        sum: this.sum,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        avg: this.avg,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        toEntities: this.toEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getRelated: this.getRelated.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        filterByObjectAttribute: this.filterByObjectAttribute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getIds: this.getIds,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getParticipantsWithAttendance: this.getParticipantsWithAttendance,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getAttendanceArray: this.getAttendanceArray.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        getAttendanceReport: this.getAttendanceReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        addEntities: this.addEntities.bind(this),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        setString: this.setString,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }).value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Call this function to prefetch required data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query single query or concatenation of all query strings that will be executed soon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from date from which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to date to which data should be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async cacheRequiredData(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    from = from ?? new Date(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    to = to ?? new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const uncachedEntities = this.getUncachedEntities(query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const dataPromises = uncachedEntities.map((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (info?.dataFunction) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return info.dataFunction(from, to).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          info.rangeLoaded = { from, to };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.entityMapper.loadType(entity).then((loadedEntities) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.setEntities(entity, loadedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          this.entityInfo[entity.ENTITY_TYPE] = { allLoaded: true };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    await Promise.all(dataPromises);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.applyEntityUpdates(uncachedEntities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private applyEntityUpdates(uncachedEntities: EntityConstructor[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    uncachedEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(({ ENTITY_TYPE }) => !this.entityInfo[ENTITY_TYPE].updating)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .forEach(({ ENTITY_TYPE }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityInfo[ENTITY_TYPE].updating = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityMapper
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .receiveUpdates(ENTITY_TYPE)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          .subscribe(({ entity, type }) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            if (type === "remove") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              delete this.entities[ENTITY_TYPE][entity.getId()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +              this.entities[ENTITY_TYPE][entity.getId()] = entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get entities that are referenced in the query string and are not sufficiently cached.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param query
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getUncachedEntities(query: string, from: Date, to: Date) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.queryStringMap
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(([matcher]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        // matches query string without any alphanumeric characters before or after (e.g. so Child does not match ChildSchoolRelation)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        query?.match(new RegExp(`(^|\\W)${matcher}(\\W|$)`)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map(([_, entity]) => entity)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const info = this.entityInfo[entity.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          info === undefined ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          !(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            info.allLoaded ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +            (info.rangeLoaded?.from <= from && info.rangeLoaded?.to >= to)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private setEntities<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityClass: EntityConstructor<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entities: T[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entities[entityClass.ENTITY_TYPE] = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entities.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (this.entities[entityClass.ENTITY_TYPE][entity.getId()] = entity),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Creates an array containing the value of each key of the object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * e.g. `{a: 1, b: 2} => [1,2]`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This should be used when iterating over all documents of a given entity type because they are stored as
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * `"{entity._id}": {entity}`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param obj the object which should be transformed to an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the values of the input object as a list
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private toArray(obj): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Object.values(obj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns a copy of the input array without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the array where duplicates should be removed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list without duplicates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private unique(data: any[]): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return new Array(...new Set(data));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get the size of an array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data for which the length should be returned
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the length of the input array or 0 if no array is provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private count(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data ? data.length : 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns the (integer) sum of the provided array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * It can also handle integers in strings, e.g. "3"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private sum(data: any[]): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return data.reduce((res, cur) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const parsed = Number.parseInt(cur);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return Number.isNaN(parsed) ? res : res + parsed;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns the avg of the provided array as string.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * It can also handle integers in strings, e.g. "3".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The average is only calculated if the value exists and is a valid number.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data an integer array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param decimals the amount of decimals for the result, default 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private avg(data: any[], decimals = 0): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const numbers = data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((d) => Number.parseInt(d))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((i) => !Number.isNaN(i));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const result =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      numbers.length === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : numbers.reduce((i, sum) => sum + i, 0) / numbers.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return result.toFixed(decimals);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Turns a list of ids (with the entity prefix) into a list of entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param ids the array of ids with entity prefix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityPrefix indicate the type of entity that should be loaded. This is required for pre-loading the required entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list of entity objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private toEntities(ids: string[], entityPrefix: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!entityPrefix) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      throw new Error("Entity type not defined");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!ids) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return ids
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (typeof id !== "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          console.debug("invalid entity id in Query :toEntities", id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((id) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const prefix = id.split(":")[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return this.entities[prefix][id];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => !!entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns all entities which reference a entity from the passed list of entities (by their id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param srcEntities the entities for which relations should be found
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType the type of entities where relations should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param relationKey the name of the attribute that holds the reference.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *                    The attribute can be a string or a list of strings
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a list of the related unique entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getRelated(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    srcEntities: Entity[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    entityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    relationKey: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const targetEntities = this.toArray(this.entities[entityType]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const srcIds = srcEntities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter((entity) => typeof entity.getId === "function") // skip empty placeholder objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((entity) => entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      targetEntities.length > 0 &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Array.isArray(targetEntities[0][relationKey])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        (entity[relationKey] as string[]).some((id) => srcIds.includes(id)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return targetEntities.filter((entity) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        entity[relationKey] ? srcIds.includes(entity[relationKey]) : false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Filters the data when the filter value is a object (e.g. configurable enum) rather than a simple value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param objs the objects to be filtered
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attr the attribute of the objects which is a object itself
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param key the key of the attribute-object which should be compared
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value the value which will be compared with `obj[attr][key]` for each obj in objs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *              The value can be a simple value or list of values separated by `|` (e.g. SCHOOL_CLASS|LIFE_SKILLS).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *              If it is a list of values, then the object is returned if its value matches any of the given values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the filtered objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private filterByObjectAttribute(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    objs: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attr: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    key: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    value: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): any[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // splits at "|" and removes optional whitespace before or after the symbol
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const values = value.trim().split(/\s*\|\s*/);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return objs.filter((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (obj?.hasOwnProperty(attr)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return values.includes(obj[attr][key]?.toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Returns a list of IDs held by each object (e.g. the children-IDs held by an array of notes)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param objs the objects which each holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param key the key on which each object holds a list of IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns a one dimensional string array holding all IDs which are held by the objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *            This list may contain duplicate IDs. If this is not desired, use `:unique` afterwards.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getIds(objs: any[], key: string): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const ids: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    objs.forEach((obj) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (obj.hasOwnProperty(key)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ids.push(...obj[key]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return ids;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Return the ids of all the participants of the passed events with the defined attendance status using the `countAs`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * attribute. The list may contain duplicates and the id does not necessarily have the entity prefix.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param events the array of events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attendanceStatus the status for which should be looked for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the ids of children which have the specified attendance in an event
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getParticipantsWithAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events: EventNote[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendanceStatus: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): string[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const attendedChildren: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events.forEach((e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      e.children.forEach((childId) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (e.getAttendance(childId).status.countAs === attendanceStatus) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          attendedChildren.push(childId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return attendedChildren;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Transforms a list of notes or event-notes into a flattened list of participants and their attendance for each event.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param events the input list of type Note or EventNote
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param includeSchool (optional) also include the school to which a participant belongs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns AttendanceInfo[] a list holding information about the attendance of a single participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getAttendanceArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    events: Note[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    includeSchool = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): AttendanceInfo[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const attendances: AttendanceInfo[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    for (const event of events) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const linkedRelations = includeSchool
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? this.getMembersOfGroupsForEvent(event)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      for (const child of event.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const attendance: AttendanceInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          participant: child,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          status: event.getAttendance(child),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        const relation = linkedRelations.find((rel) => rel.childId === child);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (relation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          attendance.school = relation.schoolId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        attendances.push(attendance);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return attendances;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getMembersOfGroupsForEvent(event: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return this.toArray(this.entities[ChildSchoolRelation.ENTITY_TYPE]).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      (relation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        event.schools.includes(relation.schoolId) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        relation.isActiveAt(event.date),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Transforms a list of attendances infos into an aggregated report for each participant
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param attendances an array of AttendanceInfo objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns AttendanceReport[] for each participant the ID, the number of present and total absences as well as the attendance percentage.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private getAttendanceReport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendances: AttendanceInfo[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ): AttendanceReport[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const participantMap: { [key in string]: AttendanceReport } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    attendances.forEach((attendance) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (!participantMap.hasOwnProperty(attendance.participant)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        participantMap[attendance.participant] = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          participant: attendance.participant,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          total: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          present: 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          percentage: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          detailedStatus: {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      const report = participantMap[attendance.participant];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      report.detailedStatus[attendance.status.status.id] = report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        .detailedStatus[attendance.status.status.id]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        ? report.detailedStatus[attendance.status.status.id] + 1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (attendance.status.status.countAs === "PRESENT") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.present++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (attendance.status.status.countAs !== "IGNORE") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.total++;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (report.total > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        report.percentage = (report.present / report.total).toFixed(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Object.values(participantMap);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Adds all entities of the given type to the input array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entities the array before
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param entityType the type of entities which should be added
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns the input array concatenated with all entities of the entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private addEntities(entities: Entity[], entityType: string): Entity[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return entities.concat(...this.toArray(this.entities[entityType]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Replaces all input values by the string provided
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param data the data which will be replaced
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value the string which should replace initial data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @returns array of same length as data where every input is value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private setString(data: any[], value: string): string[] | string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return Array.isArray(data) ? data.map(() => value) : value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface AttendanceInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  status: EventAttendance;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  school?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface AttendanceReport {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  participant: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  total: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  present: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  percentage: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** counts by all custom configured status **/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  detailedStatus?: { [key: string]: number };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AttendanceStatusType.html b/documentation/interfaces/AttendanceStatusType.html new file mode 100644 index 0000000000..e32cc47a1e --- /dev/null +++ b/documentation/interfaces/AttendanceStatusType.html @@ -0,0 +1,534 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/child-dev-project/attendance/model/attendance-status.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Details of one status option users can assign to a participant's details attending an event.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + ConfigurableEnumValue +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + countAs + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + countAs: AttendanceLogicalStatus + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : AttendanceLogicalStatus + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                how this status will be categorized and considered for statistics and analysis

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                persistent id that remains unchanged in the config database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                a clear, spelled out title of the status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + shortName + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + shortName: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                a short (one letter) representation e.g. used in calendar view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + style + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + style: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                a css class with styling related to the status

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { ConfigurableEnumValue } from "../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * logical type of an attendance status, i.e. how it will be considered for statistics and analysis.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export enum AttendanceLogicalStatus {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  PRESENT = "PRESENT",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ABSENT = "ABSENT",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  IGNORE = "IGNORE",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * the id through which the available attendance status types can be loaded from the ConfigService.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export const ATTENDANCE_STATUS_CONFIG_ID = "attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Details of one status option users can assign to a participant's details attending an event.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface AttendanceStatusType extends ConfigurableEnumValue {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** persistent id that remains unchanged in the config database */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** a clear, spelled out title of the status */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** a short (one letter) representation e.g. used in calendar view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  shortName: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * how this status will be categorized and considered for statistics and analysis
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  countAs: AttendanceLogicalStatus;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** a css class with styling related to the status */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  style?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Null object representing an unknown attendance status.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This allows easier handling of attendance status logic because exceptional checks for undefined are not necessary.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export const NullAttendanceStatusType: AttendanceStatusType = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  id: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  shortName: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  countAs: AttendanceLogicalStatus.IGNORE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AttendanceWeekRow.html b/documentation/interfaces/AttendanceWeekRow.html new file mode 100644 index 0000000000..09bfc78a38 --- /dev/null +++ b/documentation/interfaces/AttendanceWeekRow.html @@ -0,0 +1,543 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/attendance/dashboard-widgets/attendance-week-dashboard/attendance-week-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + activity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + activity: RecurringActivity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : RecurringActivity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + attendanceDays + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + attendanceDays: (EventAttendance | undefined)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : (EventAttendance | undefined)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + childId + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + childId: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AttendanceLogicalStatus } from "../../model/attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AttendanceService } from "../../attendance.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EventAttendance } from "../../model/event-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ActivityAttendance } from "../../model/activity-attendance";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RecurringActivity } from "../../model/recurring-activity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import moment, { Moment } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { groupBy } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { AttendanceDayBlockComponent } from "./attendance-day-block/attendance-day-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EventNote } from "../../model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +interface AttendanceWeekRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  childId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  activity: RecurringActivity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  attendanceDays: (EventAttendance | undefined)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("AttendanceWeekDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-attendance-week-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./attendance-week-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./attendance-week-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    AttendanceDayBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class AttendanceWeekDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static getRequiredEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return EventNote.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The offset from the default time period, which is the last complete week.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * For example:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * If you set the offset of 0, the widget displays attendance for the last completed week (i.e. ending last Saturday).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * If you set the offset to 7 and today is Thursday, the widget displays attendance from the Monday 3 days ago
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * (i.e. the current running week).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() daysOffset = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * description displayed to users for what this widget is analysing
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * e.g. "Absences this week"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() periodLabel: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Only participants who were absent more than this threshold are counted and shown in the dashboard.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The default is 1.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * That means if someone was absent two or more days within a specific activity in the given week
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * the person will be counted and displayed as a critical case in this dashboard widget.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() absentWarningThreshold: number = 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The special attendance status type for which this widget should filter.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * (Optional) If this is not set, all status types that are counted as logically "ABSENT" are considered.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() attendanceStatusType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entries: AttendanceWeekRow[][];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private attendanceService: AttendanceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.periodLabel && !this.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.label = $localize`:Dashboard attendance component subtitle:Absences ${this.periodLabel}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.loadAttendanceOfAbsentees();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async loadAttendanceOfAbsentees() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const previousMonday = moment()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .startOf("isoWeek")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .subtract(1, "week")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .add(this.daysOffset, "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const previousSaturday = moment(previousMonday).add(5, "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const activityAttendances =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.attendanceService.getAllActivityAttendancesForPeriod(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        previousMonday.toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        previousSaturday.toDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const lowAttendanceCases = new Set<string>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const records: AttendanceWeekRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const att of activityAttendances) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const rows = this.generateRowsFromActivityAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        att,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        moment(previousMonday),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        moment(previousSaturday),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      records.push(...rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      rows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        .filter((r) => this.filterLowAttendance(r))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        .forEach((r) => lowAttendanceCases.add(r.childId));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const groups = groupBy(records, "childId");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.entries = groups
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .filter(([childId]) => lowAttendanceCases.has(childId))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .map(([_, attendance]) => attendance);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private generateRowsFromActivityAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    att: ActivityAttendance,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    from: Moment,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    to: Moment,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): AttendanceWeekRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!att.activity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const results: AttendanceWeekRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const participant of att.activity.participants) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const eventAttendances = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      let day = moment(from);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      while (day.isSameOrBefore(to, "day")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        const event = att.events.find((e) => day.isSame(e.date, "day"));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        if (event) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          eventAttendances.push(event.getAttendance(participant));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          // put a "placeholder" into the array for the current day
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          eventAttendances.push(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        day = day.add(1, "day");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      results.push({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        childId: participant,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        activity: att.activity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        attendanceDays: eventAttendances,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private filterLowAttendance(row: AttendanceWeekRow): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let countAbsences = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (!this.attendanceStatusType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      countAbsences = row.attendanceDays.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        (e) => e?.status?.countAs === AttendanceLogicalStatus.ABSENT,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ).length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      countAbsences = row.attendanceDays.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        (e) => e?.status?.id === this.attendanceStatusType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ).length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return countAbsences > this.absentWarningThreshold;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  goToChild(childId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.router.navigate([Child.route, childId]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/AverageAttendanceStats.html b/documentation/interfaces/AverageAttendanceStats.html new file mode 100644 index 0000000000..31b19bb451 --- /dev/null +++ b/documentation/interfaces/AverageAttendanceStats.html @@ -0,0 +1,481 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/child-dev-project/attendance/model/calculate-average-event-attendance.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + average + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + average: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + counted + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + counted: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + excludedUnknown + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + excludedUnknown: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + logicalStatusCounts + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + logicalStatusCounts: Map<string | number> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Map<string | number> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + statusCounts + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + statusCounts: Map<string | number> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Map<string | number> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Note } from "../../notes/model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  AttendanceLogicalStatus,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  NullAttendanceStatusType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "./attendance-status";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface AverageAttendanceStats {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  average: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  counted: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  excludedUnknown: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  statusCounts: Map<string, number>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  logicalStatusCounts: Map<string, number>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export function calculateAverageAttendance(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  event: Note,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +): AverageAttendanceStats {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  const stats = new Map<AttendanceLogicalStatus, number>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  stats.set(AttendanceLogicalStatus.PRESENT, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  stats.set(AttendanceLogicalStatus.ABSENT, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  stats.set(AttendanceLogicalStatus.IGNORE, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  const statusCounts = new Map<string, number>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  for (const childId of event.children) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const status = event.getAttendance(childId).status;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const countStatus = statusCounts.get(status?.id) ?? 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    statusCounts.set(status?.id, countStatus + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const attendanceType = status?.countAs ?? AttendanceLogicalStatus.IGNORE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const countType = stats.get(attendanceType) ?? 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    stats.set(attendanceType, countType + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  const countedForAverage =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    stats.get(AttendanceLogicalStatus.PRESENT) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    stats.get(AttendanceLogicalStatus.ABSENT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    average: stats.get(AttendanceLogicalStatus.PRESENT) / countedForAverage,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    counted: countedForAverage,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    excludedUnknown: statusCounts.get(NullAttendanceStatusType.id) ?? 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    statusCounts: statusCounts,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    logicalStatusCounts: stats,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/BackgroundProcessState.html b/documentation/interfaces/BackgroundProcessState.html new file mode 100644 index 0000000000..036c8bf691 --- /dev/null +++ b/documentation/interfaces/BackgroundProcessState.html @@ -0,0 +1,511 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/ui/sync-status/background-process-state.interface.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Describe a task running in the background, such as index creation.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + description + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + description: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      additional optional details explaining the process

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + details + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + details: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      specific details or context of the process. +this can serve as a "subtitle" for a common title of several similar processes also

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + error + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + error: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      if the process has failed, contains the error details; otherwise undefined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + pending + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + pending: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      whether the process is still running

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      unique name of the process as displayed to user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      export interface BackgroundProcessState {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** unique name of the process as displayed to user */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * specific details or context of the process.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * this can serve as a "subtitle" for a common title of several similar processes also
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  details?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** additional optional details explaining the process */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  description?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** whether the process is still running */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  pending: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** if the process has failed, contains the error details; otherwise undefined */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  error?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/BasicFilterConfig.html b/documentation/interfaces/BasicFilterConfig.html new file mode 100644 index 0000000000..0cec4f310e --- /dev/null +++ b/documentation/interfaces/BasicFilterConfig.html @@ -0,0 +1,524 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + default + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + default: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + type + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + type: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/BirthdayDashboardConfig.html b/documentation/interfaces/BirthdayDashboardConfig.html new file mode 100644 index 0000000000..dcf0144858 --- /dev/null +++ b/documentation/interfaces/BirthdayDashboardConfig.html @@ -0,0 +1,432 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entities + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + entities: EntityPropertyMap + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : EntityPropertyMap + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + threshold + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + threshold: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface BirthdayDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entities: EntityPropertyMap;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  threshold: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DynamicComponent("BirthdayDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-birthday-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./birthday-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  styleUrls: ["./birthday-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class BirthdayDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  implements BirthdayDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static getRequiredEntities(config: BirthdayDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return config?.entities ? Object.keys(config.entities) : Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly today: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * An object holding the names of entities and properties where they have a `DateOfBirth` attribute.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * E.g. (which is also the default)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * ```json
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * "entities": { "Child": "dateOfBirth" }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() entities: EntityPropertyMap = { [Child.ENTITY_TYPE]: "dateOfBirth" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Birthdays that are less than "threshold" days away are shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default 32
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() threshold = 32;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entries: EntityWithBirthday[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.today = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.today.setHours(0, 0, 0, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const data: EntityWithBirthday[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    for (const [entityType, property] of Object.entries(this.entities)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const entities = await this.entityMapper.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ...entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          .filter((entity) => entity.isActive && entity[property])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          .map((entity) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            birthday: this.getNextBirthday(entity[property]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            newAge: entity[property]?.age + 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          }))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          .filter((a) => this.daysUntil(a.birthday) < this.threshold),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    data.sort(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      (a, b) => this.daysUntil(a.birthday) - this.daysUntil(b.birthday),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.entries = data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private getNextBirthday(dateOfBirth: Date): Date {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const birthday = new Date(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.today.getFullYear(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      dateOfBirth.getMonth(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      dateOfBirth.getDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.today.getTime() > birthday.getTime()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      birthday.setFullYear(birthday.getFullYear() + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return birthday;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private daysUntil(date: Date): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const diff = date.getTime() - this.today.getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return Math.floor(diff / (1000 * 60 * 60 * 24));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface EntityPropertyMap {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  [key: string]: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +interface EntityWithBirthday {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  birthday: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  newAge: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/BooleanFilterConfig.html b/documentation/interfaces/BooleanFilterConfig.html new file mode 100644 index 0000000000..a365d6fc3c --- /dev/null +++ b/documentation/interfaces/BooleanFilterConfig.html @@ -0,0 +1,434 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + BasicFilterConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + false + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + false: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + true + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + true: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/CalculateReportOptions.html b/documentation/interfaces/CalculateReportOptions.html new file mode 100644 index 0000000000..1f77ef71a3 --- /dev/null +++ b/documentation/interfaces/CalculateReportOptions.html @@ -0,0 +1,432 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/reporting/reporting/select-report/select-report.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + from + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + from: Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + report + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + report: ReportEntity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ReportEntity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + to + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + to: Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatDatepickerModule } from "@angular/material/datepicker";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ExportDataDirective } from "../../../../core/export/export-data-directive/export-data.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ReportEntity } from "../../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-select-report",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./select-report.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./select-report.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatDatepickerModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ExportDataDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class SelectReportComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() reports: ReportEntity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() loading: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() exportableData: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() calculateClick = new EventEmitter<CalculateReportOptions>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() dataChanged = new EventEmitter<void>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selectedReport: ReportEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  fromDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  toDate: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (changes.hasOwnProperty("reports")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (this.reports?.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.selectedReport = this.reports[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  reportChange() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dataChanged.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  dateChange() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dataChanged.emit();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +interface CalculateReportOptions {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  report: ReportEntity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  from: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  to: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ColumnGroupsConfig.html b/documentation/interfaces/ColumnGroupsConfig.html new file mode 100644 index 0000000000..edf3fd75fa --- /dev/null +++ b/documentation/interfaces/ColumnGroupsConfig.html @@ -0,0 +1,493 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + default + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + default: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The name of the group that should be selected by default. +Default is the name of the first group.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + groups + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + groups: GroupConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : GroupConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + mobile + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + mobile: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The name of the group that should be selected by default on a mobile device. +Default is the name of the first group.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ColumnMapping.html b/documentation/interfaces/ColumnMapping.html new file mode 100644 index 0000000000..49ac49a0ef --- /dev/null +++ b/documentation/interfaces/ColumnMapping.html @@ -0,0 +1,410 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/import/column-mapping.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mapping of a column from an import dataset to define how it should be imported exactly.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + additional + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + additional: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  details of data transformation or parsing into the property.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  e.g. date format to be parsed or key-value transformation map

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + column + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + column: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import data column header id

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + propertyName + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + propertyName: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  mapped entity property id

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  export interface ColumnMapping {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** import data column header id */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  column: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** mapped entity property id */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  propertyName?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * details of data transformation or parsing into the property.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * e.g. date format to be parsed or key-value transformation map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  additional?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConfigFieldRaw.html b/documentation/interfaces/ConfigFieldRaw.html new file mode 100644 index 0000000000..8c40bc1b81 --- /dev/null +++ b/documentation/interfaces/ConfigFieldRaw.html @@ -0,0 +1,607 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/config-setup/config-field.raw.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Structure of a row for config setup from imported CSV file. +Represents details of one entity property and is parsed into the app's Config format.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + additional_type_details + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + additional_type_details: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + dataType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + dataType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + description + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + description: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + remarks + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + remarks: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + show_in_details + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + show_in_details: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + show_in_list + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + show_in_list: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    export interface ConfigFieldRaw {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  id?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  dataType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  additional_type_details?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  description?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  show_in_list?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  show_in_details?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  remarks?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConfigurableEnumFilterConfig.html b/documentation/interfaces/ConfigurableEnumFilterConfig.html new file mode 100644 index 0000000000..4c8a751f8e --- /dev/null +++ b/documentation/interfaces/ConfigurableEnumFilterConfig.html @@ -0,0 +1,395 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + BasicFilterConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + enumId + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + enumId: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConfigurableEnumValue.html b/documentation/interfaces/ConfigurableEnumValue.html new file mode 100644 index 0000000000..ae34baa438 --- /dev/null +++ b/documentation/interfaces/ConfigurableEnumValue.html @@ -0,0 +1,546 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/basic-datatypes/configurable-enum/configurable-enum.interface.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Mandatory properties of each option of an configurable enum +the actual object can contain additional properties in the specific context of that enum (e.g. a color property)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + HasOrdinal +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + color + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + color: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        an optional color code which should be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        identifier that is unique among all values of the same enum and does not change even when label or other things are edited

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + isInvalidOption + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + isInvalidOption: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        indicates this is a fallback option generated by configurable-enum datatype for +a value that is not included in the selectable enum options of the config.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        human-readable name that is displayed representing the value in the UI

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + style + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + style: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        optional styling class that should be applied when displaying this value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Ordering } from "./configurable-enum-ordering";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import HasOrdinal = Ordering.HasOrdinal;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Interface specifying overall object representing an enum with all its options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * as stored in the config database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type ConfigurableEnumConfig<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  T extends ConfigurableEnumValue = ConfigurableEnumValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +> = Array<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Mandatory properties of each option of an configurable enum
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * the actual object can contain additional properties in the specific context of that enum (e.g. a `color` property)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ConfigurableEnumValue extends HasOrdinal {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * identifier that is unique among all values of the same enum and does not change even when label or other things are edited
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * human-readable name that is displayed representing the value in the UI
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * an optional color code which should be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  color?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * indicates this is a fallback option generated by configurable-enum datatype for
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * a value that is not included in the selectable enum options of the config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  isInvalidOption?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * optional styling class that should be applied when displaying this value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  style?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export const EMPTY: ConfigurableEnumValue = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConfirmationDialogButton.html b/documentation/interfaces/ConfirmationDialogButton.html new file mode 100644 index 0000000000..838c5a446d --- /dev/null +++ b/documentation/interfaces/ConfirmationDialogButton.html @@ -0,0 +1,503 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + click + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +click() +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Returns : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + dialogResult + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + dialogResult: boolean | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : boolean | undefined + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + text + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + text: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DialogCloseComponent } from "../../dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * A configurable confirmation dialog box
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * used by the {@link ConfirmationDialogService}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-confirmation-dialog",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./confirmation-dialog.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class ConfirmationDialogComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This component is used as a template for MatDialog, created with the required dependencies through that service.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param dialogRef The reference to the dialog this component is displayed within
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param data The configuration defining what text and buttons will be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    public dialogRef: MatDialogRef<ConfirmationDialogComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    @Inject(MAT_DIALOG_DATA) public data: ConfirmationDialogConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Options to configure the {@link ConfirmationDialogComponent}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ConfirmationDialogConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** title of the dialog box */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** description text in the dialog box */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The buttons that should be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  buttons: ConfirmationDialogButton[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** Whether or not to specify a 'close' icon-button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * This button is on the top-right of the dialog and closes it with no result
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  closeButton?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ConfirmationDialogButton {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  dialogResult?: boolean | undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  click();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export const OkButton: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog OK:OK`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export const YesNoButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export const YesNoCancelButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    text: $localize`:Confirmation dialog Cancel:Cancel`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    dialogResult: undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConfirmationDialogConfig.html b/documentation/interfaces/ConfirmationDialogConfig.html new file mode 100644 index 0000000000..b709d696a5 --- /dev/null +++ b/documentation/interfaces/ConfirmationDialogConfig.html @@ -0,0 +1,554 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Options to configure the ConfirmationDialogComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + buttons + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + buttons: ConfirmationDialogButton[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : ConfirmationDialogButton[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The buttons that should be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + closeButton + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + closeButton: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Whether or not to specify a 'close' icon-button. +This button is on the top-right of the dialog and closes it with no result

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + text + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + text: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            description text in the dialog box

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            title of the dialog box

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DialogCloseComponent } from "../../dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A configurable confirmation dialog box
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * used by the {@link ConfirmationDialogService}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-confirmation-dialog",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./confirmation-dialog.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class ConfirmationDialogComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This component is used as a template for MatDialog, created with the required dependencies through that service.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param dialogRef The reference to the dialog this component is displayed within
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param data The configuration defining what text and buttons will be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    public dialogRef: MatDialogRef<ConfirmationDialogComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA) public data: ConfirmationDialogConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Options to configure the {@link ConfirmationDialogComponent}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface ConfirmationDialogConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** title of the dialog box */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** description text in the dialog box */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** The buttons that should be displayed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  buttons: ConfirmationDialogButton[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** Whether or not to specify a 'close' icon-button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * This button is on the top-right of the dialog and closes it with no result
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  closeButton?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface ConfirmationDialogButton {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  dialogResult?: boolean | undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  click();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export const OkButton: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog OK:OK`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export const YesNoButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export const YesNoCancelButtons: ConfirmationDialogButton[] = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog Yes:Yes`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog No:No`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    text: $localize`:Confirmation dialog Cancel:Cancel`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    click() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // Intentionally blank
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // To react to emissions from this button, use the `MatDialogRef.beforeClosed()` hook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dialogResult: undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ConflictResolutionStrategy.html b/documentation/interfaces/ConflictResolutionStrategy.html new file mode 100644 index 0000000000..a08d7daaa8 --- /dev/null +++ b/documentation/interfaces/ConflictResolutionStrategy.html @@ -0,0 +1,356 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/conflict-resolution/auto-resolution/conflict-resolution-strategy.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Implement this interface to provide custom strategies how certain conflicts of an Entity type can be resolved automatically.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              see ConflictResolutionModule

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Methods
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Methods +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + autoDeleteConflictingRevision + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +autoDeleteConflictingRevision(currentDoc: any, conflictingDoc: any) +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NameTypeOptional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              currentDoc + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              conflictingDoc + any + + No +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Returns : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { InjectionToken } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Use this token to provide (and thereby register) custom implementations of {@link ConflictResolutionStrategy}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * `{ provide: CONFLICT_RESOLUTION_STRATEGY, useClass: MyConflictResolutionStrategy, multi: true }`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * see {@link ConflictResolutionModule}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export const CONFLICT_RESOLUTION_STRATEGY =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  new InjectionToken<ConflictResolutionStrategy>("ConflictResolutionStrategy");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Implement this interface to provide custom strategies how certain conflicts of an Entity type can be resolved automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * see {@link ConflictResolutionModule}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ConflictResolutionStrategy {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  autoDeleteConflictingRevision(currentDoc: any, conflictingDoc: any): boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/Coordinates.html b/documentation/interfaces/Coordinates.html new file mode 100644 index 0000000000..13b66236ce --- /dev/null +++ b/documentation/interfaces/Coordinates.html @@ -0,0 +1,323 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/location/coordinates.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + lat + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + lat: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + lon + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + lon: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                export interface Coordinates {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  lat: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  lon: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DashboardConfig.html b/documentation/interfaces/DashboardConfig.html new file mode 100644 index 0000000000..94df1615cf --- /dev/null +++ b/documentation/interfaces/DashboardConfig.html @@ -0,0 +1,368 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/dashboard/dashboard/dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + widgets + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + widgets: DynamicComponentConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : DynamicComponentConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponentConfig } from "../../config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgFor } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityAbility } from "../../permissions/ability/entity-ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ComponentRegistry } from "../../../dynamic-components";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DashboardWidget } from "../dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { SessionSubject } from "../../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@RouteTarget("Dashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  template: ` <ng-template
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    *ngFor="let widgetConfig of _widgets"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    [appDynamicComponent]="widgetConfig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ></ng-template>`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [NgFor, DynamicComponentDirective],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class DashboardComponent implements DashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set widgets(widgets: DynamicComponentConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.filterPermittedWidgets(widgets).then((res) => (this._widgets = res));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get widgets(): DynamicComponentConfig[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this._widgets;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _widgets: DynamicComponentConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private ability: EntityAbility,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private components: ComponentRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private session: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async filterPermittedWidgets(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    widgets: DynamicComponentConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): Promise<DynamicComponentConfig[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const permittedWidgets: DynamicComponentConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    for (const widget of widgets) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.hasRequiredRole(widget) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        (await this.hasEntityPermission(widget))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        permittedWidgets.push(widget);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return permittedWidgets;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private hasRequiredRole(widget: DynamicComponentConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (widget.permittedUserRoles?.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const userRoles = this.session.value.roles;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      const requiredRoles = widget.permittedUserRoles;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return requiredRoles.some((role) => userRoles.includes(role));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async hasEntityPermission(widget: DynamicComponentConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const comp = (await this.components.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      widget.component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    )()) as unknown as typeof DashboardWidget;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let entity: string | string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (typeof comp.getRequiredEntities === "function") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entity = comp.getRequiredEntities(widget.config);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.userHasAccess(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private userHasAccess(entity: string | string[]): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      if (Array.isArray(entity)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return entity.some((e) => this.ability.can("read", e));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return this.ability.can("read", entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // No entity relation -> show widget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface DashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  widgets: DynamicComponentConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DatabaseRules.html b/documentation/interfaces/DatabaseRules.html new file mode 100644 index 0000000000..08ff956e08 --- /dev/null +++ b/documentation/interfaces/DatabaseRules.html @@ -0,0 +1,403 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/permissions/permission-types.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The format of the JSON object which defines the rules for each role. +The format is <user-role>: <array of DatabaseRule>, meaning for each role an array of rules can be defined. +The rules defined in 'default' will be prepended to any other rules defined for a user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Indexable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + [key: string]: DatabaseRule[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + default + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + default: DatabaseRule[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : DatabaseRule[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + public + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + public: DatabaseRule[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : DatabaseRule[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Ability, RawRuleOf } from "@casl/ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity, EntityConstructor } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The list of action strings that can be used for permissions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +const actions = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  "read",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  "create",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  "update",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  "delete",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  "manage", // Matches any actions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +] as const;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The type which defines which actions can be used for permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The type allows all strings defined in the `actions` array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * E.g. "read" or "manage"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type EntityAction = (typeof actions)[number];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The type which defines which subjects can be used for permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This matches any entity classes, entity objects and the wildcard string "all"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * E.g. `Child`, `new Note()` or `all`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type EntitySubject = EntityConstructor | Entity | string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The format that the JSON defined rules need to have.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * In the JSON object the Entities can be specified by using their ENTITY_TYPE string representation.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export type DatabaseRule = RawRuleOf<Ability<[EntityAction, string]>>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The format of the JSON object which defines the rules for each role.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The format is `<user-role>: <array of DatabaseRule>`, meaning for each role an array of rules can be defined.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The rules defined in 'default' will be prepended to any other rules defined for a user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface DatabaseRules {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  public?: DatabaseRule[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  default?: DatabaseRule[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  [key: string]: DatabaseRule[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DateRangeFilterConfig.html b/documentation/interfaces/DateRangeFilterConfig.html new file mode 100644 index 0000000000..40d4271237 --- /dev/null +++ b/documentation/interfaces/DateRangeFilterConfig.html @@ -0,0 +1,395 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + BasicFilterConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + options + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + options: DateRangeFilterConfigOption[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : DateRangeFilterConfigOption[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DateRangeFilterConfigOption.html b/documentation/interfaces/DateRangeFilterConfigOption.html new file mode 100644 index 0000000000..abd4470538 --- /dev/null +++ b/documentation/interfaces/DateRangeFilterConfigOption.html @@ -0,0 +1,479 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + endOffsets + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + endOffsets: literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + startOffsets + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + startOffsets: literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DefaultValueConfig.html b/documentation/interfaces/DefaultValueConfig.html new file mode 100644 index 0000000000..fe9ad8b4ff --- /dev/null +++ b/documentation/interfaces/DefaultValueConfig.html @@ -0,0 +1,479 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/entity/schema/default-value-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Describes the default value behaviour of this field, +i.e. that this field should automatically be filled with a value when creating a new entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + field + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + field: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          field on the referenced Entity (identified by the id value in localAttribute), which is used as default value (for inherited only)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + localAttribute + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + localAttribute: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          local field holding the reference to an Entity (for inherited only)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + mode + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + mode: DefaultValueMode + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : DefaultValueMode + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          What kind of logic is used to generate the default value:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          mode: inherited + use the value from linked entity field

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          mode: static + use a static default value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          mode: dynamic + use a placeholder value, see PLACEHOLDERS enum for available options

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + value + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + value: string | number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string | number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          used as default value in "static" and "dynamic" mode

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          export interface DefaultValueConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * What kind of logic is used to generate the default value:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  mode: inherited
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  use the value from linked entity field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  mode: static
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  use a static default value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  mode: dynamic
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  use a placeholder value, see PLACEHOLDERS enum for available options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mode: DefaultValueMode;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** used as default value in "static" and "dynamic" mode */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  value?: string | number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** local field holding the reference to an Entity (for inherited only) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  localAttribute?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** field on the referenced Entity (identified by the id value in `localAttribute`), which is used as default value (for inherited only) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  field?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export type DefaultValueMode = "inherited" | "static" | "dynamic";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DetailsComponentData.html b/documentation/interfaces/DetailsComponentData.html new file mode 100644 index 0000000000..e8ed16749a --- /dev/null +++ b/documentation/interfaces/DetailsComponentData.html @@ -0,0 +1,483 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/form-dialog/row-details/row-details.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Data interface that must be given when opening the dialog

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + columns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + columns: FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The columns to edit / view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + entity: Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            The row to edit / view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + viewOnlyColumns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + viewOnlyColumns: FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : FormFieldConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Additional columns that only provide context information

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormFieldConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DialogCloseComponent } from "../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFormComponent } from "../../common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { PillComponent } from "../../common-components/pill/pill.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DialogButtonsComponent } from "../dialog-buttons/dialog-buttons.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityArchivedInfoComponent } from "../../entity-details/entity-archived-info/entity-archived-info.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FieldGroup } from "../../entity-details/form/field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldEditComponent } from "../../common-components/entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldViewComponent } from "../../common-components/entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Data interface that must be given when opening the dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface DetailsComponentData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** The row to edit / view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** The columns to edit / view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** Additional columns that only provide context information */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  viewOnlyColumns?: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Displays a single row of a table as a dialog component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-row-details",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./row-details.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    PillComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DialogButtonsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityArchivedInfoComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  viewProviders: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    { provide: ViewComponentContext, useValue: new ViewComponentContext(true) },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class RowDetailsComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  form: EntityForm<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  viewOnlyColumns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  tempEntity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA) public data: DetailsComponentData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.init(data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private init(data: DetailsComponentData) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.form = this.formService.createFormGroup(data.columns, data.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.enableSaveWithoutChangesIfNew(data.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.fieldGroups = data.columns.map((col) => ({ fields: [col] }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.tempEntity = this.data.entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.form.valueChanges.pipe(untilDestroyed(this)).subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const dynamicConstructor: any = data.entity.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.tempEntity = Object.assign(new dynamicConstructor(), value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.viewOnlyColumns = data.viewOnlyColumns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private enableSaveWithoutChangesIfNew(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (entity.isNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // could check here that at least some fields hold a value but the naive heuristic to allow save of all new seems ok
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.form.markAsDirty();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DialogViewData.html b/documentation/interfaces/DialogViewData.html new file mode 100644 index 0000000000..53ba139eac --- /dev/null +++ b/documentation/interfaces/DialogViewData.html @@ -0,0 +1,463 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/ui/dialog-view/dialog-view.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + component + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + component: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + config + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + config: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entity: Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) if an EntityDetails view, the full entity record to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Inject, Injector } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentDirective } from "../../config/dynamic-components/dynamic-component.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatDialogActions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatDialogClose,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatDialogContent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  MatDialogTitle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConfigService } from "../../entity/entity-config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ViewTitleComponent } from "../../common-components/view-title/view-title.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DialogCloseComponent } from "../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { CdkPortalOutlet } from "@angular/cdk/portal";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponentPipe } from "../../config/dynamic-components/dynamic-component.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { AbstractViewComponent } from "../abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Wrapper component for a modal/dialog view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * that takes parameters from the dialog data and passes these on to normal @Input properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This allows to develop functional feature components in a way to easily reuse them for display
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * as a full page view or in a modal dialog.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * (also see RoutedViewComponent)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DynamicComponentDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ViewTitleComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatDialogClose,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    CdkPortalOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DynamicComponentPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatDialogTitle,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatDialogContent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatDialogActions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./dialog-view.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./dialog-view.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class DialogViewComponent<T = any> extends AbstractViewComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  config: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    dialogData: DialogViewData<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entityConfigService: EntityConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    injector: Injector,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super(injector, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.component = dialogData.component;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let viewConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (dialogData.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      viewConfig =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityConfigService.getDetailsViewConfig(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          dialogData.entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        )?.config ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (dialogData.entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      viewConfig["entity"] = dialogData.entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.config = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ...viewConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ...dialogData.config,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  componentInjector: Injector | undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface DialogViewData<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) if an EntityDetails view, the full entity record to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entity?: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/DynamicComponentConfig.html b/documentation/interfaces/DynamicComponentConfig.html new file mode 100644 index 0000000000..d388fb092e --- /dev/null +++ b/documentation/interfaces/DynamicComponentConfig.html @@ -0,0 +1,434 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/config/dynamic-components/dynamic-component-config.interface.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This interface is set on the data property of the route. +It contains static data which are used to build components and manage permissions. +The generic type defines the interface for the component specific configuration.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The properties given in the config object here are automatically assigned to the component as @Input() properties. +e.g. for an DynamicComponentConfig { config: { "entityType: "Child", "filtered": true } } +your component MyViewComponent will receive the values mapped to its properties:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +Example :
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                class MyViewComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() filtered: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + component + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + component: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                string id/name of the component to be displaying this view. +The component id has to be registered in the component map.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (optional) if the ladyLoaded is true, this is not required (and will be ignored) + This allows hard-coded lazy-loaded components to be dynamically extended with config or permissions.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + config + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + config: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                optional object providing any kind of config to be interpreted by the component for this view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + permittedUserRoles + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + permittedUserRoles: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Allows to restrict the route to the given list of user roles. +If set, the route can only be visited by users which have a role which is in the list. +If not set, all logged-in users can visit the route.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                export interface DynamicComponentConfig<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * string id/name of the component to be displaying this view.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The component id has to be registered in the component map.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * (optional) if the `ladyLoaded` is true, this is not required (and will be ignored)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *    This allows hard-coded lazy-loaded components to be dynamically extended with config or permissions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  component?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** optional object providing any kind of config to be interpreted by the component for this view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Allows to restrict the route to the given list of user roles.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If set, the route can only be visited by users which have a role which is in the list.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If not set, all logged-in users can visit the route.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  permittedUserRoles?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EditProgressDashboardComponentData.html b/documentation/interfaces/EditProgressDashboardComponentData.html new file mode 100644 index 0000000000..4fb49af192 --- /dev/null +++ b/documentation/interfaces/EditProgressDashboardComponentData.html @@ -0,0 +1,434 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/dashboard-widgets/progress-dashboard-widget/edit-progress-dashboard/edit-progress-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + parts + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + parts: ProgressDashboardPart[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ProgressDashboardPart[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ProgressDashboardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ProgressDashboardPart,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "../progress-dashboard/progress-dashboard-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ValidationErrors,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DialogCloseComponent } from "../../../../core/common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { TypedForm } from "../../../../core/common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface EditProgressDashboardComponentData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  parts: ProgressDashboardPart[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-edit-progress-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./edit-progress-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./edit-progress-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class EditProgressDashboardComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * This marks the control as invalid when the whole form has an error
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  readonly currentErrorStateMatcher: ErrorStateMatcher = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    isErrorState: (control: FormControl | null) => !control?.parent?.valid,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  title = new FormControl(this.data.title, [Validators.required]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  parts = this.fb.array(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.data.parts.map((part) => this.createPartForm(part)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  outputData = new FormGroup({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    title: this.title,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    parts: this.parts,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_DIALOG_DATA) private data: ProgressDashboardConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  createPartForm(part: ProgressDashboardPart) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return this.fb.group(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        label: this.fb.control(part.label, [Validators.required]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        currentValue: this.fb.control(part.currentValue, [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Validators.required,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Validators.min(0),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        targetValue: this.fb.control(part.targetValue, [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Validators.required,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          Validators.min(0),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        ]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        validators: [this.currentLessThanTarget],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  currentLessThanTarget(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    control: TypedForm<ProgressDashboardPart>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ): ValidationErrors | null {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const current = control.get("currentValue");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const target = control.get("targetValue");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (current.value > target.value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        currentGtTarget: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  addPart() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const newPart: ProgressDashboardPart = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      label: $localize`:Part of a whole:Part`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      currentValue: 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      targetValue: 10,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.parts.push(this.createPartForm(newPart));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  removePart(index: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.parts.removeAt(index);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityConfig.html b/documentation/interfaces/EntityConfig.html new file mode 100644 index 0000000000..a31e208c63 --- /dev/null +++ b/documentation/interfaces/EntityConfig.html @@ -0,0 +1,765 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity/entity-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Dynamic configuration for a entity. +This allows to change entity metadata based on the configuration.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + attributes + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + attributes: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    A list of attributes that will be dynamically added/overwritten to the entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + color + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + color: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    color used for to highlight this entity type across the app

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + extends + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + extends: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    when a new entity is created, all properties from this class will also be available

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + hasPII + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + hasPII: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    whether the type can contain personally identifiable information (PII)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + icon + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + icon: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    icon used to visualize the entity type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    human-readable name/label of the entity in the UI

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + labelPlural + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + labelPlural: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    human-readable name/label of the entity in the UI when referring to multiple

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + route + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + route: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    base route of views for this entity type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + toStringAttributes + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + toStringAttributes: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    A list of attributes which should be shown when calling the .toString() method of this entity. +E.g. showing the first and last name of a child.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (optional) the default is the ID of the entity (.entityId)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { EntitySchemaField } from "./schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Dynamic configuration for a entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This allows to change entity metadata based on the configuration.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface EntityConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * A list of attributes that will be dynamically added/overwritten to the entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  attributes?: { [key: string]: EntitySchemaField };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * A list of attributes which should be shown when calling the `.toString()` method of this entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * E.g. showing the first and last name of a child.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * (optional) the default is the ID of the entity (`.entityId`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  toStringAttributes?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * human-readable name/label of the entity in the UI
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * human-readable name/label of the entity in the UI when referring to multiple
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  labelPlural?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * icon used to visualize the entity type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  icon?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * color used for to highlight this entity type across the app
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  color?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * base route of views for this entity type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  route?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * when a new entity is created, all properties from this class will also be available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  extends?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * whether the type can contain personally identifiable information (PII)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  hasPII?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityCountDashboardConfig.html b/documentation/interfaces/EntityCountDashboardConfig.html new file mode 100644 index 0000000000..91d83741d7 --- /dev/null +++ b/documentation/interfaces/EntityCountDashboardConfig.html @@ -0,0 +1,471 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/dashboard-widgets/entity-count-dashboard-widget/entity-count-dashboard/entity-count-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + entity: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + groupBy + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + groupBy: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnumValue } from "../../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  EntityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { IconName } from "@fortawesome/fontawesome-svg-core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { groupBy } from "../../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityDatatype } from "../../../../core/basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface EntityCountDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  groupBy?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("ChildrenCountDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("EntityCountDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-entity-count-dashboard-widget",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./entity-count-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: ["./entity-count-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class EntityCountDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  implements EntityCountDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static getRequiredEntities(config: EntityCountDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return config?.entity || Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Entity name which should be grouped
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() set entityType(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this._entity = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private _entity: EntityConstructor = Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The property of the Child entities to group counts by.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Default is "center".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() groupBy = "center";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * if the groupBy field is an entity reference this holds the related entity type,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * so that the entity block will be displayed instead of an id string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * otherwise undefined, to display simply the group label.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  groupedByEntity: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  totalEntities: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityGroupCounts: { label: string; value: number; id: string }[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityIcon: IconName;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const groupByType = this._entity.schema.get(this.groupBy);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.groupedByEntity =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      groupByType.dataType === EntityDatatype.dataType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ? groupByType.additional
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const entities = await this.entityMapper.loadType(this._entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.updateCounts(entities.filter((e) => e.isActive));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.label = this._entity.labelPlural;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entityIcon = this._entity.icon;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  goToChildrenList(filterId: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const params = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    params[this.groupBy] = filterId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.router.navigate([this._entity.route], { queryParams: params });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private updateCounts(entities: Entity[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.totalEntities = entities.length;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const groups = groupBy(entities, this.groupBy as keyof Entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entityGroupCounts = groups.map(([group, entities]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const label = extractHumanReadableLabel(group);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        label: label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        value: entities.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        id: group?.["id"] || label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Get a human-readable string from the given value as a label.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +function extractHumanReadableLabel(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  value: string | ConfigurableEnumValue | any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  if (value === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  if (typeof value === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  if (value?.label) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return value.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  return String(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityDetailsConfig.html b/documentation/interfaces/EntityDetailsConfig.html new file mode 100644 index 0000000000..3c0ec5b9c9 --- /dev/null +++ b/documentation/interfaces/EntityDetailsConfig.html @@ -0,0 +1,414 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-details/EntityDetailsConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The configuration for a entity details page

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + entityType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The name of the entity (according to the ENTITY_TYPE).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + panels + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + panels: Panel[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Panel[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The configuration for the panels on this details page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * The configuration for a entity details page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface EntityDetailsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the entity (according to the ENTITY_TYPE).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The configuration for the panels on this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  panels: Panel[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A panel is a simple accordion that can be expanded and closed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * It can hold multiple components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface Panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The title of this panel. This should group the contained components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The configurations for the components in this panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  components: PanelComponent[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * The configuration for a component displayed inside a panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PanelComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * An optional second title for only this component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the component. When registered, this usually is the name of the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * component without the `component` suffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * A addition config which will be passed to the component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  config?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This interface represents the config which will be created by the entity-details component and passed to each of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * the panel components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This is not config that is defined and stored in the config file for customization.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PanelConfig<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The full entity which is displayed in this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Whether this entity has been newly created.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  creatingNew?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * An additional config which has been defined in the PanelComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityListConfig.html b/documentation/interfaces/EntityListConfig.html new file mode 100644 index 0000000000..3dd6689dc3 --- /dev/null +++ b/documentation/interfaces/EntityListConfig.html @@ -0,0 +1,713 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + columnGroups + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + columnGroups: ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ColumnGroupsConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional config for which columns are displayed. +By default, all columns are shown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + columns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + columns: (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : (FormFieldConfig | string)[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Custom overwrites or additional columns to be displayed in the table.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          If any special columns aside from the entity's fields are needed, add them here. +Fields of the entity type are available automatically.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + defaultSort + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + defaultSort: Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Sort + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional initial sort order. +Default is to sort by the first column.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + entityType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Select which entities should be displayed in the table +(optional) This is only used and necessary if EntityListComponent is used directly in config

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + exportConfig + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + exportConfig: ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional config defining what fields are included in exports.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + filters + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + filters: FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Optional config for available filters. +Default is no filters.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Title that is shown on top of the component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityPropertyMap.html b/documentation/interfaces/EntityPropertyMap.html new file mode 100644 index 0000000000..f4544603ab --- /dev/null +++ b/documentation/interfaces/EntityPropertyMap.html @@ -0,0 +1,351 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Indexable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + [key: string]: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +interface BirthdayDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entities: EntityPropertyMap;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  threshold: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@DynamicComponent("BirthdayDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-birthday-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./birthday-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./birthday-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class BirthdayDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  implements BirthdayDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  static getRequiredEntities(config: BirthdayDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return config?.entities ? Object.keys(config.entities) : Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private readonly today: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * An object holding the names of entities and properties where they have a `DateOfBirth` attribute.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * E.g. (which is also the default)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * ```json
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * "entities": { "Child": "dateOfBirth" }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() entities: EntityPropertyMap = { [Child.ENTITY_TYPE]: "dateOfBirth" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Birthdays that are less than "threshold" days away are shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Default 32
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() threshold = 32;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entries: EntityWithBirthday[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(private entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.today = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.today.setHours(0, 0, 0, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const data: EntityWithBirthday[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    for (const [entityType, property] of Object.entries(this.entities)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const entities = await this.entityMapper.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ...entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .filter((entity) => entity.isActive && entity[property])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .map((entity) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            birthday: this.getNextBirthday(entity[property]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +            newAge: entity[property]?.age + 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          }))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .filter((a) => this.daysUntil(a.birthday) < this.threshold),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    data.sort(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (a, b) => this.daysUntil(a.birthday) - this.daysUntil(b.birthday),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entries = data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private getNextBirthday(dateOfBirth: Date): Date {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const birthday = new Date(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.today.getFullYear(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dateOfBirth.getMonth(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      dateOfBirth.getDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.today.getTime() > birthday.getTime()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      birthday.setFullYear(birthday.getFullYear() + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return birthday;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private daysUntil(date: Date): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const diff = date.getTime() - this.today.getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return Math.floor(diff / (1000 * 60 * 60 * 24));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +interface EntityPropertyMap {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  [key: string]: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +interface EntityWithBirthday {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  birthday: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  newAge: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntitySchemaField.html b/documentation/interfaces/EntitySchemaField.html new file mode 100644 index 0000000000..05656bf48e --- /dev/null +++ b/documentation/interfaces/EntitySchemaField.html @@ -0,0 +1,1210 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity/schema/entity-schema-field.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Interface for additional configuration about a DatabaseField schema.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              This is used as parameter for the DatabaseField annotation:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @DatabaseField(fieldConfig: EntitySchemaField)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + _isCustomizedField + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + _isCustomizedField: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              indicates that this field has been created/modified through the config system +and is not matching the original entity class definition.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Set automatically during config initialization.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + additional + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + additional: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) Assign any custom "extension" configuration you need for a specific datatype extension.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              You can pass any kind of value here to allow complex custom datatype transformations +that are not part of the core datatypes and therefore not included in this core interface.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + anonymize + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + anonymize: "retain" | "retain-anonymized" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : "retain" | "retain-anonymized" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              whether the field will be retained when the entity is "anonymized".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              By default, fields are removed (data minimization by default).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "retain-anonymized" triggers a special dataType action to retain the data partially in a special, anonymized form.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + dataType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + dataType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The datatype of this field. This will trigger to matching datatype transformer when saving/loading the entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              If you don't set this explicitly, the dataType is inferred from the TypeScript type of the property that is annotated.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + defaultValue + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + defaultValue: DefaultValueConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : DefaultValueConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Configure the default value mode of this field. +Default values are applied to form fields, if field is empty +The form will be disabled, until all default value configs are applied

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + description + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + description: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A further description of the property which can be displayed in tooltips.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + editComponent + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + editComponent: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) Define using which component this property should be editable in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator +If nothing is defined, the default component for this datatype will be used.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityReferenceRole + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entityReferenceRole: EntityReferenceRole + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityReferenceRole + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) If the dataType of this field references another entity, + define the role of this relationship for the entity containing this field.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              i.e. how "important" is the entity this field is referencing? +Does this the entity containing this field (not the referenced entity) still have meaning after the referenced entity has been deleted?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              see options of the EntityReferenceRole type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + generateIndex + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + generateIndex: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Set to true to make the framework automatically create an index to retrieve/filter Entities quickly based on this field

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + isArray + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + isArray: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              If the dataType can hold multiple values, as an array of the given dataType.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A label which explains this value in a human-readable way

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + labelShort + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + labelShort: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              A short label which can be used in tables. +If nothing is specified, the long name will be used.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + searchable + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + searchable: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              If set to true, the entity can be found in the global search by entering this value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + showInDetailsView + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + showInDetailsView: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              whether to show this field in the default details view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + validators + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + validators: FormValidatorConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FormValidatorConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + viewComponent + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + viewComponent: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (Optional) Define using which component this property should be displayed in lists and forms.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              The edit component has to be a registered component. Components that are registered contain the DynamicComponent +decorator +If nothing is defined, the default component for this datatype will be used.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { FormValidatorConfig } from "../../common-components/entity-form/dynamic-form-validators/form-validator-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityReferenceRole } from "../../basic-datatypes/entity/entity-reference-role";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DefaultValueConfig } from "./default-value-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Interface for additional configuration about a DatabaseField schema.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * This is used as parameter for the DatabaseField annotation:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * `@DatabaseField(fieldConfig: EntitySchemaField)`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface EntitySchemaField {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The datatype of this field. This will trigger to matching datatype transformer when saving/loading the entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If you don't set this explicitly, the dataType is inferred from the TypeScript type of the property that is annotated.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  dataType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If the dataType can hold multiple values, as an array of the given dataType.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  isArray?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Set to true to make the framework automatically create an index to retrieve/filter Entities quickly based on this field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @todo not implemented yet
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  generateIndex?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If set to `true`, the entity can be found in the global search by entering this value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  searchable?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Configure the default value mode of this field.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default values are applied to form fields, if field is empty
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The form will be disabled, until all default value configs are applied
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  defaultValue?: DefaultValueConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) Assign any custom "extension" configuration you need for a specific datatype extension.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * You can pass any kind of value here to allow complex custom datatype transformations
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * that are not part of the core datatypes and therefore not included in this core interface.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  additional?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) If the dataType of this field references another entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *    define the role of this relationship for the entity containing this field.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * i.e. how "important" is the entity this field is referencing?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Does this the entity containing this field (not the referenced entity) still have meaning after the referenced entity has been deleted?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * see options of the `EntityReferenceRole` type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityReferenceRole?: EntityReferenceRole;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  // TODO: possibly remove viewComponent + editComponent from schema and only infer via dataType (or overwrite in FormFieldConfig)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) Define using which component this property should be displayed in lists and forms.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The edit component has to be a registered component. Components that are registered contain the `DynamicComponent`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * decorator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If nothing is defined, the default component for this datatype will be used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  viewComponent?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (Optional) Define using which component this property should be editable in lists and forms.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The edit component has to be a registered component. Components that are registered contain the `DynamicComponent`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * decorator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If nothing is defined, the default component for this datatype will be used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  editComponent?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A label which explains this value in a human-readable way
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A short label which can be used in tables.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If nothing is specified, the long name will be used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  labelShort?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * A further description of the property which can be displayed in tooltips.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  description?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  validators?: FormValidatorConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** whether to show this field in the default details view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  showInDetailsView?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * whether the field will be retained when the entity is "anonymized".
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * By default, fields are removed (data minimization by default).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * "retain-anonymized" triggers a special dataType action to retain the data partially in a special, anonymized form.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  anonymize?: "retain" | "retain-anonymized";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * indicates that this field has been created/modified through the config system
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * and is not matching the original entity class definition.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Set automatically during config initialization.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  _isCustomizedField?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Available placeholder variables that can be used to configure a dynamic default value.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * (e.g. "$now" to set to current date)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export enum PLACEHOLDERS {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  NOW = "$now",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  CURRENT_USER = "$current_user",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityWithBirthday.html b/documentation/interfaces/EntityWithBirthday.html new file mode 100644 index 0000000000..a9e2a5d09e --- /dev/null +++ b/documentation/interfaces/EntityWithBirthday.html @@ -0,0 +1,471 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/dashboard-widgets/birthday-dashboard-widget/birthday-dashboard/birthday-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + birthday + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + birthday: Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + entity: Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + newAge + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + newAge: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Child } from "../../../../child-dev-project/children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DatePipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +interface BirthdayDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entities: EntityPropertyMap;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  threshold: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@DynamicComponent("BirthdayDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-birthday-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./birthday-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  styleUrls: ["./birthday-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DatePipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class BirthdayDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  implements BirthdayDashboardConfig, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  static getRequiredEntities(config: BirthdayDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return config?.entities ? Object.keys(config.entities) : Child.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private readonly today: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * An object holding the names of entities and properties where they have a `DateOfBirth` attribute.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * E.g. (which is also the default)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * ```json
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * "entities": { "Child": "dateOfBirth" }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() entities: EntityPropertyMap = { [Child.ENTITY_TYPE]: "dateOfBirth" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Birthdays that are less than "threshold" days away are shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default 32
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() threshold = 32;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entries: EntityWithBirthday[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(private entityMapper: EntityMapperService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.today = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.today.setHours(0, 0, 0, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const data: EntityWithBirthday[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    for (const [entityType, property] of Object.entries(this.entities)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const entities = await this.entityMapper.loadType(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      data.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        ...entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          .filter((entity) => entity.isActive && entity[property])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          .map((entity) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            entity: entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            birthday: this.getNextBirthday(entity[property]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +            newAge: entity[property]?.age + 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          }))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          .filter((a) => this.daysUntil(a.birthday) < this.threshold),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    data.sort(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      (a, b) => this.daysUntil(a.birthday) - this.daysUntil(b.birthday),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.entries = data;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private getNextBirthday(dateOfBirth: Date): Date {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const birthday = new Date(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.today.getFullYear(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      dateOfBirth.getMonth(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      dateOfBirth.getDate(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.today.getTime() > birthday.getTime()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      birthday.setFullYear(birthday.getFullYear() + 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return birthday;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private daysUntil(date: Date): number {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const diff = date.getTime() - this.today.getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return Math.floor(diff / (1000 * 60 * 60 * 24));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +interface EntityPropertyMap {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  [key: string]: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +interface EntityWithBirthday {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  birthday: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  newAge: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/EntityWithRecentNoteInfo.html b/documentation/interfaces/EntityWithRecentNoteInfo.html new file mode 100644 index 0000000000..6d1bf9ed7c --- /dev/null +++ b/documentation/interfaces/EntityWithRecentNoteInfo.html @@ -0,0 +1,555 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  details on entity stats to be displayed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + daysSinceLastNote + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + daysSinceLastNote: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entityId + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + entityId: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + moreThanDaysSince + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + moreThanDaysSince: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  true when the daysSinceLastNote is not accurate but was cut off for performance optimization

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ChildrenService } from "../../../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityConstructor } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DecimalPipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Note } from "../../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +interface NotesDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  sinceDays?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  fromBeginningOfWeek?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  mode?: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Dashboard Widget displaying entities that do not have a recently added Note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * If you do not set "sinceDays" of "fromBeginningOfWeek" inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * by default notes since beginning of the current week are considered.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DynamicComponent("NotesDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-no-recent-notes-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./notes-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./notes-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DecimalPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class NotesDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  implements OnInit, NotesDashboardConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  static getRequiredEntities(config: NotesDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return config?.entity || Note.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Entity for which the recent notes should be counted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set entity(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this._entity = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  _entity: EntityConstructor = Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * number of days since last note that entities should be considered having a "recent" note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() sinceDays = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** Whether an additional offset should be automatically added to include notes from the beginning of the week */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() fromBeginningOfWeek = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() mode: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Entities displayed in the template with additional "daysSinceLastNote" field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entries: EntityWithRecentNoteInfo[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  subtitle: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    let dayRangeBoundary = this.sinceDays;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      dayRangeBoundary += moment().diff(moment().startOf("week"), "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          (stat) => stat[1] <= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities with recent reports:${this._entity.labelPlural} with recent report`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          (stat) => stat[1] >= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities without recent reports:${this._entity.labelPlural} having no recent reports`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private async loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    filter: (stat: [string, number]) => boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    dayRangeBoundary: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const queryRange = Math.round((dayRangeBoundary * 3) / 10) * 10; // query longer range to be able to display exact date of last note for recent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    // recent notes are sorted ascending, without recent notes descending
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const order = this.mode === "with-recent-notes" ? -1 : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const recentNotesMap =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.childrenService.getDaysSinceLastNoteOfEachEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        this._entity.ENTITY_TYPE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.entries = Array.from(recentNotesMap)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .filter(filter)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .map((stat) => statsToEntityWithRecentNoteInfo(stat, queryRange))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      .sort((a, b) => order * (b.daysSinceLastNote - a.daysSinceLastNote));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get tooltip(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases with a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases without a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get sinceBeginningOfTheWeek(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        $localize`:Tooltip-part|'includes cases without a note since the beginning of the week':since the beginning of the week`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get withinTheLastNDays(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    if (this.sinceDays > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        $localize`:Tooltip-part|'includes cases without a note within the last x days':without a note within the last ${this.sinceDays} days`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * details on entity stats to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +interface EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entityId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  daysSinceLastNote: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** true when the daysSinceLastNote is not accurate but was cut off for performance optimization */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  moreThanDaysSince: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Map a result entry from getDaysSinceLastNoteOfEachEntity to the EntityWithRecentNoteInfo interface
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * @param stat Array of [entityId, daysSinceLastNote]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * @param queryRange The query range (the maximum of days that exactly calculated)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +function statsToEntityWithRecentNoteInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  stat: [string, number],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  queryRange: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +): EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  if (stat[1] < Number.POSITIVE_INFINITY) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      daysSinceLastNote: stat[1],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      moreThanDaysSince: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      daysSinceLastNote: queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      moreThanDaysSince: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ExportColumnConfig.html b/documentation/interfaces/ExportColumnConfig.html new file mode 100644 index 0000000000..319e240929 --- /dev/null +++ b/documentation/interfaces/ExportColumnConfig.html @@ -0,0 +1,484 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/export/data-transformation-service/export-column-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Basic definition of a field / column to be included in an export through the ExportService.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + groupBy + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + groupBy: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Group the results of the query based on unique values at property. +This will also add another column to the list with the title label and the distinct values in the rows.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    label shown in the header row.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    If not specified, query is used.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + query + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + query: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The query to access the value for this column from the object to be exported

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + subQueries + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + subQueries: ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    One or more sub queries to expand one column into multiple columns and/or rows.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The queries in the subQueries are executed based on the result(s) from the parent query where: +each object in the parent query result will lead to its own row in the final export (extending one object into multiple export rows); +each query in the subQueries will lead to one (or recursively more) columns in the export rows.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    e.g. { query: ".participants:toEntities(Child), subQueries: [ {query: "name"}, {query: "phone"} ] } +=> parent query (not output in export): [{..child1}, {..child2}] +=> overall result: two export rows: [{ name: "child1", phone: "123"}, {name: "child2", phone: "567"}]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    export interface ExportColumnConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * label shown in the header row.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * If not specified, query is used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** The query to access the value for this column from the object to be exported */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  query: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * One or more sub queries to expand one column into multiple columns and/or rows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The queries in the subQueries are executed based on the result(s) from the parent query where:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * each object in the parent query result will lead to its own row in the final export (extending one object into multiple export rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * each query in the subQueries will lead to one (or recursively more) columns in the export rows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * e.g. `{ query: ".participants:toEntities(Child), subQueries: [ {query: "name"}, {query: "phone"} ] }`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * => parent query (not output in export): [{..child1}, {..child2}]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * => overall result: two export rows: [{ name: "child1", phone: "123"}, {name: "child2", phone: "567"}]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  subQueries?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Group the results of the query based on unique values at `property`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * This will also add another column to the list with the title `label` and the distinct values in the rows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  groupBy?: { label: string; property: string };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ExportRow.html b/documentation/interfaces/ExportRow.html new file mode 100644 index 0000000000..70b7237ac1 --- /dev/null +++ b/documentation/interfaces/ExportRow.html @@ -0,0 +1,466 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/export/data-transformation-service/data-transformation.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Indexable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + [key: string]: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  getReadableValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  transformToReadableFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "../../common-components/entities-table/value-accessor/value-accessor";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ExportColumnConfig } from "./export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { QueryService } from "../query.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { groupBy } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Prepare data for export or analysis
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class DataTransformationService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private queryService: QueryService) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async queryAndTransformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<ExportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const combinedResults: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const totalRow: ExportRow = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const c of config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      await this.queryService.cacheRequiredData(c.query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const baseData = this.queryService.queryData(c.query, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const result: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (c.subQueries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        result.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ...(await this.transformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            baseData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            c.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            c.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          )),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        totalRow[c.label] = baseData;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      combinedResults.push(...result);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return Object.keys(totalRow).length > 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ? [totalRow, ...combinedResults]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      : combinedResults;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private concatQueries(config: ExportColumnConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return (config.subQueries ?? []).reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      (query, c) => query + this.concatQueries(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      config.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Creates a dataset with the provided values that can be used for a simple table or export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param data an array of elements. If not provided, the first query in `config` will be used to get the data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param config (Optional) config specifying how export should look
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param from (Optional) limits the data which is fetched from the database and is also available inside the query. If not provided, all data is fetched.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param to (Optional) same as from.If not provided, today is used.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param groupByProperty (optional) groups the data using the value at the given property and adds a column to the final table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @returns array with the result of the queries and sub queries
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async transformData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to?: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    groupByProperty?: { label: string; property: string },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<ExportRow[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const fullQuery = config.map((c) => this.concatQueries(c)).join("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    await this.queryService.cacheRequiredData(fullQuery, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.generateRows(data, config, from, to, groupByProperty).map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      transformToReadableFormat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private generateRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    groupByProperty?: { label: string; property: string },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const result: ExportRow[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (groupByProperty) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const groups = groupBy(data, groupByProperty.property);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      for (const [group, values] of groups) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const groupColumn: ExportColumnConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          label: groupByProperty.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          query: `:setString(${getReadableValue(group)})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const rows = this.generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          values,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          [groupColumn].concat(...config),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        result.push(...rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      for (const dataRow of data) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const rows = this.generateColumnsForRow(dataRow, config, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        result.push(...rows);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Generate one or more export row objects from the given data data and config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param data A data to be exported as one or more export row objects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @returns array of one or more export row objects (as simple {key: value})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    config: ExportColumnConfig[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let exportRows: ExportRow[] = [{}];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const exportColumnConfig of config) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const partialExportObjects = this.buildValueRecursively(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        data,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        exportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      exportRows = this.mergePartialExportRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        exportRows,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        partialExportObjects,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return exportRows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Generate one or more (partial) export row objects from a single property of the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param data one single data item
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param exportColumnConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private buildValueRecursively(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    exportColumnConfig: ExportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const label =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      exportColumnConfig.label ?? exportColumnConfig.query.replace(".", "");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const value = this.getValueForQuery(exportColumnConfig, data, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!exportColumnConfig.subQueries) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return [{ [label]: value }];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else if (value.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return this.generateColumnsForRow(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        exportColumnConfig.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return this.generateRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        exportColumnConfig.subQueries,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        exportColumnConfig.groupBy,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getValueForQuery(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    exportColumnConfig: ExportColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: any | any[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): any {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const value = this.queryService.queryData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      exportColumnConfig.query,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      from,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      to,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      Array.isArray(data) ? data : [data],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!Array.isArray(value)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else if (!exportColumnConfig.subQueries && value.length === 1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return value[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return value.filter((val) => val !== undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Combine two arrays of export row objects.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Every additional row is merged with every row of the first array (combining properties),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * resulting in n*m export rows.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param exportRows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param additionalExportRows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private mergePartialExportRows(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    exportRows: ExportRow[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    additionalExportRows: ExportRow[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): ExportRow[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const rowsOfRows: ExportRow[][] = additionalExportRows.map((addRow) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      exportRows.map((row) => Object.assign({}, row, addRow)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // return flattened array
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return rowsOfRows.reduce((acc, rowOfRows) => acc.concat(rowOfRows), []);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface ExportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  [key: string]: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ExportingReport.html b/documentation/interfaces/ExportingReport.html new file mode 100644 index 0000000000..c0781feba9 --- /dev/null +++ b/documentation/interfaces/ExportingReport.html @@ -0,0 +1,406 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/report-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Reports handles by the {@class DataTransformationService}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + ReportConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + aggregationDefinitions + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + aggregationDefinitions: ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ExportColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + mode + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + mode: + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        If no mode is set, it will default to 'exporting'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatabaseEntity } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Aggregation } from "./data-aggregation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ExportColumnConfig } from "../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { DatabaseField } from "../../core/entity/database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A report can be accessed by users to generate aggregated statistics or customized exports calculated from available data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * "read" permission for a ReportConfig entity is also used to control which users can generate the report's results.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This is the class which is saved to the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * However, when using this in code, use the {@link ReportEntity} instead which provides better type safety.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@DatabaseEntity("ReportConfig")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +class ReportConfig extends Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** human-readable title of the report */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * (optional) mode of export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The {@link ReportEntity} holds the restriction on valid report modes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Default is "reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() mode?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /** the definitions to calculate the report's aggregations */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @DatabaseField() aggregationDefinitions: any[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Union type to enable type safety for report configs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Use this instead of the {@class ReportConfig}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export type ReportEntity = AggregationReport | ExportingReport | SqlReport;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This allows the `ReportEntity` to also be used as a constructor or in the `EntityMapper`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export const ReportEntity = ReportConfig as EntityConstructor<ReportEntity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class DataAggregationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface AggregationReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode: "reporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: Aggregation[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class DataTransformationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface ExportingReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * If no mode is set, it will default to 'exporting'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode?: "exporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Reports handles by the {@class SqlReportService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface SqlReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  mode: "sql";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Array of valid SQL SELECT statements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  aggregationDefinitions: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ExtendedAlertConfig.html b/documentation/interfaces/ExtendedAlertConfig.html new file mode 100644 index 0000000000..e75d2182b7 --- /dev/null +++ b/documentation/interfaces/ExtendedAlertConfig.html @@ -0,0 +1,307 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/alerts/alert-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + AlertConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + timestamp + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + timestamp: Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { AlertDisplay } from "./alert-display";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface AlertConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The text of the message */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  message: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The type of the message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Info messages provide feedback or information to the user without any required action
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Warning messages provide feedback about unexpected or potentially unintended events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   *  - Danger messages inform about errors or critical conditions that the user should not overlook
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  type: "info" | "warning" | "danger";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** The display style (e.g. whether the alert has to be actively dismissed by the user) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display: AlertDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ExtendedAlertConfig extends AlertConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  timestamp: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FieldGroup.html b/documentation/interfaces/FieldGroup.html new file mode 100644 index 0000000000..ae8658402f --- /dev/null +++ b/documentation/interfaces/FieldGroup.html @@ -0,0 +1,341 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/entity-details/form/field-group.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A group of related form fields displayed within a Form component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + fields + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + fields: ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + header + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + header: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { ColumnConfig } from "../../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A group of related form fields displayed within a Form component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface FieldGroup {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  header?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  fields: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FilterOverlayData.html b/documentation/interfaces/FilterOverlayData.html new file mode 100644 index 0000000000..4334758948 --- /dev/null +++ b/documentation/interfaces/FilterOverlayData.html @@ -0,0 +1,460 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/filter/filter-overlay/filter-overlay.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entities + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entities: T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : T[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entityType: EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityConstructor<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + filterConfig + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + filterConfig: FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + filterObjChange + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + filterObjChange: function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + useUrlQueryParams + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + useUrlQueryParams: + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MAT_DIALOG_DATA, MatDialogModule } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FilterConfig } from "../../entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FilterComponent } from "../filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DataFilter } from "../filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface FilterOverlayData<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filterConfig: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entities: T[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  useUrlQueryParams: true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filterObjChange: (filter: DataFilter<T>) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * The component that shows filter options on small screens
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * via a popover instead of the menu
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-filter-overlay",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./filter-overlay.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styles: [":host { display: block }"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [MatDialogModule, FilterComponent, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class FilterOverlayComponent<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(@Inject(MAT_DIALOG_DATA) public data: FilterOverlayData<T>) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FilterSelectionOption.html b/documentation/interfaces/FilterSelectionOption.html new file mode 100644 index 0000000000..c8330f1258 --- /dev/null +++ b/documentation/interfaces/FilterSelectionOption.html @@ -0,0 +1,573 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/filter/filters/filters.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Represents one specific option to filter data in a certain way. +used by SelectableFilter

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + color + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + color: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Optional color

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + filter + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + filter: DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : DataFilter<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The filter query which should be used if this filter is selected

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + key + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + key: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                identifier for this option in the parent FilterSelection instance

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                label displayed for this option to the user in the UI

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MongoQuery } from "@casl/ability";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ListFilterComponent } from "../list-filter/list-filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EventEmitter, Type } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This filter can be used to filter an array of entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * It has to follow the MongoDB Query Syntax {@link https://www.mongodb.com/docs/manual/reference/operator/query/}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * The filter is parsed using ucast {@link https://github.com/stalniy/ucast/tree/master/packages/mongo2js}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export type DataFilter<T> = MongoQuery<T> | {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export abstract class Filter<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The component used to display filter option to the user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  component: Type<any> = ListFilterComponent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public selectedOptionValues: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Triggered when this filter changes value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * (e.g. when the user selects a new value in a FilterComponent).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This is part of the filter object because dynamic filter components can't expose @Outputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selectedOptionChange = new EventEmitter<string[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  protected constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public name: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public label: string = name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  abstract getFilter(): DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Generic configuration for a filter with different selectable {@link FilterSelectionOption} options.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This is a reusable format for any kind of dropdown or selection component that offers the user a choice
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * to narrow down a list of data items.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * As the filter function is provided as part of each {@link FilterSelectionOption}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * an instance of this FilterSelection class can manage all filter selection logic.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class SelectableFilter<T extends Entity> extends Filter<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Generate filter options dynamically from the given value to be matched.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This is a utility function to make it easier to generate {@link FilterSelectionOption}s for standard cases
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * if you simply want each option to filter items having the given attribute matching different values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If you have more sophisticated filtering needs, use the constructor to set {@link FilterSelectionOption}s that
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * you created yourself.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param valuesToMatchAsOptions An array of values to be matched.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *        A separate FilterSelectionOption is created for each value with a filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *        that is true of a data item's property exactly matches that value.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param attributeName The name of the property of a data item that is compared to the value in the filter function.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public static generateOptions<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    valuesToMatchAsOptions: (string | number)[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    attributeName: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): FilterSelectionOption<T>[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return valuesToMatchAsOptions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .filter((k) => !!k)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .map((k) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        key: k.toString().toLowerCase(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        label: k.toString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        filter: { [attributeName]: k } as DataFilter<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Create a FilterSelection with different options to be selected.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param name The name or id describing this filter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param options An array of different filtering variants to chose between
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param label The user-friendly label describing this filter-selection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * (optional, defaults to the name of the selection)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public name: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public options: FilterSelectionOption<T>[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    public label: string = name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super(name, label);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.selectedOptionValues = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Get the full filter option by its key.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param key The identifier of the requested option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  getOption(key: string): FilterSelectionOption<T> | undefined {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return this.options.find((option: FilterSelectionOption<T>): boolean => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return option.key === key;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Get the filter query for the given option.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If the given key is undefined or invalid, the returned filter matches any elements.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  public getFilter(): DataFilter<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const filters: DataFilter<T>[] = this.selectedOptionValues
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .map((value: string) => this.getOption(value))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .filter((value: FilterSelectionOption<T>) => value !== undefined)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .map((previousValue: FilterSelectionOption<T>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        return previousValue.filter as DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (filters.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      return {} as DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      $or: [...filters],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    } as unknown as DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Represents one specific option to filter data in a certain way.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * used by {@link SelectableFilter}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface FilterSelectionOption<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** identifier for this option in the parent FilterSelection instance */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  key: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** label displayed for this option to the user in the UI */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** Optional color */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  color?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The filter query which should be used if this filter is selected
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  filter: DataFilter<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FlattenedReportRow.html b/documentation/interfaces/FlattenedReportRow.html new file mode 100644 index 0000000000..9adb1df2d8 --- /dev/null +++ b/documentation/interfaces/FlattenedReportRow.html @@ -0,0 +1,372 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/reporting/reporting/report-row/report-row.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + ReportRow +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + isExpandable + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + isExpandable: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + level + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + level: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Input } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { getGroupingInformationString, ReportRow } from "../../report-row";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FlatTreeControl } from "@angular/cdk/tree";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatTreeFlatDataSource,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatTreeFlattener,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/material/tree";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +interface FlattenedReportRow extends ReportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  level: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  isExpandable: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-report-row",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./report-row.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./report-row.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [MatTableModule, MatButtonModule, FontAwesomeModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ReportRowComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @Input() set rows(rows: ReportRow[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.dataSource.data = rows;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  displayedColumns: string[] = ["name", "count"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getGroupedByString = getGroupingInformationString;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  treeFlattener = new MatTreeFlattener<ReportRow, FlattenedReportRow>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row, level) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      level: level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      isExpandable: !!row.subRows && row.subRows.length > 0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ...row,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row) => row.level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row) => row.isExpandable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row) => row.subRows,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  treeControl = new FlatTreeControl<FlattenedReportRow>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row) => row.level,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    (row) => row.isExpandable,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FormConfig.html b/documentation/interfaces/FormConfig.html new file mode 100644 index 0000000000..6dcbe2b86d --- /dev/null +++ b/documentation/interfaces/FormConfig.html @@ -0,0 +1,380 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity-details/form/form.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Config format that the FormComponent handles.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + fieldGroups + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + fieldGroups: FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : FieldGroup[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Component, Input, OnInit, Optional } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { getParentUrl } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Location, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { InvalidFormFieldError } from "../../common-components/entity-form/invalid-form-field.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../../common-components/entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AlertService } from "../../alerts/alert.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityFormComponent } from "../../common-components/entity-form/entity-form/entity-form.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DisableEntityOperationDirective } from "../../permissions/permission-directive/disable-entity-operation.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FieldGroup } from "./field-group";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ViewComponentContext } from "../../ui/abstract-view/abstract-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * A simple wrapper function of the EntityFormComponent which can be used as a dynamic component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * e.g. as a panel for the EntityDetailsComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("Form")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-form",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./form.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./form.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityFormComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    DisableEntityOperationDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class FormComponent<E extends Entity> implements FormConfig, OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: E;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() creatingNew = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  form: EntityForm<E>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private location: Location,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private alertService: AlertService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    @Optional() private viewContext: ViewComponentContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form = this.entityFormService.createFormGroup(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      [].concat(...this.fieldGroups.map((group) => group.fields)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.entity,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!this.creatingNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async saveClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      await this.entityFormService.saveChanges(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (this.creatingNew && !this.viewContext?.isDialog) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        await this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          getParentUrl(this.router),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.entity.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (!(err instanceof InvalidFormFieldError)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.alertService.addDanger(err.message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  cancelClicked() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.creatingNew) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.location.back();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.entityFormService.resetForm(this.form, this.entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.form.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Config format that the FormComponent handles.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface FormConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  fieldGroups: FieldGroup[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/FormFieldConfig.html b/documentation/interfaces/FormFieldConfig.html new file mode 100644 index 0000000000..592144194e --- /dev/null +++ b/documentation/interfaces/FormFieldConfig.html @@ -0,0 +1,622 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/common-components/entity-form/FormConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The general configuration for fields in tables and forms. +This defines which property is displayed and how it should be displayed.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      You can just provide the id as string or overwrite any EntitySchemaField property here as necessary.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + EntitySchemaField +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + forTable + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + forTable: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      An internal flag that will be automatically set in the entity subrecord in order to adapt the view/edit components.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + hideFromForm + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + hideFromForm: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      If true, the field will only be shown in tables and excluded from forms and popups.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + hideFromTable + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + hideFromTable: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      If true, the field will only be shown in forms and popups, but not in tables.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The id of the entity which should be accessed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + noSorting + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + noSorting: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      When set to true, the sorting of this column will be disabled. +Should be used when the sorting will not work correctly/does not make sense. +E.g. when displaying a list of entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + visibleFrom + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + visibleFrom: "xs" | "sm" | "md" | "lg" | "xl" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : "xs" | "sm" | "md" | "lg" | "xl" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      visibleFrom The minimal screen size where the column is shown. + screen size classes: xs 'screen and (max-width: 599px)' + sm 'screen and (min-width: 600px) and (max-width: 959px)' + md 'screen and (min-width: 960px) and (max-width: 1279px)' + lg 'screen and (min-width: 1280px) and (max-width: 1919px)' + xl 'screen and (min-width: 1920px) and (max-width: 5000px)'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { EntitySchemaField } from "../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The general configuration for fields in tables and forms.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This defines which property is displayed and how it should be displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * You can just provide the id as string or overwrite any EntitySchemaField property here as necessary.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface FormFieldConfig extends EntitySchemaField {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The id of the entity which should be accessed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * When set to true, the sorting of this column will be disabled.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Should be used when the sorting will not work correctly/does not make sense.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * E.g. when displaying a list of entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  noSorting?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * visibleFrom The minimal screen size where the column is shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *           screen size classes: xs  'screen and (max-width: 599px)'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *           sm  'screen and (min-width: 600px) and (max-width: 959px)'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *           md  'screen and (min-width: 960px) and (max-width: 1279px)'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *           lg  'screen and (min-width: 1280px) and (max-width: 1919px)'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *           xl  'screen and (min-width: 1920px) and (max-width: 5000px)'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  visibleFrom?: "xs" | "sm" | "md" | "lg" | "xl";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If true, the field will only be shown in forms and popups, but not in tables.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  hideFromTable?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If true, the field will only be shown in tables and excluded from forms and popups.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  hideFromForm?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * An internal flag that will be automatically set in the entity subrecord in order to adapt the view/edit components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  forTable?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Type for the definition of a single column in the EntitySubrecord
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export type ColumnConfig = string | FormFieldConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export function toFormFieldConfig(column: ColumnConfig): FormFieldConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  if (typeof column === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return { id: column };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return column;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/GeoLocation.html b/documentation/interfaces/GeoLocation.html new file mode 100644 index 0000000000..3beb49e08f --- /dev/null +++ b/documentation/interfaces/GeoLocation.html @@ -0,0 +1,392 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/location/location.datatype.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        A location both as custom string and an optional geo location lookup.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + geoLookup + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + geoLookup: GeoResult + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : GeoResult + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + locationString + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + locationString: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { DefaultDatatype } from "../../core/entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { GeoResult, GeoService } from "./geo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { lastValueFrom } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A location both as custom string and an optional geo location lookup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface GeoLocation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  locationString?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  geoLookup?: GeoResult;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class LocationDatatype extends DefaultDatatype<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  GeoLocation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  GeoLocation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static override dataType = "location";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static override label: string = $localize`:datatype-label:location (address + map)`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  editComponent = "EditLocation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  viewComponent = "ViewLocation";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(private geoService: GeoService) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  transformToObjectFormat(value: GeoLocation): GeoLocation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (typeof value !== "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // until we have an extended location datatype that includes a custom address addition field, discard invalid values (e.g. in case datatype was changed)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!value.hasOwnProperty("locationString")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // migrate from legacy format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        locationString: value["display_name"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        geoLookup: value as unknown as GeoResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async importMapFunction(val: any): Promise<GeoLocation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!val) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const geoResults = await lastValueFrom(this.geoService.lookup(val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return { locationString: val, geoLookup: geoResults[0] };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/GeoResult.html b/documentation/interfaces/GeoResult.html new file mode 100644 index 0000000000..0e9d72c914 --- /dev/null +++ b/documentation/interfaces/GeoResult.html @@ -0,0 +1,406 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/location/geo.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Coordinates +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + display_name + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + display_name: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Coordinates } from "./coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ConfigService } from "../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { AnalyticsService } from "../../core/analytics/analytics.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MAP_CONFIG_KEY, MapConfig } from "./map-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface GeoResult extends Coordinates {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  display_name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * A service that uses nominatim to lookup locations {@link https://nominatim.org/}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class GeoService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private readonly remoteUrl = "/nominatim";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private countrycodes = "de";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private defaultOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    format: "json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    addressdetails: 1,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    email: environment.email,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private http: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private analytics: AnalyticsService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    configService.configUpdates.subscribe(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const config = configService.getConfig<MapConfig>(MAP_CONFIG_KEY);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (config?.countrycodes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.countrycodes = config.countrycodes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Returns locations that match the search term
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param searchTerm e.g. `Rollbergstraße Berlin`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  lookup(searchTerm: string): Observable<GeoResult[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.analytics.eventTrack("lookup_executed", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      category: "Map",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      value: searchTerm.length,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .get<OpenStreetMapsSearchResult[]>(`${this.remoteUrl}/search`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ...this.defaultOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          q: searchTerm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          countrycodes: this.countrycodes,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        map((results) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Array.isArray(results)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            ? results.map((x) => this.reformatDisplayName(x))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            : [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private reformatDisplayName(result: OpenStreetMapsSearchResult): GeoResult {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const addr = result?.address;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (addr) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const city = addr.city ?? addr.town;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result.display_name = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        addr.amenity ?? addr.office,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        addr.road ? addr.road + " " + addr.house_number : undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        addr.postcode ? addr.postcode + " " + city : city,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .filter((x) => !!x)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        .join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Returns the location at the provided coordinates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param coordinates of a place (`lat` and `lon`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  reverseLookup(coordinates: Coordinates): Observable<GeoResult> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.analytics.eventTrack("reverse_lookup_executed", {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      category: "Map",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .get<OpenStreetMapsSearchResult>(`${this.remoteUrl}/reverse`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          ...this.defaultOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          lat: coordinates.lat,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          lon: coordinates.lon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      .pipe(map((result) => this.reformatDisplayName(result)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +type OpenStreetMapsSearchResult = GeoResult & {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  address: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    amenity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    office?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    house_number?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    road?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    neighbourhood?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    suburb?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    borough?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    city?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    town?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    postcode?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    country?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    country_code?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/GroupByDescription.html b/documentation/interfaces/GroupByDescription.html new file mode 100644 index 0000000000..0459aadd87 --- /dev/null +++ b/documentation/interfaces/GroupByDescription.html @@ -0,0 +1,358 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/reporting/report-row.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + property + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + property: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + value + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + value: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            export interface ReportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  header: { label: string; groupedBy: GroupByDescription[]; result: number };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  subRows: ReportRow[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface GroupByDescription {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  property: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  value: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export function getGroupingInformationString(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  groupedBy: GroupByDescription[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (groupedBy.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      "(" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      groupedBy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .map((group) => getValueDescription(group.value, group.property))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .join(", ") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ")"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +function getValueDescription(value: any, property: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  if (typeof value === "boolean") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : $localize`:Not a certain property|e.g. 'not male':not ${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } else if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return $localize`:Excluding a certain property|e.g. 'without religion':without ${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } else if (value.hasOwnProperty("label")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return value.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/GroupConfig.html b/documentation/interfaces/GroupConfig.html new file mode 100644 index 0000000000..f75150cacd --- /dev/null +++ b/documentation/interfaces/GroupConfig.html @@ -0,0 +1,428 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + columns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + columns: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + name + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + name: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/HasOrdinal.html b/documentation/interfaces/HasOrdinal.html new file mode 100644 index 0000000000..1868ab4cc3 --- /dev/null +++ b/documentation/interfaces/HasOrdinal.html @@ -0,0 +1,354 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/basic-datatypes/configurable-enum/configurable-enum-ordering.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Support for types of configurable enums that impose a total ordering of their elements. +Not all configurable enums (should sensibly) be able to be ordered. For example, it does +not make sense to see which school / center is "greater than" another center, or which gender is above +which other gender.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                For other enum types it is, however, sensible to impose a total ordering such as warning levels ('OK' is +somewhat 'better' than 'WARNING').

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Configurable enum values that impose a total ordering can be compared, which also means that they can be sorted, +and thus have a notion of one element being 'greater than' or 'less than' to another element. The interpretation +of 'greater' or 'less' than is dependent on the concrete enum.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + _ordinal + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + _ordinal: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ConfigurableEnumConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ConfigurableEnumValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "./configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { isObject } from "lodash-es";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export namespace Ordering {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Support for types of configurable enums that impose a total ordering of their elements.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Not all configurable enums (should sensibly) be able to be ordered. For example, it does
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * not make sense to see which school / center is "greater than" another center, or which gender is above
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * which other gender.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * For other enum types it is, however, sensible to impose a total ordering such as warning levels ('OK' is
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * somewhat 'better' than 'WARNING').
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Configurable enum values that impose a total ordering can be compared, which also means that they can be sorted,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * and thus have a notion of one element being 'greater than' or 'less than' to another element. The interpretation
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * of 'greater' or 'less' than is dependent on the concrete enum.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  export interface HasOrdinal {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    _ordinal?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  export function hasOrdinalValue(value: any): value is HasOrdinal {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return isObject(value) && "_ordinal" in value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  export type EnumValue<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    T extends ConfigurableEnumValue = ConfigurableEnumValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  > = T & HasOrdinal;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  export type Config<T extends ConfigurableEnumValue> = ConfigurableEnumConfig<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    T & HasOrdinal
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Extends an array of configurable enum values with an ordinal value so that the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * ordinal value of each enum value matches the position of the element in the array.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Note that this should be used 'early' in the pipeline, i.e. when the `ConfigurableEnumConfig` is just
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * created. It is technically not incorrect to use this function on any array that contains configurable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * enum values, but it doesn't make sense to apply this function to 'scrambled' arrays, i.e. arrays where the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * ordering of values is _not_ the natural order of these values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * @param values The values to impose a total ordering on
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  export function imposeTotalOrdering<T extends ConfigurableEnumValue>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    values: ConfigurableEnumConfig<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ): ConfigurableEnumConfig<EnumValue<T>> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return values.map((val, i) => Object.assign({ _ordinal: i }, val));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ImportDialogData.html b/documentation/interfaces/ImportDialogData.html new file mode 100644 index 0000000000..6a8a7881b8 --- /dev/null +++ b/documentation/interfaces/ImportDialogData.html @@ -0,0 +1,396 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/import/import-confirm-summary/import-confirm-summary.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Data passed into Import Confirmation Dialog.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + entitiesToImport + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + entitiesToImport: Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + importSettings + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + importSettings: ImportSettings + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : ImportSettings + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ImportService } from "../import.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ImportMetadata, ImportSettings } from "../import-metadata";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatSnackBar } from "@angular/material/snack-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Data passed into Import Confirmation Dialog.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface ImportDialogData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entitiesToImport: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  importSettings: ImportSettings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Summary screen and confirmation / execution dialog for running an import.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  selector: "app-import-confirm-summary",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  templateUrl: "./import-confirm-summary.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  styleUrls: ["./import-confirm-summary.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  imports: [MatDialogModule, NgIf, MatProgressBarModule, MatButtonModule],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ImportConfirmSummaryComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  importInProgress: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private dialogRef: MatDialogRef<ImportConfirmSummaryComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    @Inject(MAT_DIALOG_DATA) public data: ImportDialogData,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private snackBar: MatSnackBar,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    private importService: ImportService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  // TODO: detailed summary including warnings of unmapped columns, ignored values, etc. (#1943)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  async executeImport() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.importInProgress = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.dialogRef.disableClose = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const completedImport = await this.importService.executeImport(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.data.entitiesToImport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      this.data.importSettings,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.showImportSuccessToast(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    this.dialogRef.close(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  private showImportSuccessToast(completedImport: ImportMetadata) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const snackBarRef = this.snackBar.open(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`Import completed`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      $localize`Undo`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        duration: 8000,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    snackBarRef.onAction().subscribe(async () => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      await this.importService.undoImport(completedImport);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ImportSettings.html b/documentation/interfaces/ImportSettings.html new file mode 100644 index 0000000000..d4eab8e185 --- /dev/null +++ b/documentation/interfaces/ImportSettings.html @@ -0,0 +1,407 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/import/import-metadata.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Settings required to execute an import including type and mappings.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + additionalActions + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + additionalActions: AdditionalImportAction[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : AdditionalImportAction[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + columnMapping + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + columnMapping: ColumnMapping[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : ColumnMapping[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + entityType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { DatabaseEntity } from "../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DatabaseField } from "../entity/database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ColumnMapping } from "./column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { AdditionalImportAction } from "./import-additional-actions/additional-import-action";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Details of a previously executed import of data saved to the database to keep a history.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DatabaseEntity("ImportMetadata")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class ImportMetadata extends Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static create(contents: Partial<ImportMetadata>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return Object.assign(new ImportMetadata(), contents);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  get date(): Date {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.created?.at;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  get user(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.created?.by;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @DatabaseField() config: ImportSettings;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @DatabaseField() ids: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Settings required to execute an import including type and mappings.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface ImportSettings {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  columnMapping: ColumnMapping[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  additionalActions?: AdditionalImportAction[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/InteractionType.html b/documentation/interfaces/InteractionType.html new file mode 100644 index 0000000000..9a6f7319a4 --- /dev/null +++ b/documentation/interfaces/InteractionType.html @@ -0,0 +1,321 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/child-dev-project/notes/model/interaction-type.interface.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Additional properties defined in the "interaction-type" ConfigurableEnumValue values +providing special context for Note categories.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + ConfigurableEnumValue +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + isMeeting + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + isMeeting: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      whether the Note is a group type category that stores attendance details for each related person

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { ConfigurableEnumValue } from "../../../core/basic-datatypes/configurable-enum/configurable-enum.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Additional properties defined in the "interaction-type" {@link ConfigurableEnumValue} values
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * providing special context for {@link Note} categories.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface InteractionType extends ConfigurableEnumValue {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** whether the Note is a group type category that stores attendance details for each related person */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  isMeeting?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * ID of the Note category {@link ConfigurableEnumValue} in the config database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export const INTERACTION_TYPE_CONFIG_ID = "interaction-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/KeycloakUser.html b/documentation/interfaces/KeycloakUser.html new file mode 100644 index 0000000000..2a6bedbb19 --- /dev/null +++ b/documentation/interfaces/KeycloakUser.html @@ -0,0 +1,666 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/session/auth/keycloak/keycloak-auth.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Extract of Keycloak user object. +See https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_userrepresentation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + email + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + email: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + enabled + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + enabled: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + roles + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + roles: Role[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Role[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + username + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + username: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { environment } from "../../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { SessionInfo } from "../session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { KeycloakEventType, KeycloakService } from "keycloak-angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { User } from "../../../user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { ParsedJWT, parseJwt } from "../../../../session/session-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { RemoteLoginNotAvailableError } from "./remote-login-not-available.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Handles the remote session with keycloak
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class KeycloakAuthService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Users with this role can create and update other accounts.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static readonly ACCOUNT_MANAGER_ROLE = "account_manager";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  static readonly LAST_AUTH_KEY = "LAST_REMOTE_LOGIN";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  accessToken: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private httpClient: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private keycloak: KeycloakService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Check for an existing session or forward to the login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async login(): Promise<SessionInfo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.keycloakInitialised) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.initKeycloak();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    await this.keycloak.updateToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    let token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      // Forward to the keycloak login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.keycloak.login({ redirectUri: location.href });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.processToken(token);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private async initKeycloak() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      await this.keycloak.init({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        config: window.location.origin + "/assets/keycloak.json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        initOptions: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          onLoad: "check-sso",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          silentCheckSsoRedirectUri:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +            window.location.origin + "/assets/silent-check-sso.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // GitHub API rejects if non GitHub bearer token is present
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        shouldAddToken: ({ url }) => !url.includes("api.github.com"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        err?.error ===
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        "Timeout when waiting for 3rd party check iframe message."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // this is actually an expected scenario, user's internet is slow or not available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        err = new RemoteLoginNotAvailableError();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        Logging.error("Keycloak init failed", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    // auto-refresh expiring tokens, as suggested by https://github.com/mauriciovigolo/keycloak-angular?tab=readme-ov-file#keycloak-js-events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.keycloak.keycloakEvents$.subscribe((event) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (event.type == KeycloakEventType.OnTokenExpired) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        this.login().catch((err) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          Logging.debug("automatic token refresh failed", err),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.keycloakInitialised = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private processToken(token: string): SessionInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      throw new Error("No token received from Keycloak");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.accessToken = token;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.logSuccessfulAuth();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const parsedToken: ParsedJWT = parseJwt(this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const sessionInfo: SessionInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      name: parsedToken.username ?? parsedToken.sub,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      roles: parsedToken["_couchdb.roles"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (parsedToken.username) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      sessionInfo.entityId = parsedToken.username.includes(":")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ? parsedToken.username
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        : Entity.createPrefixedId(User.ENTITY_TYPE, parsedToken.username);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        `User not linked with an entity (userId: ${sessionInfo.name})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (parsedToken.email) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      sessionInfo.email = parsedToken.email;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return sessionInfo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Add the Bearer auth header to a existing header object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * @param headers
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  addAuthHeader(headers: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.accessToken) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      if (headers.set && typeof headers.set === "function") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // PouchDB headers are set as a map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        headers.set("Authorization", "Bearer " + this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        // Interceptor headers are set as a simple object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        headers["Authorization"] = "Bearer " + this.accessToken;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Forward to the keycloak logout endpoint to clear the session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async logout() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return await this.keycloak.logout(location.href);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Open password reset page in browser.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Only works with internet connection.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  changePassword(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.keycloak.login({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      action: "UPDATE_PASSWORD",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      redirectUri: location.href,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  async getUserinfo(): Promise<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const user = await this.keycloak.getKeycloakInstance().loadUserInfo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return user as KeycloakUser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  setEmail(email: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.httpClient.put(`${environment.account_url}/account/set-email`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      email,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  createUser(user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.httpClient.post(`${environment.account_url}/account`, user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  updateUser(userId: string, user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.httpClient.put(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      `${environment.account_url}/account/${userId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      user,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getUser(username: string): Observable<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.httpClient.get<KeycloakUser>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      `${environment.account_url}/account/${username}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Get a list of all roles generally available in the user management system.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  getRoles(): Observable<Role[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return this.httpClient.get<Role[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      `${environment.account_url}/account/roles`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Log timestamp of last successful authentication
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  logSuccessfulAuth() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      KeycloakAuthService.LAST_AUTH_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      new Date().toISOString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Extract of Keycloak role object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_rolerepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface Role {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  description: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Extract of Keycloak user object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_userrepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface KeycloakUser {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  username: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  email: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  roles: Role[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  enabled: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MapConfig.html b/documentation/interfaces/MapConfig.html new file mode 100644 index 0000000000..37ee1cac35 --- /dev/null +++ b/documentation/interfaces/MapConfig.html @@ -0,0 +1,367 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/location/map-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          General configuration for the map integration

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + countrycodes + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + countrycodes: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Countries, from which search results will be included +see https://nominatim.org/release-docs/develop/api/Search/#result-limitation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + start + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + start: [number, number] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : [number, number] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Start location of map if nothing was selected yet

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          export const MAP_CONFIG_KEY = "appConfig:map";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * General configuration for the map integration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface MapConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Countries, from which search results will be included
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * see {@link https://nominatim.org/release-docs/develop/api/Search/#result-limitation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  countrycodes?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Start location of map if nothing was selected yet
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  start?: [number, number];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MapPopupConfig.html b/documentation/interfaces/MapPopupConfig.html new file mode 100644 index 0000000000..9993d025b6 --- /dev/null +++ b/documentation/interfaces/MapPopupConfig.html @@ -0,0 +1,739 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/location/map-popup/map-popup.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + disabled + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + disabled: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + displayedProperties + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + displayedProperties: LocationProperties + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : LocationProperties + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entities + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + entities: Observable<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Observable<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + entityClick + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + entityClick: Subject<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Subject<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + helpText + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + helpText: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Display a custom help text in the dialog to explain possible actions. +(Otherwise the default help is shown)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + highlightedEntities + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + highlightedEntities: Observable<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Observable<Entity[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + marked + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + marked: Coordinates[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : Coordinates[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + selectedLocation + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + selectedLocation: GeoLocation + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : GeoLocation + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A single location that is selected and editable.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { Component, Inject } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Coordinates } from "../coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { BehaviorSubject, firstValueFrom, Observable, of, Subject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MapComponent } from "../map/map.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AsyncPipe } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { LocationProperties } from "../map/map-properties-popup/map-properties-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AddressSearchComponent } from "../address-search/address-search.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { GeoResult, GeoService } from "../geo.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { catchError, map } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AddressEditComponent } from "../address-edit/address-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface MapPopupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  marked?: Coordinates[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entities?: Observable<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  highlightedEntities?: Observable<Entity[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityClick?: Subject<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  disabled?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  displayedProperties?: LocationProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Display a custom help text in the dialog to explain possible actions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * (Otherwise the default help is shown)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  helpText?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * A single location that is selected and editable.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectedLocation?: GeoLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A dialog to display an OpenStreetMap map with markers and optionally allow the user to select a location.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-map-popup",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./map-popup.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./map-popup.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MapComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    AddressSearchComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    AddressEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class MapPopupComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  markedLocations: BehaviorSubject<GeoResult[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  helpText: string = $localize`Search an address or click on the map directly to select a different location`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectedLocation: GeoLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Inject(MAT_DIALOG_DATA) public data: MapPopupConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private dialogRef: MatDialogRef<MapPopupComponent>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private geoService: GeoService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.markedLocations = new BehaviorSubject<GeoResult[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (data.marked as GeoResult[]) ?? [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.selectedLocation = data.selectedLocation;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.selectedLocation &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      !this.markedLocations.value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .filter((x) => !!x)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .includes(this.selectedLocation.geoLookup)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.markedLocations.next([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ...this.markedLocations.value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.selectedLocation.geoLookup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!data.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.dialogRef.disableClose = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (data.hasOwnProperty("helpText")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.helpText = data.helpText;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async mapClicked(newCoordinates: Coordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.data.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const geoResult: GeoResult = await firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.lookupCoordinates(newCoordinates),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.updateLocation({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      geoLookup: geoResult,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      locationString: geoResult?.display_name,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private lookupCoordinates(coords: Coordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!coords) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const fallback: GeoResult = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      display_name: $localize`[selected on map: ${coords.lat} - ${coords.lon}]`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...coords,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this.geoService.reverseLookup(coords).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      map((res) => (res["error"] ? fallback : res)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      catchError(() => of(fallback)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  updateLocation(event: GeoLocation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.selectedLocation = event;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.markedLocations.next(event?.geoLookup ? [event?.geoLookup] : []);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MappingDialogData.html b/documentation/interfaces/MappingDialogData.html new file mode 100644 index 0000000000..edc7091ab3 --- /dev/null +++ b/documentation/interfaces/MappingDialogData.html @@ -0,0 +1,517 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/import/import-column-mapping/import-column-mapping.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + col + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + col: ColumnMapping + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : ColumnMapping + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entityType: EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + values + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + values: any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ColumnMapping } from "../column-mapping";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatDialog } from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { HelpButtonComponent } from "../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { BasicAutocompleteComponent } from "../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatBadgeModule } from "@angular/material/badge";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ComponentRegistry } from "../../../dynamic-components";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DefaultDatatype } from "../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ImportColumnMappingService } from "./import-column-mapping.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Import sub-step: Let user map columns from import data to entity properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * and define value matching and transformations.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-import-column-mapping",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./import-column-mapping.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./import-column-mapping.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatBadgeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class ImportColumnMappingComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() rawData: any[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() columnMapping: ColumnMapping[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Output() columnMappingChange = new EventEmitter<ColumnMapping[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() set entityType(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entityCtor = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dataTypeMap = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.allProps = [...this.entityCtor.schema.entries()]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(([_, schema]) => schema.label)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map(([name, schema]) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.dataTypeMap[name] = this.schemaService.getDatatypeOrDefault(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          schema.dataType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private entityCtor: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** entity properties that have a label */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  allProps: string[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** properties that need further adjustments through a component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  dataTypeMap: { [name: string]: DefaultDatatype };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** warning label badges for a mapped column that requires user configuration for the "additional" details */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mappingAdditionalWarning: { [key: string]: string } = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  labelMapper = (name: string) => this.entityCtor.schema.get(name).label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  isUsed = (option: string) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.columnMapping.some(({ propertyName }) => propertyName === option);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private componentRegistry: ComponentRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private importColumnMappingService: ImportColumnMappingService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (changes.columnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.importColumnMappingService.automaticallySelectMappings(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.columnMapping,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.entityCtor.schema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  async openMappingComponent(col: ColumnMapping) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const uniqueValues = new Set<any>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.rawData.forEach((obj) => uniqueValues.add(obj[col.column]));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const configComponent = await this.componentRegistry.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.dataTypeMap[col.propertyName].importConfigComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    )();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.dialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .open<any, MappingDialogData>(configComponent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          col: col,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          values: [...uniqueValues],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          entityType: this.entityCtor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        disableClose: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .subscribe(() => this.updateMapping(col, true));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  updateMapping(col: ColumnMapping, settingAdditional: boolean = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!settingAdditional) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // reset additional, because mapping changed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      delete col.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.mappingAdditionalWarning[col.column] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.dataTypeMap[
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        col.propertyName
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      ]?.importIncompleteAdditionalConfigBadge?.(col);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // Emitting copy of array to trigger change detection; values have been updated in place through data binding
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.columnMappingChange.emit([...this.columnMapping]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  // TODO: infer column mapping from data. The following is from old DataImportModule (#1942)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Try to guess mappings of import file columns to entity properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (e.g. based on column headers)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private inferColumnPropertyMapping() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //const columnMap: ImportColumnMap = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //    for (const p of this.properties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //      const match = this.importData?.fields.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //        (f) => f === p.label || f === p.key
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //      if (match) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //        columnMap[match] = p;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    //    this.loadColumnMapping(columnMap);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface MappingDialogData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  col: ColumnMapping;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  values: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MarkdownPageConfig.html b/documentation/interfaces/MarkdownPageConfig.html new file mode 100644 index 0000000000..e5758c2ae3 --- /dev/null +++ b/documentation/interfaces/MarkdownPageConfig.html @@ -0,0 +1,297 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/features/markdown-page/MarkdownPageConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Define through config what page should be displayed in an instance of the MarkdownPage component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + markdownFile + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + markdownFile: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                filepath to be loaded as markdown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                export interface MarkdownPageConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** filepath to be loaded as markdown */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  markdownFile: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MatchingEntitiesConfig.html b/documentation/interfaces/MatchingEntitiesConfig.html new file mode 100644 index 0000000000..b5a3b71f7e --- /dev/null +++ b/documentation/interfaces/MatchingEntitiesConfig.html @@ -0,0 +1,626 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/matching-entities/matching-entities/matching-entities-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Config to be defined to set up a MatchingEntitiesComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + columns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + columns: [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : [] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  mapped columns to be compared side-by-side between the two entities to match.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  e.g. [["name", "name"], ["motherTongue", "language"]]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + leftSide + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + leftSide: MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  details of entities on this side of the matching view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + matchActionLabel + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + matchActionLabel: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  overwrite the button label to describe the matching action

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + onMatch + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + onMatch: NewMatchAction + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : NewMatchAction + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  details of what is created when matching two entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + rightSide + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + rightSide: MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : MatchingSideConfig + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  details of entities on this side of the matching view

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + showMap + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + showMap: [string, string] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : [string, string] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mapped properties which should be displayed in a map (of left and right entity). +The properties need to have the format { lat: number, lon: number}.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  e.g. `["address", "location"]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { FilterConfig } from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { Entity, EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { ColumnConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + * Config to be defined to set up a MatchingEntitiesComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface MatchingEntitiesConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * mapped columns to be compared side-by-side between the two entities to match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * e.g. [["name", "name"], ["motherTongue", "language"]]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  columns?: [string, string][];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * Mapped properties which should be displayed in a map (of left and right entity).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * The properties need to have the format `{ lat: number, lon: number}`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * e.g. `["address", "location"]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  showMap?: [string, string];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** overwrite the button label to describe the matching action */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  matchActionLabel?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** details of what is created when matching two entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  onMatch?: NewMatchAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  leftSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  rightSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface MatchingSideConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * entity type of matching, used to load a list of available entities for manual selection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  entityType?: EntityConstructor | string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** fixed pre-filters applied to remove some entities from the list of available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  prefilter?: DataFilter<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** UI filter elements displayed for users to filter available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  availableFilters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** columns of the available entities table. Usually inferred from matching columns of the component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  columns?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface NewMatchAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** the entity type to be created on matching to represent the new match */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  newEntityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** name of the property on newEntityType that should take the id of the left matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  newEntityMatchPropertyLeft: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** name of the property on newEntityType that should take the id of the right matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  newEntityMatchPropertyRight: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * columns to display in a popup to review, edit and confirm during creation of a match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * If undefined, match is created immediately without a popup form.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  columnsToReview?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MatchingSide.html b/documentation/interfaces/MatchingSide.html new file mode 100644 index 0000000000..318c228df3 --- /dev/null +++ b/documentation/interfaces/MatchingSide.html @@ -0,0 +1,1005 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/matching-entities/matching-entities/matching-entities.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + MatchingSideConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + availableEntities + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + availableEntities: Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + distanceColumn + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + distanceColumn: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + entityType: EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : EntityConstructor + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + filterObj + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + filterObj: DataFilter<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : DataFilter<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    pass along filters from app-filter to subrecord component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + highlightedSelected + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + highlightedSelected: Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    item of selected that is currently highlighted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + multiSelect + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + multiSelect: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    whether this allows to select more than one selected match

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + selected + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + selected: Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Entity[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + selectMatch + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + selectMatch: function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : function + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Entity, EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityRegistry } from "../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatchingEntitiesConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  MatchingSideConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  NewMatchAction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "./matching-entities-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DynamicComponentConfig } from "../../../core/config/dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ActivatedRoute } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { addAlphaToHexColor } from "../../../utils/style-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { ConfigService } from "../../../core/config/config.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { NgForOf, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntityFieldViewComponent } from "../../../core/common-components/entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { MapComponent } from "../../location/map/map.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FilterComponent } from "../../../core/filter/filter/filter.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { Coordinates } from "../../location/coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FilterService } from "../../../core/filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { LocationProperties } from "../../location/map/map-properties-popup/map-properties-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { getLocationProperties } from "../../location/map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { FlattenArrayPipe } from "../../../utils/flatten-array/flatten-array.pipe";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +} from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { EntitiesTableComponent } from "../../../core/common-components/entities-table/entities-table.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { GeoLocation } from "../../location/location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface MatchingSide extends MatchingSideConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** pass along filters from app-filter to subrecord component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  filterObj?: DataFilter<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  availableEntities?: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selectMatch?: (e) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** whether this allows to select more than one selected match */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  multiSelect: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selected?: Entity[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** item of `selected` that is currently highlighted */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  highlightedSelected: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  distanceColumn: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    coordinatesProperties: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    compareCoordinates: BehaviorSubject<Coordinates[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@RouteTarget("MatchingEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@DynamicComponent("MatchingEntities")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  selector: "app-matching-entities",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  templateUrl: "./matching-entities.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  styleUrls: ["./matching-entities.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntitiesTableComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    MapComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FilterComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    FlattenArrayPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class MatchingEntitiesComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static DEFAULT_CONFIG_KEY = "appConfig:matching-entities";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() leftSide: MatchingSideConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() rightSide: MatchingSideConfig = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Column mapping of property pairs of left and right entity that should be compared side by side.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() columns: [ColumnConfig, ColumnConfig][] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  matchActionLabel: string = $localize`:Matching button label:create matching`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @Input() onMatch: NewMatchAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  @ViewChild("matchComparison", { static: true })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  matchComparisonElement: ElementRef;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  columnsToDisplay = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  lockedMatching = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  sideDetails: [MatchingSide, MatchingSide];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  mapVisible = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  filteredMapEntities: Entity[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  displayedLocationProperties: LocationProperties = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private route: ActivatedRoute,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityMapper: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private configService: ConfigService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    private changeDetector: ChangeDetectorRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const config: MatchingEntitiesConfig =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.configService.getConfig<MatchingEntitiesConfig>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        MatchingEntitiesComponent.DEFAULT_CONFIG_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ) ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    Object.assign(this, JSON.parse(JSON.stringify(config)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.route.data.subscribe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (data: DynamicComponentConfig<MatchingEntitiesConfig>) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          !data?.config?.leftSide &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          !data?.config?.rightSide &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          !data?.config?.columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        Object.assign(this, JSON.parse(JSON.stringify(data.config)));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  // TODO: fill selection on hover already?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.sideDetails = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      await this.initSideDetails(this.leftSide, 0),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      await this.initSideDetails(this.rightSide, 1),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.sideDetails.forEach((side, index) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.initDistanceColumn(side, index),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.filterMapEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.columnsToDisplay = ["side-0", "side-1"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // needed due to async
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Generate setup for a side of the matching view template based on the component input properties.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param sideIndex
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private async initSideDetails(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    side: MatchingSideConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    sideIndex: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Promise<MatchingSide> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const newSide = Object.assign({}, side) as MatchingSide; // we are transforming it into this type here
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!newSide.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.selected = newSide.selected ?? [this.entity];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.highlightedSelected = newSide.selected[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.entityType = newSide.highlightedSelected?.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let entityType = newSide.entityType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (typeof entityType === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entityType = this.entityRegistry.get(entityType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newSide.entityType =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      entityType ?? newSide.highlightedSelected?.getConstructor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newSide.columns =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.columns ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.columns.map((p) => p[sideIndex]).filter((c) => !!c);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newSide.multiSelect = this.checkIfMultiSelect(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.onMatch.newEntityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      sideIndex === 0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ? this.onMatch.newEntityMatchPropertyLeft
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        : this.onMatch.newEntityMatchPropertyRight,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (newSide.multiSelect) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.selectMatch = this.getMultiSelectFunction(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.selectMatch = this.getSingleSelectFunction(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!newSide.selected && newSide.entityType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.availableEntities = await this.entityMapper.loadType(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSide.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.availableFilters = newSide.availableFilters ?? [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.filterObj = { ...(side.prefilter ?? {}) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.mapVisible =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.mapVisible || getLocationProperties(newSide.entityType).length > 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return newSide;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private checkIfMultiSelect(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    onMatchEntityType: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    onMatchProperty: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const schemaField = this.entityRegistry
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .get(onMatchEntityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .schema.get(onMatchProperty);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return schemaField.isArray;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getMultiSelectFunction(newSide: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (!newSide.selected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSide.selected = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (newSide.selected.includes(e)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        // unselect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.highlightSelectedRow(e, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSide.selected = newSide.selected.filter((s) => s !== e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        if (newSide.highlightedSelected === e) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          newSide.highlightedSelected = newSide.selected[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.highlightSelectedRow(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSide.selected = [...newSide.selected, e];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSide.highlightedSelected = e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.matchComparisonElement.nativeElement.scrollIntoView();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.updateDistanceColumn(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getSingleSelectFunction(newSide: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.highlightSelectedRow(e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (newSide.highlightedSelected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.highlightSelectedRow(newSide.highlightedSelected, true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.selected = [e];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSide.highlightedSelected = e;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.matchComparisonElement.nativeElement.scrollIntoView();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.updateDistanceColumn(newSide);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private highlightSelectedRow(newSelectedEntity: Entity, unHighlight = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (unHighlight) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSelectedEntity.getColor =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        newSelectedEntity.getConstructor().prototype.getColor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newSelectedEntity.getColor = () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        addAlphaToHexColor(newSelectedEntity.getConstructor().color, 0.2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async createMatch() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const newMatchEntity = new (this.entityRegistry.get(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.onMatch.newEntityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    ))();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const leftMatch = this.sideDetails[0].selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const rightMatch = this.sideDetails[1].selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newMatchEntity[this.onMatch.newEntityMatchPropertyLeft] = this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .sideDetails[0].multiSelect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ? leftMatch.map((e) => e.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      : leftMatch[0].getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newMatchEntity[this.onMatch.newEntityMatchPropertyRight] = this
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .sideDetails[1].multiSelect
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ? rightMatch.map((e) => e.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      : rightMatch[0].getId();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    // best guess properties (if they do not exist on the specific entity, the values will be discarded during save
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newMatchEntity["date"] = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newMatchEntity["start"] = new Date();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    newMatchEntity["name"] =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      newMatchEntity.getConstructor().label +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      leftMatch.map((e) => e.toString()).join(", ") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      " - " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      rightMatch.map((e) => e.toString()).join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (this.onMatch.columnsToReview) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.formDialog
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .openFormPopup(newMatchEntity, this.onMatch.columnsToReview)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .afterClosed()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .subscribe((result) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          if (result instanceof newMatchEntity.getConstructor()) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            this.lockedMatching = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      await this.entityMapper.save(newMatchEntity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.lockedMatching = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  applySelectedFilters(side: MatchingSide, filter: DataFilter<Entity>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    side.filterObj = { ...side.prefilter, ...filter };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.filterMapEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private filterMapEntities() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.filteredMapEntities = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.sideDetails.forEach((side) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (side.filterObj) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        const predicate = this.filterService.getFilterPredicate(side.filterObj);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        const filtered = side.availableEntities.filter(predicate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.filteredMapEntities.push(...filtered);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.filteredMapEntities.push(...(side.availableEntities ?? []));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityInMapClicked(entity: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const side = this.sideDetails.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      (s) => s.entityType === entity.getConstructor(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (side) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      side.selectMatch(entity);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Initialize distance column for columns of side and columns of EntitySubrecord
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param index of the side
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private initDistanceColumn(side: MatchingSide, index: number) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const sideIndex = side.columns.findIndex((col) => col === "distance");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (sideIndex !== -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const columnConfig = this.getDistanceColumnConfig(side);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      side.columns[sideIndex] = columnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      side.distanceColumn = columnConfig.additional;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const colIndex = this.columns.findIndex(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (row) => row[index] === "distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (colIndex !== -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.columns[colIndex][index] = columnConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getDistanceColumnConfig(side: MatchingSide): FormFieldConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      id: "distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      label: $localize`:Matching View column name:Distance`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      viewComponent: "DisplayDistance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      additional: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        coordinatesProperties:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          this.displayedLocationProperties[side.entityType.ENTITY_TYPE],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        compareCoordinates: new BehaviorSubject<Coordinates[]>([]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  updateMarkersAndDistances() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    this.sideDetails.forEach((side) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const sideProperties =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.displayedLocationProperties[side.entityType.ENTITY_TYPE];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (side.distanceColumn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        side.distanceColumn.coordinatesProperties = sideProperties;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        const lastValue = side.distanceColumn.compareCoordinates.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        side.distanceColumn.compareCoordinates.next(lastValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      if (side.highlightedSelected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.updateDistanceColumn(side);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private updateDistanceColumn(side: MatchingSide) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const locationProperties =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.displayedLocationProperties[side.highlightedSelected?.getType()];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const otherIndex = this.sideDetails[0] === side ? 1 : 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    const distanceColumn = this.sideDetails[otherIndex].distanceColumn;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (locationProperties && distanceColumn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      const coordinates: Coordinates[] = locationProperties.map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        (prop) => (side.highlightedSelected[prop] as GeoLocation)?.geoLookup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      distanceColumn.compareCoordinates.next(coordinates);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MatchingSideConfig.html b/documentation/interfaces/MatchingSideConfig.html new file mode 100644 index 0000000000..f2b0bc9bab --- /dev/null +++ b/documentation/interfaces/MatchingSideConfig.html @@ -0,0 +1,514 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/matching-entities/matching-entities/matching-entities-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + availableFilters + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + availableFilters: FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : FilterConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      UI filter elements displayed for users to filter available entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + columns + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + columns: ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      columns of the available entities table. Usually inferred from matching columns of the component

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + entityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + entityType: EntityConstructor | string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : EntityConstructor | string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      entity type of matching, used to load a list of available entities for manual selection

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + prefilter + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + prefilter: DataFilter<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : DataFilter<Entity> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      fixed pre-filters applied to remove some entities from the list of available entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { FilterConfig } from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity, EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ColumnConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Config to be defined to set up a MatchingEntitiesComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface MatchingEntitiesConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * mapped columns to be compared side-by-side between the two entities to match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * e.g. [["name", "name"], ["motherTongue", "language"]]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns?: [string, string][];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Mapped properties which should be displayed in a map (of left and right entity).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The properties need to have the format `{ lat: number, lon: number}`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * e.g. `["address", "location"]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  showMap?: [string, string];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** overwrite the button label to describe the matching action */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  matchActionLabel?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** details of what is created when matching two entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  onMatch?: NewMatchAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  leftSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  rightSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface MatchingSideConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * entity type of matching, used to load a list of available entities for manual selection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityType?: EntityConstructor | string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** fixed pre-filters applied to remove some entities from the list of available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  prefilter?: DataFilter<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** UI filter elements displayed for users to filter available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  availableFilters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** columns of the available entities table. Usually inferred from matching columns of the component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columns?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface NewMatchAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** the entity type to be created on matching to represent the new match */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  newEntityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** name of the property on newEntityType that should take the id of the left matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  newEntityMatchPropertyLeft: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** name of the property on newEntityType that should take the id of the right matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  newEntityMatchPropertyRight: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * columns to display in a popup to review, edit and confirm during creation of a match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * If undefined, match is created immediately without a popup form.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  columnsToReview?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/MenuItem.html b/documentation/interfaces/MenuItem.html new file mode 100644 index 0000000000..9ec4be9ee7 --- /dev/null +++ b/documentation/interfaces/MenuItem.html @@ -0,0 +1,411 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/ui/navigation/menu-item.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Structure for menu items to be displayed.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + icon + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + icon: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The icon to be displayed left of the label.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The text to be displayed in the menu.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + link + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + link: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The url fragment to which the item will route to (e.g. '/dashboard')

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        export interface MenuItem {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The text to be displayed in the menu.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The icon to be displayed left of the label.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  icon?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The url fragment to which the item will route to (e.g. '/dashboard')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  link: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * Object specifying overall navigation menu
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * as stored in the config database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface NavigationMenuConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  items: MenuItem[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/NavigationMenuConfig.html b/documentation/interfaces/NavigationMenuConfig.html new file mode 100644 index 0000000000..5dd3ecd238 --- /dev/null +++ b/documentation/interfaces/NavigationMenuConfig.html @@ -0,0 +1,310 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/ui/navigation/menu-item.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Object specifying overall navigation menu +as stored in the config database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + items + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + items: MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          export interface MenuItem {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The text to be displayed in the menu.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The icon to be displayed left of the label.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  icon?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The url fragment to which the item will route to (e.g. '/dashboard')
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  link: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Object specifying overall navigation menu
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * as stored in the config database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface NavigationMenuConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  items: MenuItem[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/NewMatchAction.html b/documentation/interfaces/NewMatchAction.html new file mode 100644 index 0000000000..87a303cbd1 --- /dev/null +++ b/documentation/interfaces/NewMatchAction.html @@ -0,0 +1,497 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/features/matching-entities/matching-entities/matching-entities-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + columnsToReview + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + columnsToReview: ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : ColumnConfig[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            columns to display in a popup to review, edit and confirm during creation of a match. +If undefined, match is created immediately without a popup form.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + newEntityMatchPropertyLeft + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + newEntityMatchPropertyLeft: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            name of the property on newEntityType that should take the id of the left matching entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + newEntityMatchPropertyRight + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + newEntityMatchPropertyRight: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            name of the property on newEntityType that should take the id of the right matching entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + newEntityType + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + newEntityType: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            the entity type to be created on matching to represent the new match

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import { FilterConfig } from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ColumnConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DataFilter } from "../../../core/filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Config to be defined to set up a MatchingEntitiesComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface MatchingEntitiesConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * mapped columns to be compared side-by-side between the two entities to match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * e.g. [["name", "name"], ["motherTongue", "language"]]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns?: [string, string][];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Mapped properties which should be displayed in a map (of left and right entity).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * The properties need to have the format `{ lat: number, lon: number}`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * e.g. `["address", "location"]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showMap?: [string, string];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** overwrite the button label to describe the matching action */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  matchActionLabel?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** details of what is created when matching two entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  onMatch?: NewMatchAction;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  leftSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** details of entities on this side of the matching view */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  rightSide?: MatchingSideConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface MatchingSideConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * entity type of matching, used to load a list of available entities for manual selection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  entityType?: EntityConstructor | string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** fixed pre-filters applied to remove some entities from the list of available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  prefilter?: DataFilter<Entity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** UI filter elements displayed for users to filter available entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  availableFilters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** columns of the available entities table. Usually inferred from matching columns of the component */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columns?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface NewMatchAction {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** the entity type to be created on matching to represent the new match */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  newEntityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** name of the property on newEntityType that should take the id of the left matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  newEntityMatchPropertyLeft: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** name of the property on newEntityType that should take the id of the right matching entity */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  newEntityMatchPropertyRight: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * columns to display in a popup to review, edit and confirm during creation of a match.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * If undefined, match is created immediately without a popup form.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  columnsToReview?: ColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/NotesDashboardConfig.html b/documentation/interfaces/NotesDashboardConfig.html new file mode 100644 index 0000000000..64d542b054 --- /dev/null +++ b/documentation/interfaces/NotesDashboardConfig.html @@ -0,0 +1,605 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/child-dev-project/notes/dashboard-widgets/notes-dashboard/notes-dashboard.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + entity: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + fromBeginningOfWeek + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + fromBeginningOfWeek: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + mode + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + mode: "with-recent-notes" | "without-recent-notes" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : "with-recent-notes" | "without-recent-notes" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + sinceDays + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + sinceDays: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ChildrenService } from "../../../children/children.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DynamicComponent } from "../../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Child } from "../../../children/model/child";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityRegistry } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityConstructor } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DecimalPipe, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { EntityBlockComponent } from "../../../../core/basic-datatypes/entity/entity-block/entity-block.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DashboardWidget } from "../../../../core/dashboard/dashboard-widget/dashboard-widget";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Note } from "../../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { DashboardListWidgetComponent } from "../../../../core/dashboard/dashboard-list-widget/dashboard-list-widget.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +interface NotesDashboardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entity?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  sinceDays?: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  fromBeginningOfWeek?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mode?: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Dashboard Widget displaying entities that do not have a recently added Note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * If you do not set "sinceDays" of "fromBeginningOfWeek" inputs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * by default notes since beginning of the current week are considered.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@DynamicComponent("NotesDashboard")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  selector: "app-no-recent-notes-dashboard",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  templateUrl: "./notes-dashboard.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  styleUrls: ["./notes-dashboard.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    EntityBlockComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DecimalPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    DashboardListWidgetComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class NotesDashboardComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  extends DashboardWidget
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  implements OnInit, NotesDashboardConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  static getRequiredEntities(config: NotesDashboardConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return config?.entity || Note.ENTITY_TYPE;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Entity for which the recent notes should be counted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() set entity(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this._entity = this.entities.get(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  _entity: EntityConstructor = Child;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * number of days since last note that entities should be considered having a "recent" note.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() sinceDays = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** Whether an additional offset should be automatically added to include notes from the beginning of the week */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() fromBeginningOfWeek = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  @Input() mode: "with-recent-notes" | "without-recent-notes";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Entities displayed in the template with additional "daysSinceLastNote" field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entries: EntityWithRecentNoteInfo[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  subtitle: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private childrenService: ChildrenService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    private entities: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    let dayRangeBoundary = this.sinceDays;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      dayRangeBoundary += moment().diff(moment().startOf("week"), "days");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          (stat) => stat[1] <= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities with recent reports:${this._entity.labelPlural} with recent report`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          (stat) => stat[1] >= dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          dayRangeBoundary,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this.subtitle = $localize`:Subtitle|Subtitle informing the user that these are the entities without recent reports:${this._entity.labelPlural} having no recent reports`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private async loadConcernedEntities(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    filter: (stat: [string, number]) => boolean,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    dayRangeBoundary: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const queryRange = Math.round((dayRangeBoundary * 3) / 10) * 10; // query longer range to be able to display exact date of last note for recent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    // recent notes are sorted ascending, without recent notes descending
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const order = this.mode === "with-recent-notes" ? -1 : 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const recentNotesMap =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      await this.childrenService.getDaysSinceLastNoteOfEachEntity(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        this._entity.ENTITY_TYPE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.entries = Array.from(recentNotesMap)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .filter(filter)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .map((stat) => statsToEntityWithRecentNoteInfo(stat, queryRange))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      .sort((a, b) => order * (b.daysSinceLastNote - a.daysSinceLastNote));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get tooltip(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (this.mode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case "with-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases with a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case "without-recent-notes":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return $localize`:Tooltip|Spaces in front of the variables are added automatically:includes cases without a note${this.sinceBeginningOfTheWeek}:sinceBeginningOfWeek:${this.withinTheLastNDays}:withinTheLastDays:`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get sinceBeginningOfTheWeek(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.fromBeginningOfWeek) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        $localize`:Tooltip-part|'includes cases without a note since the beginning of the week':since the beginning of the week`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  get withinTheLastNDays(): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (this.sinceDays > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        " " +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        $localize`:Tooltip-part|'includes cases without a note within the last x days':without a note within the last ${this.sinceDays} days`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * details on entity stats to be displayed
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +interface EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  daysSinceLastNote: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** true when the daysSinceLastNote is not accurate but was cut off for performance optimization */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  moreThanDaysSince: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Map a result entry from getDaysSinceLastNoteOfEachEntity to the EntityWithRecentNoteInfo interface
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * @param stat Array of [entityId, daysSinceLastNote]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * @param queryRange The query range (the maximum of days that exactly calculated)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +function statsToEntityWithRecentNoteInfo(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  stat: [string, number],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  queryRange: number,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +): EntityWithRecentNoteInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  if (stat[1] < Number.POSITIVE_INFINITY) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      daysSinceLastNote: stat[1],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      moreThanDaysSince: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      entityId: stat[0],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      daysSinceLastNote: queryRange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      moreThanDaysSince: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/NotesManagerConfig.html b/documentation/interfaces/NotesManagerConfig.html new file mode 100644 index 0000000000..16beb5bc07 --- /dev/null +++ b/documentation/interfaces/NotesManagerConfig.html @@ -0,0 +1,468 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/child-dev-project/notes/notes-manager/notes-manager.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                additional config specifically for NotesManagerComponent

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + includeEventNotes + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + includeEventNotes: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                whether to also load EventNote entities in addition to Note entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + showEventNotesToggle + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + showEventNotesToggle: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                whether a toggle control is displayed to users, allowing to change the "includeEventNotes" state

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Component, Input, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Note } from "../model/note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityMapperService } from "../../../core/entity/entity-mapper/entity-mapper.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormDialogService } from "../../../core/form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EntityListComponent } from "../../../core/entity-list/entity-list/entity-list.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { applyUpdate } from "../../../core/entity/model/entity-update";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ColumnGroupsConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  FilterConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +} from "../../../core/entity-list/EntityListConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { EventNote } from "../../attendance/model/event-note";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { merge } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Angulartics2Module } from "angulartics2";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { MatMenuModule } from "@angular/material/menu";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FaDynamicIconComponent } from "../../../core/common-components/fa-dynamic-icon/fa-dynamic-icon.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { RouteTarget } from "../../../route-target";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ExportColumnConfig } from "../../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormFieldConfig } from "../../../core/common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * additional config specifically for NotesManagerComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface NotesManagerConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** whether to also load EventNote entities in addition to Note entities */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  includeEventNotes?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /** whether a toggle control is displayed to users, allowing to change the "includeEventNotes" state */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  showEventNotesToggle?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@RouteTarget("NotesManager")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  selector: "app-notes-manager",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  templateUrl: "./notes-manager.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    EntityListComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    Angulartics2Module,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    MatMenuModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    FaDynamicIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class NotesManagerComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  // inputs to be passed through to EntityList
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() defaultSort: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() exportConfig: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() showInactive: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() title = "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() columns: (FormFieldConfig | string)[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() columnGroups: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() filters: FilterConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() includeEventNotes: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  @Input() showEventNotesToggle: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entityConstructor = Note;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  notes: Note[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    private entityMapperService: EntityMapperService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.notes = await this.loadEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.subscribeEntityUpdates();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private async loadEntities(): Promise<Note[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    let notes = await this.entityMapperService.loadType(Note);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    if (this.includeEventNotes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      const eventNotes = await this.entityMapperService.loadType(EventNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      notes = notes.concat(eventNotes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return notes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  private subscribeEntityUpdates() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    merge(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entityMapperService.receiveUpdates(Note),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      this.entityMapperService.receiveUpdates(EventNote),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      .subscribe((updatedNote) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          !this.includeEventNotes &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          updatedNote?.entity?.getType() === EventNote.ENTITY_TYPE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +          return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +        this.notes = applyUpdate(this.notes, updatedNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  async updateIncludeEvents() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.includeEventNotes = !this.includeEventNotes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.notes = await this.loadEntities();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  addNoteClick() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    const newNote = new Note(Date.now().toString());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.showDetails(newNote);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  showDetails(entity: Note) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    this.formDialog.openView(entity, "NoteDetails");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ObservableMatchers.html b/documentation/interfaces/ObservableMatchers.html new file mode 100644 index 0000000000..7c1b269949 --- /dev/null +++ b/documentation/interfaces/ObservableMatchers.html @@ -0,0 +1,367 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/utils/test-utils/observable-utils.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + first + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + first: jasmine.AsyncMatchers<T | any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : jasmine.AsyncMatchers<T | any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  only check for the first value if an observable +and discard the rest

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + inSequence + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + inSequence: jasmine.AsyncMatchers<T[] | any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : jasmine.AsyncMatchers<T[] | any> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  check for all observables in the sequence that they +arrived

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { firstValueFrom, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { toArray } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface ObservableMatchers<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * only check for the first value if an observable
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * and discard the rest
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  first: jasmine.AsyncMatchers<T, any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * check for all observables in the sequence that they
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   * arrived
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  inSequence: jasmine.AsyncMatchers<T[], any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export function expectObservable<T>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  observable: Observable<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +): ObservableMatchers<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  return new ObservableMatchersImpl(observable);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +class ObservableMatchersImpl<T> implements ObservableMatchers<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  constructor(private observable: Observable<T>) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get first(): jasmine.AsyncMatchers<T, any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return expectAsync(firstValueFrom(this.observable));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  get inSequence(): jasmine.AsyncMatchers<T[], any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return expectAsync(firstValueFrom(this.observable.pipe(toArray())));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/Panel.html b/documentation/interfaces/Panel.html new file mode 100644 index 0000000000..6fcc904b0b --- /dev/null +++ b/documentation/interfaces/Panel.html @@ -0,0 +1,415 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/entity-details/EntityDetailsConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    A panel is a simple accordion that can be expanded and closed. +It can hold multiple components.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + components + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + components: PanelComponent[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : PanelComponent[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The configurations for the components in this panel.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    The title of this panel. This should group the contained components.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The configuration for a entity details page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface EntityDetailsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The name of the entity (according to the ENTITY_TYPE).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The configuration for the panels on this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  panels: Panel[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * A panel is a simple accordion that can be expanded and closed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * It can hold multiple components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface Panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The title of this panel. This should group the contained components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The configurations for the components in this panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  components: PanelComponent[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The configuration for a component displayed inside a panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface PanelComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * An optional second title for only this component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The name of the component. When registered, this usually is the name of the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * component without the `component` suffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * A addition config which will be passed to the component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  config?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This interface represents the config which will be created by the entity-details component and passed to each of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * the panel components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * This is not config that is defined and stored in the config file for customization.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface PanelConfig<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The full entity which is displayed in this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Whether this entity has been newly created.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  creatingNew?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * An additional config which has been defined in the PanelComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/PanelComponent.html b/documentation/interfaces/PanelComponent.html new file mode 100644 index 0000000000..9b611d34c1 --- /dev/null +++ b/documentation/interfaces/PanelComponent.html @@ -0,0 +1,472 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/entity-details/EntityDetailsConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The configuration for a component displayed inside a panel.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + component + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + component: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The name of the component. When registered, this usually is the name of the +component without the component suffix

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + config + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + config: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      A addition config which will be passed to the component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      An optional second title for only this component.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The configuration for a entity details page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface EntityDetailsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the entity (according to the ENTITY_TYPE).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The configuration for the panels on this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  panels: Panel[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * A panel is a simple accordion that can be expanded and closed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * It can hold multiple components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface Panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The title of this panel. This should group the contained components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The configurations for the components in this panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  components: PanelComponent[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * The configuration for a component displayed inside a panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PanelComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * An optional second title for only this component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the component. When registered, this usually is the name of the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * component without the `component` suffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A addition config which will be passed to the component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  config?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This interface represents the config which will be created by the entity-details component and passed to each of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * the panel components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * This is not config that is defined and stored in the config file for customization.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface PanelConfig<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The full entity which is displayed in this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Whether this entity has been newly created.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  creatingNew?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * An additional config which has been defined in the PanelComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/PanelConfig.html b/documentation/interfaces/PanelConfig.html new file mode 100644 index 0000000000..929efab1f4 --- /dev/null +++ b/documentation/interfaces/PanelConfig.html @@ -0,0 +1,473 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/entity-details/EntityDetailsConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This interface represents the config which will be created by the entity-details component and passed to each of +the panel components.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        This is not config that is defined and stored in the config file for customization.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + config + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + config: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        An additional config which has been defined in the PanelComponent.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + creatingNew + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + creatingNew: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Whether this entity has been newly created.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + entity: Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : Entity + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        The full entity which is displayed in this details page.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Entity } from "../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * The configuration for a entity details page
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface EntityDetailsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the entity (according to the ENTITY_TYPE).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entityType: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The configuration for the panels on this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  panels: Panel[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * A panel is a simple accordion that can be expanded and closed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * It can hold multiple components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface Panel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The title of this panel. This should group the contained components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The configurations for the components in this panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  components: PanelComponent[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * The configuration for a component displayed inside a panel.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PanelComponent {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * An optional second title for only this component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The name of the component. When registered, this usually is the name of the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * component without the `component` suffix
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  component: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * A addition config which will be passed to the component.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  config?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This interface represents the config which will be created by the entity-details component and passed to each of
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * the panel components.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + * This is not config that is defined and stored in the config file for customization.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface PanelConfig<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * The full entity which is displayed in this details page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  entity: Entity;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * Whether this entity has been newly created.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  creatingNew?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   * An additional config which has been defined in the PanelComponent.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  config?: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ParsedData.html b/documentation/interfaces/ParsedData.html new file mode 100644 index 0000000000..7099e363f1 --- /dev/null +++ b/documentation/interfaces/ParsedData.html @@ -0,0 +1,452 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/common-components/input-file/input-file.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Results and (optional) meta data about data parsed from a file.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + data + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + data: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          object or array of objects parsed from a file

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + fields + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + fields: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          meta information listing the fields contained in data objects

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Component, EventEmitter, Input, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { readFile } from "../../../utils/utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Papa } from "ngx-papaparse";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FormControl, ReactiveFormsModule } from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatFormFieldModule } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Form Field to select and parse a file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Currently only supports CSV.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  selector: "app-input-file",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  templateUrl: "./input-file.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatFormFieldModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class InputFileComponent<T = any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** returns parsed data as an object on completing load after user selects a file */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Output() fileLoad = new EventEmitter<ParsedData<T>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @Input() fileType: "csv" | "json";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  parsedData: ParsedData<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  formControl = new FormControl();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(private papa: Papa) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async loadFile($event: Event): Promise<void> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.formControl.reset();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const file = this.getFileFromInputEvent($event, this.fileType);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.formControl.setValue(file.name);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const fileContent = await readFile(file);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.parsedData = this.parseContent(fileContent);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.fileLoad.emit(this.parsedData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (errors) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.formControl.setErrors(errors);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.formControl.markAsTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private getFileFromInputEvent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    inputEvent: Event,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    allowedFileType?: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ): File {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const target = inputEvent.target as HTMLInputElement;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const file = target.files[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      allowedFileType &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      !file.name.toLowerCase().endsWith("." + allowedFileType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw { fileInvalid: `Only ${this.fileType} files are supported` };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return file;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private parseContent(fileContent: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.fileType === "csv") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      const papaParsed = this.papa.parse(fileContent, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        header: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        dynamicTyping: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        skipEmptyLines: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result = { data: papaParsed.data, fields: papaParsed.meta.fields };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else if (this.fileType === "json") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      result = { data: JSON.parse(fileContent) };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (result === undefined) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw { parsingError: "File could not be parsed" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (result.data.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw { parsingError: "File has no content" };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return result;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Results and (optional) meta data about data parsed from a file.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ParsedData<T = any[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** object or array of objects parsed from a file */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  data: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** meta information listing the fields contained in data objects */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  fields?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ParsedJWT.html b/documentation/interfaces/ParsedJWT.html new file mode 100644 index 0000000000..02d957b264 --- /dev/null +++ b/documentation/interfaces/ParsedJWT.html @@ -0,0 +1,432 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/session/session-utils.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            JSON interface as returned by Keycloak in the access_token.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + _couchdb.roles + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + _couchdb.roles: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + email + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + email: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + sub + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + sub: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + username + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + username: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            export interface ParsedJWT {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // keycloak user ID
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  sub: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // keycloak `exact_username` attribute
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  username: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // email of keycloak user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  email: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // roles according to couchdb format
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  "_couchdb.roles": string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Parses and returns the payload of a JWT into a JSON object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * For me info see {@link https://jwt.io}.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * @param token a valid JWT
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export function parseJwt(token): ParsedJWT {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const base64Url = token.split(".")[1];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  const jsonPayload = decodeURIComponent(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    window
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .atob(base64)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .split("")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((c) => "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .join(""),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  return JSON.parse(jsonPayload);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/PrebuiltFilterConfig-1.html b/documentation/interfaces/PrebuiltFilterConfig-1.html new file mode 100644 index 0000000000..97b900ccda --- /dev/null +++ b/documentation/interfaces/PrebuiltFilterConfig-1.html @@ -0,0 +1,395 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + BasicFilterConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + options + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + options: FilterSelectionOption<T>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : FilterSelectionOption<T>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/PrebuiltFilterConfig.html b/documentation/interfaces/PrebuiltFilterConfig.html new file mode 100644 index 0000000000..f7f5171128 --- /dev/null +++ b/documentation/interfaces/PrebuiltFilterConfig.html @@ -0,0 +1,395 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/entity-list/EntityListConfig.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + BasicFilterConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + options + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + options: FilterSelectionOption<T>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : FilterSelectionOption<T>[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { FilterSelectionOption } from "../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { FormFieldConfig } from "../common-components/entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { ExportColumnConfig } from "../export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { Sort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { unitOfTime } from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface EntityListConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Title that is shown on top of the component
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  title?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Select which entities should be displayed in the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * (optional) This is only used and necessary if EntityListComponent is used directly in config
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entityType?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Custom overwrites or additional columns to be displayed in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * If any special columns aside from the entity's fields are needed, add them here.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Fields of the entity type are available automatically.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columns?: (FormFieldConfig | string)[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config for which columns are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * By default, all columns are shown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columnGroups?: ColumnGroupsConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config for available filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is no filters.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  filters?: FilterConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional initial sort order.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is to sort by the first column.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  defaultSort?: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Optional config defining what fields are included in exports.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  exportConfig?: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface ColumnGroupsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  groups: GroupConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The name of the group that should be selected by default.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The name of the group that should be selected by default on a mobile device.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Default is the name of the first group.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  mobile?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface GroupConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  columns: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export type FilterConfig<T = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | BasicFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | BooleanFilterConfig
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | PrebuiltFilterConfig<T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  | ConfigurableEnumFilterConfig<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  default?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface BooleanFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  true: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  false: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface DateRangeFilterConfig extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: DateRangeFilterConfigOption[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface DateRangeFilterConfigOption {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  startOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  endOffsets?: { amount: number; unit: unitOfTime.Base }[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface PrebuiltFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  options: FilterSelectionOption<T>[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface ConfigurableEnumFilterConfig<T> extends BasicFilterConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  enumId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ProgressDashboardPart.html b/documentation/interfaces/ProgressDashboardPart.html new file mode 100644 index 0000000000..67bc998350 --- /dev/null +++ b/documentation/interfaces/ProgressDashboardPart.html @@ -0,0 +1,385 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/features/dashboard-widgets/progress-dashboard-widget/progress-dashboard/progress-dashboard-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + currentValue + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + currentValue: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + targetValue + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + targetValue: number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : number + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { Entity } from "../../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DatabaseEntity } from "../../../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +import { DatabaseField } from "../../../../core/entity/database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +@DatabaseEntity("ProgressDashboardConfig")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export class ProgressDashboardConfig extends Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @DatabaseField() title: string = $localize`Progress Widget`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  @DatabaseField({ isArray: true }) parts: Array<ProgressDashboardPart> = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  getTotalPercentage() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const currentTotal = this.parts.reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (acc, entry) => acc + entry.currentValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    const targetTotal = this.parts.reduce(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      (acc, entry) => acc + entry.targetValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      0,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    return currentTotal / targetTotal;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface ProgressDashboardPart {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  currentValue: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  targetValue: number;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ReportCalculation.html b/documentation/interfaces/ReportCalculation.html new file mode 100644 index 0000000000..facf59abee --- /dev/null +++ b/documentation/interfaces/ReportCalculation.html @@ -0,0 +1,697 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/features/reporting/sql-report/sql-report.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + args + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + args: Map<String | String> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : Map<String | String> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + endDate + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + endDate: string | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + outcome + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + outcome: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + report + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + report: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + startDate + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + startDate: string | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string | null + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + status + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + status: "PENDING" | "RUNNING" | "FINISHED_SUCCESS" | "FINISHED_ERROR" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : "PENDING" | "RUNNING" | "FINISHED_SUCCESS" | "FINISHED_ERROR" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { SqlReport } from "../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { map, switchMap, takeWhile } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +import { firstValueFrom, interval, lastValueFrom, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface ReportData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  calculation: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  data: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface ReportCalculation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  startDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  endDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  args: Map<String, String>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  status: "PENDING" | "RUNNING" | "FINISHED_SUCCESS" | "FINISHED_ERROR";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  outcome: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    result_hash: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Service that handles management of necessary SQS configurations
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export class SqlReportService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  static QUERY_PROXY = "/query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  constructor(private http: HttpClient) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * Get the combines results of the SQL statements in the report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * @param forceCalculation Creates a new Calculation, even when an existing calculation is available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  async query(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    report: SqlReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    forceCalculation = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Promise<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (forceCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.createReportCalculation(report.getId(), from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .get<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          ReportCalculation[]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        >(`${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${report.getId()}`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          switchMap((reportDetails) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            let lastReports = this.getLastReports(reportDetails, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            if (lastReports.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              return this.createReportCalculation(report.getId(), from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +              return this.fetchReportCalculationData(lastReports[0].id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private getLastReports(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    reportDetails: ReportCalculation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return reportDetails
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .filter((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        return this.filterFromToDates(value, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .sort((a: ReportCalculation, b: ReportCalculation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        this.sortByEndDate(a, b),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private createReportCalculation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    reportId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .post<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      }>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            from: moment(from).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +            to: moment(to).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        map((value) => value.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        switchMap((id) => lastValueFrom(this.waitForReportData(id))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        switchMap((value: ReportCalculation) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          return this.handleReportCalculationResponse(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  fetchReportCalculation(reportId: string): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http.get<ReportCalculation>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private waitForReportData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    reportCalculationId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return interval(1500).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      switchMap(() => this.fetchReportCalculation(reportCalculationId)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      takeWhile((response) => this.pollCondition(response), true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private fetchReportCalculationData(reportId: string): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return this.http.get<ReportData>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}/data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private handleReportCalculationResponse(value: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    switch (value.status) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      case "FINISHED_SUCCESS":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        return this.fetchReportCalculationData(value.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        throw new Error("Invalid ReportCalculation outcome.");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private sortByEndDate(a: ReportCalculation, b: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return new Date(b.endDate).getTime() - new Date(a.endDate).getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private pollCondition(reportCalculation: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      reportCalculation.status !== "FINISHED_SUCCESS" &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      reportCalculation.status !== "FINISHED_ERROR"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  private filterFromToDates(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    value: ReportCalculation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let argFrom = value.args.get("from");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    let argTo = value.args.get("to");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    if (!argFrom || !argTo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      moment(argFrom.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        moment(from).format("YYYY-MM-DD") &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      moment(argTo.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        moment(to).format("YYYY-MM-DD")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ReportData.html b/documentation/interfaces/ReportData.html new file mode 100644 index 0000000000..c6bb77868c --- /dev/null +++ b/documentation/interfaces/ReportData.html @@ -0,0 +1,580 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/reporting/sql-report/sql-report.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + calculation + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + calculation: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + data + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + data: any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : any[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + report + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + report: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { SqlReport } from "../report-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import moment from "moment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { map, switchMap, takeWhile } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { firstValueFrom, interval, lastValueFrom, Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ReportData {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  calculation: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  data: any[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ReportCalculation {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  report: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  startDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  endDate: string | null;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  args: Map<String, String>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  status: "PENDING" | "RUNNING" | "FINISHED_SUCCESS" | "FINISHED_ERROR";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  outcome: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    result_hash: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Service that handles management of necessary SQS configurations
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Injectable({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  providedIn: "root",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class SqlReportService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  static QUERY_PROXY = "/query";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private http: HttpClient) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * Get the combines results of the SQL statements in the report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param report
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param to
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * @param forceCalculation Creates a new Calculation, even when an existing calculation is available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  async query(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    report: SqlReport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    forceCalculation = false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Promise<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (forceCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.createReportCalculation(report.getId(), from, to),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return firstValueFrom(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .get<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          ReportCalculation[]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        >(`${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${report.getId()}`)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          switchMap((reportDetails) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            let lastReports = this.getLastReports(reportDetails, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            if (lastReports.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              return this.createReportCalculation(report.getId(), from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +              return this.fetchReportCalculationData(lastReports[0].id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getLastReports(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    reportDetails: ReportCalculation[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return reportDetails
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return this.filterFromToDates(value, from, to);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      })
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .sort((a: ReportCalculation, b: ReportCalculation) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.sortByEndDate(a, b),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private createReportCalculation(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    reportId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.http
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .post<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/report/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          params: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            from: moment(from).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            to: moment(to).format("YYYY-MM-DD"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        map((value) => value.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        switchMap((id) => lastValueFrom(this.waitForReportData(id))),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        switchMap((value: ReportCalculation) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          return this.handleReportCalculationResponse(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  fetchReportCalculation(reportId: string): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.http.get<ReportCalculation>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private waitForReportData(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    reportCalculationId: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): Observable<ReportCalculation> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return interval(1500).pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      switchMap(() => this.fetchReportCalculation(reportCalculationId)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      takeWhile((response) => this.pollCondition(response), true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private fetchReportCalculationData(reportId: string): Observable<ReportData> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return this.http.get<ReportData>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      `${SqlReportService.QUERY_PROXY}/api/v1/reporting/report-calculation/${reportId}/data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private handleReportCalculationResponse(value: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    switch (value.status) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      case "FINISHED_SUCCESS":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return this.fetchReportCalculationData(value.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        throw new Error("Invalid ReportCalculation outcome.");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private sortByEndDate(a: ReportCalculation, b: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return new Date(b.endDate).getTime() - new Date(a.endDate).getTime();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private pollCondition(reportCalculation: ReportCalculation) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      reportCalculation.status !== "FINISHED_SUCCESS" &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      reportCalculation.status !== "FINISHED_ERROR"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private filterFromToDates(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    value: ReportCalculation,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    from: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    to: Date,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let argFrom = value.args.get("from");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let argTo = value.args.get("to");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!argFrom || !argTo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moment(argFrom.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        moment(from).format("YYYY-MM-DD") &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      moment(argTo.toString()).format("YYYY-MM-DD") ==
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        moment(to).format("YYYY-MM-DD")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ReportRow.html b/documentation/interfaces/ReportRow.html new file mode 100644 index 0000000000..70a146333d --- /dev/null +++ b/documentation/interfaces/ReportRow.html @@ -0,0 +1,358 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/features/reporting/report-row.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + header + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + header: literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : literal type + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + subRows + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + subRows: ReportRow[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : ReportRow[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        export interface ReportRow {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  header: { label: string; groupedBy: GroupByDescription[]; result: number };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  subRows: ReportRow[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export interface GroupByDescription {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  property: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  value: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export function getGroupingInformationString(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  groupedBy: GroupByDescription[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  if (groupedBy.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      "(" +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      groupedBy
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .map((group) => getValueDescription(group.value, group.property))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .join(", ") +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ")"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +function getValueDescription(value: any, property: string): string {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  if (typeof value === "boolean") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ? property
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      : $localize`:Not a certain property|e.g. 'not male':not ${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } else if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return $localize`:Excluding a certain property|e.g. 'without religion':without ${property}`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } else if (value.hasOwnProperty("label")) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return value.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    return value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/Role.html b/documentation/interfaces/Role.html new file mode 100644 index 0000000000..d429d2f9ec --- /dev/null +++ b/documentation/interfaces/Role.html @@ -0,0 +1,588 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/core/session/auth/keycloak/keycloak-auth.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extract of Keycloak role object. +See https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_rolerepresentation

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + description + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + description: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + name + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + name: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { HttpClient } from "@angular/common/http";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { environment } from "../../../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { SessionInfo } from "../session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { KeycloakEventType, KeycloakService } from "keycloak-angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Logging } from "../../../logging/logging.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Entity } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { User } from "../../../user/user";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ParsedJWT, parseJwt } from "../../../../session/session-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { RemoteLoginNotAvailableError } from "./remote-login-not-available.error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Handles the remote session with keycloak
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export class KeycloakAuthService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Users with this role can create and update other accounts.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static readonly ACCOUNT_MANAGER_ROLE = "account_manager";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  static readonly LAST_AUTH_KEY = "LAST_REMOTE_LOGIN";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  accessToken: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private httpClient: HttpClient,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    private keycloak: KeycloakService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Check for an existing session or forward to the login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async login(): Promise<SessionInfo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!this.keycloakInitialised) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.initKeycloak();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    await this.keycloak.updateToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    let token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      // Forward to the keycloak login page.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.keycloak.login({ redirectUri: location.href });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      token = await this.keycloak.getToken();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.processToken(token);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private async initKeycloak() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    try {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      await this.keycloak.init({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        config: window.location.origin + "/assets/keycloak.json",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        initOptions: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          onLoad: "check-sso",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          silentCheckSsoRedirectUri:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +            window.location.origin + "/assets/silent-check-sso.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // GitHub API rejects if non GitHub bearer token is present
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        shouldAddToken: ({ url }) => !url.includes("api.github.com"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } catch (err) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        err?.error ===
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        "Timeout when waiting for 3rd party check iframe message."
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // this is actually an expected scenario, user's internet is slow or not available
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        err = new RemoteLoginNotAvailableError();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        Logging.error("Keycloak init failed", err);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      this.keycloakInitialised = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw err;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    // auto-refresh expiring tokens, as suggested by https://github.com/mauriciovigolo/keycloak-angular?tab=readme-ov-file#keycloak-js-events
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.keycloak.keycloakEvents$.subscribe((event) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (event.type == KeycloakEventType.OnTokenExpired) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        this.login().catch((err) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +          Logging.debug("automatic token refresh failed", err),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.keycloakInitialised = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  private processToken(token: string): SessionInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (!token) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      throw new Error("No token received from Keycloak");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.accessToken = token;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    this.logSuccessfulAuth();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const parsedToken: ParsedJWT = parseJwt(this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const sessionInfo: SessionInfo = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      name: parsedToken.username ?? parsedToken.sub,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      roles: parsedToken["_couchdb.roles"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (parsedToken.username) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      sessionInfo.entityId = parsedToken.username.includes(":")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        ? parsedToken.username
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        : Entity.createPrefixedId(User.ENTITY_TYPE, parsedToken.username);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      Logging.debug(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        `User not linked with an entity (userId: ${sessionInfo.name})`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (parsedToken.email) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      sessionInfo.email = parsedToken.email;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return sessionInfo;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Add the Bearer auth header to a existing header object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * @param headers
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  addAuthHeader(headers: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    if (this.accessToken) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      if (headers.set && typeof headers.set === "function") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // PouchDB headers are set as a map
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        headers.set("Authorization", "Bearer " + this.accessToken);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        // Interceptor headers are set as a simple object
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +        headers["Authorization"] = "Bearer " + this.accessToken;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Forward to the keycloak logout endpoint to clear the session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async logout() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return await this.keycloak.logout(location.href);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Open password reset page in browser.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Only works with internet connection.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  changePassword(): Promise<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.keycloak.login({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      action: "UPDATE_PASSWORD",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      redirectUri: location.href,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  async getUserinfo(): Promise<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    const user = await this.keycloak.getKeycloakInstance().loadUserInfo();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return user as KeycloakUser;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  setEmail(email: string): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.httpClient.put(`${environment.account_url}/account/set-email`, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      email,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  createUser(user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.httpClient.post(`${environment.account_url}/account`, user);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  updateUser(userId: string, user: Partial<KeycloakUser>): Observable<any> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.httpClient.put(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      `${environment.account_url}/account/${userId}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      user,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getUser(username: string): Observable<KeycloakUser> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.httpClient.get<KeycloakUser>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      `${environment.account_url}/account/${username}`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Get a list of all roles generally available in the user management system.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  getRoles(): Observable<Role[]> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    return this.httpClient.get<Role[]>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      `${environment.account_url}/account/roles`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Log timestamp of last successful authentication
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  logSuccessfulAuth() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    localStorage.setItem(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      KeycloakAuthService.LAST_AUTH_KEY,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +      new Date().toISOString(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Extract of Keycloak role object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_rolerepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface Role {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  description: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Extract of Keycloak user object.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * See {@link https://www.keycloak.org/docs-api/19.0.3/rest-api/index.html#_userrepresentation}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface KeycloakUser {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  username: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  email: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  roles: Role[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  enabled: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SelectableOption.html b/documentation/interfaces/SelectableOption.html new file mode 100644 index 0000000000..f0ef77bbbc --- /dev/null +++ b/documentation/interfaces/SelectableOption.html @@ -0,0 +1,781 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/basic-autocomplete/basic-autocomplete.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + asString + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + asString: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + asValue + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + asValue: V + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : V + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + initial + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + initial: O + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : O + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + selected + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + selected: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ContentChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ElementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Optional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Self,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  TemplateRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  OnInit,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatFormFieldControl } from "@angular/material/form-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatInput, MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatAutocompleteTrigger,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/autocomplete";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { filter, map, startWith } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ErrorStateMatcher } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CustomFormControlDirective } from "./custom-form-control.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { coerceBooleanProperty } from "@angular/cdk/coercion";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatChipGrid,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatChipInput,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatChipRemove,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatChipRow,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/chips";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTooltip } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatIcon } from "@angular/material/icon";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CdkDragDrop,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  DragDropModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  moveItemInArray,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/cdk/drag-drop";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CdkFixedSizeVirtualScroll,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CdkVirtualForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  CdkVirtualScrollViewport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/cdk/scrolling";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +interface SelectableOption<O, V> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  initial: O;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  asString: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  asValue: V;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selected: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/** Custom `MatFormFieldControl` for any select / dropdown field. */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-basic-autocomplete",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "basic-autocomplete.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrls: ["./basic-autocomplete.component.scss"],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  providers: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    { provide: MatFormFieldControl, useExisting: BasicAutocompleteComponent },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatAutocompleteModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    AsyncPipe,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    NgTemplateOutlet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatChipInput,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatChipGrid,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatChipRow,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTooltip,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatIcon,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatChipRemove,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    DragDropModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CdkVirtualScrollViewport,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CdkVirtualForOf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CdkFixedSizeVirtualScroll,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class BasicAutocompleteComponent<O, V = O>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  extends CustomFormControlDirective<V | V[]>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  implements OnChanges, OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ContentChild(TemplateRef) templateRef: TemplateRef<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  // `_elementRef` is protected in `MapInput`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(MatInput, { static: true }) inputElement: MatInput & {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    _elementRef: ElementRef<HTMLElement>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(CdkVirtualScrollViewport)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  virtualScrollViewport: CdkVirtualScrollViewport;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() valueMapper = (option: O) => option as unknown as V;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() optionToString = (option: O) => option?.toString();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() createOption: (input: string) => Promise<O>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() hideOption: (option: O) => boolean = () => false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Whether the user should be able to select multiple values.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() multi?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() reorder?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Whether the user can manually drag & drop to reorder the selected items
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  autocompleteOptions: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  autocompleteForm = new FormControl("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  autocompleteSuggestedOptions = this.autocompleteForm.valueChanges.pipe(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    filter((val) => typeof val === "string"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    map((val) => this.updateAutocomplete(val)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    startWith([] as SelectableOption<O, V>[]),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  autocompleteFilterFunction: (option: O) => boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() autocompleteFilterChange = new EventEmitter<(o: O) => boolean>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** whether the "add new" option is logically allowed in the current context (e.g. not creating a duplicate) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showAddOption = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get displayText() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const values: V[] = Array.isArray(this.value) ? this.value : [this.value];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return values
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((v) => this._options.find((o) => o.asValue === v)?.asString)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .join(", ");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  get disabled(): boolean {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return this._disabled;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  set disabled(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._disabled = coerceBooleanProperty(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._disabled
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? this.autocompleteForm.disable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : this.autocompleteForm.enable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.stateChanges.next();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set options(options: O[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._options = options.map((o) => this.toSelectableOption(o));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  retainSearchValue: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private _options: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _selectedOptions: SelectableOption<O, V>[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Display the selected items as simple text, as chips or not at all (if used in combination with another component)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() display: "text" | "chips" | "none" = "text";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    elementRef: ElementRef<HTMLElement>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    errorStateMatcher: ErrorStateMatcher,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Optional() @Self() ngControl: NgControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Optional() parentForm: NgForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    @Optional() parentFormGroup: FormGroupDirective,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      elementRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      errorStateMatcher,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ngControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      parentForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      parentFormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.autocompleteSuggestedOptions.subscribe((options) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteOptions = options;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // Subscribe to the valueChanges observable to print the input value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.autocompleteForm.valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (typeof value === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.retainSearchValue = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ngOnChanges(changes: { [key in keyof this]?: any }) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (changes.valueMapper) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._options.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (opt) => (opt.asValue = this.valueMapper(opt.initial)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (changes.optionToString) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._options.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (opt) => (opt.asString = this.optionToString(opt.initial)),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (changes.value || changes.options) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (this.autocomplete?.panelOpen) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        // if new options have been added, make sure to update the visible autocomplete options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.showAutocomplete(this.autocompleteForm.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  drop(event: CdkDragDrop<any[]>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (event.previousContainer === event.container) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      moveItemInArray(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.autocompleteOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        event.previousIndex,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        event.currentIndex,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._selectedOptions = this.autocompleteOptions.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.multi) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showAutocomplete(this.autocompleteForm.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showAutocomplete(valueToRevertTo?: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.retainSearchValue) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteForm.setValue(this.retainSearchValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteForm.setValue("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!this.multi) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // cannot setValue to "" here because the current selection would be lost
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteForm.setValue(this.displayText, { emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    setTimeout(() => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.inputElement.focus();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // select all text for easy overwriting when typing to search for options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.inputElement._elementRef.nativeElement as HTMLInputElement
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ).select();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (valueToRevertTo) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.autocompleteForm.setValue(valueToRevertTo);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.focus();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // update virtual scroll as the container remains empty until the user scrolls initially
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.virtualScrollViewport.scrollToIndex(0);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private updateAutocomplete(inputText: string): SelectableOption<O, V>[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let filteredOptions = this._options.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (o) => !this.hideOption(o.initial),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (inputText) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteFilterFunction = (option) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.optionToString(option)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .toLowerCase()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          .includes(inputText.toLowerCase());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteFilterChange.emit(this.autocompleteFilterFunction);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      filteredOptions = filteredOptions.filter((o) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.autocompleteFilterFunction(o.initial),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // do not allow users to create a new entry "identical" to an existing one:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.showAddOption = !this._options.some(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (o) => o.asString.toLowerCase() === inputText.toLowerCase(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return filteredOptions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private setInitialInputValue() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._options.forEach(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (o) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (o.selected = Array.isArray(this.value)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          ? this.value?.includes(o.asValue)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          : this.value === o.asValue),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  select(selected: string | SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (typeof selected === "string") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.createNewOption(selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (selected) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.selectOption(selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteForm.setValue("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._selectedOptions = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  unselect(option: SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    option.selected = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.multi) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.onChange(this.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  async createNewOption(option: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const createdOption = await this.createOption(option);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (createdOption) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const newOption = this.toSelectableOption(createdOption);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._options.push(newOption);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.select(newOption);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // continue editing
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.autocompleteForm.setValue(option);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private selectOption(option: SelectableOption<O, V>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.multi) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      option.selected = !option.selected;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._selectedOptions = this._options.filter((o) => o.selected);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = this._selectedOptions.map((o) => o.asValue);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // re-open autocomplete to select next option
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._selectedOptions = [option];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.value = option.asValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.blur();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private toSelectableOption(opt: O): SelectableOption<O, V> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      initial: opt,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      asValue: this.valueMapper(opt),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      asString: this.optionToString(opt),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      selected: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  onFocusOut(event: FocusEvent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      !this.elementRef.nativeElement.contains(event.relatedTarget as Element)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (!this.multi && this.autocompleteForm.value === "") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.select(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.blur();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  onContainerClick(event: MouseEvent) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      !this._disabled &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (event.target as Element).tagName.toLowerCase() != "input"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.showAutocomplete();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  writeValue(val: V[] | V) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    super.writeValue(val);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.setInitialInputValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SentryBreadcrumbHint.html b/documentation/interfaces/SentryBreadcrumbHint.html new file mode 100644 index 0000000000..3cae87d90a --- /dev/null +++ b/documentation/interfaces/SentryBreadcrumbHint.html @@ -0,0 +1,786 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/core/logging/logging.service.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://docs.sentry.io/platforms/javascript/configuration/filtering/#hints-for-breadcrumbs

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + event + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + event: PointerEvent + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : PointerEvent + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              For breadcrumbs created from browser events, the Sentry SDK often supplies the event to the breadcrumb as a hint. +This can be used to extract data from the target DOM element into a breadcrumb, for example.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + input + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + input: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + level + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + level: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              e.g. console output level (warn / log / ...)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + request + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + request: any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : any + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + response + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + response: Response + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Response + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + xhr + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + xhr: XMLHttpRequest + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : XMLHttpRequest + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              import { LogLevel } from "./log-level";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import * as Sentry from "@sentry/angular";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { environment } from "../../../environments/environment";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { APP_INITIALIZER, ErrorHandler, Provider } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { LoginState } from "../session/session-states/login-state.enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { LoginStateSubject } from "../session/session-type";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +import { SessionSubject } from "../session/auth/session-info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/* eslint-disable no-console */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Centrally managed logging to allow log messages to be filtered by level and even sent to a remote logging service
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * that allows developers to monitor and analyse problems.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Logging to the remote monitoring server is set only for warnings and errors.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * To allow remote logging, call Sentry.init during bootstrap in your AppModule or somewhere early on during startup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Import the constant `Logging` to use this from anywhere (without Angular DI).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export class LoggingService {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Initialize the remote logging module with the given options.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * If set up this will be used to send errors to a remote endpoint for analysis.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param options
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  initRemoteLogging(options: Sentry.BrowserOptions) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (!options.dsn) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      // abort if no target url is set
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const defaultOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      release: "ndb-core@" + environment.appVersion,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      transport: Sentry.makeBrowserOfflineTransport(Sentry.makeFetchTransport),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      beforeBreadcrumb: enhanceSentryBreadcrumb,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Sentry.init(Object.assign(defaultOptions, options));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Register any additional logging context integrations that need Angular services.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param loginState
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param sessionInfo
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  initAngularLogging(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    loginState: LoginStateSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    sessionInfo: SessionSubject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return () =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      loginState.subscribe((newState) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        if (newState === LoginState.LOGGED_IN) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          const username = sessionInfo.value.name;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          Logging.setLoggingContextUser(username);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          Logging.setLoggingContextUser(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Get the Angular providers to set up additional logging and tracing,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * that should be added to the providers array of the AppModule.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  getAngularTracingProviders(): Provider[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    return [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      /* Sentry setup */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        provide: ErrorHandler,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        useValue: Sentry.createErrorHandler(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        provide: Sentry.TraceService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        deps: [Router],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        provide: APP_INITIALIZER,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        useFactory: () => () => {},
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        deps: [Sentry.TraceService],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        multi: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        provide: APP_INITIALIZER,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        useFactory: Logging.initAngularLogging,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        deps: [LoginStateSubject, SessionSubject],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        multi: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Update a piece of context information that will be attached to all log messages for easier debugging,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * especially in remote logging.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param key Identifier of the key-value pair
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param value Value of the key-value pair
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param asTag If this should be added as indexed tag rather than simple context (see https://docs.sentry.io/platforms/javascript/enriching-events/tags/)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  addContext(key: string, value: any, asTag: boolean = false) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (asTag) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Sentry.setTag(key, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (typeof value !== "object") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        value = { value: value };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Sentry.getCurrentScope().setContext(key, value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Update the username to be attached to all log messages for easier debugging,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * especially in remote logging.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param username
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  setLoggingContextUser(username: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    Sentry.setUser({ username: username });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Log the message with "debug" level - for very detailed, non-essential information.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param context Additional context for debugging
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public debug(message: any, ...context: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.log(message, LogLevel.DEBUG, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Log the message with "info" level - for relevant information that occurs during regular functioning of the app.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public info(message: any) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.log(message, LogLevel.INFO);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Log the message with "warning" level - for unexpected events that the app can still handle gracefully.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param context
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public warn(message: any, ...context: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.log(message, LogLevel.WARN, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Log the message with "error" level - for unexpected critical events that cannot be handled and will affect functions.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param context
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public error(message: any, ...context: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.log(message, LogLevel.ERROR, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * Generic logging of a message.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param message Message to be logged
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param logLevel Optional log level - default is "info"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * @param context Additional context for debugging
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  public log(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    message: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    logLevel: LogLevel = LogLevel.INFO,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    ...context: any[]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    this.logToConsole(message, logLevel, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (logLevel !== LogLevel.DEBUG && logLevel !== LogLevel.INFO) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      this.logToRemoteMonitoring(message, logLevel);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private logToConsole(message: any, logLevel: LogLevel, ...context: any[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (+logLevel) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.DEBUG:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        console.debug(message, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.INFO:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        console.info(message, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.WARN:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        console.warn(message, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.ERROR:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        console.error(message, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        console.log(message, ...context);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private logToRemoteMonitoring(message: any, logLevel: LogLevel) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    if (logLevel === LogLevel.ERROR) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      if (message instanceof Error) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Sentry.captureException(message);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        Sentry.captureException(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +          new Error(message?.message ?? message?.error ?? message),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      Sentry.captureMessage(message, this.translateLogLevel(logLevel));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  private translateLogLevel(logLevel: LogLevel): Sentry.SeverityLevel {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    switch (+logLevel) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.DEBUG:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "debug";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.INFO:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.WARN:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "warning";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      case LogLevel.ERROR:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "error";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +      default:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +        return "info";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * Add more human-readable descriptions to Sentry breadcrumbs for debugging.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * see https://docs.sentry.io/platforms/javascript/enriching-events/breadcrumbs/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +function enhanceSentryBreadcrumb(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  breadcrumb: Sentry.Breadcrumb,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  hint: SentryBreadcrumbHint,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  if (breadcrumb.category === "ui.click") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const event = hint.event;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    const elementText = event.target?.["innerText"] ?? "";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    breadcrumb.message = elementText + " | " + breadcrumb.message;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  return breadcrumb;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + * https://docs.sentry.io/platforms/javascript/configuration/filtering/#hints-for-breadcrumbs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +interface SentryBreadcrumbHint {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * For breadcrumbs created from browser events, the Sentry SDK often supplies the event to the breadcrumb as a hint.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * This can be used to extract data from the target DOM element into a breadcrumb, for example.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  event?: PointerEvent;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  input?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   * e.g. console output level (warn / log / ...)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  level: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  response?: Response;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  request?: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  xhr?: XMLHttpRequest;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +export const Logging = new LoggingService();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SessionInfo.html b/documentation/interfaces/SessionInfo.html new file mode 100644 index 0000000000..2f8cf67efc --- /dev/null +++ b/documentation/interfaces/SessionInfo.html @@ -0,0 +1,541 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/session/auth/session-info.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The session info which holds information about the currently logged-in user. +This is retrieved during the login process and will always be present once state changes to LOGGED_IN.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + email + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + email: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Email address of a user

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entityId + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + entityId: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ID of the entity which is connected with the user account.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                This is either a full ID or (e.g. Child:123) or only the last part. +In the later case it refers to the User entity.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + name + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + name: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Name of user account.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + projects + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + projects: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                List of linked projects

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + roles + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + roles: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                List of roles the logged-in user hold.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Injectable } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +import { BehaviorSubject } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * The session info which holds information about the currently logged-in user.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * This is retrieved during the login process and will always be present once state changes to `LOGGED_IN`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface SessionInfo {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Name of user account.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  name: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * List of roles the logged-in user hold.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  roles: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * List of linked projects
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  projects?: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * ID of the entity which is connected with the user account.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * This is either a full ID or (e.g. Child:123) or only the last part.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * In the later case it refers to the `User` entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entityId?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * Email address of a user
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  email?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Use this provider to get information about the currently active session.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * E.g. for checking required roles or accessing the unique user identifier.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +@Injectable()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export class SessionSubject extends BehaviorSubject<SessionInfo> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  constructor() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    super(undefined);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SetupWizardConfig.html b/documentation/interfaces/SetupWizardConfig.html new file mode 100644 index 0000000000..3469812bbe --- /dev/null +++ b/documentation/interfaces/SetupWizardConfig.html @@ -0,0 +1,486 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/admin/setup-wizard/setup-wizard-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + finished + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + finished: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  whether the wizard has been completed overall and should be hidden

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + openOnStart + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + openOnStart: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  whether users should on startup be navigated automatically to the setup wizard screen while it is not finished

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + steps + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + steps: SetupWizardStep[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : SetupWizardStep[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  import { MenuItem } from "../../ui/navigation/menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export const CONFIG_SETUP_WIZARD_ID = "Config:SetupWizard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface SetupWizardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** whether the wizard has been completed overall and should be hidden */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  finished?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** whether users should on startup be navigated automatically to the setup wizard screen while it is not finished */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  openOnStart?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  steps: SetupWizardStep[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export interface SetupWizardStep {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  actions?: MenuItem[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export const defaultSetupWizardConfig: SetupWizardConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  openOnStart: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  steps: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      title: $localize`:Setup Wizard Step Title:Welcome`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +# Welcome to Aam Digital!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +We are here to help you manage your participants' or beneficiaries' details
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +and your team's interactions with them.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +The Aam Digital platform is very flexible and you can customize the structures and views
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +to exactly fit your project needs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +The following steps guide you through the most important configuration options for this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +And you can start working with your data within a few minutes already.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +We also have some short video guides for you: [Aam Digital Video Guides (YouTube)](https://www.youtube.com/channel/UCZSFOX_MBa8zz5Mtfv_qlnA/videos)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Feel free to leave this setup wizard in between to explore the existing system first.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +You can always come back to this view through the "Setup Wizard" button at the bottom of the main menu on the left.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +To dismiss and hide this wizard, go to the last step of the wizard and "finish" the setup process.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      title: $localize`:Setup Wizard Step Title:Profiles & Fields`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +The system already holds some basic structures for your case management.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +You can adapt the fields and how the details are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +If you have further requirements, don't hesitate to reach out to us at [support@aam-digital.com](mailto:support@aam-digital.com).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +_Please note that the setup wizard and form builder is still under active development ("beta" version).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Some advanced configuration options are not available here yet for you to configure yourself and may need assistance from the tech support team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +We are currently extending and optimizing the user interfaces for these steps._
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          label: $localize`:Setup Wizard Step Action:Customize Child profile`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          link: "/admin/entity/Child",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          label: $localize`:Setup Wizard Step Action:Customize School profile`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          link: "/admin/entity/School",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      title: $localize`:Setup Wizard Step Title:User Accounts`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +You can collaborate on Aam Digital as a team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Data is synced and all users have access to the latest information.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          label: $localize`:Setup Wizard Step Action:Manage User Accounts`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          link: "/user",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      title: $localize`:Setup Wizard Step Title:Import Data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +If you have exising data from a previous system, you can easily import it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Save the data in ".csv" format (e.g. from MS Excel).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +You do not need any specific column names in your file to be imported.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +The Import Module helps your map your spreadsheet data to the relevant fields in your Aam Digital profiles.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          label: $localize`:Setup Wizard Step Action:Import Data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +          link: "/import",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      title: $localize`:Setup Wizard Step Title:Done!`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +That's it. You are ready to explore your system and start work!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +You can always adapt your setup further, after you started using it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +We recommend to keep things simple in the beginning,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +start using it for some of your tasks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +and then add further fields and adjust your setup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +Feel free to reach out to us with your questions or feedback: [support@aam-digital.com](mailto:support@aam-digital.com)`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SetupWizardStep.html b/documentation/interfaces/SetupWizardStep.html new file mode 100644 index 0000000000..2c869cd0c2 --- /dev/null +++ b/documentation/interfaces/SetupWizardStep.html @@ -0,0 +1,468 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/admin/setup-wizard/setup-wizard-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + actions + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + actions: MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : MenuItem[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + text + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + text: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + title + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + title: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { MenuItem } from "../../ui/navigation/menu-item";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export const CONFIG_SETUP_WIZARD_ID = "Config:SetupWizard";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface SetupWizardConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** whether the wizard has been completed overall and should be hidden */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  finished?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** whether users should on startup be navigated automatically to the setup wizard screen while it is not finished */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  openOnStart?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  steps: SetupWizardStep[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface SetupWizardStep {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  text: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  actions?: MenuItem[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export const defaultSetupWizardConfig: SetupWizardConfig = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  openOnStart: false,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  steps: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title: $localize`:Setup Wizard Step Title:Welcome`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +# Welcome to Aam Digital!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +We are here to help you manage your participants' or beneficiaries' details
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +and your team's interactions with them.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +The Aam Digital platform is very flexible and you can customize the structures and views
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +to exactly fit your project needs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +The following steps guide you through the most important configuration options for this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +And you can start working with your data within a few minutes already.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +We also have some short video guides for you: [Aam Digital Video Guides (YouTube)](https://www.youtube.com/channel/UCZSFOX_MBa8zz5Mtfv_qlnA/videos)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +Feel free to leave this setup wizard in between to explore the existing system first.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +You can always come back to this view through the "Setup Wizard" button at the bottom of the main menu on the left.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +To dismiss and hide this wizard, go to the last step of the wizard and "finish" the setup process.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title: $localize`:Setup Wizard Step Title:Profiles & Fields`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +The system already holds some basic structures for your case management.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +You can adapt the fields and how the details are displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +If you have further requirements, don't hesitate to reach out to us at [support@aam-digital.com](mailto:support@aam-digital.com).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +_Please note that the setup wizard and form builder is still under active development ("beta" version).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +Some advanced configuration options are not available here yet for you to configure yourself and may need assistance from the tech support team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +We are currently extending and optimizing the user interfaces for these steps._
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          label: $localize`:Setup Wizard Step Action:Customize Child profile`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          link: "/admin/entity/Child",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          label: $localize`:Setup Wizard Step Action:Customize School profile`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          link: "/admin/entity/School",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title: $localize`:Setup Wizard Step Title:User Accounts`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +You can collaborate on Aam Digital as a team.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +Data is synced and all users have access to the latest information.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          label: $localize`:Setup Wizard Step Action:Manage User Accounts`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          link: "/user",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title: $localize`:Setup Wizard Step Title:Import Data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +If you have exising data from a previous system, you can easily import it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +Save the data in ".csv" format (e.g. from MS Excel).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +You do not need any specific column names in your file to be imported.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +The Import Module helps your map your spreadsheet data to the relevant fields in your Aam Digital profiles.`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      actions: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          label: $localize`:Setup Wizard Step Action:Import Data`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +          link: "/import",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +        },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      title: $localize`:Setup Wizard Step Title:Done!`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +      text: $localize`:Setup Wizard Step Text:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +That's it. You are ready to explore your system and start work!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +You can always adapt your setup further, after you started using it.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +We recommend to keep things simple in the beginning,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +start using it for some of your tasks
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +and then add further fields and adjust your setup.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +Feel free to reach out to us with your questions or feedback: [support@aam-digital.com](mailto:support@aam-digital.com)`,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SimpleDropdownValue-1.html b/documentation/interfaces/SimpleDropdownValue-1.html new file mode 100644 index 0000000000..b413fb27b4 --- /dev/null +++ b/documentation/interfaces/SimpleDropdownValue-1.html @@ -0,0 +1,637 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + value + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + value: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Inject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  OnChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  SimpleChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity, EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MAT_DIALOG_DATA,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  MatDialogRef,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/material/dialog";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DialogCloseComponent } from "../../../common-components/dialog-close/dialog-close.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ErrorHintComponent } from "../../../common-components/error-hint/error-hint.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormControl,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntitySchemaField } from "../../../entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { BasicAutocompleteComponent } from "../../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DefaultDatatype } from "../../../entity/default-datatype/default.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnumDatatype } from "../../../basic-datatypes/configurable-enum/configurable-enum-datatype/configurable-enum.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityDatatype } from "../../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnumService } from "../../../basic-datatypes/configurable-enum/configurable-enum.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { EntityRegistry } from "../../../entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AdminEntityService } from "../../admin-entity.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigureEnumPopupComponent } from "../../../basic-datatypes/configurable-enum/configure-enum-popup/configure-enum-popup.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigurableEnum } from "../../../basic-datatypes/configurable-enum/configurable-enum";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { generateIdFromLabel } from "../../../../utils/generate-id-from-label/generate-id-from-label";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { merge } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { filter } from "rxjs/operators";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { uniqueIdValidator } from "app/core/common-components/entity-form/unique-id-validator/unique-id-validator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ConfigureEntityFieldValidatorComponent } from "./configure-entity-field-validator/configure-entity-field-validator.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { FormValidatorConfig } from "app/core/common-components/entity-form/dynamic-form-validators/form-validator-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { AnonymizeOptionsComponent } from "./anonymize-options/anonymize-options.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { MatCheckbox } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DefaultValueOptionsComponent } from "./default-value-options/default-value-options.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Allows configuration of the schema of a single Entity field, like its dataType and labels.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-admin-entity-field",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  templateUrl: "./admin-entity-field.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  styleUrls: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    "./admin-entity-field.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    "../../../common-components/entity-form/entity-form/entity-form.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatDialogModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DialogCloseComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ErrorHintComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    FontAwesomeModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ConfigureEntityFieldValidatorComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    AnonymizeOptionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    MatCheckbox,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    DefaultValueOptionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class AdminEntityFieldComponent implements OnChanges {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() fieldId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  @Input() entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entitySchemaField: EntitySchemaField;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  form: FormGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  fieldIdForm: FormControl;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /** form group of all fields in EntitySchemaField (i.e. without fieldId) */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  schemaFieldsForm: FormGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  additionalForm: FormControl;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  typeAdditionalOptions: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  dataTypes: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    @Inject(MAT_DIALOG_DATA)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    data: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      fieldId: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      entityType: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dialogRef: MatDialogRef<any>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    @Inject(DefaultDatatype) allDataTypes: DefaultDatatype[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private configurableEnumService: ConfigurableEnumService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private entityRegistry: EntityRegistry,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private adminEntityService: AdminEntityService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    private dialog: MatDialog,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.fieldId = data.fieldId;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entityType = data.entityType;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.entitySchemaField = this.entityType.schema.get(this.fieldId) ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.initSettings();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.initAvailableDatatypes(allDataTypes);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnChanges(changes: SimpleChanges): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (changes.entitySchemaField) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.initSettings();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private initSettings() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.fieldIdForm = this.fb.control(this.fieldId, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      validators: [Validators.required],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      asyncValidators: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        uniqueIdValidator(Array.from(this.entityType.schema.keys())),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additionalForm = this.fb.control(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.schemaFieldsForm = this.fb.group({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      label: [this.entitySchemaField.label, Validators.required],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      labelShort: [this.entitySchemaField.labelShort],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      description: [this.entitySchemaField.description],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      dataType: [this.entitySchemaField.dataType, Validators.required],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      isArray: [this.entitySchemaField.isArray],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      additional: this.additionalForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      defaultValue: [this.entitySchemaField.defaultValue],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      searchable: [this.entitySchemaField.searchable],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      anonymize: [this.entitySchemaField.anonymize],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      //viewComponent: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      //editComponent: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      //showInDetailsView: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      //generateIndex: [],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      validators: [this.entitySchemaField.validators],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.form = this.fb.group({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      id: this.fieldIdForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      schemaFields: this.schemaFieldsForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.schemaFieldsForm
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get("labelShort")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.pipe(filter((v) => v === ""))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .subscribe((v) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        // labelShort should never be empty string, in that case it has to be removed so that label works as fallback
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.schemaFieldsForm.get("labelShort").setValue(null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.updateDataTypeAdditional(this.schemaFieldsForm.get("dataType").value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.schemaFieldsForm
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .get("dataType")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .valueChanges.subscribe((v) => this.updateDataTypeAdditional(v));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.updateForNewOrExistingField();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private updateForNewOrExistingField() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!!this.fieldId) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // existing fields' id is readonly
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.fieldIdForm.disable();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const autoGenerateSubscr = merge(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.schemaFieldsForm.get("label").valueChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.schemaFieldsForm.get("labelShort").valueChanges,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      ).subscribe(() => this.autoGenerateId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // stop updating id when user manually edits
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.fieldIdForm.valueChanges.subscribe(() =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        autoGenerateSubscr.unsubscribe(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  entityFieldValidatorChanges(validatorData: FormValidatorConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.schemaFieldsForm.get("validators").setValue(validatorData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private autoGenerateId() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // prefer labelShort if it exists, as this makes less verbose IDs
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const label =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.schemaFieldsForm.get("labelShort").value ??
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.schemaFieldsForm.get("label").value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const generatedId = generateIdFromLabel(label);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.fieldIdForm.setValue(generatedId, { emitEvent: false });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private initAvailableDatatypes(dataTypes: DefaultDatatype[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dataTypes = dataTypes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .filter((d) => d.label !== DefaultDatatype.label) // hide "internal" technical dataTypes that did not define a human-readable label
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((d) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        label: d.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        value: d.dataType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  objectToLabel = (v: SimpleDropdownValue) => v?.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  objectToValue = (v: SimpleDropdownValue) => v?.value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  createNewAdditionalOption: (input: string) => SimpleDropdownValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  createNewAdditionalOptionAsync = async (input) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createNewAdditionalOption(input);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private updateDataTypeAdditional(dataType: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.resetAdditional();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (dataType === ConfigurableEnumDatatype.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.initAdditionalForEnum();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else if (dataType === EntityDatatype.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.initAdditionalForEntityRef();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // hasInnerType: [ArrayDatatype.dataType].includes(d.dataType),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // TODO: this mapping of having an "additional" schema should probably become part of Datatype classes
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private initAdditionalForEnum() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.typeAdditionalOptions = this.configurableEnumService
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .listEnums()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((x) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        label: Entity.extractEntityIdFromId(x), // TODO: add human-readable label to configurable-enum entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        value: Entity.extractEntityIdFromId(x),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additionalForm.addValidators(Validators.required);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createNewAdditionalOption = (text) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      value: generateIdFromLabel(text),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      label: text,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.entitySchemaField.additional) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.additionalForm.setValue(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    } else if (this.schemaFieldsForm.get("label").value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // when switching to enum datatype in the form, if unset generate a suggested enum-id immediately
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const newOption = this.createNewAdditionalOption(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        this.schemaFieldsForm.get("label").value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.typeAdditionalOptions.push(newOption);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.additionalForm.setValue(newOption.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private initAdditionalForEntityRef() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.typeAdditionalOptions = this.entityRegistry
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .getEntityTypes(true)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .map((x) => ({ label: x.value.label, value: x.value.ENTITY_TYPE }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additionalForm.addValidators(Validators.required);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.typeAdditionalOptions.some(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        (x) => x.value === this.entitySchemaField.additional,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.additionalForm.setValue(this.entitySchemaField.additional);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private resetAdditional() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additionalForm.removeValidators(Validators.required);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.additionalForm.reset(null);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.typeAdditionalOptions = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.createNewAdditionalOption = undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  save() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.form.markAllAsTouched();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (this.form.invalid) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const formValues = this.schemaFieldsForm.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const key of Object.keys(formValues)) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (formValues[key] === null) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        delete formValues[key];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const updatedEntitySchema = Object.assign(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      { _isCustomizedField: true },
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entitySchemaField, // TODO: remove this merge once all schema fields are in the form (then only form values should apply)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      formValues,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const fieldId = this.fieldIdForm.getRawValue();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.adminEntityService.updateSchemaField(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.entityType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      fieldId,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      updatedEntitySchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dialogRef.close(fieldId);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  openEnumOptions(event: Event) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    event.stopPropagation(); // do not open the autocomplete dropdown when clicking the settings icon
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    let enumEntity = this.configurableEnumService.getEnum(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      this.additionalForm.value,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    if (!enumEntity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      // if the user makes changes, the dialog component itself is saving the new entity to the database already
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      enumEntity = new ConfigurableEnum(this.additionalForm.value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.dialog.open(ConfigureEnumPopupComponent, { data: enumEntity });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +interface SimpleDropdownValue {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  value: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SimpleDropdownValue.html b/documentation/interfaces/SimpleDropdownValue.html new file mode 100644 index 0000000000..a9f6f79c65 --- /dev/null +++ b/documentation/interfaces/SimpleDropdownValue.html @@ -0,0 +1,491 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + src/app/core/admin/admin-entity/admin-entity-general-settings/admin-entity-general-settings.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + key + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + key: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + label + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + label: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConstructor } from "../../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatButtonModule } from "@angular/material/button";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatInputModule } from "@angular/material/input";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  FormGroup,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  Validators,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/forms";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { CommonModule, NgIf } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatTabsModule } from "@angular/material/tabs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatTooltipModule } from "@angular/material/tooltip";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { BasicAutocompleteComponent } from "../../../common-components/basic-autocomplete/basic-autocomplete.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityConfig } from "../../../entity/entity-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatTableDataSource, MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatCheckboxChange,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +} from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatOptionModule } from "@angular/material/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatSelectModule } from "@angular/material/select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntitySchemaField } from "app/core/entity/schema/entity-schema-field";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AdminEntityService } from "../../admin-entity.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { StringDatatype } from "../../../basic-datatypes/string/string.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { HelpButtonComponent } from "../../../common-components/help-button/help-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { MatSort } from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { EntityFieldLabelComponent } from "../../../common-components/entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { AnonymizeOptionsComponent } from "../../admin-entity-details/admin-entity-field/anonymize-options/anonymize-options.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +import { FaIconComponent } from "@fortawesome/angular-fontawesome";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  selector: "app-admin-entity-general-settings",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  templateUrl: "./admin-entity-general-settings.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  styleUrls: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    "./admin-entity-general-settings.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    "../admin-entity-styles.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatButtonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatInputModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    NgIf,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTabsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ReactiveFormsModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    BasicAutocompleteComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatOptionModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatSelectModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatTooltipModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    HelpButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    MatSort,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    AnonymizeOptionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    FaIconComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +export class AdminEntityGeneralSettingsComponent implements OnInit {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() entityConstructor: EntityConstructor;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Output() generalSettingsChange: EventEmitter<EntityConfig> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    new EventEmitter<EntityConfig>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() generalSettings: EntityConfig;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  @Input() showPIIDetails: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  fieldAnonymizationDataSource: MatTableDataSource<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    key: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    field: EntitySchemaField;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  basicSettingsForm: FormGroup;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  toStringAttributesOptions: SimpleDropdownValue[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private fb: FormBuilder,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    private adminEntityService: AdminEntityService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ngOnInit(): void {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.init();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private init() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.basicSettingsForm = this.fb.group({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      label: [this.generalSettings.label, Validators.required],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      labelPlural: [this.generalSettings.labelPlural],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      icon: [this.generalSettings.icon],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      toStringAttributes: [this.generalSettings.toStringAttributes],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      hasPII: [this.generalSettings.hasPII],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.showPIIDetails = this.basicSettingsForm.get("hasPII").value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.fetchAnonymizationTableData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.initToStringAttributesOptions();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.basicSettingsForm.valueChanges.subscribe((value) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.generalSettingsChange.emit(this.basicSettingsForm.getRawValue()); // Optionally, emit the initial value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  fetchAnonymizationTableData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (this.showPIIDetails) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      const fields = Array.from(this.entityConstructor.schema.entries())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .filter(([key, field]) => field.label)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        .map(([key, field]) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          key: key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          label: field.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          field: field,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fieldAnonymizationDataSource = new MatTableDataSource(fields);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  toggleAnonymizationTable(event: MatCheckboxChange) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.showPIIDetails = event.checked;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.basicSettingsForm.get("hasPII").setValue(this.showPIIDetails);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.fetchAnonymizationTableData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  changeFieldAnonymization(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldSchema: EntitySchemaField,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    newAnonymizationValue,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldSchema.anonymize = newAnonymizationValue;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    fieldSchema._isCustomizedField = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.adminEntityService.updateSchemaField(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityConstructor,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.fieldAnonymizationDataSource.data.find(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        (v) => v.field === fieldSchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ).key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      fieldSchema,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  private initToStringAttributesOptions() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    if (!this.generalSettings.toStringAttributes) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const selectedOptions = this.generalSettings.toStringAttributes;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    const unselectedOptions = Array.from(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      this.entityConstructor.schema.entries(),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        ([key, field]) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          field.dataType === StringDatatype.dataType &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          field.label &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +          !selectedOptions.includes(key),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      .map(([key, field]) => ({ key: key, label: field.label }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    this.toStringAttributesOptions = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ...selectedOptions.map((key) => ({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        key: key,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +        label: this.entityConstructor.schema.get(key)?.label,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      })),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      ...unselectedOptions,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  objectToLabel = (v: SimpleDropdownValue) => v?.label;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  objectToValue = (v: SimpleDropdownValue) => v?.key;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +interface SimpleDropdownValue {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  key: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  label: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/SqlReport.html b/documentation/interfaces/SqlReport.html new file mode 100644 index 0000000000..8222eb9223 --- /dev/null +++ b/documentation/interfaces/SqlReport.html @@ -0,0 +1,400 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + src/app/features/reporting/report-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Reports handles by the {@class SqlReportService}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + ReportConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + aggregationDefinitions + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + aggregationDefinitions: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Array of valid SQL SELECT statements

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + mode + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + mode: + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          import { Entity, EntityConstructor } from "../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DatabaseEntity } from "../../core/entity/database-entity.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { Aggregation } from "./data-aggregation.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { ExportColumnConfig } from "../../core/export/data-transformation-service/export-column-config";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +import { DatabaseField } from "../../core/entity/database-field.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * A report can be accessed by users to generate aggregated statistics or customized exports calculated from available data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * "read" permission for a ReportConfig entity is also used to control which users can generate the report's results.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This is the class which is saved to the database.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * However, when using this in code, use the {@link ReportEntity} instead which provides better type safety.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +@DatabaseEntity("ReportConfig")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +class ReportConfig extends Entity {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** human-readable title of the report */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @DatabaseField() title: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * (optional) mode of export.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * The {@link ReportEntity} holds the restriction on valid report modes.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Default is "reporting"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @DatabaseField() mode?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /** the definitions to calculate the report's aggregations */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  @DatabaseField() aggregationDefinitions: any[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Union type to enable type safety for report configs.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Use this instead of the {@class ReportConfig}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export type ReportEntity = AggregationReport | ExportingReport | SqlReport;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * This allows the `ReportEntity` to also be used as a constructor or in the `EntityMapper`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export const ReportEntity = ReportConfig as EntityConstructor<ReportEntity>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Reports handles by the {@class DataAggregationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface AggregationReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mode: "reporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  aggregationDefinitions: Aggregation[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Reports handles by the {@class DataTransformationService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface ExportingReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * If no mode is set, it will default to 'exporting'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mode?: "exporting";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  aggregationDefinitions: ExportColumnConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + * Reports handles by the {@class SqlReportService}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +export interface SqlReport extends ReportConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  mode: "sql";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   * Array of valid SQL SELECT statements
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  aggregationDefinitions: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/TableRow.html b/documentation/interfaces/TableRow.html new file mode 100644 index 0000000000..809c55d4a3 --- /dev/null +++ b/documentation/interfaces/TableRow.html @@ -0,0 +1,708 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + src/app/core/common-components/entities-table/entities-table.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Wrapper to keep additional form data for each row of an entity, required for inline editing.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + formGroup + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + formGroup: EntityForm<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : EntityForm<T> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + record + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + record: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Component,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EventEmitter,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Input,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Output,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ViewChild,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { CommonModule } from "@angular/common";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldEditComponent } from "../entity-field-edit/entity-field-edit.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldLabelComponent } from "../entity-field-label/entity-field-label.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityFieldViewComponent } from "../entity-field-view/entity-field-view.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { ListPaginatorComponent } from "./list-paginator/list-paginator.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatCheckboxModule } from "@angular/material/checkbox";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatProgressBarModule } from "@angular/material/progress-bar";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatSlideToggleModule } from "@angular/material/slide-toggle";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatSort,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  MatSortModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  Sort,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  SortDirection,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "@angular/material/sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { MatTableDataSource, MatTableModule } from "@angular/material/table";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Entity, EntityConstructor } from "../../entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ColumnConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  toFormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../entity-form/FormConfig";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityForm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +} from "../entity-form/entity-form.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { tableSort } from "./table-sort/table-sort";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { UntilDestroy } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { entityFilterPredicate } from "../../filter/filter-generator/filter-predicate";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FormDialogService } from "../../form-dialog/form-dialog.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { Router } from "@angular/router";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { FilterService } from "../../filter/filter.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DataFilter } from "../../filter/filters/filters";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityInlineEditActionsComponent } from "./entity-inline-edit-actions/entity-inline-edit-actions.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityCreateButtonComponent } from "../entity-create-button/entity-create-button.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { DateDatatype } from "../../basic-datatypes/date/date.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntitySchemaService } from "../../entity/schema/entity-schema.service";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +import { EntityDatatype } from "../../basic-datatypes/entity/entity.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * A simple display component (no logic and transformations) to display a table of entities.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selector: "app-entities-table",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  imports: [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    CommonModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldEditComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldLabelComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityFieldViewComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ListPaginatorComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatCheckboxModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatProgressBarModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatSlideToggleModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatSortModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    MatTableModule,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityInlineEditActionsComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    EntityCreateButtonComponent,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  templateUrl: "./entities-table.component.html",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  styleUrl: "./entities-table.component.scss",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export class EntitiesTableComponent<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set records(value: T[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._records = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.isLoading = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _records: T[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** data displayed in the template's table */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  recordsDataSource: MatTableDataSource<TableRow<T>>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  isLoading: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Additional or overwritten field configurations for columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set customColumns(value: ColumnConfig[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._customColumns = (value ?? []).map((c) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this._entityType
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ? this.entityFormService.extendFormFieldConfig(c, this._entityType)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        : toFormFieldConfig(c),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const entityColumns = this._entityType?.schema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ? [...this._entityType.schema.entries()].map(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          ([id, field]) => ({ ...field, id }) as FormFieldConfig,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      : [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._columns = [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...entityColumns.filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        // if there is a customColumn for a field from entity config, don't add the base schema field
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        (c) => !this._customColumns.some((customCol) => customCol.id === c.id),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      ...this._customColumns,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._columns.forEach((c) => this.disableSortingHeaderForAdvancedFields(c));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!this.columnsToDisplay) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.columnsToDisplay = this._customColumns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .filter((c) => !c.hideFromTable)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        .map((c) => c.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.idForSavingPagination = this._customColumns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .map((col) => col.id)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      .join("");
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _customColumns: FormFieldConfig[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _columns: FormFieldConfig[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Manually define the columns to be shown.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param value
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set columnsToDisplay(value: string[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!value || value.length === 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      value = (this._customColumns ?? this._columns).map((c) => c.id);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    value = value.filter((c) => !c.startsWith("__")); // remove internal action columns
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const cols = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this._selectable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      cols.push(this.ACTIONCOLUMN_SELECT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this._editable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      cols.push(this.ACTIONCOLUMN_EDIT);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    cols.push(...value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._columnsToDisplay = cols;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this.sortIsInferred) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.sortBy = this.inferDefaultSort();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.sortIsInferred = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _columnsToDisplay: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set entityType(value: EntityConstructor<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._entityType = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.customColumns = this._customColumns;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _entityType: EntityConstructor<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** how to sort data by default during initialization */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set sortBy(value: Sort) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (!value) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._sortBy = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.sortIsInferred = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _sortBy: Sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @ViewChild(MatSort, { static: false }) set sort(sort: MatSort) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.recordsDataSource.sort = sort;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private sortIsInferred: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Adds a filter for the displayed data.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Only data, that passes the filter will be shown in the table.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set filter(value: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._filter = value ?? {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _filter: DataFilter<T> = {};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** output the currently displayed records, whenever filters for the user change */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() filteredRecordsChange = new EventEmitter<T[]>(true);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private updateFilteredData() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.addActiveInactiveFilter(this._filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const filterPredicate = this.filterService.getFilterPredicate(this._filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const filteredData = this._records.filter(filterPredicate);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.recordsDataSource.data = filteredData.map((record) => ({ record }));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.filteredRecordsChange.emit(filteredData);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set filterFreetext(value: string) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.recordsDataSource.filter = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /** function returns the background color for each row*/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() getBackgroundColor?: (rec: T) => string = (rec: T) => rec.getColor();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  idForSavingPagination: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() clickMode: "popup" | "navigate" | "none" = "popup";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Emits the entity being clicked in the table - or the newly created entity from the "create" button.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() entityClick = new EventEmitter<T>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * BULK SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * User can use checkboxes to select multiple rows, so that parent components can execute bulk actions on them.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set selectable(v: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._selectable = v;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.columnsToDisplay = this._columnsToDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _selectable: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly ACTIONCOLUMN_SELECT = "__select";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * outputs an event containing an array of currently selected records (checkmarked by the user)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Checkboxes to select rows are only displayed if you set "selectable" also.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() selectedRecordsChange: EventEmitter<T[]> = new EventEmitter<T[]>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() selectedRecords: T[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  selectRow(row: TableRow<T>, checked: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (checked) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.selectedRecords.push(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      const index = this.selectedRecords.indexOf(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      if (index > -1) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.selectedRecords.splice(index, 1);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.selectedRecordsChange.emit(this.selectedRecords);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * INLINE EDIT
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * User can switch a row into edit mode to change and save field values directly from within the table
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set editable(v: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._editable = v;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.columnsToDisplay = this._columnsToDisplay;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _editable: boolean = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  readonly ACTIONCOLUMN_EDIT = "__edit";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * factory method to create a new instance of the displayed Entity type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * used when the user adds a new entity to the list.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() newRecordFactory: () => T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Show one record's details in a modal dialog (if configured).
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param row The entity whose details should be displayed.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  onRowClick(row: TableRow<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (row.formGroup && !row.formGroup.disabled) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this._selectable) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.selectRow(row, !this.selectedRecords?.includes(row.record));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showEntity(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.entityClick.emit(row.record);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  showEntity(entity: T) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    switch (this.clickMode) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      case "popup":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.formDialog.openFormPopup(entity, this._customColumns);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      case "navigate":
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        this.router.navigate([
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          entity.getConstructor().route,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +          entity.isNew ? "new" : entity.getId(true),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        ]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        break;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  constructor(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private entityFormService: EntityFormService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private formDialog: FormDialogService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private router: Router,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private filterService: FilterService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    private schemaService: EntitySchemaService,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.recordsDataSource = this.createDataSource();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private createDataSource() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const dataSource = new MatTableDataSource<TableRow<T>>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dataSource.sortData = (data, sort) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      tableSort(data, {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        active: sort.active as keyof Entity | "",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        direction: sort.direction,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      });
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    dataSource.filterPredicate = (data, filter) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      entityFilterPredicate(data.record, filter);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return dataSource;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private inferDefaultSort(): Sort {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // initial sorting by first column, ensure that not the 'action' column is used
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const sortBy = (this._columnsToDisplay ?? []).filter(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      (c) => !c.startsWith("__"),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    )[0];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    const sortByColumn = this._columns.find((c) => c.id === sortBy);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    let sortDirection: SortDirection = "asc";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      sortByColumn?.viewComponent === "DisplayDate" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      sortByColumn?.viewComponent === "DisplayMonth" ||
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      this.schemaService.getDatatypeOrDefault(sortByColumn?.dataType) instanceof
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +        DateDatatype
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      // flip default sort order for dates (latest first)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      sortDirection = "desc";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    return sortBy ? { active: sortBy, direction: sortDirection } : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * Advanced fields like entity references cannot be sorted sensibly yet - disable sort for them.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @param c
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * @private
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  private disableSortingHeaderForAdvancedFields(c: FormFieldConfig) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    // if no dataType is defined, these are dynamic, display-only components
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (c.isArray || c.dataType === EntityDatatype.dataType || !c.dataType) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      c.noSorting = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * FILTER ARCHIVED RECORDS
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   * User can hide / show inactive records through a toggle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Input() set showInactive(value: boolean) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (value === this._showInactive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      return;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this._showInactive = value;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.updateFilteredData();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    this.showInactiveChange.emit(value);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  _showInactive: boolean = false;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  @Output() showInactiveChange = new EventEmitter<boolean>();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  addActiveInactiveFilter(filter: DataFilter<T>) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    if (this._showInactive) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      delete filter["isActive"];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +      filter["isActive"] = true;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + * Wrapper to keep additional form data for each row of an entity, required for inline editing.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +export interface TableRow<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  record: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  formGroup?: EntityForm<T>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/TodoCompletion.html b/documentation/interfaces/TodoCompletion.html new file mode 100644 index 0000000000..f1e1aaa881 --- /dev/null +++ b/documentation/interfaces/TodoCompletion.html @@ -0,0 +1,399 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + src/app/features/todos/model/todo-completion.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              meta details for completion of a Todo item.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + completedAt + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + completedAt: Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : Date + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              when the item was completed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + completedBy + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + completedBy: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              user id of who completed the task

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + nextRepetition + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + nextRepetition: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              the next task that was automatically created based on the repetitionInterval

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              export interface TodoCompletion {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** user id of who completed the task */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  completedBy: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** when the item was completed */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  completedAt: Date;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  /** the next task that was automatically created based on the repetitionInterval */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  nextRepetition?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/UpdatedEntity.html b/documentation/interfaces/UpdatedEntity.html new file mode 100644 index 0000000000..e89cbe3b24 --- /dev/null +++ b/documentation/interfaces/UpdatedEntity.html @@ -0,0 +1,404 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + src/app/core/entity/model/entity-update.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Interface that conveys an updated entity as well as information +on the update-type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + entity + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + entity: T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : T + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The updated entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + type + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + type: "new" | "update" | "remove" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + Type : "new" | "update" | "remove" + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                The type of the update, either: +"new" - a new entity was created, +"update" - an existing entity was updated +"remove" - the entity was deleted

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                import { Entity } from "./entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Interface that conveys an updated entity as well as information
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * on the update-type
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export interface UpdatedEntity<T extends Entity> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The updated entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entity: T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * The type of the update, either:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * "new" - a new entity was created,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * "update" - an existing entity was updated
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   * "remove" - the entity was deleted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  type: "new" | "update" | "remove";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * Updates a list of entities given an updated version of the entity. This updated version
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * can either be a new entity (that should be inserted into the list), or an existing entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * that should be updated or deleted.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * The given array will not be mutated but will be returned when the given new entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * or type is illegal
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * @param next An entity that should be updated as well as the type of update. This, as well as the entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * may be undefined or null. In this event, the entities-array is returned as is.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * @param entities The entities to update, must be defined
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * @param addIfMissing (Optional) whether to add an entity that comes through an update event but is not part of the array yet,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + *                          default is to add, disable this if you do special filtering or calculations on the data
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + * @return An array of the given entities with the update applied
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +export function applyUpdate<T extends Entity>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  entities: T[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  next: UpdatedEntity<T>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  addIfMissing: boolean = true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +): T[] {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  if (!next || !next.entity || !entities) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  if (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    (next.type === "new" || (addIfMissing && next.type === "update")) &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    !entities.find((e) => e.getId() === next.entity.getId())
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  ) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return [next.entity].concat(entities);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  if (next.type === "update") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return entities.map((e) =>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +      e.getId() === next.entity.getId() ? next.entity : e,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  if (next.type === "remove") {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    return entities.filter((e) => e.getId() !== next.entity.getId());
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  return entities;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/UsageAnalyticsConfig.html b/documentation/interfaces/UsageAnalyticsConfig.html new file mode 100644 index 0000000000..8d9f29125c --- /dev/null +++ b/documentation/interfaces/UsageAnalyticsConfig.html @@ -0,0 +1,402 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + src/app/core/analytics/usage-analytics-config.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Interface for the config object in the general application configuration database +to define usage analytics settings.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + no_cookies + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + no_cookies: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  do not set any cookies for analytics

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + site_id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + site_id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  the id by which this site is represented in the analytics backend

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + url + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + url: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  url of the backend to report usage data to

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  export interface UsageAnalyticsConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** url of the backend to report usage data to */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  url: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** the id by which this site is represented in the analytics backend */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  site_id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  /** do not set any cookies for analytics */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +  no_cookies?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +export const USAGE_ANALYTICS_CONFIG_ID = "appConfig:usage-analytics";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ViewConfig.html b/documentation/interfaces/ViewConfig.html new file mode 100644 index 0000000000..74d7421141 --- /dev/null +++ b/documentation/interfaces/ViewConfig.html @@ -0,0 +1,376 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + src/app/core/config/dynamic-routing/view-config.interface.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Object specifying a route and config of its view +as stored in the config database

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Extends

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + DynamicComponentConfig +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + _id + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + _id: string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : string + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    config object id which equals the route path

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + lazyLoaded + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + lazyLoaded: boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Type : boolean + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + Optional +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    indicate that the route is lazy loaded.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    At the moment that means the routing is set in the app.routing.ts and not loaded from the config. +The ViewConfig of a lazy-loaded route is only used for additional flags like requiresAdmin.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    import { DynamicComponentConfig } from "../dynamic-components/dynamic-component-config.interface";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * Object specifying a route and config of its view
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * as stored in the config database
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export interface ViewConfig<T = any> extends DynamicComponentConfig<T> {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /** config object id which equals the route path */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  _id: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * indicate that the route is lazy loaded.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * At the moment that means the routing is set in the app.routing.ts and not loaded from the config.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   * The ViewConfig of a lazy-loaded route is only used for additional flags like `requiresAdmin`.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  lazyLoaded?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + * The prefix which is used to find the ViewConfig's in the config file
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +export const PREFIX_VIEW_CONFIG = "view:";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/interfaces/ViewDistanceConfig.html b/documentation/interfaces/ViewDistanceConfig.html new file mode 100644 index 0000000000..b7ee5c15d8 --- /dev/null +++ b/documentation/interfaces/ViewDistanceConfig.html @@ -0,0 +1,425 @@ + + + + + + ndb-core documentation + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      File

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + src/app/features/location/view-distance/view-distance.component.ts +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Description

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Config for displaying the distance between two entities

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Index

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Properties

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + compareCoordinates + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + compareCoordinates: Observable<Coordinates[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : Observable<Coordinates[]> + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The updates of coordinates of the second entity. +A ReplaySubject works best for this.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + coordinatesProperties + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + coordinatesProperties: string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + Type : string[] + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      The name of the GeoResult/Coordinates property of the first entity

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      import { ChangeDetectorRef, Component, OnInit } from "@angular/core";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ViewDirective } from "../../../core/entity/default-datatype/view.directive";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Entity } from "../../../core/entity/model/entity";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Coordinates } from "../coordinates";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { getKmDistance } from "../map-utils";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { Observable } from "rxjs";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { DynamicComponent } from "../../../core/config/dynamic-components/dynamic-component.decorator";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { ReadonlyFunctionComponent } from "../../../core/common-components/display-readonly-function/readonly-function.component";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +import { GeoLocation } from "../location.datatype";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Config for displaying the distance between two entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export interface ViewDistanceConfig {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The name of the `GeoResult`/`Coordinates` property of the first entity
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  coordinatesProperties: string[];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  /**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * The updates of coordinates of the second entity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   * A `ReplaySubject` works best for this.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  compareCoordinates: Observable<Coordinates[]>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +/**
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + * Displays the distance between two entities
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + */
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@UntilDestroy()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@DynamicComponent("DisplayDistance")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +@Component({
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  selector: "app-view-distance",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  template: `
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    <app-readonly-function
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [entity]="entity"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      [config]="distanceFunction"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    ></app-readonly-function>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  `,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  imports: [ReadonlyFunctionComponent],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  standalone: true,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +})
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +export class ViewDistanceComponent
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  extends ViewDirective<Geolocation, ViewDistanceConfig>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  implements OnInit
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  constructor(private changeDetector: ChangeDetectorRef) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    super();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  distanceFunction = (_entity: Entity) => "-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  ngOnInit() {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.config.compareCoordinates
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .pipe(untilDestroyed(this))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      .subscribe((coordinates) => this.setDistanceFunction(coordinates));
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private setDistanceFunction(compareCoordinates: Coordinates[]) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.distanceFunction = (e: Entity) => {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      const distances = this.getAllDistances(compareCoordinates, e);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      if (distances.length > 0) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        const closest = Math.min(...distances).toFixed(2);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return $localize`:distance with unit|e.g. 5 km:${closest} km`;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      } else {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        return "-";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    };
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    // somehow changes to `displayFunction` don't trigger the change detection
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    this.changeDetector.detectChanges();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  private getAllDistances(compareCoordinates: Coordinates[], e: Entity) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    const results: number[] = [];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    for (const prop of this.config.coordinatesProperties) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      for (const coord of compareCoordinates) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        if (e[prop]?.geoLookup && coord) {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          results.push(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +            getKmDistance((e[prop] as GeoLocation).geoLookup, coord),
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          );
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +        }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    return results;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/js/compodoc.js b/documentation/js/compodoc.js new file mode 100644 index 0000000000..8cc41d3354 --- /dev/null +++ b/documentation/js/compodoc.js @@ -0,0 +1,14 @@ +var compodoc = { + EVENTS: { + READY: 'compodoc.ready', + SEARCH_READY: 'compodoc.search.ready' + } +}; + +Object.assign( compodoc, EventDispatcher.prototype ); + +document.addEventListener('DOMContentLoaded', function() { + compodoc.dispatchEvent({ + type: compodoc.EVENTS.READY + }); +}); diff --git a/documentation/js/lazy-load-graphs.js b/documentation/js/lazy-load-graphs.js new file mode 100644 index 0000000000..2ef47cab9e --- /dev/null +++ b/documentation/js/lazy-load-graphs.js @@ -0,0 +1,44 @@ +document.addEventListener('DOMContentLoaded', function() { + var lazyGraphs = [].slice.call(document.querySelectorAll('[lazy]')); + var active = false; + + var lazyLoad = function() { + if (active === false) { + active = true; + + setTimeout(function() { + lazyGraphs.forEach(function(lazyGraph) { + if ( + lazyGraph.getBoundingClientRect().top <= window.innerHeight && + lazyGraph.getBoundingClientRect().bottom >= 0 && + getComputedStyle(lazyGraph).display !== 'none' + ) { + lazyGraph.data = lazyGraph.getAttribute('lazy'); + lazyGraph.removeAttribute('lazy'); + + lazyGraphs = lazyGraphs.filter(function(image) { return image !== lazyGraph}); + + if (lazyGraphs.length === 0) { + document.removeEventListener('scroll', lazyLoad); + window.removeEventListener('resize', lazyLoad); + window.removeEventListener('orientationchange', lazyLoad); + } + } + }); + + active = false; + }, 200); + } + }; + + // initial load + lazyLoad(); + + var container = document.querySelector('.container-fluid.modules'); + if (container) { + container.addEventListener('scroll', lazyLoad); + window.addEventListener('resize', lazyLoad); + window.addEventListener('orientationchange', lazyLoad); + } + +}); diff --git a/documentation/js/libs/EventDispatcher.js b/documentation/js/libs/EventDispatcher.js new file mode 100644 index 0000000000..f112877d70 --- /dev/null +++ b/documentation/js/libs/EventDispatcher.js @@ -0,0 +1,5 @@ +/** + * @author mrdoob / http://mrdoob.com/ + */ + +var EventDispatcher=function(){};Object.assign(EventDispatcher.prototype,{addEventListener:function(i,t){void 0===this._listeners&&(this._listeners={});var e=this._listeners;void 0===e[i]&&(e[i]=[]),-1===e[i].indexOf(t)&&e[i].push(t)},hasEventListener:function(i,t){if(void 0===this._listeners)return!1;var e=this._listeners;return void 0!==e[i]&&-1!==e[i].indexOf(t)},removeEventListener:function(i,t){if(void 0!==this._listeners){var e=this._listeners[i];if(void 0!==e){var s=e.indexOf(t);-1!==s&&e.splice(s,1)}}},dispatchEvent:function(i){if(void 0!==this._listeners){var t=this._listeners[i.type];if(void 0!==t){i.target=this;var e=[],s=0,n=t.length;for(s=0;sit in H?Vc(H,it,{enumerable:!0,configurable:!0,writable:!0,value:ct}):H[it]=ct;var d=(H,it,ct)=>(Kc(H,typeof it!="symbol"?it+"":it,ct),ct);const it="aria-describedby",ct="aria-expanded",Se="aria-hidden",He="aria-modal",_s="aria-pressed",Ue="aria-selected",Bo="DOMContentLoaded",qe="focus",Qe="focusin",Bs="focusout",Pe="keydown",Ro="keyup",N="click",Rs="mousedown",Wo="hover",De="mouseenter",Ze="mouseleave",Fo="pointerdown",jo="pointermove",zo="pointerup",xe="resize",Ae="scroll",Ge="touchstart",Vo="dragstart",Je="ArrowDown",ts="ArrowUp",Ws="ArrowLeft",Fs="ArrowRight",es="Escape",Ko="transitionDuration",Xo="transitionDelay",ss="transitionend",js="transitionProperty",Yo=navigator.userAgentData,Le=Yo,{userAgent:Uo}=navigator,Ie=Uo,zs=/iPhone|iPad|iPod|Android/i;Le?Le.brands.some(t=>zs.test(t.brand)):zs.test(Ie);const Vs=/(iPhone|iPod|iPad)/,qo=Le?Le.brands.some(t=>Vs.test(t.brand)):Vs.test(Ie);Ie&&Ie.includes("Firefox");const{head:ke}=document;["webkitPerspective","perspective"].some(t=>t in ke.style);const Qo=(t,s,e,n)=>{const o=n||!1;t.addEventListener(s,e,o)},Zo=(t,s,e,n)=>{const o=n||!1;t.removeEventListener(s,e,o)},Go=(t,s,e,n)=>{const o=i=>{(i.target===t||i.currentTarget===t)&&(e.apply(t,[i]),Zo(t,s,o,n))};Qo(t,s,o,n)},le=()=>{};(()=>{let t=!1;try{const s=Object.defineProperty({},"passive",{get:()=>(t=!0,t)});Go(document,Bo,le,s)}catch{}return t})(),["webkitTransform","transform"].some(t=>t in ke.style),["webkitAnimation","animation"].some(t=>t in ke.style),["webkitTransition","transition"].some(t=>t in ke.style);const at=(t,s)=>t.getAttribute(s),Ne=(t,s)=>t.hasAttribute(s),O=(t,s,e)=>t.setAttribute(s,e),At=(t,s)=>t.removeAttribute(s),f=(t,...s)=>{t.classList.add(...s)},b=(t,...s)=>{t.classList.remove(...s)},h=(t,s)=>t.classList.contains(s),de=t=>t!=null&&typeof t=="object"||!1,A=t=>de(t)&&typeof t.nodeType=="number"&&[1,2,3,4,5,6,7,8,9,10,11].some(s=>t.nodeType===s)||!1,T=t=>A(t)&&t.nodeType===1||!1,jt=new Map,Lt={data:jt,set:(t,s,e)=>{T(t)&&(jt.has(s)||jt.set(s,new Map),jt.get(s).set(t,e))},getAllFor:t=>jt.get(t)||null,get:(t,s)=>{if(!T(t)||!s)return null;const e=Lt.getAllFor(s);return t&&e&&e.get(t)||null},remove:(t,s)=>{const e=Lt.getAllFor(s);!e||!T(t)||(e.delete(t),e.size===0&&jt.delete(s))}},F=(t,s)=>Lt.get(t,s),he=t=>typeof t=="string"||!1,ns=t=>de(t)&&t.constructor.name==="Window"||!1,Ks=t=>A(t)&&t.nodeType===9||!1,E=t=>ns(t)?t.document:Ks(t)?t:A(t)?t.ownerDocument:window.document,dt=(t,...s)=>Object.assign(t,...s),vt=t=>{if(!t)return;if(he(t))return E().createElement(t);const{tagName:s}=t,e=vt(s);if(!e)return;const n={...t};return delete n.tagName,dt(e,n)},w=(t,s)=>t.dispatchEvent(s),z=(t,s)=>{const e=getComputedStyle(t),n=s.replace("webkit","Webkit").replace(/([A-Z])/g,"-$1").toLowerCase();return e.getPropertyValue(n)},Jo=t=>{const s=z(t,js),e=z(t,Xo),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},zt=t=>{const s=z(t,js),e=z(t,Ko),n=e.includes("ms")?1:1e3,o=s&&s!=="none"?parseFloat(e)*n:0;return Number.isNaN(o)?0:o},P=(t,s)=>{let e=0;const n=new Event(ss),o=zt(t),i=Jo(t);if(o){const c=a=>{a.target===t&&(s.apply(t,[a]),t.removeEventListener(ss,c),e=1)};t.addEventListener(ss,c),setTimeout(()=>{e||w(t,n)},o+i+17)}else s.apply(t,[n])},ht=(t,s)=>t.focus(s),Xs=t=>["true",!0].includes(t)?!0:["false",!1].includes(t)?!1:["null","",null,void 0].includes(t)?null:t!==""&&!Number.isNaN(+t)?+t:t,Oe=t=>Object.entries(t),Vt=t=>t.toLowerCase(),ti=(t,s,e,n)=>{const o={...e},i={...t.dataset},c={...s},a={},l="title";return Oe(i).forEach(([r,g])=>{const p=n&&typeof r=="string"&&r.includes(n)?r.replace(n,"").replace(/[A-Z]/g,v=>Vt(v)):r;a[p]=Xs(g)}),Oe(o).forEach(([r,g])=>{o[r]=Xs(g)}),Oe(s).forEach(([r,g])=>{r in o?c[r]=o[r]:r in a?c[r]=a[r]:c[r]=r===l?at(t,l):g}),c},Ys=t=>Object.keys(t),$=(t,s)=>{const e=new CustomEvent(t,{cancelable:!0,bubbles:!0});return de(s)&&dt(e,s),e},tt={passive:!0},It=t=>t.offsetHeight,L=(t,s)=>{Oe(s).forEach(([e,n])=>{if(n&&he(e)&&e.includes("--"))t.style.setProperty(e,n);else{const o={};o[e]=n,dt(t.style,o)}})},os=t=>de(t)&&t.constructor.name==="Map"||!1,ei=t=>typeof t=="number"||!1,bt=new Map,u={set:(t,s,e,n)=>{T(t)&&(n&&n.length?(bt.has(t)||bt.set(t,new Map),bt.get(t).set(n,setTimeout(s,e))):bt.set(t,setTimeout(s,e)))},get:(t,s)=>{if(!T(t))return null;const e=bt.get(t);return s&&e&&os(e)?e.get(s)||null:ei(e)?e:null},clear:(t,s)=>{if(!T(t))return;const e=bt.get(t);s&&s.length&&os(e)?(clearTimeout(e.get(s)),e.delete(s),e.size===0&&bt.delete(t)):(clearTimeout(e),bt.delete(t))}},fe=(t,s)=>{const{width:e,height:n,top:o,right:i,bottom:c,left:a}=t.getBoundingClientRect();let l=1,r=1;if(s&&T(t)){const{offsetWidth:g,offsetHeight:p}=t;l=g>0?Math.round(e)/g:1,r=p>0?Math.round(n)/p:1}return{width:e/l,height:n/r,top:o/r,right:i/l,bottom:c/r,left:a/l,x:a/l,y:o/r}},wt=t=>E(t).body,ft=t=>E(t).documentElement,Us=t=>A(t)&&t.constructor.name==="ShadowRoot"||!1,si=t=>t.nodeName==="HTML"?t:T(t)&&t.assignedSlot||A(t)&&t.parentNode||Us(t)&&t.host||ft(t);let qs=0,Qs=0;const Kt=new Map,Zs=(t,s)=>{let e=s?qs:Qs;if(s){const n=Zs(t),o=Kt.get(n)||new Map;Kt.has(n)||Kt.set(n,o),os(o)&&!o.has(s)?(o.set(s,e),qs+=1):e=o.get(s)}else{const n=t.id||t;Kt.has(n)?e=Kt.get(n):(Kt.set(n,e),Qs+=1)}return e},Xt=t=>{var s;return t?Ks(t)?t.defaultView:A(t)?(s=t==null?void 0:t.ownerDocument)==null?void 0:s.defaultView:t:window},ni=t=>Array.isArray(t)||!1,Gs=t=>{if(!A(t))return!1;const{top:s,bottom:e}=fe(t),{clientHeight:n}=ft(t);return s<=n&&e>=0},oi=t=>typeof t=="function"||!1,ii=t=>de(t)&&t.constructor.name==="NodeList"||!1,Et=t=>ft(t).dir==="rtl",ci=t=>A(t)&&["TABLE","TD","TH"].includes(t.nodeName)||!1,M=(t,s)=>t?t.closest(s)||M(t.getRootNode().host,s):null,D=(t,s)=>T(t)?t:(A(s)?s:E()).querySelector(t),is=(t,s)=>(A(s)?s:E()).getElementsByTagName(t),et=(t,s)=>(A(s)?s:E()).querySelectorAll(t),gt=(t,s)=>(s&&A(s)?s:E()).getElementsByClassName(t),Js=(t,s)=>t.matches(s),Yt={},tn=t=>{const{type:s,currentTarget:e}=t;[...Yt[s]].forEach(([n,o])=>{e===n&&[...o].forEach(([i,c])=>{i.apply(n,[t]),typeof c=="object"&&c.once&&B(n,s,i,c)})})},_=(t,s,e,n)=>{Yt[s]||(Yt[s]=new Map);const o=Yt[s];o.has(t)||o.set(t,new Map);const i=o.get(t),{size:c}=i;i.set(e,n),c||t.addEventListener(s,tn,n)},B=(t,s,e,n)=>{const o=Yt[s],i=o&&o.get(t),c=i&&i.get(e),a=c!==void 0?c:n;i&&i.has(e)&&i.delete(e),o&&(!i||!i.size)&&o.delete(t),(!o||!o.size)&&delete Yt[s],(!i||!i.size)&&t.removeEventListener(s,tn,a)},W="fade",m="show",Me="data-bs-dismiss",_e="alert",en="Alert",ai="5.0.12";class st{constructor(s,e){d(this,"_toggleEventListeners",()=>{});const n=D(s);if(!n)throw he(s)?Error(`${this.name} Error: "${s}" is not a valid selector.`):Error(`${this.name} Error: your target is not an instance of HTMLElement.`);const o=Lt.get(n,this.name);o&&o._toggleEventListeners(),this.element=n,this.options=this.defaults&&Ys(this.defaults).length?ti(n,this.defaults,e||{},"bs"):{},Lt.set(n,this.name,this)}get version(){return ai}get name(){return"BaseComponent"}get defaults(){return{}}dispose(){Lt.remove(this.element,this.name),Ys(this).forEach(s=>{delete this[s]})}}const ri=`.${_e}`,li=`[${Me}="${_e}"]`,di=t=>F(t,en),hi=t=>new Ut(t),sn=$(`close.bs.${_e}`),fi=$(`closed.bs.${_e}`),nn=t=>{const{element:s}=t;w(s,fi),t._toggleEventListeners(),t.dispose(),s.remove()};class Ut extends st{constructor(e){super(e);d(this,"dismiss");d(this,"close",()=>{const{element:e}=this;e&&h(e,m)&&(w(e,sn),sn.defaultPrevented||(b(e,m),h(e,W)?P(e,()=>nn(this)):nn(this)))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{dismiss:o,close:i}=this;o&&n(o,N,i)});this.dismiss=D(li,this.element),this._toggleEventListeners(!0)}get name(){return en}dispose(){this._toggleEventListeners(),super.dispose()}}d(Ut,"selector",ri),d(Ut,"init",hi),d(Ut,"getInstance",di);const C="active",rt="data-bs-toggle",gi="button",on="Button",pi=`[${rt}="${gi}"]`,ui=t=>F(t,on),mi=t=>new qt(t);class qt extends st{constructor(e){super(e);d(this,"isActive",!1);d(this,"toggle",e=>{e&&e.preventDefault();const{element:n,isActive:o}=this;!h(n,"disabled")&&!at(n,"disabled")&&((o?b:f)(n,C),O(n,_s,o?"false":"true"),this.isActive=h(n,C))});d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,this.toggle)});const{element:n}=this;this.isActive=h(n,C),O(n,_s,String(!!this.isActive)),this._toggleEventListeners(!0)}get name(){return on}dispose(){this._toggleEventListeners(),super.dispose()}}d(qt,"selector",pi),d(qt,"init",mi),d(qt,"getInstance",ui);const cs="data-bs-target",kt="carousel",cn="Carousel",an="data-bs-parent",vi="data-bs-container",V=t=>{const s=[cs,an,vi,"href"],e=E(t);return s.map(n=>{const o=at(t,n);return o?n===an?M(t,o):D(o,e):null}).filter(n=>n)[0]},ge=`[data-bs-ride="${kt}"]`,Q=`${kt}-item`,as="data-bs-slide-to",$t="data-bs-slide",Tt="paused",rn={pause:"hover",keyboard:!1,touch:!0,interval:5e3},pt=t=>F(t,cn),bi=t=>new Qt(t);let pe=0,Be=0,rs=0;const ls=$(`slide.bs.${kt}`),ds=$(`slid.bs.${kt}`),ln=t=>{const{index:s,direction:e,element:n,slides:o,options:i}=t;if(t.isAnimating){const c=fs(t),a=e==="left"?"next":"prev",l=e==="left"?"start":"end";f(o[s],C),b(o[s],`${Q}-${a}`),b(o[s],`${Q}-${l}`),b(o[c],C),b(o[c],`${Q}-${l}`),w(n,ds),u.clear(n,$t),t.cycle&&!E(n).hidden&&i.interval&&!t.isPaused&&t.cycle()}};function wi(){const t=pt(this);t&&!t.isPaused&&!u.get(this,Tt)&&f(this,Tt)}function Ei(){const t=pt(this);t&&t.isPaused&&!u.get(this,Tt)&&t.cycle()}function $i(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=+(at(this,as)||0);this&&!h(this,C)&&!Number.isNaN(n)&&e.to(n)}}function Ti(t){t.preventDefault();const s=M(this,ge)||V(this),e=pt(s);if(e&&!e.isAnimating){const n=at(this,$t);n==="next"?e.next():n==="prev"&&e.prev()}}const yi=({code:t,target:s})=>{const e=E(s),[n]=[...et(ge,e)].filter(i=>Gs(i)),o=pt(n);if(o&&!o.isAnimating&&!/textarea|input/i.test(s.nodeName)){const i=Et(n);t===(i?Fs:Ws)?o.prev():t===(i?Ws:Fs)&&o.next()}};function dn(t){const{target:s}=t,e=pt(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(s)||!e.controls.includes(s))&&(t.stopImmediatePropagation(),t.stopPropagation(),t.preventDefault())}function Ci(t){const{target:s}=t,e=pt(this);if(e&&!e.isAnimating&&!e.isTouch){const{controls:n,indicators:o}=e;[...n,...o].every(i=>i===s||i.contains(s))||(pe=t.pageX,this.contains(s)&&(e.isTouch=!0,hn(e,!0)))}}const Si=t=>{Be=t.pageX},Hi=t=>{var o;const{target:s}=t,e=E(s),n=[...et(ge,e)].map(i=>pt(i)).find(i=>i.isTouch);if(n){const{element:i,index:c}=n,a=Et(i);rs=t.pageX,n.isTouch=!1,hn(n),!((o=e.getSelection())!=null&&o.toString().length)&&i.contains(s)&&Math.abs(pe-rs)>120&&(Bepe&&n.to(c+(a?1:-1))),pe=0,Be=0,rs=0}},hs=(t,s)=>{const{indicators:e}=t;[...e].forEach(n=>b(n,C)),t.indicators[s]&&f(e[s],C)},hn=(t,s)=>{const{element:e}=t,n=s?_:B;n(E(e),jo,Si,tt),n(E(e),zo,Hi,tt)},fs=t=>{const{slides:s,element:e}=t,n=D(`.${Q}.${C}`,e);return T(n)?[...s].indexOf(n):-1};class Qt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const{element:n,options:o,slides:i,controls:c,indicators:a}=this,{touch:l,pause:r,interval:g,keyboard:p}=o,v=e?_:B;r&&g&&(v(n,De,wi),v(n,Ze,Ei)),l&&i.length>2&&(v(n,Fo,Ci,tt),v(n,Ge,dn,{passive:!1}),v(n,Vo,dn,{passive:!1})),c.length&&c.forEach(k=>{k&&v(k,N,Ti)}),a.length&&a.forEach(k=>{v(k,N,$i)}),p&&v(E(n),Pe,yi)});const{element:o}=this;this.direction=Et(o)?"right":"left",this.isTouch=!1,this.slides=gt(Q,o);const{slides:i}=this;if(i.length>=2){const c=fs(this),a=[...i].find(g=>Js(g,`.${Q}-next,.${Q}-next`));this.index=c;const l=E(o);this.controls=[...et(`[${$t}]`,o),...et(`[${$t}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g)),this.indicator=D(`.${kt}-indicators`,o),this.indicators=[...this.indicator?et(`[${as}]`,this.indicator):[],...et(`[${as}][${cs}="#${o.id}"]`,l)].filter((g,p,v)=>p===v.indexOf(g));const{options:r}=this;this.options.interval=r.interval===!0?rn.interval:r.interval,a?this.index=[...i].indexOf(a):c<0&&(this.index=0,f(i[0],C),this.indicators.length&&hs(this,0)),this.indicators.length&&hs(this,this.index),this._toggleEventListeners(!0),r.interval&&this.cycle()}}get name(){return cn}get defaults(){return rn}get isPaused(){return h(this.element,Tt)}get isAnimating(){return D(`.${Q}-next,.${Q}-prev`,this.element)!==null}cycle(){const{element:e,options:n,isPaused:o,index:i}=this;u.clear(e,kt),o&&(u.clear(e,Tt),b(e,Tt)),u.set(e,()=>{this.element&&!this.isPaused&&!this.isTouch&&Gs(e)&&this.to(i+1)},n.interval,kt)}pause(){const{element:e,options:n}=this;!this.isPaused&&n.interval&&(f(e,Tt),u.set(e,()=>{},1,Tt))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(e){const{element:n,slides:o,options:i}=this,c=fs(this),a=Et(n);let l=e;if(!this.isAnimating&&c!==l&&!u.get(n,$t)){cl||c===o.length-1&&l===0)&&(this.direction=a?"left":"right");const{direction:r}=this;l<0?l=o.length-1:l>=o.length&&(l=0);const g=r==="left"?"next":"prev",p=r==="left"?"start":"end",v={relatedTarget:o[l],from:c,to:l,direction:r};dt(ls,v),dt(ds,v),w(n,ls),ls.defaultPrevented||(this.index=l,hs(this,l),zt(o[l])&&h(n,"slide")?u.set(n,()=>{f(o[l],`${Q}-${g}`),It(o[l]),f(o[l],`${Q}-${p}`),f(o[c],`${Q}-${p}`),P(o[l],()=>this.slides&&this.slides.length&&ln(this))},0,$t):(f(o[l],C),b(o[c],C),u.set(n,()=>{u.clear(n,$t),n&&i.interval&&!this.isPaused&&this.cycle(),w(n,ds)},0,$t)))}}dispose(){const{isAnimating:e}=this,n={...this,isAnimating:e};this._toggleEventListeners(),super.dispose(),n.isAnimating&&P(n.slides[n.index],()=>{ln(n)})}}d(Qt,"selector",ge),d(Qt,"init",bi),d(Qt,"getInstance",pt);const Nt="collapsing",K="collapse",fn="Collapse",Pi=`.${K}`,gn=`[${rt}="${K}"]`,Di={parent:null},Re=t=>F(t,fn),xi=t=>new Zt(t),pn=$(`show.bs.${K}`),Ai=$(`shown.bs.${K}`),un=$(`hide.bs.${K}`),Li=$(`hidden.bs.${K}`),Ii=t=>{const{element:s,parent:e,triggers:n}=t;w(s,pn),pn.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),f(s,Nt),b(s,K),L(s,{height:`${s.scrollHeight}px`}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"true")),b(s,Nt),f(s,K),f(s,m),L(s,{height:""}),w(s,Ai)}))},mn=t=>{const{element:s,parent:e,triggers:n}=t;w(s,un),un.defaultPrevented||(u.set(s,le,17),e&&u.set(e,le,17),L(s,{height:`${s.scrollHeight}px`}),b(s,K),b(s,m),f(s,Nt),It(s),L(s,{height:"0px"}),P(s,()=>{u.clear(s),e&&u.clear(e),n.forEach(o=>O(o,ct,"false")),b(s,Nt),f(s,K),L(s,{height:""}),w(s,Li)}))},ki=t=>{const{target:s}=t,e=s&&M(s,gn),n=e&&V(e),o=n&&Re(n);o&&o.toggle(),e&&e.tagName==="A"&&t.preventDefault()};class Zt extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,ki))});const{element:o,options:i}=this,c=E(o);this.triggers=[...et(gn,c)].filter(a=>V(a)===o),this.parent=T(i.parent)?i.parent:he(i.parent)?V(o)||D(i.parent,c):null,this._toggleEventListeners(!0)}get name(){return fn}get defaults(){return Di}hide(){const{triggers:e,element:n}=this;u.get(n)||(mn(this),e.length&&e.forEach(o=>f(o,`${K}d`)))}show(){const{element:e,parent:n,triggers:o}=this;let i,c;n&&(i=[...et(`.${K}.${m}`,n)].find(a=>Re(a)),c=i&&Re(i)),(!n||!u.get(n))&&!u.get(e)&&(c&&i!==e&&(mn(c),c.triggers.forEach(a=>{f(a,`${K}d`)})),Ii(this),o.length&&o.forEach(a=>b(a,`${K}d`)))}toggle(){h(this.element,m)?this.hide():this.show()}dispose(){this._toggleEventListeners(),super.dispose()}}d(Zt,"selector",Pi),d(Zt,"init",xi),d(Zt,"getInstance",Re);const Ot=["dropdown","dropup","dropstart","dropend"],vn="Dropdown",bn="dropdown-menu",wn=t=>{const s=M(t,"A");return t.tagName==="A"&&Ne(t,"href")&&at(t,"href").slice(-1)==="#"||s&&Ne(s,"href")&&at(s,"href").slice(-1)==="#"},[nt,gs,ps,us]=Ot,En=`[${rt}="${nt}"]`,Gt=t=>F(t,vn),Ni=t=>new Jt(t),Oi=`${bn}-end`,$n=[nt,gs],Tn=[ps,us],yn=["A","BUTTON"],Mi={offset:5,display:"dynamic"},ms=$(`show.bs.${nt}`),Cn=$(`shown.bs.${nt}`),vs=$(`hide.bs.${nt}`),Sn=$(`hidden.bs.${nt}`),Hn=$(`updated.bs.${nt}`),Pn=t=>{const{element:s,menu:e,parentElement:n,options:o}=t,{offset:i}=o;if(z(e,"position")!=="static"){const c=Et(s),a=h(e,Oi);["margin","top","bottom","left","right"].forEach(R=>{const Pt={};Pt[R]="",L(e,Pt)});let r=Ot.find(R=>h(n,R))||nt;const g={dropdown:[i,0,0],dropup:[0,0,i],dropstart:c?[-1,0,0,i]:[-1,i,0],dropend:c?[-1,i,0]:[-1,0,0,i]},p={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:c?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:c?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuStart:c?{right:"0",left:"auto"}:{right:"auto",left:"0"},menuEnd:c?{right:"auto",left:"0"}:{right:"0",left:"auto"}},{offsetWidth:v,offsetHeight:k}=e,{clientWidth:J,clientHeight:y}=ft(s),{left:X,top:q,width:ce,height:mt}=fe(s),S=X-v-i<0,ot=X+v+ce+i>=J,lt=q+k+i>=y,j=q+k+mt+i>=y,Y=q-k-i<0,x=(!c&&a||c&&!a)&&X+ce-v<0,ae=(c&&a||!c&&!a)&&X+v>=J;if(Tn.includes(r)&&S&&ot&&(r=nt),r===ps&&(c?ot:S)&&(r=us),r===us&&(c?S:ot)&&(r=ps),r===gs&&Y&&!j&&(r=nt),r===nt&&j&&!Y&&(r=gs),Tn.includes(r)&<&&dt(p[r],{top:"auto",bottom:0}),$n.includes(r)&&(x||ae)){let R={left:"auto",right:"auto"};!x&&ae&&!c&&(R={left:"auto",right:0}),x&&!ae&&c&&(R={left:0,right:"auto"}),R&&dt(p[r],R)}const Ht=g[r];L(e,{...p[r],margin:`${Ht.map(R=>R&&`${R}px`).join(" ")}`}),$n.includes(r)&&a&&a&&L(e,p[!c&&x||c&&ae?"menuStart":"menuEnd"]),w(n,Hn)}},_i=t=>[...t.children].map(s=>{if(s&&yn.includes(s.tagName))return s;const{firstElementChild:e}=s;return e&&yn.includes(e.tagName)?e:null}).filter(s=>s),Dn=t=>{const{element:s,options:e}=t,n=t.open?_:B,o=E(s);n(o,N,xn),n(o,qe,xn),n(o,Pe,Ri),n(o,Ro,Wi),e.display==="dynamic"&&[Ae,xe].forEach(i=>{n(Xt(s),i,Fi,tt)})},We=t=>{const s=[...Ot,"btn-group","input-group"].map(e=>gt(`${e} ${m}`,E(t))).find(e=>e.length);if(s&&s.length)return[...s[0].children].find(e=>Ot.some(n=>n===at(e,rt)))},xn=t=>{const{target:s,type:e}=t;if(s&&T(s)){const n=We(s),o=n&&Gt(n);if(o){const{parentElement:i,menu:c}=o,a=i&&i.contains(s)&&(s.tagName==="form"||M(s,"form")!==null);[N,Rs].includes(e)&&wn(s)&&t.preventDefault(),!a&&e!==qe&&s!==n&&s!==c&&o.hide()}}},Bi=t=>{const{target:s}=t,e=s&&M(s,En),n=e&&Gt(e);n&&(t.stopPropagation(),n.toggle(),e&&wn(e)&&t.preventDefault())},Ri=t=>{[Je,ts].includes(t.code)&&t.preventDefault()};function Wi(t){const{code:s}=t,e=We(this),n=e&&Gt(e),{activeElement:o}=e&&E(e);if(n&&o){const{menu:i,open:c}=n,a=_i(i);if(a&&a.length&&[Je,ts].includes(s)){let l=a.indexOf(o);o===e?l=0:s===ts?l=l>1?l-1:0:s===Je&&(l=l{(e?_:B)(this.element,N,Bi)});const{parentElement:o}=this.element,[i]=gt(bn,o);i&&(this.parentElement=o,this.menu=i,this._toggleEventListeners(!0))}get name(){return vn}get defaults(){return Mi}toggle(){this.open?this.hide():this.show()}show(){const{element:e,open:n,menu:o,parentElement:i}=this;if(!n){const c=We(e),a=c&&Gt(c);a&&a.hide(),[ms,Cn,Hn].forEach(l=>{l.relatedTarget=e}),w(i,ms),ms.defaultPrevented||(f(o,m),f(i,m),O(e,ct,"true"),Pn(this),this.open=!n,ht(e),Dn(this),w(i,Cn))}}hide(){const{element:e,open:n,menu:o,parentElement:i}=this;n&&([vs,Sn].forEach(c=>{c.relatedTarget=e}),w(i,vs),vs.defaultPrevented||(b(o,m),b(i,m),O(e,ct,"false"),this.open=!n,Dn(this),w(i,Sn)))}dispose(){this.open&&this.hide(),this._toggleEventListeners(),super.dispose()}}d(Jt,"selector",En),d(Jt,"init",Ni),d(Jt,"getInstance",Gt);const U="modal",bs="Modal",ws="Offcanvas",ji="fixed-top",zi="fixed-bottom",An="sticky-top",Ln="position-sticky",In=t=>[...gt(ji,t),...gt(zi,t),...gt(An,t),...gt(Ln,t),...gt("is-fixed",t)],Vi=t=>{const s=wt(t);L(s,{paddingRight:"",overflow:""});const e=In(s);e.length&&e.forEach(n=>{L(n,{paddingRight:"",marginRight:""})})},kn=t=>{const{clientWidth:s}=ft(t),{innerWidth:e}=Xt(t);return Math.abs(e-s)},Nn=(t,s)=>{const e=wt(t),n=parseInt(z(e,"paddingRight"),10),i=z(e,"overflow")==="hidden"&&n?0:kn(t),c=In(e);s&&(L(e,{overflow:"hidden",paddingRight:`${n+i}px`}),c.length&&c.forEach(a=>{const l=z(a,"paddingRight");if(a.style.paddingRight=`${parseInt(l,10)+i}px`,[An,Ln].some(r=>h(a,r))){const r=z(a,"marginRight");a.style.marginRight=`${parseInt(r,10)-i}px`}}))},Z="offcanvas",yt=vt({tagName:"div",className:"popup-container"}),On=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt,o=e?s:wt(t);A(t)&&(n===yt&&o.append(yt),n.append(t))},Mn=(t,s)=>{const e=A(s)&&s.nodeName==="BODY",n=A(s)&&!e?s:yt;A(t)&&(t.remove(),n===yt&&!yt.children.length&&yt.remove())},Es=(t,s)=>{const e=A(s)&&s.nodeName!=="BODY"?s:yt;return A(t)&&e.contains(t)},_n="backdrop",Bn=`${U}-${_n}`,Rn=`${Z}-${_n}`,Wn=`.${U}.${m}`,$s=`.${Z}.${m}`,I=vt("div"),Mt=t=>D(`${Wn},${$s}`,E(t)),Ts=t=>{const s=t?Bn:Rn;[Bn,Rn].forEach(e=>{b(I,e)}),f(I,s)},Fn=(t,s,e)=>{Ts(e),On(I,wt(t)),s&&f(I,W)},jn=()=>{h(I,m)||(f(I,m),It(I))},Fe=()=>{b(I,m)},zn=t=>{Mt(t)||(b(I,W),Mn(I,wt(t)),Vi(t))},Vn=t=>T(t)&&z(t,"visibility")!=="hidden"&&t.offsetParent!==null,Ki=`.${U}`,Kn=`[${rt}="${U}"]`,Xi=`[${Me}="${U}"]`,Xn=`${U}-static`,Yi={backdrop:!0,keyboard:!0},ue=t=>F(t,bs),Ui=t=>new te(t),je=$(`show.bs.${U}`),Yn=$(`shown.bs.${U}`),ys=$(`hide.bs.${U}`),Un=$(`hidden.bs.${U}`),qn=t=>{const{element:s}=t,e=kn(s),{clientHeight:n,scrollHeight:o}=ft(s),{clientHeight:i,scrollHeight:c}=s,a=i!==c;if(!a&&e){const l=Et(s)?"paddingLeft":"paddingRight",r={};r[l]=`${e}px`,L(s,r)}Nn(s,a||n!==o)},Qn=(t,s)=>{const e=s?_:B,{element:n,update:o}=t;e(n,N,Zi),e(Xt(n),xe,o,tt),e(E(n),Pe,Qi)},Zn=t=>{const{triggers:s,element:e,relatedTarget:n}=t;zn(e),L(e,{paddingRight:"",display:""}),Qn(t);const o=je.relatedTarget||s.find(Vn);o&&ht(o),Un.relatedTarget=n,w(e,Un)},Gn=t=>{const{element:s,relatedTarget:e}=t;ht(s),Qn(t,!0),Yn.relatedTarget=e,w(s,Yn)},Jn=t=>{const{element:s,hasFade:e}=t;L(s,{display:"block"}),qn(t),Mt(s)||L(wt(s),{overflow:"hidden"}),f(s,m),At(s,Se),O(s,He,"true"),e?P(s,()=>Gn(t)):Gn(t)},to=t=>{const{element:s,options:e,hasFade:n}=t;e.backdrop&&n&&h(I,m)&&!Mt(s)?(Fe(),P(I,()=>Zn(t))):Zn(t)},qi=t=>{const{target:s}=t,e=s&&M(s,Kn),n=e&&V(e),o=n&&ue(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.toggle())},Qi=({code:t,target:s})=>{const e=D(Wn,E(s)),n=e&&ue(e);if(n){const{options:o}=n;o.keyboard&&t===es&&h(e,m)&&(n.relatedTarget=null,n.hide())}},Zi=t=>{var n,o;const{currentTarget:s}=t,e=s?ue(s):null;if(e&&s&&!u.get(s)){const{options:i,isStatic:c,modalDialog:a}=e,{backdrop:l}=i,{target:r}=t,g=(o=(n=E(s))==null?void 0:n.getSelection())==null?void 0:o.toString().length,p=a.contains(r),v=r&&M(r,Xi);c&&!p?u.set(s,()=>{f(s,Xn),P(a,()=>Gi(e))},17):(v||!g&&!c&&!p&&l)&&(e.relatedTarget=v||null,e.hide(),t.preventDefault())}},Gi=t=>{const{element:s,modalDialog:e}=t,n=(zt(e)||0)+17;b(s,Xn),u.set(s,()=>u.clear(s),n)};class te extends st{constructor(e,n){super(e,n);d(this,"update",()=>{h(this.element,m)&&qn(this)});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{triggers:o}=this;o.length&&o.forEach(i=>n(i,N,qi))});const{element:o}=this,i=D(`.${U}-dialog`,o);i&&(this.modalDialog=i,this.triggers=[...et(Kn,E(o))].filter(c=>V(c)===o),this.isStatic=this.options.backdrop==="static",this.hasFade=h(o,W),this.relatedTarget=null,this._toggleEventListeners(!0))}get name(){return bs}get defaults(){return Yi}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,hasFade:o,relatedTarget:i}=this,{backdrop:c}=n;let a=0;if(!h(e,m)&&(je.relatedTarget=i||void 0,w(e,je),!je.defaultPrevented)){const l=Mt(e);if(l&&l!==e){const r=ue(l)||F(l,ws);r&&r.hide()}c?(Es(I)?Ts(!0):Fn(e,o,!0),a=zt(I),jn(),setTimeout(()=>Jn(this),a)):(Jn(this),l&&h(I,m)&&Fe())}}hide(){const{element:e,hasFade:n,relatedTarget:o}=this;h(e,m)&&(ys.relatedTarget=o||void 0,w(e,ys),ys.defaultPrevented||(b(e,m),O(e,Se,"true"),At(e,He),n?P(e,()=>to(this)):to(this)))}dispose(){const e={...this},{element:n,modalDialog:o}=e,i=()=>super.dispose();this._toggleEventListeners(),this.hide(),h(n,"fade")?P(o,i):i()}}d(te,"selector",Ki),d(te,"init",Ui),d(te,"getInstance",ue);const Ji=`.${Z}`,Cs=`[${rt}="${Z}"]`,tc=`[${Me}="${Z}"]`,ze=`${Z}-toggling`,ec={backdrop:!0,keyboard:!0,scroll:!1},me=t=>F(t,ws),sc=t=>new ee(t),Ve=$(`show.bs.${Z}`),eo=$(`shown.bs.${Z}`),Ss=$(`hide.bs.${Z}`),so=$(`hidden.bs.${Z}`),nc=t=>{const{element:s}=t,{clientHeight:e,scrollHeight:n}=ft(s);Nn(s,e!==n)},no=(t,s)=>{const e=s?_:B,n=E(t.element);e(n,Pe,ac),e(n,N,cc)},oo=t=>{const{element:s,options:e}=t;e.scroll||(nc(t),L(wt(s),{overflow:"hidden"})),f(s,ze),f(s,m),L(s,{visibility:"visible"}),P(s,()=>rc(t))},oc=t=>{const{element:s,options:e}=t,n=Mt(s);s.blur(),!n&&e.backdrop&&h(I,m)&&Fe(),P(s,()=>lc(t))},ic=t=>{const s=M(t.target,Cs),e=s&&V(s),n=e&&me(e);n&&(n.relatedTarget=s,n.toggle(),s&&s.tagName==="A"&&t.preventDefault())},cc=t=>{const{target:s}=t,e=D($s,E(s)),n=D(tc,e),o=e&&me(e);if(o){const{options:i,triggers:c}=o,{backdrop:a}=i,l=M(s,Cs),r=E(e).getSelection();(!I.contains(s)||a!=="static")&&(!(r&&r.toString().length)&&(!e.contains(s)&&a&&(!l||c.includes(s))||n&&n.contains(s))&&(o.relatedTarget=n&&n.contains(s)?n:null,o.hide()),l&&l.tagName==="A"&&t.preventDefault())}},ac=({code:t,target:s})=>{const e=D($s,E(s)),n=e&&me(e);n&&n.options.keyboard&&t===es&&(n.relatedTarget=null,n.hide())},rc=t=>{const{element:s}=t;b(s,ze),At(s,Se),O(s,He,"true"),O(s,"role","dialog"),w(s,eo),no(t,!0),ht(s)},lc=t=>{const{element:s,triggers:e}=t;O(s,Se,"true"),At(s,He),At(s,"role"),L(s,{visibility:""});const n=Ve.relatedTarget||e.find(Vn);n&&ht(n),zn(s),w(s,so),b(s,ze),Mt(s)||no(t)};class ee extends st{constructor(e,n){super(e,n);d(this,"_toggleEventListeners",e=>{const n=e?_:B;this.triggers.forEach(o=>n(o,N,ic))});const{element:o}=this;this.triggers=[...et(Cs,E(o))].filter(i=>V(i)===o),this.relatedTarget=null,this._toggleEventListeners(!0)}get name(){return ws}get defaults(){return ec}toggle(){h(this.element,m)?this.hide():this.show()}show(){const{element:e,options:n,relatedTarget:o}=this;let i=0;if(!h(e,m)&&(Ve.relatedTarget=o||void 0,eo.relatedTarget=o||void 0,w(e,Ve),!Ve.defaultPrevented)){const c=Mt(e);if(c&&c!==e){const a=me(c)||F(c,bs);a&&a.hide()}n.backdrop?(Es(I)?Ts():Fn(e,!0),i=zt(I),jn(),setTimeout(()=>oo(this),i)):(oo(this),c&&h(I,m)&&Fe())}}hide(){const{element:e,relatedTarget:n}=this;h(e,m)&&(Ss.relatedTarget=n||void 0,so.relatedTarget=n||void 0,w(e,Ss),Ss.defaultPrevented||(f(e,ze),b(e,m),oc(this)))}dispose(){const e={...this},{element:n,options:o}=e,i=o.backdrop?zt(I):0,c=()=>setTimeout(()=>super.dispose(),i+17);this._toggleEventListeners(),this.hide(),h(n,m)?P(n,c):c()}}d(ee,"selector",Ji),d(ee,"init",sc),d(ee,"getInstance",me);const _t="popover",Ke="Popover",ut="tooltip",io=t=>{const s=t===ut,e=s?`${t}-inner`:`${t}-body`,n=s?"":`

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        `,o=`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        `,i=`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        `;return`
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ${n+o+i}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        `},co={top:"top",bottom:"bottom",left:"start",right:"end"},Hs=t=>{const s=/\b(top|bottom|start|end)+/,{element:e,tooltip:n,container:o,options:i,arrow:c}=t;if(n){const a={...co},l=Et(e);L(n,{top:"",left:"",right:"",bottom:""});const r=t.name===Ke,{offsetWidth:g,offsetHeight:p}=n,{clientWidth:v,clientHeight:k,offsetWidth:J}=ft(e);let{placement:y}=i;const{clientWidth:X,offsetWidth:q}=o,mt=z(o,"position")==="fixed",S=Math.abs(mt?X-q:v-J),ot=l&&mt?S:0,lt=v-(l?0:S)-1,{width:j,height:Y,left:x,right:ae,top:Ht}=fe(e,!0),{x:R,y:Pt}={x,y:Ht};L(c,{top:"",left:"",right:"",bottom:""});let Wt=0,Ee="",Dt=0,ks="",re="",Xe="",Ns="";const Ft=c.offsetWidth||0,xt=c.offsetHeight||0,Os=Ft/2;let $e=Ht-p-xt<0,Te=Ht+p+Y+xt>=k,ye=x-g-Ft=lt;const Ye=["left","right"],Ms=["top","bottom"];$e=Ye.includes(y)?Ht+Y/2-p/2-xt<0:$e,Te=Ye.includes(y)?Ht+p/2+Y/2+xt>=k:Te,ye=Ms.includes(y)?x+j/2-g/2=lt:Ce,y=Ye.includes(y)&&ye&&Ce?"top":y,y=y==="top"&&$e?"bottom":y,y=y==="bottom"&&Te?"top":y,y=y==="left"&&ye?"right":y,y=y==="right"&&Ce?"left":y,n.className.includes(y)||(n.className=n.className.replace(s,a[y])),Ye.includes(y)?(y==="left"?Dt=R-g-(r?Ft:0):Dt=R+j+(r?Ft:0),$e&&Te?(Wt=0,Ee=0,re=Ht+Y/2-xt/2):$e?(Wt=Pt,Ee="",re=Y/2-Ft):Te?(Wt=Pt-p+Y,Ee="",re=p-Y/2-Ft):(Wt=Pt-p/2+Y/2,re=p/2-xt/2)):Ms.includes(y)&&(y==="top"?Wt=Pt-p-(r?xt:0):Wt=Pt+Y+(r?xt:0),ye?(Dt=0,Xe=R+j/2-Os):Ce?(Dt="auto",ks=0,Ns=j/2+lt-ae-Os):(Dt=R-g/2+j/2,Xe=g/2-Os)),L(n,{top:`${Wt}px`,bottom:Ee===""?"":`${Ee}px`,left:Dt==="auto"?Dt:`${Dt}px`,right:ks!==""?`${ks}px`:""}),T(c)&&(re!==""&&(c.style.top=`${re}px`),Xe!==""?c.style.left=`${Xe}px`:Ns!==""&&(c.style.right=`${Ns}px`));const zc=$(`updated.bs.${Vt(t.name)}`);w(e,zc)}},Ps={template:io(ut),title:"",customClass:"",trigger:"hover focus",placement:"top",sanitizeFn:void 0,animation:!0,delay:200,container:document.body,content:"",dismissible:!1,btnClose:""},ao="data-original-title",Bt="Tooltip",Ct=(t,s,e)=>{if(he(s)&&s.length){let n=s.trim();oi(e)&&(n=e(n));const i=new DOMParser().parseFromString(n,"text/html");t.append(...i.body.childNodes)}else T(s)?t.append(s):(ii(s)||ni(s)&&s.every(A))&&t.append(...s)},dc=t=>{const s=t.name===Bt,{id:e,element:n,options:o}=t,{title:i,placement:c,template:a,animation:l,customClass:r,sanitizeFn:g,dismissible:p,content:v,btnClose:k}=o,J=s?ut:_t,y={...co};let X=[],q=[];Et(n)&&(y.left="end",y.right="start");const ce=`bs-${J}-${y[c]}`;let mt;if(T(a))mt=a;else{const ot=vt("div");Ct(ot,a,g),mt=ot.firstChild}t.tooltip=T(mt)?mt.cloneNode(!0):void 0;const{tooltip:S}=t;if(S){O(S,"id",e),O(S,"role",ut);const ot=s?`${ut}-inner`:`${_t}-body`,lt=s?null:D(`.${_t}-header`,S),j=D(`.${ot}`,S);t.arrow=D(`.${J}-arrow`,S);const{arrow:Y}=t;if(T(i))X=[i.cloneNode(!0)];else{const x=vt("div");Ct(x,i,g),X=[...x.childNodes]}if(T(v))q=[v.cloneNode(!0)];else{const x=vt("div");Ct(x,v,g),q=[...x.childNodes]}if(p)if(i)if(T(k))X=[...X,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),X=[...X,x.firstChild]}else if(lt&<.remove(),T(k))q=[...q,k.cloneNode(!0)];else{const x=vt("div");Ct(x,k,g),q=[...q,x.firstChild]}s?i&&j&&Ct(j,i,g):(i&<&&Ct(lt,X,g),v&&j&&Ct(j,q,g),t.btn=D(".btn-close",S)||void 0),f(S,"position-fixed"),f(Y,"position-absolute"),h(S,J)||f(S,J),l&&!h(S,W)&&f(S,W),r&&!h(S,r)&&f(S,r),h(S,ce)||f(S,ce)}},hc=t=>{const s=["HTML","BODY"],e=[];let{parentNode:n}=t;for(;n&&!s.includes(n.nodeName);)n=si(n),Us(n)||ci(n)||e.push(n);return e.find((o,i)=>z(o,"position")!=="relative"&&e.slice(i+1).every(c=>z(c,"position")==="static")?o:null)||E(t).body},fc=`[${rt}="${ut}"],[data-tip="${ut}"]`,ro="title";let lo=t=>F(t,Bt);const gc=t=>new St(t),pc=t=>{const{element:s,tooltip:e,container:n,offsetParent:o}=t;At(s,it),Mn(e,n===o?n:o)},ve=t=>{const{tooltip:s,container:e,offsetParent:n}=t;return s&&Es(s,e===n?e:n)},uc=(t,s)=>{const{element:e}=t;t._toggleEventListeners(),Ne(e,ao)&&t.name===Bt&&uo(t),s&&s()},ho=(t,s)=>{const e=s?_:B,{element:n}=t;e(E(n),Ge,t.handleTouch,tt),[Ae,xe].forEach(o=>{e(Xt(n),o,t.update,tt)})},fo=t=>{const{element:s}=t,e=$(`shown.bs.${Vt(t.name)}`);ho(t,!0),w(s,e),u.clear(s,"in")},go=t=>{const{element:s}=t,e=$(`hidden.bs.${Vt(t.name)}`);ho(t),pc(t),w(s,e),u.clear(s,"out")},po=(t,s)=>{const e=s?_:B,{element:n,container:o,offsetParent:i}=t,{offsetHeight:c,scrollHeight:a}=o,l=M(n,`.${U}`),r=M(n,`.${Z}`),g=Xt(n),v=o===i&&c!==a?o:g;e(v,xe,t.update,tt),e(v,Ae,t.update,tt),l&&e(l,`hide.bs.${U}`,t.handleHide),r&&e(r,`hide.bs.${Z}`,t.handleHide)},uo=(t,s)=>{const e=[ao,ro],{element:n}=t;O(n,e[s?0:1],s||at(n,e[0])||""),At(n,e[s?1:0])};class St extends st{constructor(e,n){super(e,n);d(this,"handleFocus",()=>ht(this.element));d(this,"handleShow",()=>this.show());d(this,"handleHide",()=>this.hide());d(this,"update",()=>{Hs(this)});d(this,"toggle",()=>{const{tooltip:e}=this;e&&!ve(this)?this.show():this.hide()});d(this,"handleTouch",({target:e})=>{const{tooltip:n,element:o}=this;n&&n.contains(e)||e===o||e&&o.contains(e)||this.hide()});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,options:i,btn:c}=this,{trigger:a}=i,r=!!(this.name!==Bt&&i.dismissible);a.includes("manual")||(this.enabled=!!e,a.split(" ").forEach(p=>{p===Wo?(n(o,Rs,this.handleShow),n(o,De,this.handleShow),r||(n(o,Ze,this.handleHide),n(E(o),Ge,this.handleTouch,tt))):p===N?n(o,p,r?this.handleShow:this.toggle):p===qe&&(n(o,Qe,this.handleShow),r||n(o,Bs,this.handleHide),qo&&n(o,N,this.handleFocus)),r&&c&&n(c,N,this.handleHide)}))});const{element:o}=this,i=this.name===Bt,c=i?ut:_t,a=i?Bt:Ke;lo=r=>F(r,a),this.enabled=!0,this.id=`${c}-${Zs(o,c)}`;const{options:l}=this;!l.title&&i||!i&&!l.content||(dt(Ps,{titleAttr:""}),Ne(o,ro)&&i&&typeof l.title=="string"&&uo(this,l.title),this.container=hc(o),this.offsetParent=["sticky","fixed"].some(r=>z(this.container,"position")===r)?this.container:E(this.element).body,dc(this),this._toggleEventListeners(!0))}get name(){return Bt}get defaults(){return Ps}show(){const{options:e,tooltip:n,element:o,container:i,offsetParent:c,id:a}=this,{animation:l}=e,r=u.get(o,"out"),g=i===c?i:c;u.clear(o,"out"),n&&!r&&!ve(this)&&u.set(o,()=>{const p=$(`show.bs.${Vt(this.name)}`);w(o,p),p.defaultPrevented||(On(n,g),O(o,it,`#${a}`),this.update(),po(this,!0),h(n,m)||f(n,m),l?P(n,()=>fo(this)):fo(this))},17,"in")}hide(){const{options:e,tooltip:n,element:o}=this,{animation:i,delay:c}=e;u.clear(o,"in"),n&&ve(this)&&u.set(o,()=>{const a=$(`hide.bs.${Vt(this.name)}`);w(o,a),a.defaultPrevented||(this.update(),b(n,m),po(this),i?P(n,()=>go(this)):go(this))},c+17,"out")}enable(){const{enabled:e}=this;e||(this._toggleEventListeners(!0),this.enabled=!e)}disable(){const{tooltip:e,options:n,enabled:o}=this,{animation:i}=n;o&&(e&&ve(this)&&i?(this.hide(),P(e,()=>this._toggleEventListeners())):this._toggleEventListeners(),this.enabled=!o)}toggleEnabled(){this.enabled?this.disable():this.enable()}dispose(){const{tooltip:e,options:n}=this,o={...this,name:this.name},i=()=>setTimeout(()=>uc(o,()=>super.dispose()),17);n.animation&&ve(o)?(this.options.delay=0,this.hide(),P(e,i)):i()}}d(St,"selector",fc),d(St,"init",gc),d(St,"getInstance",lo),d(St,"styleTip",Hs);const mc=`[${rt}="${_t}"],[data-tip="${_t}"]`,vc=dt({},Ps,{template:io(_t),content:"",dismissible:!1,btnClose:''}),bc=t=>F(t,Ke),wc=t=>new Rt(t);class Rt extends St{constructor(e,n){super(e,n);d(this,"show",()=>{super.show();const{options:e,btn:n}=this;e.dismissible&&n&&setTimeout(()=>ht(n),17)})}get name(){return Ke}get defaults(){return vc}}d(Rt,"selector",mc),d(Rt,"init",wc),d(Rt,"getInstance",bc),d(Rt,"styleTip",Hs);const Ec="scrollspy",mo="ScrollSpy",$c='[data-bs-spy="scroll"]',Tc={offset:10,target:null},yc=t=>F(t,mo),Cc=t=>new se(t),vo=$(`activate.bs.${Ec}`),Sc=t=>{const{target:s,scrollTarget:e,options:n,itemsLength:o,scrollHeight:i,element:c}=t,{offset:a}=n,l=ns(e),r=s&&is("A",s),g=e?bo(e):i;if(t.scrollTop=l?e.scrollY:e.scrollTop,r&&(g!==i||o!==r.length)){let p,v,k;t.items=[],t.offsets=[],t.scrollHeight=g,t.maxScroll=t.scrollHeight-Hc(t),[...r].forEach(J=>{p=at(J,"href"),v=p&&p.charAt(0)==="#"&&p.slice(-1)!=="#"&&D(p,E(c)),v&&(t.items.push(J),k=fe(v),t.offsets.push((l?k.top+t.scrollTop:v.offsetTop)-a))}),t.itemsLength=t.items.length}},bo=t=>T(t)?t.scrollHeight:ft(t).scrollHeight,Hc=({element:t,scrollTarget:s})=>ns(s)?s.innerHeight:fe(t).height,wo=t=>{[...is("A",t)].forEach(s=>{h(s,C)&&b(s,C)})},Eo=(t,s)=>{const{target:e,element:n}=t;T(e)&&wo(e),t.activeItem=s,f(s,C);const o=[];let i=s;for(;i!==wt(n);)i=i.parentElement,(h(i,"nav")||h(i,"dropdown-menu"))&&o.push(i);o.forEach(c=>{const a=c.previousElementSibling;a&&!h(a,C)&&f(a,C)}),vo.relatedTarget=s,w(n,vo)};class se extends st{constructor(e,n){super(e,n);d(this,"refresh",()=>{const{target:e}=this;if(T(e)&&e.offsetHeight>0){Sc(this);const{scrollTop:n,maxScroll:o,itemsLength:i,items:c,activeItem:a}=this;if(n>=o){const r=c[i-1];a!==r&&Eo(this,r);return}const{offsets:l}=this;if(a&&n0){this.activeItem=null,e&&wo(e);return}c.forEach((r,g)=>{a!==r&&n>=l[g]&&(typeof l[g+1]>"u"||n{(e?_:B)(this.scrollTarget,Ae,this.refresh,tt)});const{element:o,options:i}=this;this.target=D(i.target,E(o)),this.target&&(this.scrollTarget=o.clientHeightF(t,$o),Pc=t=>new ne(t),Ds=$(`show.bs.${be}`),Co=$(`shown.bs.${be}`),xs=$(`hide.bs.${be}`),So=$(`hidden.bs.${be}`),we=new Map,Ho=t=>{const{tabContent:s,nav:e}=t;s&&h(s,Nt)&&(s.style.height="",b(s,Nt)),e&&u.clear(e)},Po=t=>{const{element:s,tabContent:e,content:n,nav:o}=t,{tab:i}=T(o)&&we.get(o)||{tab:null};if(e&&n&&h(n,W)){const{currentHeight:c,nextHeight:a}=we.get(s)||{currentHeight:0,nextHeight:0};c===a?Ho(t):setTimeout(()=>{e.style.height=`${a}px`,It(e),P(e,()=>Ho(t))},50)}else o&&u.clear(o);Co.relatedTarget=i,w(s,Co)},Do=t=>{const{element:s,content:e,tabContent:n,nav:o}=t,{tab:i,content:c}=o&&we.get(o)||{tab:null,content:null};let a=0;if(n&&e&&h(e,W)&&([c,e].forEach(l=>{T(l)&&f(l,"overflow-hidden")}),a=T(c)?c.scrollHeight:0),Ds.relatedTarget=i,So.relatedTarget=s,w(s,Ds),!Ds.defaultPrevented){if(e&&f(e,C),c&&b(c,C),n&&e&&h(e,W)){const l=e.scrollHeight;we.set(s,{currentHeight:a,nextHeight:l,tab:null,content:null}),f(n,Nt),n.style.height=`${a}px`,It(n),[c,e].forEach(r=>{r&&b(r,"overflow-hidden")})}e&&e&&h(e,W)?setTimeout(()=>{f(e,m),P(e,()=>{Po(t)})},1):(e&&f(e,m),Po(t)),i&&w(i,So)}},xo=t=>{const{nav:s}=t;if(!T(s))return{tab:null,content:null};const e=gt(C,s);let n=null;e.length===1&&!Ot.some(i=>h(e[0].parentElement,i))?[n]=e:e.length>1&&(n=e[e.length-1]);const o=T(n)?V(n):null;return{tab:n,content:o}},Ao=t=>{if(!T(t))return null;const s=M(t,`.${Ot.join(",.")}`);return s?D(`.${Ot[0]}-toggle`,s):null},Dc=t=>{const s=yo(t.target);s&&(t.preventDefault(),s.show())};class ne extends st{constructor(e){super(e);d(this,"_toggleEventListeners",e=>{(e?_:B)(this.element,N,Dc)});const{element:n}=this,o=V(n);if(o){const i=M(n,".nav"),c=M(o,".tab-content");this.nav=i,this.content=o,this.tabContent=c,this.dropdown=Ao(n);const{tab:a}=xo(this);if(i&&!a){const l=D(To,i),r=l&&V(l);r&&(f(l,C),f(r,m),f(r,C),O(n,Ue,"true"))}this._toggleEventListeners(!0)}}get name(){return $o}show(){const{element:e,content:n,nav:o,dropdown:i}=this;if(!(o&&u.get(o))&&!h(e,C)){const{tab:c,content:a}=xo(this);if(o&&we.set(o,{tab:c,content:a,currentHeight:0,nextHeight:0}),xs.relatedTarget=e,T(c)&&(w(c,xs),!xs.defaultPrevented)){f(e,C),O(e,Ue,"true");const l=T(c)&&Ao(c);if(l&&h(l,C)&&b(l,C),o){const r=()=>{c&&(b(c,C),O(c,Ue,"false")),i&&!h(i,C)&&f(i,C)};a&&(h(a,W)||n&&h(n,W))?u.set(o,r,1):r()}a&&(b(a,m),h(a,W)?P(a,()=>Do(this)):Do(this))}}}dispose(){this._toggleEventListeners(),super.dispose()}}d(ne,"selector",To),d(ne,"init",Pc),d(ne,"getInstance",yo);const G="toast",Lo="Toast",xc=`.${G}`,Ac=`[${Me}="${G}"]`,Io=`[${rt}="${G}"]`,oe="showing",ko="hide",Lc={animation:!0,autohide:!0,delay:5e3},As=t=>F(t,Lo),Ic=t=>new ie(t),No=$(`show.bs.${G}`),kc=$(`shown.bs.${G}`),Oo=$(`hide.bs.${G}`),Nc=$(`hidden.bs.${G}`),Mo=t=>{const{element:s,options:e}=t;b(s,oe),u.clear(s,oe),w(s,kc),e.autohide&&u.set(s,()=>t.hide(),e.delay,G)},_o=t=>{const{element:s}=t;b(s,oe),b(s,m),f(s,ko),u.clear(s,G),w(s,Nc)},Oc=t=>{const{element:s,options:e}=t;f(s,oe),e.animation?(It(s),P(s,()=>_o(t))):_o(t)},Mc=t=>{const{element:s,options:e}=t;u.set(s,()=>{b(s,ko),It(s),f(s,m),f(s,oe),e.animation?P(s,()=>Mo(t)):Mo(t)},17,oe)},_c=t=>{u.clear(t.element,G),t._toggleEventListeners()},Bc=t=>{const{target:s}=t,e=s&&M(s,Io),n=e&&V(e),o=n&&As(n);o&&(e&&e.tagName==="A"&&t.preventDefault(),o.relatedTarget=e,o.show())},Rc=t=>{const s=t.target,e=As(s),{type:n,relatedTarget:o}=t;e&&s!==o&&!s.contains(o)&&([De,Qe].includes(n)?u.clear(s,G):u.set(s,()=>e.hide(),e.options.delay,G))};class ie extends st{constructor(e,n){super(e,n);d(this,"show",()=>{const{element:e,isShown:n}=this;e&&!n&&(w(e,No),No.defaultPrevented||Mc(this))});d(this,"hide",()=>{const{element:e,isShown:n}=this;e&&n&&(w(e,Oo),Oo.defaultPrevented||Oc(this))});d(this,"_toggleEventListeners",e=>{const n=e?_:B,{element:o,triggers:i,dismiss:c,options:a,hide:l}=this;c&&n(c,N,l),a.autohide&&[Qe,Bs,De,Ze].forEach(r=>n(o,r,Rc)),i.length&&i.forEach(r=>n(r,N,Bc))});const{element:o,options:i}=this;i.animation&&!h(o,W)?f(o,W):!i.animation&&h(o,W)&&b(o,W),this.dismiss=D(Ac,o),this.triggers=[...et(Io,E(o))].filter(c=>V(c)===o),this._toggleEventListeners(!0)}get name(){return Lo}get defaults(){return Lc}get isShown(){return h(this.element,m)}dispose(){const{element:e,isShown:n}=this;n&&b(e,m),_c(this),super.dispose()}}d(ie,"selector",xc),d(ie,"init",Ic),d(ie,"getInstance",As);const Ls=new Map;[Ut,qt,Qt,Zt,Jt,te,ee,Rt,se,ne,ie,St].forEach(t=>Ls.set(t.prototype.name,t));const Wc=(t,s)=>{[...s].forEach(e=>t(e))},Fc=(t,s)=>{const e=Lt.getAllFor(t);e&&[...e].forEach(([n,o])=>{s.contains(n)&&o.dispose()})},Is=t=>{const s=t&&t.nodeName?t:document,e=[...is("*",s)];Ls.forEach(n=>{const{init:o,selector:i}=n;Wc(o,e.filter(c=>Js(c,i)))})},jc=t=>{const s=t&&t.nodeName?t:document;Ls.forEach(e=>{Fc(e.prototype.name,s)})};return document.body?Is():_(document,"DOMContentLoaded",()=>Is(),{once:!0}),H.Alert=Ut,H.Button=qt,H.Carousel=Qt,H.Collapse=Zt,H.Dropdown=Jt,H.Modal=te,H.Offcanvas=ee,H.Popover=Rt,H.ScrollSpy=se,H.Tab=ne,H.Toast=ie,H.Tooltip=St,H.initCallback=Is,H.removeDataAPI=jc,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"}),H}({}); +//# sourceMappingURL=bootstrap-native.js.map diff --git a/documentation/js/libs/clipboard.min.js b/documentation/js/libs/clipboard.min.js new file mode 100644 index 0000000000..b00ee51535 --- /dev/null +++ b/documentation/js/libs/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.0 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=3)}([function(t,e,n){var o,r,i;!function(a,c){r=[t,n(7)],o=c,void 0!==(i="function"==typeof o?o.apply(e,r):o)&&(t.exports=i)}(0,function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(t){return t&&t.__esModule?t:{default:t}}(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,o.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,o.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}();t.exports=a})},function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return r(t,e,n);if(c.nodeList(t))return i(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function r(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return u(document.body,t,e,n)}var c=n(6),u=n(5);t.exports=o},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){r.off(t,o),e.apply(n,arguments)}var r=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;for(o;o0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,f.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return u("action",t)}},{key:"defaultTarget",value:function(t){var e=u("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return u("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),e}(s.default);t.exports=p})},function(t,e){function n(t,e){for(;t&&t.nodeType!==o;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}var o=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}t.exports=n},function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function r(t,e,n,r,i){return"function"==typeof t.addEventListener?o.apply(null,arguments):"function"==typeof n?o.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return o(t,e,n,r,i)}))}function i(t,e,n,o){return function(n){n.delegateTarget=a(n.target,e),n.delegateTarget&&o.call(t,n)}}var a=n(4);t.exports=r},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e){function n(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}t.exports=n}])}); \ No newline at end of file diff --git a/documentation/js/libs/custom-elements-es5-adapter.js b/documentation/js/libs/custom-elements-es5-adapter.js new file mode 100644 index 0000000000..3a694b8f70 --- /dev/null +++ b/documentation/js/libs/custom-elements-es5-adapter.js @@ -0,0 +1,15 @@ +/** +@license @nocompile +Copyright (c) 2018 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +(function () { + 'use strict'; + + (function(){if(void 0===window.Reflect||void 0===window.customElements||window.customElements.hasOwnProperty('polyfillWrapFlushCallback'))return;const a=HTMLElement;window.HTMLElement=function(){return Reflect.construct(a,[],this.constructor)},HTMLElement.prototype=a.prototype,HTMLElement.prototype.constructor=HTMLElement,Object.setPrototypeOf(HTMLElement,a);})(); + +}()); diff --git a/documentation/js/libs/custom-elements.min.js b/documentation/js/libs/custom-elements.min.js new file mode 100644 index 0000000000..9b64a23caf --- /dev/null +++ b/documentation/js/libs/custom-elements.min.js @@ -0,0 +1,38 @@ +(function(){ + 'use strict';var h=new function(){};var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function m(b){var a=aa.has(b);b=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(b);return!a&&b}function n(b){var a=b.isConnected;if(void 0!==a)return a;for(;b&&!(b.__CE_isImportDocument||b instanceof Document);)b=b.parentNode||(window.ShadowRoot&&b instanceof ShadowRoot?b.host:void 0);return!(!b||!(b.__CE_isImportDocument||b instanceof Document))} + function p(b,a){for(;a&&a!==b&&!a.nextSibling;)a=a.parentNode;return a&&a!==b?a.nextSibling:null} + function t(b,a,c){c=c?c:new Set;for(var d=b;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;a(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)t(d,a,c);d=p(b,e);continue}else if("template"===f){d=p(b,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)t(e,a,c)}d=d.firstChild?d.firstChild:p(b,d)}}function u(b,a,c){b[a]=c};function v(){this.a=new Map;this.s=new Map;this.f=[];this.b=!1}function ba(b,a,c){b.a.set(a,c);b.s.set(c.constructor,c)}function w(b,a){b.b=!0;b.f.push(a)}function x(b,a){b.b&&t(a,function(a){return y(b,a)})}function y(b,a){if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var c=0;ct?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);r>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);r>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===ho||n[0]===po?po+n:n}function s(n){return(n+="")[0]===po?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function d(){var n=0;for(var t in this._)++n;return n}function v(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function x(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function M(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=go.length;e=t&&(t=i+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var c=ko.get(n);return c&&(n=c,l=B),a?t?i:r:t?_:u}function $(n,t){return function(e){var r=to.event;to.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{to.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Eo,i="click"+r,u=to.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==No&&(No=!("onselectstart"in e)&&M(e.style,"userSelect")),No){var o=n(e).style,a=o[No];o[No]="none"}return function(n){if(u.on(r,null),No&&(o[No]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ao<0){var u=t(n);if(u.scrollX||u.scrollY){var o=(r=to.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();Ao=!(o.f||o.e),r.remove()}}return Ao?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return to.event.changedTouches[0].identifier}function K(n){return n>0?1:n<0?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:n<-1?Lo:Math.acos(n)}function tn(n){return n>1?Ro:n<-1?-Ro:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):bn(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:n<0&&(n+=360),n<60?u+(o-u)*n/60:n<180?o:n<240?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:t<0?0:t>1?1:t,e=e<0?0:e>1?1:e,o=e<=.5?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=to.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Do)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=dn(i)*Zo,r=dn(r)*Vo,u=dn(u)*Xo,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Po,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function dn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function vn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(n<=.00304?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):bn(""+n,mn,cn):new mn(n,t,e)}function xn(n){return new mn(n>>16,n>>8&255,255&n)}function Mn(n){return xn(n)+""}function _n(n){return n<16?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function bn(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=Wo.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o|=o>>4,a=240&u,a|=a>>4,l=15&u,l|=l<<4):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=l<.5?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(t0&&l<1?0:r),new ln(r,i,l)}function Sn(n,t,e){var r=vn((.4124564*(n=kn(n))+.3575761*(t=kn(t))+.1804375*(e=kn(e)))/Zo),i=vn((.2126729*n+.7151522*t+.072175*e)/Vo);return hn(116*i-16,500*(r-i),200*(i-vn((.0193339*n+.119192*t+.9503041*e)/Xo)))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&t<300||304===t){try{n=e.call(u,l)}catch(n){return void o.error.call(u,n)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=to.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=to.event;to.event=n;try{o.progress.call(u,l)}finally{to.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(ro(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},to.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;r<2&&(t=0),r<3&&(e=Date.now());var i={c:n,t:e+t,n:null};return Go?Go.n=i:Jo=i,Go=i,Ko||(Qo=clearTimeout(Qo),Ko=1,na(Tn)),i}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(Qo),Qo=setTimeout(Tn,t)),Ko=0):(Ko=1,na(Tn))}function Rn(){for(var n=Date.now(),t=Jo;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=Jo,e=1/0;t;)t.c?(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Un(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ea.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,d="",v="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,v="%",p="f";break;case"p":g=100,v="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(d="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(d=i[0],v=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=ra.get(p)||Fn;var x=c&&s;return function(n){var e=v;if(y&&n%1)return"";var i=n<0||0===n&&1/n<0?(n=-n,"-"):"-"===a?"":a;if(g<0){var l=to.formatPrefix(n,h);n=l.scale(n),e=l.symbol+v}else n*=g;var M,_,b=(n=p(n,h)).lastIndexOf(".");if(b<0){var w=m?n.lastIndexOf("e"):-1;w<0?(M=n,_=""):(M=n.substring(0,w),_=n.substring(w))}else M=n.substring(0,b),_=t+n.substring(b+1);!c&&s&&(M=u(M,1/0));var S=d.length+M.length+_.length+(x?0:i.length),k=S"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(x?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return t-e1)for(;o=c)return-1;if(37===(i=t.charCodeAt(a++))){if(o=t.charAt(a++),!(u=C[o in aa?t.charAt(a++):o])||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){M.lastIndex=0;var r=M.exec(t.slice(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=x.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,d=n.days,v=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{var t=new(ua=Hn);return t._=n,r(t)}finally{ua=Date}}var r=t(n);return e.parse=function(n){try{ua=Hn;var t=r.parse(n);return t&&t._}finally{ua=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var x=to.map(),M=Vn(d),_=Xn(d),b=Vn(v),w=Xn(v),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){x.set(n.toLowerCase(),t)});var A={a:function(n){return v[n.getDay()]},A:function(n){return d[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ia.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ia.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ia.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=n<0?"-":"",i=(r?-n:n)+"",u=i.length;return r+(u68?1900:2e3)}function nt(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){la.lastIndex=0;var r=la.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=so(t)/60|0,i=so(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){ca.lastIndex=0;var r=ca.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);da.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;va.point=function(o,a){va.point=n,r=(t=o)*Do,i=Math.cos(a=(e=a)*Do/2+Lo/4),u=Math.sin(a)},va.lineEnd=function(){n(t,e)}}function vt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function xt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function Mt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function _t(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function bt(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return so(n[0]-t[0])=0;--a)i.point((s=f[a])[0],s[1]);else r(p.x,p.p.x,-1,i);p=p.p}f=(p=p.o).z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r0){for(_||(u.polygonStart(),_=!0),u.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,d,v=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=to.merge(p);var n=Ot(y,g);p.length?(_||(u.polygonStart(),_=!0),Lt(p,jt,n,e,u)):n&&(_||(u.polygonStart(),_=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),_&&(u.polygonEnd(),_=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},x=Pt(),M=t(x),_=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:_,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function jt(n,t){return((n=n.x)[0]<0?n[1]-Ro-Co:Ro-n[1])-((t=t.x)[0]<0?t[1]-Ro-Co:Ro-t[1])}function Ut(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Lo:-Lo,l=so(u-e);so(l-Lo)0?Ro:-Ro),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Lo&&(so(e-i)Co?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Ro,r.point(-Lo,i),r.point(0,i),r.point(Lo,i),r.point(Lo,0),r.point(Lo,-i),r.point(0,-i),r.point(-Lo,-i),r.point(-Lo,0),r.point(-Lo,i);else if(so(n[0]-t[0])>Co){var u=n[0]=0?1:-1,w=b*_,S=w>Lo,k=g*x;if(da.add(Math.atan2(k*b*Math.sin(w),d*M+k*Math.cos(w))),u+=S?_+b*qo:_,S^h>=e^y>=e){var N=mt(vt(s),vt(n));_t(N);var E=mt(i,N);_t(E);var A=(S^_>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^_>=0?1:-1)}if(!v++)break;h=y,g=x,d=M,s=n}}return(u<-Co||uu}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],d=t(s,h),v=o?d?0:i(s,h):d?i(s+(s<0?Lo:-Lo),h):0;if(!e&&(c=l=d)&&n.lineStart(),d!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Co,g[1]+=Co,d=t(g[0],g[1]))),d!==l)f=0,d?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^d){var y;v&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!d||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=d,u=v},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=[1,0,0],i=mt(vt(n),vt(t)),o=yt(i,i),a=i[0],l=o-a*a;if(!l)return!e&&n;var c=u*o/l,f=-u*a/l,s=mt(r,i),h=Mt(r,c);xt(h,Mt(i,f));var p=s,g=yt(h,p),d=yt(p,p),v=g*g-d*(yt(h,h)-1);if(!(v<0)){var y=Math.sqrt(v),m=Mt(p,(-g-y)/d);if(xt(m,h),m=bt(m),!e)return m;var x,M=n[0],_=t[0],b=n[1],w=t[1];_0^m[1]<(so(m[0]-M)Lo^(M<=m[0]&&m[0]<=_)){var E=Mt(p,(-g+y)/d);return xt(E,h),[m,bt(E)]}}}function i(t,e){var r=o?n:Lo-n,i=0;return t<-r?i|=1:t>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=so(u)>Co;return Rt(t,e,de(n,6*Do),o?[0,-n]:[-Lo,n-Lo])}function It(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=0,s=1,h=a.x-l,p=a.y-c;if(u=n-l,h||!(u>0)){if(u/=h,h<0){if(u0){if(u>s)return;u>f&&(f=u)}if(u=e-l,h||!(u<0)){if(u/=h,h<0){if(u>s)return;u>f&&(f=u)}else if(h>0){if(u0)){if(u/=p,p<0){if(u0){if(u>s)return;u>f&&(f=u)}if(u=r-c,p||!(u<0)){if(u/=p,p<0){if(u>s)return;u>f&&(f=u)}else if(p>0){if(u0&&(i.a={x:l+f*h,y:c+f*p}),s<1&&(i.b={x:l+s*h,y:c+s*p}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return so(r[0]-n)0?0:3:so(r[0]-e)0?2:1:so(r[1]-t)0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=v.length,r=n[1],i=0;ir&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0)do{c.point(0===f||3===f?n:e,f>1?r:t)}while((f=(f+l+4)%4)!==s);else c.point(a[0],a[1])}function f(i,u){return n<=i&&i<=e&&t<=u&&u<=r}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,v&&v.push(y=[]),S=!0,w=!1,_=b=NaN}function p(){d&&(g(m,x),M&&w&&E.rejoin(),d.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){var e=f(n=Math.max(-za,Math.min(za,n)),t=Math.max(-za,Math.min(za,t)));if(v&&y.push([n,t]),S)m=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var d,v,y,m,x,M,_,b,w,S,k,N=a,E=Pt(),A=It(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,d=[],v=[],k=!0},polygonEnd:function(){a=N,d=to.merge(d);var t=l([n,r]),e=k&&t,i=d.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(d,u,t,c,a),a.polygonEnd()),d=v=y=null}};return C}}function Vt(n){var t=0,e=Lo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Lo/180,e=n[1]*Lo/180):[t/Lo*180,e/Lo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){qa+=i*n-r*t,r=n,i=t}var t,e,r,i;ja.point=function(u,o){ja.point=n,t=r=u,e=i=o},ja.lineEnd=function(){n(t,e)}}function Bt(n,t){nDa&&(Da=n),tPa&&(Pa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){xa+=n,Ma+=t,++_a}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);ba+=o*(t+n)/2,wa+=o*(e+r)/2,Sa+=o,Gt(t=n,e=r)}var t,e;Fa.point=function(r,i){Fa.point=n,Gt(t=r,e=i)}}function Qt(){Fa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);ba+=o*(r+n)/2,wa+=o*(i+t)/2,Sa+=o,ka+=(o=i*n-r*t)*(r+n),Na+=o*(i+t),Ea+=3*o,Gt(r=n,i=t)}var t,e,r,i;Fa.point=function(u,o){Fa.point=n,Gt(t=r=u,e=i=o)},Fa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,qo)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:_};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=NaN,S.point=u,t.lineStart()}function u(e,r){var u=vt([e,r]),o=n(e,r);i(x,M,m,_,b,w,x=o[0],M=o[1],m=e,_=u[0],b=u[1],w=u[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function l(){r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=x,g=M,d=_,v=b,y=w,S.point=u}function f(){i(x,M,m,_,b,w,p,g,s,d,v,y,a,t),S.lineEnd=o,o()}var s,h,p,g,d,v,y,m,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,d,v,y){var m=f-t,x=s-e,M=m*m+x*x;if(M>4*u&&v--){var _=a+p,b=l+g,w=c+d,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),N=so(so(w)-1)u||so((m*z+x*L)/M-.5)>.3||a*p+l*g+c*d0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Po,e*Po])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Do,n[1]*Do),[n[0]*h+l,c-n[1]*h]}function e(n){return(n=a.invert((n[0]-l)/h,(c-n[1])/h))&&[n[0]*Po,n[1]*Po]}function r(){a=Ct(o=se(y,x,M),u);var n=u(d,v);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,d=0,v=0,y=0,x=0,M=0,_=Ca,b=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(_(o,s(b(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(_=null==n?(w=n,Ca):Yt((w=+n)*Do),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,b=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(d=n[0]%360*Do,v=n[1]%360*Do,r()):[d*Po,v*Po]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Do,x=n[1]%360*Do,M=n.length>2?n[2]%360*Do:0,r()):[y*Po,x*Po,M*Po]},to.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Do,e*Do)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Lo?n-qo:n<-Lo?n+qo:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Lo?t-qo:t<-Lo?t+qo:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function de(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=ve(e,i),u=ve(e,u),(o>0?iu)&&(i+=o*qo)):(i=n+o*qo,u=n-.5*l);for(var c,f=i;o>0?f>u:f0?t<-Ro+Co&&(t=-Ro+Co):t>Ro-Co&&(t=Ro-Co);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Lo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Ro]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return so(i)1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function je(n){var t=Qa.pop()||new Pe;return t.site=n,t}function Ue(n){Be(n),Ja.remove(n),Qa.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];Ue(n);for(var l=u;l.circle&&so(e-l.circle.x)Co)a=a.L;else{if(!((i=u-Ye(a,o))>Co)){r>-Co?(t=a.P,e=a):i>-Co?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=je(n);if(Ja.insert(t,l),t||e){if(t===e)return Be(t),e=je(t.site),Ja.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(e){Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,d=g.x-f,v=g.y-s,y=2*(h*v-p*d),m=h*h+p*p,x=d*d+v*v,M={x:(v*m-p*x)/y+f,y:(h*x-d*m)/y+s};nr(e.edge,c,g,M),l.edge=Ke(c,n,null,M),e.edge=Ke(n,g,null,M),$e(t),$e(e)}else l.edge=Ke(t.site,l.site)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-1/0;var a=(e=o.site).x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ye(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ie(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],d=Wa,v=d.length;v--;)if((u=d[v])&&u.prepare())for(l=(a=u.edges).length,o=0;oCo||so(i-e)>Co)&&(a.splice(o,0,new tr(Qe(u.site,f,so(r-s)Co?{x:s,y:so(t-s)Co?{x:so(e-g)Co?{x:h,y:so(t-h)Co?{x:so(e-p)=-zo)){var h=l*l+c*c,p=f*f+v*v,g=(v*h-c*p)/s,d=(l*p-f*h)/s,v=d+a,y=nl.pop()||new Xe;y.arc=n,y.site=i,y.x=g+o,y.y=v+Math.sqrt(g*g+d*d),y.cy=v,n.circle=y;for(var m=null,x=Ka._;x;)if(y.y=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:v,y:l};e={x:v,y:c}}else{if(u){if(u.y1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.y=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.xu||s>o||h=_)<<1|t>=M,w=b+4;bu&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:vr(e,r)})),u=rl.lastIndex;return u=0&&!(e=to.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;e=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function br(n){return function(t){return.5*(t<.5?n(2*t):2-n(2-2*t))}}function wr(n){return n*n}function Sr(n){return n*n*n}function kr(n){if(n<=0)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(n<.5?e:3*(n-t)+e-.75)}function Nr(n){return function(t){return Math.pow(t,n)}}function Er(n){return 1-Math.cos(n*Ro)}function Ar(n){return Math.pow(2,10*(n-1))}function Cr(n){return 1-Math.sqrt(1-n*n)}function zr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/qo*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*qo/t)}}function Lr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qr(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Tr(n,t){n=to.hcl(n),t=to.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:u<-180&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Rr(n,t){n=to.hsl(n),t=to.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:u<-180&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=to.lab(n),t=to.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Fr(t),i=Ur(t,e),u=Fr(Hr(e,t,-i))||0;t[0]*e[1]180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Or(e)+"rotate(",null,")")-2,x:vr(n,t)})):t&&e.push(Or(e)+"rotate("+t+")")}function Zr(n,t,e,r){n!==t?r.push({i:e.push(Or(e)+"skewX(",null,")")-2,x:vr(n,t)}):t&&e.push(Or(e)+"skewX("+t+")")}function Vr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Or(e)+"scale(",null,",",null,")");r.push({i:i-4,x:vr(n[0],t[0])},{i:i-2,x:vr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Or(e)+"scale("+t+")")}function Xr(n,t){var e=[],r=[];return n=to.transform(n),t=to.transform(t),Yr(n.translate,t.translate,e,r),Ir(n.rotate,t.rotate,e,r),Zr(n.skew,t.skew,e,r),Vr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i=0;)e.push(i[r])}function ui(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++oi&&(r=e,i=t);return r}function vi(n){return n.reduce(yi,0)}function yi(n,t){return n+t[1]}function mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function Mi(n){return[to.min(n),to.max(n)]}function _i(n,t){return n.value-t.value}function bi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function wi(n,t){n._pack_next=t,t._pack_prev=n}function Si(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function ki(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-1/0,h=1/0,p=-1/0;if(e.forEach(Ni),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(Ci(r,i,u=e[2]),t(u),bi(r,u),r._pack_prev=u,bi(u,i),i=r._pack_next,o=3;o2?Yi:Fi,l=r?Br:$r;return o=i(n,t,l,e),a=i(t,n,l,mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Pr)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return $i(n,t)},u.tickFormat=function(t,e){return Bi(n,t,e)},u.nice=function(t){return Vi(n,t),i()},u.copy=function(){return Ii(n,t,e,r)},i()}function Zi(n,t){return to.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Vi(n,t){return Hi(n,Oi(Xi(n,t)[2])),Hi(n,Oi(Xi(n,t)[2])),n}function Xi(n,t){null==t&&(t=10);var e=ji(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return u<=.15?i*=10:u<=.35?i*=5:u<=.75&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function $i(n,t){return to.range.apply(to,Xi(n,t))}function Bi(n,t,e){var r=Xi(n,t);if(e){var i=ea.exec(e);if(i.shift(),"s"===i[8]){var u=to.formatPrefix(Math.max(so(r[0]),so(r[1])));return i[7]||(i[7]="."+Wi(u.scale(r[2]))),i[8]="f",e=to.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+Ji(i[8],r)),e=i.join("")}else e=",."+Wi(r[2])+"f";return to.format(e)}function Wi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Ji(n,t){var e=Wi(t[2]);return n in dl?Math.abs(e-Wi(Math.max(so(t[0]),so(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Gi(n,t,e,r){function i(n){return(e?Math.log(n<0?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Hi(r.map(i),e?Math:yl);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=ji(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;c0;h--)o.push(u(c)*h);for(c=0;o[c]l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return vl;arguments.length<2?e=vl:"function"!=typeof e&&(e=to.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return o*t0?a[e-1]:n[0],e0?0:1}function hu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,d=(s+p)/2,v=h-f,y=p-s,m=v*v+y*y,x=e-r,M=f*p-h*s,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-M*M)),b=(M*y-v*_)/m,w=(-M*v-y*_)/m,S=(M*y+v*_)/m,k=(-M*v+y*_)/m,N=b-g,E=w-d,A=S-g,C=k-d;return N*N+E*E>A*A+C*C&&(b=S,w=k),[[b-l,w-c],[b*e/x,w*e/x]]}function pu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s1?n.join("L"):n+"Z"}function du(n){return n.join("L")+"Z"}function vu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1&&i.push("H",r[0]),i.join("")}function yu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r);for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Tu(n){return n.length<3?gu(n):n[0]+bu(n,qu(n))}function Ru(n){for(var t,e,r,i=-1,u=n.length;++i0;)p[--a].call(n,o);if(u>=1)return d.event&&d.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),d=g[r];d||(l=i.time,f=qn(u,0,l),d=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function Bu(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wu(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Ju(n){return n.toISOString()}function Gu(n,t,e){function r(t){return n(t)}function i(n,e){var r=(n[1]-n[0])/e,i=to.bisect(Yl,r);return i==Yl.length?[t.year,Xi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[r/Yl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=Ku(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ku(+t+1);return t}}:n))},r.ticks=function(n,t){var e=ji(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],Ku(+e[1]+1),t<1?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Gu(n.copy(),t,e)},Zi(r,n)}function Ku(n){return new Date(n)}function Qu(n){return JSON.parse(n.responseText)}function no(n){var t=io.createRange();return t.selectNode(io.body),t.createContextualFragment(n.responseText)}var to={version:"3.5.17"},eo=[].slice,ro=function(n){return eo.call(n)},io=this.document;if(io)try{ro(io.documentElement.childNodes)[0].nodeType}catch(n){ro=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),io)try{io.createElement("DIV").style.setProperty("opacity",0,"")}catch(n){var uo=this.Element.prototype,oo=uo.setAttribute,ao=uo.setAttributeNS,lo=this.CSSStyleDeclaration.prototype,co=lo.setProperty;uo.setAttribute=function(n,t){oo.call(this,n,t+"")},uo.setAttributeNS=function(n,t,e){ao.call(this,n,t,e+"")},lo.setProperty=function(n,t,e){co.call(this,n,t+"",e)}}to.ascending=e,to.descending=function(n,t){return tn?1:t>=n?0:NaN},to.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ir&&(e=r)}else{for(;++i=r){e=r;break}for(;++ir&&(e=r)}return e},to.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ie&&(e=r)}else{for(;++i=r){e=r;break}for(;++ie&&(e=r)}return e},to.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u=r){e=i=r;break}for(;++ur&&(e=r),i=r){e=i=r;break}for(;++ur&&(e=r),i1)return l/(f-1)},to.deviation=function(){var n=to.variance.apply(this,arguments);return n?Math.sqrt(n):n};var fo=u(e);to.bisectLeft=fo.left,to.bisect=to.bisectRight=fo.right,to.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},to.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,u<2&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},to.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},to.pairs=function(n){for(var t=0,e=n.length-1,r=n[0],i=new Array(e<0?0:e);t=0;)for(t=(r=n[i]).length;--t>=0;)e[--o]=r[t];return e};var so=Math.abs;to.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e==1/0)throw new Error("infinite range");var r,i=[],u=a(so(e)),o=-1;if(n*=u,t*=u,(e*=u)<0)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,d=u[a++],v=new c;++p=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(to.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},to.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;e=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},to.event=null,to.requote=function(n){return n.replace(vo,"\\$&")};var vo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,yo={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},mo=function(n,t){return t.querySelector(n)},xo=function(n,t){return t.querySelectorAll(n)},Mo=function(n,t){var e=n.matches||n[M(n,"matchesSelector")];return(Mo=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(mo=function(n,t){return Sizzle(n,t)[0]||null},xo=Sizzle,Mo=Sizzle.matchesSelector),to.selection=function(){return to.select(io.documentElement)};var _o=to.selection.prototype=[];_o.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),wo.hasOwnProperty(e)?{space:wo[e],local:n}:n}},_o.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=to.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},_o.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++i=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},_o.sort=function(n){n=Y.apply(this,arguments);for(var t=-1,e=this.length;++t0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){_&&_.domain(M.range().map(function(n){return(n-k.x)/k.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-k.y)/k.k}).map(b.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),v=null)}function s(){function n(){a=1,u(to.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=to.select(t(i)).on(q,n).on(T,r),h=e(to.mouse(i)),p=W(i);ql.call(i),l(o)}function h(){function n(){var n=to.touches(g);return p=k.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=e(n))}),n}function t(){var t=to.event.target;to.select(t).on(M,r).on(_,a),b.push(t);for(var e=to.event.changedTouches,i=0,u=e.length;i1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=to.touches(g);ql.call(g);for(var a=0,l=o.length;a=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ra=to.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=to.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ia=to.time={},ua=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){oa.setUTCDate.apply(this._,arguments)},setDay:function(){oa.setUTCDay.apply(this._,arguments)},setFullYear:function(){oa.setUTCFullYear.apply(this._,arguments)},setHours:function(){oa.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){oa.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){oa.setUTCMinutes.apply(this._,arguments)},setMonth:function(){oa.setUTCMonth.apply(this._,arguments)},setSeconds:function(){oa.setUTCSeconds.apply(this._,arguments)},setTime:function(){oa.setTime.apply(this._,arguments)}};var oa=Date.prototype;ia.year=On(function(n){return(n=ia.day(n)).setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ia.years=ia.year.range,ia.years.utc=ia.year.utc.range,ia.day=On(function(n){var t=new ua(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ia.days=ia.day.range,ia.days.utc=ia.day.utc.range,ia.dayOfYear=function(n){var t=ia.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ia[n]=On(function(n){return(n=ia.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ia.year(n).getDay();return Math.floor((ia.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ia[n+"s"]=e.range,ia[n+"s"].utc=e.utc.range,ia[n+"OfYear"]=function(n){var e=ia.year(n).getDay();return Math.floor((ia.dayOfYear(n)+(e+t)%7)/7)}}),ia.week=ia.sunday,ia.weeks=ia.sunday.range,ia.weeks.utc=ia.sunday.utc.range,ia.weekOfYear=ia.sundayOfYear;var aa={"-":"",_:" ",0:"0"},la=/^\s*\d+/,ca=/^%/;to.locale=function(n){return{numberFormat:Un(n),timeFormat:In(n)}};var fa=to.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});to.format=fa.numberFormat,to.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,sa),st(sa.s,this.s,this),this.s?this.t+=sa.t:this.s=sa.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var sa=new ft;to.geo.stream=function(n,t){n&&ha.hasOwnProperty(n.type)?ha[n.type](n,t):ht(n,t)};var ha={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++rp&&(p=t)}function t(t,e){var r=vt([t*Do,e*Do]);if(y){var i=mt(y,r),u=mt([i[1],-i[0],0],i);_t(u),u=bt(u);var o=t-g,l=o>0?1:-1,c=u[0]*Po*l,d=so(o)>180;if(d^(l*gp&&(p=v);else if(c=(c+360)%360-180,d^(l*gp&&(p=e);d?ta(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(th&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){_.point=t}function r(){M[0]=f,M[1]=h,_.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=so(r)>180?r+(r>0?360:-360):r}else d=n,v=e;va.point(n,e),t(n,e)}function u(){va.lineStart()}function o(){i(d,v),va.lineEnd(),so(m)>Co&&(f=-(h=180)),M[0]=f,M[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nCo?p=90:m<-Co&&(s=-90),M[0]=f,M[1]=h}};return function(n){p=h=-(f=s=1/0),x=[],to.geo.stream(n,_);var t=x.length;if(t){x.sort(l);for(var e=1,r=[g=x[0]];ea(g[0],g[1])&&(g[1]=u[1]),a(u[0],g[1])>a(g[0],g[1])&&(g[0]=u[0])):r.push(g=u);for(var i,u,o=-1/0,e=0,g=r[t=r.length-1];e<=t;g=u,++e)u=r[e],(i=a(g[1],u[0]))>o&&(o=i,f=u[0],h=g[1])}return x=M=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),to.geo.centroid=function(n){ya=ma=xa=Ma=_a=ba=wa=Sa=ka=Na=Ea=0,to.geo.stream(n,Aa);var t=ka,e=Na,r=Ea,i=t*t+e*e+r*r;return i=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Co,s+.12*c+Co],[f-.214*c-Co,s+.234*c-Co]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Co,s+.166*c+Co],[f-.115*c-Co,s+.234*c-Co]]).stream(l).point,n},n.scale(1070)};var La,qa,Ta,Ra,Da,Pa,ja={point:_,lineStart:_,lineEnd:_,polygonStart:function(){qa=0,ja.lineStart=$t},polygonEnd:function(){ja.lineStart=ja.lineEnd=ja.point=_,La+=so(qa/2)}},Ua={point:Bt,lineStart:_,lineEnd:_,polygonStart:_,polygonEnd:_},Fa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Fa.lineStart=ne},polygonEnd:function(){Fa.point=Gt,Fa.lineStart=Kt,Fa.lineEnd=Qt}};to.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),to.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return La=0,to.geo.stream(n,i(ja)),La},n.centroid=function(n){return xa=Ma=_a=ba=wa=Sa=ka=Na=Ea=0,to.geo.stream(n,i(Fa)),Ea?[ka/Ea,Na/Ea]:Sa?[ba/Sa,wa/Sa]:_a?[xa/_a,Ma/_a]:[NaN,NaN]},n.bounds=function(n){return Da=Pa=-(Ta=Ra=1/0),to.geo.stream(n,i(Ua)),[[Ta,Ra],[Da,Pa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(to.geo.albersUsa()).context(null)},to.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},to.geo.projection=oe,to.geo.projectionMutator=ae,(to.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,to.geo.rotation=function(n){function t(t){return t=n(t[0]*Do,t[1]*Do),t[0]*=Po,t[1]*=Po,t}return n=se(n[0]%360*Do,n[1]*Do,n.length>2?n[2]*Do:0),t.invert=function(t){return t=n.invert(t[0]*Do,t[1]*Do),t[0]*=Po,t[1]*=Po,t},t},fe.invert=ce,to.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Do,-n[1]*Do,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Po,n[1]*=Po}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=de((t=+r)*Do,i*Do),n):t},n.precision=function(r){return arguments.length?(e=de(t*Do,(i=+r)*Do),n):i},n.angle(90)},to.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Do,i=n[1]*Do,u=t[1]*Do,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},to.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return to.range(Math.ceil(u/v)*v,i,v).map(h).concat(to.range(Math.ceil(c/y)*y,l,y).map(p)).concat(to.range(Math.ceil(r/g)*g,e,g).filter(function(n){return so(n%v)>Co}).map(f)).concat(to.range(Math.ceil(a/d)*d,o,d).filter(function(n){return so(n%y)>Co}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,d=g,v=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(v=+t[0],y=+t[1],n):[v,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],d=+t[1],n):[g,d]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Co],[180,90-Co]]).minorExtent([[-180,-80-Co],[180,80+Co]])},to.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=xe,i=Me;return n.distance=function(){return to.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},to.geo.interpolate=function(n,t){return _e(n[0]*Do,n[1]*Do,t[0]*Do,t[1]*Do)},to.geo.length=function(n){return Ha=0,to.geo.stream(n,Oa),Ha};var Ha,Oa={sphere:_,point:_,lineStart:be,lineEnd:_,polygonStart:_,polygonEnd:_},Ya=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(to.geo.azimuthalEqualArea=function(){return oe(Ya)}).raw=Ya;var Ia=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(to.geo.azimuthalEquidistant=function(){return oe(Ia)}).raw=Ia,(to.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(to.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var Za=we(function(n){return 1/n},Math.atan);(to.geo.gnomonic=function(){return oe(Za)}).raw=Za,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ro]},(to.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var Va=we(function(){return 1},Math.asin);(to.geo.orthographic=function(){return oe(Va)}).raw=Va;var Xa=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(to.geo.stereographic=function(){return oe(Xa)}).raw=Xa,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ro]},(to.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,to.geom={},to.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;t=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[]).point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Co)*Co,y:Math.round(o(n,t)/Co)*Co,i:t}})}var r=Ce,i=ze,u=r,o=i,a=tl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u=e.site,o=e.edges.sort(Ve),a=-1,l=o.length,c=o[l-1].edge,f=c.l===u?c.r:c.l;++a=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]={leaf:!0,nodes:[],point:null,x:null,y:null}),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,d,v,y,m,x=En(a),M=En(l);if(null!=t)d=t,v=e,y=r,m=i;else if(y=m=-(d=v=1/0),s=[],h=[],g=n.length,o)for(p=0;py&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;py&&(y=_),b>m&&(m=b),s.push(_),h.push(b)}var w=y-d,S=m-v;w>S?m=v+w:y=d+S;var k={leaf:!0,nodes:[],point:null,x:null,y:null};if(k.add=function(n){u(k,n,+x(n,++p),+M(n,p),d,v,y,m)},k.visit=function(n){hr(n,k,d,v,y,m)},k.find=function(n){return pr(k,n[0],n[1],d,v,y,m)},p=-1,null==t){for(;++p=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=ul.get(e)||il,r=ol.get(r)||m,Mr(r(e.apply(null,eo.call(arguments,1))))},to.interpolateHcl=Tr,to.interpolateHsl=Rr,to.interpolateLab=Dr,to.interpolateRound=Pr,to.transform=function(n){var t=io.createElementNS(to.ns.prefix.svg,"g");return(to.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:al)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var al={a:1,b:0,c:0,d:1,e:0,f:0};to.interpolateTransform=Xr,to.layout={},to.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;l=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return ui(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=li,e=oi,r=ai;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ii(t,function(n){n.children&&(n.value=0)}),ui(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},to.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++ca&&(a=r),o.push(r)}for(e=0;e0)for(u=-1;++u=f[0]&&a<=f[1]&&((o=l[to.bisect(s,a,1,p)-1]).y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=Mi,i=mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},to.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,ui(a,function(n){n.r=+f(n.value)}),ui(a,ki),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;ui(a,function(n){n.r+=s}),ui(a,ki),ui(a,function(n){n.r-=s})}return Ai(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=to.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ri(n,e)},to.layout.tree=function(){function n(n,r){var u=M.call(this,n,r),o=t(u[0]);return N=o,e(o,0),i(o),g(o,0),m(o),u}function t(n){var e={t:n,prelim:0,mod:0,shift:0,change:0,msel:0,mser:0};if(n.x=0,n.y=0,w)e.x_size=1,e.y_size=1;else if("object"==typeof S)e.x_size=S[0],e.y_size=S[1];else{var r=S(n);e.x_size=r[0],e.y_size=r[1]}k&&(n.x_size=e.x_size,n.y_size=e.y_size);for(var i=[],u=n.children?n.children.length:0,o=0;oe.lowY&&(e=e.nxt);var p=i+r.prelim-(o+u.prelim);null!=_?p+=_(r.t,u.t)*N.x_size:null!=b&&(p+=r.x_size/2+u.x_size/2+b(r.t,u.t)),p>0?(o+=p,a(n,t,e.index,p)):1===t&&0===o&&0===r.num_children&&u.num_children>1&&p<0&&(o+=p,a(n,t,e.index,p));var g=f(r),d=f(u);g<=d&&null!=(r=c(r))&&(i+=r.mod),g>=d&&null!=(u=l(u))&&(o+=u.mod)}null==r&&null!=u?s(n,t,u,o):null!=r&&null==u&&h(n,t,r,i)}function a(n,t,e,r){n.children[t].mod+=r,n.children[t].msel+=r,n.children[t].mser+=r,d(n,t,e,r)}function l(n){return 0==n.num_children?n.tl:n.children[0]}function c(n){return 0==n.num_children?n.tr:n.children[n.num_children-1]}function f(n){return n.t.y+n.y_size}function s(n,t,e,r){var i=n.children[0].el;i.tl=e;var u=r-e.mod-n.children[0].msel;i.mod+=u,i.prelim-=u,n.children[0].el=n.children[t].el,n.children[0].msel=n.children[t].msel}function h(n,t,e,r){var i=n.children[t].er;i.tr=e;var u=r-e.mod-n.children[t].mser;i.mod+=u,i.prelim-=u,n.children[t].er=n.children[t-1].er,n.children[t].mser=n.children[t-1].mser}function p(n){n.prelim=(n.children[0].prelim+n.children[0].mod-n.children[0].x_size/2+n.children[n.num_children-1].mod+n.children[n.num_children-1].prelim+n.children[n.num_children-1].x_size/2)/2}function g(n,t){t+=n.mod,n.t.x=n.prelim+t,v(n);for(var e=0;e=e.lowY;)e=e.nxt;return{lowY:n,index:t,nxt:e}}function m(n){if(null!=w){for(var t,e=n,r=n,i=n,u=[n];t=u.pop();)(f=t.t).xr.t.x&&(r=t),f.depth>i.t.depth&&(i=t),t.children&&(u=u.concat(t.children));var o=null==_?.5:_(e.t,r.t)/2,a=o-e.t.x,l=w[0]/(r.t.x+o+a),c=w[1]/(i.t.depth>0?i.t.depth:1);for(u=[n];t=u.pop();){var f=t.t;f.x=(f.x+a)*l,f.y=f.depth*c,k&&(f.x_size*=l,f.y_size*=c),t.children&&(u=u.concat(t.children))}}else x(n,-n.t.x)}function x(n,t){n.t.x+=t;for(var e=0;e0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,d))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,d,c,!1),d=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,d,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++oi&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0;if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++ue.dx)&&(f=e.dx);++u1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=to.random.normal.apply(to,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=to.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;es?0:1;if(c=To)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,d,v,y,m,x,M,_,b,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(v=u===bl?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(v/c*Math.sin(y))),n&&(N=tn(v/n*Math.sin(y)))),c){m=c*Math.cos(f+E),x=c*Math.sin(f+E),M=c*Math.cos(s-E),_=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Lo?0:1;if(E&&su(m,x,M,_)===p^C){var z=(f+s)/2;m=c*Math.cos(z),x=c*Math.sin(z),M=_=null}}else m=x=0;if(n){b=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Lo?0:1;if(N&&su(b,w,S,k)===1-p^L){var q=(f+s)/2;b=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else b=w=0;if(h>Co&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){d=nLo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=xe,o=Me,a=Pu,l=lu,c=cu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},to.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=xe,e=Me,r=ju;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},to.svg.diagonal.radial=function(){var n=to.svg.diagonal(),t=ju,e=n.projection;return n.projection=function(n){return arguments.length?e(Uu(t=n)):t},n},to.svg.symbol=function(){function n(n,r){return(El.get(t.call(this,n,r))||Ou)(e.call(this,n,r))}var t=Hu,e=Fu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var El=to.map({circle:Ou,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cl)),e=t*Cl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Al),e=t*Al/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Al),e=t*Al/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});to.svg.symbolTypes=El.keys();var Al=Math.sqrt(3),Cl=Math.tan(30*Do);_o.transition=function(n){for(var t,e,r=zl||++Rl,i=Xu(n),u=[],o=Ll||{time:Date.now(),ease:kr,delay:0,duration:250},a=-1,l=this.length;++arect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==to.event.keyCode&&(C||(x=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function d(){32==to.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function v(){var n=to.mouse(_),t=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(to.event.altKey?(x||(x=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]1)for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:{};return u.default.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(t={onlyLeaves:!1,circularReference:"leaf",search:"dfsPreOrder",iterateOverObject:!0,skipIteration:function(){return!1}},void 0!==o.onlyLeaves&&(t.onlyLeaves=o.onlyLeaves),void 0!==o.circularReference&&(t.circularReference=o.circularReference),void 0!==o.iterateOverObject&&(t.iterateOverObject=o.iterateOverObject),void 0!==o.skipIteration&&(t.skipIteration=o.skipIteration),void 0===o.search){i.next=9;break}if(o.search in s){i.next=8;break}throw new Error("The search algorithm "+o.search+" is incorrect.");case 8:t.search=o.search;case 9:return r=new l.default(e,t),n=(0,d.default)(t.circularReference),i.delegateYield(s[t.search](r,t.onlyLeaves,n),"t0",12);case 12:case"end":return i.stop()}},_[0],this)}Object.defineProperty(r,"__esModule",{value:!0});var a=e("babel-runtime/regenerator"),u=o(a);r.default=i;var c=e("./search"),s=n(c),f=e("./root-node"),l=o(f),p=e("./seen"),d=o(p),_=[i].map(u.default.mark)},{"./root-node":5,"./search":6,"./seen":7,"babel-runtime/regenerator":115}],3:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t;return l.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:r.t0=l.default.keys(e);case 1:if((r.t1=r.t0()).done){r.next=7;break}return t=r.t1.value,r.next=5,[t,e[t]];case 5:r.next=1;break;case 7:case"end":return r.stop()}},p[0],this)}function i(e){var t;return l.default.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:t=0;case 1:if(!(tf;)if(u=c[f++],u!=u)return!0}else for(;s>f;f++)if((e||f in c)&&c[f]===r)return e||f||0;return!e&&-1}}},{"./_to-index":88,"./_to-iobject":90,"./_to-length":91}],39:[function(e,t,r){var n=e("./_cof"),o=e("./_wks")("toStringTag"),i="Arguments"==n(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};t.exports=function(e){var t,r,u;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=a(t=Object(e),o))?r:i?n(t):"Object"==(u=n(t))&&"function"==typeof t.callee?"Arguments":u}},{"./_cof":40,"./_wks":97}],40:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],41:[function(e,t,r){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},{}],42:[function(e,t,r){"use strict";var n=e("./_object-dp"),o=e("./_property-desc");t.exports=function(e,t,r){t in e?n.f(e,t,o(0,r)):e[t]=r}},{"./_object-dp":70,"./_property-desc":81}],43:[function(e,t,r){var n=e("./_a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":35}],44:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],45:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":50}],46:[function(e,t,r){var n=e("./_is-object"),o=e("./_global").document,i=n(o)&&n(o.createElement);t.exports=function(e){return i?o.createElement(e):{}}},{"./_global":51,"./_is-object":59}],47:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],48:[function(e,t,r){var n=e("./_object-keys"),o=e("./_object-gops"),i=e("./_object-pie");t.exports=function(e){var t=n(e),r=o.f;if(r)for(var a,u=r(e),c=i.f,s=0;u.length>s;)c.call(e,a=u[s++])&&t.push(a);return t}},{"./_object-gops":75,"./_object-keys":78,"./_object-pie":79}],49:[function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_ctx"),a=e("./_hide"),u="prototype",c=function(e,t,r){var s,f,l,p=e&c.F,d=e&c.G,_=e&c.S,b=e&c.P,h=e&c.B,y=e&c.W,v=d?o:o[t]||(o[t]={}),m=v[u],g=d?n:_?n[t]:(n[t]||{})[u];d&&(r=t);for(s in r)f=!p&&g&&void 0!==g[s],f&&s in v||(l=f?g[s]:r[s],v[s]=d&&"function"!=typeof g[s]?r[s]:h&&f?i(l,n):y&&g[s]==l?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t[u]=e[u],t}(l):b&&"function"==typeof l?i(Function.call,l):l,b&&((v.virtual||(v.virtual={}))[s]=l,e&c.R&&m&&!m[s]&&a(m,s,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},{"./_core":41,"./_ctx":43,"./_global":51,"./_hide":53}],50:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],51:[function(e,t,r){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],52:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],53:[function(e,t,r){var n=e("./_object-dp"),o=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":45,"./_object-dp":70,"./_property-desc":81}],54:[function(e,t,r){t.exports=e("./_global").document&&document.documentElement},{"./_global":51}],55:[function(e,t,r){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":45,"./_dom-create":46,"./_fails":50}],56:[function(e,t,r){var n=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},{"./_cof":40}],57:[function(e,t,r){var n=e("./_iterators"),o=e("./_wks")("iterator"),i=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||i[o]===e)}},{"./_iterators":65,"./_wks":97}],58:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":40}],59:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],60:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,o){try{return o?t(n(r)[0],r[1]):t(r)}catch(t){var i=e.return;throw void 0!==i&&n(i.call(e)),t}}},{"./_an-object":37}],61:[function(e,t,r){"use strict";var n=e("./_object-create"),o=e("./_property-desc"),i=e("./_set-to-string-tag"),a={};e("./_hide")(a,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(a,{next:o(1,r)}),i(e,t+" Iterator")}},{"./_hide":53,"./_object-create":69,"./_property-desc":81,"./_set-to-string-tag":84,"./_wks":97}],62:[function(e,t,r){"use strict";var n=e("./_library"),o=e("./_export"),i=e("./_redefine"),a=e("./_hide"),u=e("./_has"),c=e("./_iterators"),s=e("./_iter-create"),f=e("./_set-to-string-tag"),l=e("./_object-gpo"),p=e("./_wks")("iterator"),d=!([].keys&&"next"in[].keys()),_="@@iterator",b="keys",h="values",y=function(){return this};t.exports=function(e,t,r,v,m,g,j){s(r,t,v);var w,x,k,O=function(e){if(!d&&e in M)return M[e];switch(e){case b:return function(){return new r(this,e)};case h:return function(){return new r(this,e)}}return function(){return new r(this,e)}},E=t+" Iterator",S=m==h,L=!1,M=e.prototype,A=M[p]||M[_]||m&&M[m],P=A||O(m),T=m?S?O("entries"):P:void 0,F="Array"==t?M.entries||A:A;if(F&&(k=l(F.call(new e)),k!==Object.prototype&&(f(k,E,!0),n||u(k,p)||a(k,p,y))),S&&A&&A.name!==h&&(L=!0,P=function(){return A.call(this)}),n&&!j||!d&&!L&&M[p]||a(M,p,P),c[t]=P,c[E]=y,m)if(w={values:S?P:O(h),keys:g?P:O(b),entries:T},j)for(x in w)x in M||i(M,x,w[x]);else o(o.P+o.F*(d||L),t,w);return w}},{"./_export":49,"./_has":52,"./_hide":53,"./_iter-create":61,"./_iterators":65,"./_library":67,"./_object-gpo":76,"./_redefine":82,"./_set-to-string-tag":84,"./_wks":97}],63:[function(e,t,r){var n=e("./_wks")("iterator"),o=!1;try{var i=[7][n]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var i=[7],a=i[n]();a.next=function(){return{done:r=!0}},i[n]=function(){return a},e(i)}catch(e){}return r}},{"./_wks":97}],64:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],65:[function(e,t,r){t.exports={}},{}],66:[function(e,t,r){var n=e("./_object-keys"),o=e("./_to-iobject");t.exports=function(e,t){for(var r,i=o(e),a=n(i),u=a.length,c=0;u>c;)if(i[r=a[c++]]===t)return r}},{"./_object-keys":78,"./_to-iobject":90}],67:[function(e,t,r){t.exports=!0},{}],68:[function(e,t,r){var n=e("./_uid")("meta"),o=e("./_is-object"),i=e("./_has"),a=e("./_object-dp").f,u=0,c=Object.isExtensible||function(){return!0},s=!e("./_fails")(function(){return c(Object.preventExtensions({}))}),f=function(e){a(e,n,{value:{i:"O"+ ++u,w:{}}})},l=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!c(e))return"F";if(!t)return"E";f(e)}return e[n].i},p=function(e,t){if(!i(e,n)){if(!c(e))return!0;if(!t)return!1;f(e)}return e[n].w},d=function(e){return s&&_.NEED&&c(e)&&!i(e,n)&&f(e),e},_=t.exports={KEY:n,NEED:!1,fastKey:l,getWeak:p,onFreeze:d}},{"./_fails":50,"./_has":52,"./_is-object":59,"./_object-dp":70,"./_uid":94}],69:[function(e,t,r){var n=e("./_an-object"),o=e("./_object-dps"),i=e("./_enum-bug-keys"),a=e("./_shared-key")("IE_PROTO"),u=function(){},c="prototype",s=function(){var t,r=e("./_dom-create")("iframe"),n=i.length,o="<",a=">";for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",t=r.contentWindow.document,t.open(),t.write(o+"script"+a+"document.F=Object"+o+"/script"+a),t.close(),s=t.F;n--;)delete s[c][i[n]];return s()};t.exports=Object.create||function(e,t){var r;return null!==e?(u[c]=n(e),r=new u,u[c]=null,r[a]=e):r=s(),void 0===t?r:o(r,t)}},{"./_an-object":37,"./_dom-create":46,"./_enum-bug-keys":47,"./_html":54,"./_object-dps":71,"./_shared-key":85}],70:[function(e,t,r){var n=e("./_an-object"),o=e("./_ie8-dom-define"),i=e("./_to-primitive"),a=Object.defineProperty;r.f=e("./_descriptors")?Object.defineProperty:function(e,t,r){if(n(e),t=i(t,!0),n(r),o)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(e[t]=r.value),e}},{"./_an-object":37,"./_descriptors":45,"./_ie8-dom-define":55,"./_to-primitive":93}],71:[function(e,t,r){var n=e("./_object-dp"),o=e("./_an-object"),i=e("./_object-keys");t.exports=e("./_descriptors")?Object.defineProperties:function(e,t){o(e);for(var r,a=i(t),u=a.length,c=0;u>c;)n.f(e,r=a[c++],t[r]);return e}},{"./_an-object":37,"./_descriptors":45,"./_object-dp":70,"./_object-keys":78}],72:[function(e,t,r){ +var n=e("./_object-pie"),o=e("./_property-desc"),i=e("./_to-iobject"),a=e("./_to-primitive"),u=e("./_has"),c=e("./_ie8-dom-define"),s=Object.getOwnPropertyDescriptor;r.f=e("./_descriptors")?s:function(e,t){if(e=i(e),t=a(t,!0),c)try{return s(e,t)}catch(e){}if(u(e,t))return o(!n.f.call(e,t),e[t])}},{"./_descriptors":45,"./_has":52,"./_ie8-dom-define":55,"./_object-pie":79,"./_property-desc":81,"./_to-iobject":90,"./_to-primitive":93}],73:[function(e,t,r){var n=e("./_to-iobject"),o=e("./_object-gopn").f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(e){try{return o(e)}catch(e){return a.slice()}};t.exports.f=function(e){return a&&"[object Window]"==i.call(e)?u(e):o(n(e))}},{"./_object-gopn":74,"./_to-iobject":90}],74:[function(e,t,r){var n=e("./_object-keys-internal"),o=e("./_enum-bug-keys").concat("length","prototype");r.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},{"./_enum-bug-keys":47,"./_object-keys-internal":77}],75:[function(e,t,r){r.f=Object.getOwnPropertySymbols},{}],76:[function(e,t,r){var n=e("./_has"),o=e("./_to-object"),i=e("./_shared-key")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(e){return e=o(e),n(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},{"./_has":52,"./_shared-key":85,"./_to-object":92}],77:[function(e,t,r){var n=e("./_has"),o=e("./_to-iobject"),i=e("./_array-includes")(!1),a=e("./_shared-key")("IE_PROTO");t.exports=function(e,t){var r,u=o(e),c=0,s=[];for(r in u)r!=a&&n(u,r)&&s.push(r);for(;t.length>c;)n(u,r=t[c++])&&(~i(s,r)||s.push(r));return s}},{"./_array-includes":38,"./_has":52,"./_shared-key":85,"./_to-iobject":90}],78:[function(e,t,r){var n=e("./_object-keys-internal"),o=e("./_enum-bug-keys");t.exports=Object.keys||function(e){return n(e,o)}},{"./_enum-bug-keys":47,"./_object-keys-internal":77}],79:[function(e,t,r){r.f={}.propertyIsEnumerable},{}],80:[function(e,t,r){var n=e("./_export"),o=e("./_core"),i=e("./_fails");t.exports=function(e,t){var r=(o.Object||{})[e]||Object[e],a={};a[e]=t(r),n(n.S+n.F*i(function(){r(1)}),"Object",a)}},{"./_core":41,"./_export":49,"./_fails":50}],81:[function(e,t,r){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],82:[function(e,t,r){t.exports=e("./_hide")},{"./_hide":53}],83:[function(e,t,r){var n=e("./_is-object"),o=e("./_an-object"),i=function(e,t){if(o(e),!n(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,r,n){try{n=e("./_ctx")(Function.call,e("./_object-gopd").f(Object.prototype,"__proto__").set,2),n(t,[]),r=!(t instanceof Array)}catch(e){r=!0}return function(e,t){return i(e,t),r?e.__proto__=t:n(e,t),e}}({},!1):void 0),check:i}},{"./_an-object":37,"./_ctx":43,"./_is-object":59,"./_object-gopd":72}],84:[function(e,t,r){var n=e("./_object-dp").f,o=e("./_has"),i=e("./_wks")("toStringTag");t.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},{"./_has":52,"./_object-dp":70,"./_wks":97}],85:[function(e,t,r){var n=e("./_shared")("keys"),o=e("./_uid");t.exports=function(e){return n[e]||(n[e]=o(e))}},{"./_shared":86,"./_uid":94}],86:[function(e,t,r){var n=e("./_global"),o="__core-js_shared__",i=n[o]||(n[o]={});t.exports=function(e){return i[e]||(i[e]={})}},{"./_global":51}],87:[function(e,t,r){var n=e("./_to-integer"),o=e("./_defined");t.exports=function(e){return function(t,r){var i,a,u=String(o(t)),c=n(r),s=u.length;return c<0||c>=s?e?"":void 0:(i=u.charCodeAt(c),i<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?e?u.charAt(c):i:e?u.slice(c,c+2):(i-55296<<10)+(a-56320)+65536)}}},{"./_defined":44,"./_to-integer":89}],88:[function(e,t,r){var n=e("./_to-integer"),o=Math.max,i=Math.min;t.exports=function(e,t){return e=n(e),e<0?o(e+t,0):i(e,t)}},{"./_to-integer":89}],89:[function(e,t,r){var n=Math.ceil,o=Math.floor;t.exports=function(e){return isNaN(e=+e)?0:(e>0?o:n)(e)}},{}],90:[function(e,t,r){var n=e("./_iobject"),o=e("./_defined");t.exports=function(e){return n(o(e))}},{"./_defined":44,"./_iobject":56}],91:[function(e,t,r){var n=e("./_to-integer"),o=Math.min;t.exports=function(e){return e>0?o(n(e),9007199254740991):0}},{"./_to-integer":89}],92:[function(e,t,r){var n=e("./_defined");t.exports=function(e){return Object(n(e))}},{"./_defined":44}],93:[function(e,t,r){var n=e("./_is-object");t.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},{"./_is-object":59}],94:[function(e,t,r){var n=0,o=Math.random();t.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+o).toString(36))}},{}],95:[function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_library"),a=e("./_wks-ext"),u=e("./_object-dp").f;t.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||u(t,e,{value:a.f(e)})}},{"./_core":41,"./_global":51,"./_library":67,"./_object-dp":70,"./_wks-ext":96}],96:[function(e,t,r){r.f=e("./_wks")},{"./_wks":97}],97:[function(e,t,r){var n=e("./_shared")("wks"),o=e("./_uid"),i=e("./_global").Symbol,a="function"==typeof i,u=t.exports=function(e){return n[e]||(n[e]=a&&i[e]||(a?i:o)("Symbol."+e))};u.store=n},{"./_global":51,"./_shared":86,"./_uid":94}],98:[function(e,t,r){var n=e("./_classof"),o=e("./_wks")("iterator"),i=e("./_iterators");t.exports=e("./_core").getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[n(e)]}},{"./_classof":39,"./_core":41,"./_iterators":65,"./_wks":97}],99:[function(e,t,r){var n=e("./_an-object"),o=e("./core.get-iterator-method");t.exports=e("./_core").getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return n(t.call(e))}},{"./_an-object":37,"./_core":41,"./core.get-iterator-method":98}],100:[function(e,t,r){var n=e("./_classof"),o=e("./_wks")("iterator"),i=e("./_iterators");t.exports=e("./_core").isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||i.hasOwnProperty(n(t))}},{"./_classof":39,"./_core":41,"./_iterators":65,"./_wks":97}],101:[function(e,t,r){"use strict";var n=e("./_ctx"),o=e("./_export"),i=e("./_to-object"),a=e("./_iter-call"),u=e("./_is-array-iter"),c=e("./_to-length"),s=e("./_create-property"),f=e("./core.get-iterator-method");o(o.S+o.F*!e("./_iter-detect")(function(e){Array.from(e)}),"Array",{from:function(e){var t,r,o,l,p=i(e),d="function"==typeof this?this:Array,_=arguments.length,b=_>1?arguments[1]:void 0,h=void 0!==b,y=0,v=f(p);if(h&&(b=n(b,_>2?arguments[2]:void 0,2)),void 0==v||d==Array&&u(v))for(t=c(p.length),r=new d(t);t>y;y++)s(r,y,h?b(p[y],y):p[y]);else for(l=v.call(p),r=new d;!(o=l.next()).done;y++)s(r,y,h?a(l,b,[o.value,y],!0):o.value);return r.length=y,r}})},{"./_create-property":42,"./_ctx":43,"./_export":49,"./_is-array-iter":57,"./_iter-call":60,"./_iter-detect":63,"./_to-length":91,"./_to-object":92,"./core.get-iterator-method":98}],102:[function(e,t,r){"use strict";var n=e("./_add-to-unscopables"),o=e("./_iter-step"),i=e("./_iterators"),a=e("./_to-iobject");t.exports=e("./_iter-define")(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,r=this._i++;return!e||r>=e.length?(this._t=void 0,o(1)):"keys"==t?o(0,r):"values"==t?o(0,e[r]):o(0,[r,e[r]])},"values"),i.Arguments=i.Array,n("keys"),n("values"),n("entries")},{"./_add-to-unscopables":36,"./_iter-define":62,"./_iter-step":64,"./_iterators":65,"./_to-iobject":90}],103:[function(e,t,r){var n=e("./_export");n(n.S,"Object",{create:e("./_object-create")})},{"./_export":49,"./_object-create":69}],104:[function(e,t,r){var n=e("./_export");n(n.S+n.F*!e("./_descriptors"),"Object",{defineProperty:e("./_object-dp").f})},{"./_descriptors":45,"./_export":49,"./_object-dp":70}],105:[function(e,t,r){var n=e("./_to-object"),o=e("./_object-gpo");e("./_object-sap")("getPrototypeOf",function(){return function(e){return o(n(e))}})},{"./_object-gpo":76,"./_object-sap":80,"./_to-object":92}],106:[function(e,t,r){var n=e("./_export");n(n.S,"Object",{setPrototypeOf:e("./_set-proto").set})},{"./_export":49,"./_set-proto":83}],107:[function(e,t,r){},{}],108:[function(e,t,r){"use strict";var n=e("./_string-at")(!0);e("./_iter-define")(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,r=this._i;return r>=t.length?{value:void 0,done:!0}:(e=n(t,r),this._i+=e.length,{value:e,done:!1})})},{"./_iter-define":62,"./_string-at":87}],109:[function(e,t,r){"use strict";var n=e("./_global"),o=e("./_has"),i=e("./_descriptors"),a=e("./_export"),u=e("./_redefine"),c=e("./_meta").KEY,s=e("./_fails"),f=e("./_shared"),l=e("./_set-to-string-tag"),p=e("./_uid"),d=e("./_wks"),_=e("./_wks-ext"),b=e("./_wks-define"),h=e("./_keyof"),y=e("./_enum-keys"),v=e("./_is-array"),m=e("./_an-object"),g=e("./_to-iobject"),j=e("./_to-primitive"),w=e("./_property-desc"),x=e("./_object-create"),k=e("./_object-gopn-ext"),O=e("./_object-gopd"),E=e("./_object-dp"),S=e("./_object-keys"),L=O.f,M=E.f,A=k.f,P=n.Symbol,T=n.JSON,F=T&&T.stringify,I="prototype",C=d("_hidden"),N=d("toPrimitive"),R={}.propertyIsEnumerable,G=f("symbol-registry"),D=f("symbols"),U=f("op-symbols"),Y=Object[I],W="function"==typeof P,B=n.QObject,q=!B||!B[I]||!B[I].findChild,J=i&&s(function(){return 7!=x(M({},"a",{get:function(){return M(this,"a",{value:7}).a}})).a})?function(e,t,r){var n=L(Y,t);n&&delete Y[t],M(e,t,r),n&&e!==Y&&M(Y,t,n)}:M,K=function(e){var t=D[e]=x(P[I]);return t._k=e,t},z=W&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},Q=function(e,t,r){return e===Y&&Q(U,t,r),m(e),t=j(t,!0),m(r),o(D,t)?(r.enumerable?(o(e,C)&&e[C][t]&&(e[C][t]=!1),r=x(r,{enumerable:w(0,!1)})):(o(e,C)||M(e,C,w(1,{})),e[C][t]=!0),J(e,t,r)):M(e,t,r)},H=function(e,t){m(e);for(var r,n=y(t=g(t)),o=0,i=n.length;i>o;)Q(e,r=n[o++],t[r]);return e},V=function(e,t){return void 0===t?x(e):H(x(e),t)},X=function(e){var t=R.call(this,e=j(e,!0));return!(this===Y&&o(D,e)&&!o(U,e))&&(!(t||!o(this,e)||!o(D,e)||o(this,C)&&this[C][e])||t)},Z=function(e,t){if(e=g(e),t=j(t,!0),e!==Y||!o(D,t)||o(U,t)){var r=L(e,t);return!r||!o(D,t)||o(e,C)&&e[C][t]||(r.enumerable=!0),r}},$=function(e){for(var t,r=A(g(e)),n=[],i=0;r.length>i;)o(D,t=r[i++])||t==C||t==c||n.push(t);return n},ee=function(e){for(var t,r=e===Y,n=A(r?U:g(e)),i=[],a=0;n.length>a;)!o(D,t=n[a++])||r&&!o(Y,t)||i.push(D[t]);return i};W||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(r){this===Y&&t.call(U,r),o(this,C)&&o(this[C],e)&&(this[C][e]=!1),J(this,e,w(1,r))};return i&&q&&J(Y,e,{configurable:!0,set:t}),K(e)},u(P[I],"toString",function(){return this._k}),O.f=Z,E.f=Q,e("./_object-gopn").f=k.f=$,e("./_object-pie").f=X,e("./_object-gops").f=ee,i&&!e("./_library")&&u(Y,"propertyIsEnumerable",X,!0),_.f=function(e){return K(d(e))}),a(a.G+a.W+a.F*!W,{Symbol:P});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;te.length>re;)d(te[re++]);for(var te=S(d.store),re=0;te.length>re;)b(te[re++]);a(a.S+a.F*!W,"Symbol",{for:function(e){return o(G,e+="")?G[e]:G[e]=P(e)},keyFor:function(e){if(z(e))return h(G,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!W,"Object",{create:V,defineProperty:Q,defineProperties:H,getOwnPropertyDescriptor:Z,getOwnPropertyNames:$,getOwnPropertySymbols:ee}),T&&a(a.S+a.F*(!W||s(function(){var e=P();return"[null]"!=F([e])||"{}"!=F({a:e})||"{}"!=F(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!z(e)){for(var t,r,n=[e],o=1;arguments.length>o;)n.push(arguments[o++]);return t=n[1],"function"==typeof t&&(r=t),!r&&v(t)||(t=function(e,t){if(r&&(t=r.call(this,e,t)),!z(t))return t}),n[1]=t,F.apply(T,n)}}}),P[I][N]||e("./_hide")(P[I],N,P[I].valueOf),l(P,"Symbol"),l(Math,"Math",!0),l(n.JSON,"JSON",!0)},{"./_an-object":37,"./_descriptors":45,"./_enum-keys":48,"./_export":49,"./_fails":50,"./_global":51,"./_has":52,"./_hide":53,"./_is-array":58,"./_keyof":66,"./_library":67,"./_meta":68,"./_object-create":69,"./_object-dp":70,"./_object-gopd":72,"./_object-gopn":74,"./_object-gopn-ext":73,"./_object-gops":75,"./_object-keys":78,"./_object-pie":79,"./_property-desc":81,"./_redefine":82,"./_set-to-string-tag":84,"./_shared":86,"./_to-iobject":90,"./_to-primitive":93,"./_uid":94,"./_wks":97,"./_wks-define":95,"./_wks-ext":96}],110:[function(e,t,r){e("./_wks-define")("asyncIterator")},{"./_wks-define":95}],111:[function(e,t,r){e("./_wks-define")("observable")},{"./_wks-define":95}],112:[function(e,t,r){e("./es6.array.iterator");for(var n=e("./_global"),o=e("./_hide"),i=e("./_iterators"),a=e("./_wks")("toStringTag"),u=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],c=0;c<5;c++){var s=u[c],f=n[s],l=f&&f.prototype;l&&!l[a]&&o(l,a,s),i[s]=i.Array}},{"./_global":51,"./_hide":53,"./_iterators":65,"./_wks":97,"./es6.array.iterator":102}],113:[function(e,t,r){(function(r){var n="object"==typeof r?r:"object"==typeof window?window:"object"==typeof self?self:this,o=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,i=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,t.exports=e("./runtime"),o)n.regeneratorRuntime=i;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./runtime":114}],114:[function(e,t,r){(function(e,r){!function(r){"use strict";function n(e,t,r,n){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),u=new _(n||[]);return a._invoke=f(e,r,u),a}function o(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function i(){}function a(){}function u(){}function c(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function s(t){function r(e,n,i,a){var u=o(t[e],t,n);if("throw"!==u.type){var c=u.arg,s=c.value;return s&&"object"==typeof s&&m.call(s,"__await")?Promise.resolve(s.__await).then(function(e){r("next",e,i,a)},function(e){r("throw",e,i,a)}):Promise.resolve(s).then(function(e){c.value=e,i(c)},a)}a(u.arg)}function n(e,t){function n(){return new Promise(function(n,o){r(e,t,n,o)})}return i=i?i.then(n,n):n()}"object"==typeof e&&e.domain&&(r=e.domain.bind(r));var i;this._invoke=n}function f(e,t,r){var n=O;return function(i,a){if(n===S)throw new Error("Generator is already running");if(n===L){if("throw"===i)throw a;return h()}for(r.method=i,r.arg=a;;){var u=r.delegate;if(u){var c=l(u,r);if(c){if(c===M)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===O)throw n=L,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=S;var s=o(e,t,r);if("normal"===s.type){if(n=r.done?L:E,s.arg===M)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n=L,r.method="throw",r.arg=s.arg)}}}function l(e,t){var r=e.iterator[t.method];if(r===y){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=y,l(e,t),"throw"===t.method))return M;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return M}var n=o(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,M;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=y),t.delegate=null,M):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,M)}function p(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(p,this),this.reset(!0)}function b(e){if(e){var t=e[j];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=m.call(o,"catchLoc"),u=m.call(o,"finallyLoc");if(a&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&m.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),d(r),M}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;d(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:b(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=y),M}}}("object"==typeof r?r:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:1}],115:[function(e,t,r){t.exports=e("regenerator-runtime")},{"regenerator-runtime":113}]},{},[2])(2)}); diff --git a/documentation/js/libs/es6-shim.min.js b/documentation/js/libs/es6-shim.min.js new file mode 100644 index 0000000000..243e880fd8 --- /dev/null +++ b/documentation/js/libs/es6-shim.min.js @@ -0,0 +1,12 @@ +/*! + * https://github.com/paulmillr/es6-shim + * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) + * and contributors, MIT License + * es6-shim: v0.35.4 + * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE + * Details and documentation: + * https://github.com/paulmillr/es6-shim/ + */ +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.join);var A=Function.call.bind(Array.prototype.shift);var _=Math.max;var R=Math.min;var k=Math.floor;var L=Math.abs;var F=Math.exp;var D=Math.log;var z=Math.sqrt;var q=Function.call.bind(Object.prototype.hasOwnProperty);var W;var G=function(){};var H=S.Map;var V=H&&H.prototype["delete"];var B=H&&H.prototype.get;var U=H&&H.prototype.has;var $=H&&H.prototype.set;var J=S.Symbol||{};var X=J.species||"@@species";var K=Number.isNaN||function isNaN(e){return e!==e};var Z=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Y=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(K(t)){return t}return t<0?-1:1};var Q=function log1p(e){var t=Number(e);if(t<-1||K(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(D(1+t)/(1+t-1))};var ee=function isArguments(e){return g(e)==="[object Arguments]"};var te=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var re=ee(arguments)?ee:te;var ne={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var oe=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var ie=typeof J==="function"&&typeof J["for"]==="function"&&ne.symbol(J());var ae=ne.symbol(J.iterator)?J.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ae="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ue=S.Reflect;var fe=String;var se=typeof document==="undefined"||!document?null:document.all;var ce=se==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==se};var le={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!le.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(ce(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===se},ToObject:function(e,t){return Object(le.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return le.IsCallable(e)},ToInt32:function(e){return le.ToNumber(e)>>0},ToUint32:function(e){return le.ToNumber(e)>>>0},ToNumber:function(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=le.ToNumber(e);if(K(t)){return 0}if(t===0||!Z(t)){return t}return(t>0?1:-1)*k(L(t))},ToLength:function(e){var t=le.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return K(e)&&K(t)},SameValueZero:function(e,t){return e===t||K(e)&&K(t)},GetIterator:function(e){if(re(e)){return new W(e,"value")}var t=le.GetMethod(e,ae);if(!le.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=le.Call(t,e);if(!le.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=le.ToObject(e)[t];if(ce(r)){return void 0}if(!le.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=le.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=le.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!le.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!le.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=le.IteratorNext(e);var r=le.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ue.construct){return ue.construct(e,t,o)}var i=o.prototype;if(!le.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=le.Call(e,a,t);return le.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!le.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[X];if(ce(n)){return t}if(!le.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=le.ToString(e);var i="<"+t;if(r!==""){var a=le.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!le.TypeIsObject(e)){return false}var t=e[J.match];if(typeof t!=="undefined"){return!!t}return ne.regex(e)},ToString:function ToString(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return fe(e)}};if(s&&ie){var pe=function defineWellKnownSymbol(e){if(ne.symbol(J[e])){return J[e]}var t=J["for"]("Symbol."+e);Object.defineProperty(J,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!ne.symbol(J.search)){var ve=pe("search");var ye=String.prototype.search;h(RegExp.prototype,ve,function search(e){return le.Call(ye,e,[this])});var he=function search(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,ve);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(ye,t,[le.ToString(e)])};oe(String.prototype,"search",he)}if(!ne.symbol(J.replace)){var be=pe("replace");var ge=String.prototype.replace;h(RegExp.prototype,be,function replace(e,t){return le.Call(ge,e,[this,t])});var de=function replace(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,be);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(ge,r,[le.ToString(e),t])};oe(String.prototype,"replace",de)}if(!ne.symbol(J.split)){var me=pe("split");var Oe=String.prototype.split;h(RegExp.prototype,me,function split(e,t){return le.Call(Oe,e,[this,t])});var we=function split(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,me);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(Oe,r,[le.ToString(e),t])};oe(String.prototype,"split",we)}var je=ne.symbol(J.match);var Se=je&&function(){var e={};e[J.match]=function(){return 42};return"a".match(e)!==42}();if(!je||Se){var Te=pe("match");var Ie=String.prototype.match;h(RegExp.prototype,Te,function match(e){return le.Call(Ie,e,[this])});var Ee=function match(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,Te);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(Ie,t,[le.ToString(e)])};oe(String.prototype,"match",Ee)}}var Pe=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in G||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in G||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Ce=function(){return this};var Me=function(e){if(s&&!q(e,X)){m.getter(e,X,Ce)}};var xe=function(e,t){var r=t||function iterator(){return this};h(e,ae,r);if(!e[ae]&&ne.symbol(ae)){e[ae]=r}};var Ne=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ae=function createDataPropertyOrThrow(e,t,r){Ne(e,t,r);if(!le.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var _e=function(e,t,r,n){if(!le.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!le.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(q(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Re=String.fromCodePoint;oe(String,"fromCodePoint",function fromCodePoint(e){return le.Call(Re,this,arguments)})}var ke={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return N(t,"")},raw:function raw(e){var t=arguments.length-1;var r=le.ToObject(e,"bad template");var raw=le.ToObject(r.raw,"bad raw value");var n=raw.length;var o=le.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Fe){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Le(t,r)},startsWith:function startsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=le.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=_(le.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=le.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:le.ToInteger(o);var a=R(_(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(le.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=le.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=le.ToString(le.RequireObjectCoercible(this));var r=le.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){oe(String.prototype,"includes",De.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var ze=i(function(){return"/a/".startsWith(/a/)});var qe=a(function(){return"abc".startsWith("a",Infinity)===false});if(!ze||!qe){oe(String.prototype,"startsWith",De.startsWith);oe(String.prototype,"endsWith",De.endsWith)}}if(ie){var We=a(function(){var e=/a/;e[J.match]=false;return"/a/".startsWith(e)});if(!We){oe(String.prototype,"startsWith",De.startsWith)}var Ge=a(function(){var e=/a/;e[J.match]=false;return"/a/".endsWith(e)});if(!Ge){oe(String.prototype,"endsWith",De.endsWith)}var He=a(function(){var e=/a/;e[J.match]=false;return"/a/".includes(e)});if(!He){oe(String.prototype,"includes",De.includes)}}b(String.prototype,De);var Ve=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Be=new RegExp("(^["+Ve+"]+)|(["+Ve+"]+$)","g");var Ue=function trim(){return le.ToString(le.RequireObjectCoercible(this)).replace(Be,"")};var $e=["\x85","\u200b","\ufffe"].join("");var Je=new RegExp("["+$e+"]","g");var Xe=/^[-+]0x[0-9a-f]+$/i;var Ke=$e.trim().length!==$e.length;h(String.prototype,"trim",Ue,Ke);var Ze=function(e){return{value:e,done:arguments.length===0}};var Ye=function(e){le.RequireObjectCoercible(e);h(this,"_s",le.ToString(e));h(this,"_i",0)};Ye.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ze()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Ze(e.substr(t,o))};xe(Ye.prototype);xe(String.prototype,function(){return new Ye(this)});var Qe={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!le.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(re(e)||le.GetMethod(e,ae))!=="undefined";var u,f,s;if(a){f=le.IsConstructor(r)?Object(new r):[];var c=le.GetIterator(e);var l,p;s=0;while(true){l=le.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){le.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=le.ToObject(e);u=le.ToLength(y.length);f=le.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:le.ToInteger(f);var c=s<0?_(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=le.ToObject(this);var o=le.ToLength(n.length);t=le.ToInteger(typeof t==="undefined"?0:t);r=le.ToInteger(typeof r==="undefined"?o:r);var i=t<0?_(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return le.Call(ut,this,arguments)}return t(ut,this,e)})}var ft=-(Math.pow(2,32)-1);var st=function(e,r){var n={length:ft};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!st(Array.prototype.forEach)){var ct=Array.prototype.forEach;oe(Array.prototype,"forEach",function forEach(e){return le.Call(ct,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.map)){var lt=Array.prototype.map;oe(Array.prototype,"map",function map(e){return le.Call(lt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.filter)){var pt=Array.prototype.filter;oe(Array.prototype,"filter",function filter(e){return le.Call(pt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.some)){var vt=Array.prototype.some;oe(Array.prototype,"some",function some(e){return le.Call(vt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.every)){var yt=Array.prototype.every;oe(Array.prototype,"every",function every(e){return le.Call(yt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduce)){var ht=Array.prototype.reduce;oe(Array.prototype,"reduce",function reduce(e){return le.Call(ht,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduceRight,true)){var bt=Array.prototype.reduceRight;oe(Array.prototype,"reduceRight",function reduceRight(e){return le.Call(bt,this.length>=0?this:[],arguments)})}var gt=Number("0o10")!==8;var dt=Number("0b10")!==2;var mt=y($e,function(e){return Number(e+0+e)===0});if(gt||dt||mt){var Ot=Number;var wt=/^0b[01]+$/i;var jt=/^0o[0-7]+$/i;var St=wt.test.bind(wt);var Tt=jt.test.bind(jt);var It=function(e,t){var r;if(typeof e.valueOf==="function"){r=e.valueOf();if(ne.primitive(r)){return r}}if(typeof e.toString==="function"){r=e.toString();if(ne.primitive(r)){return r}}throw new TypeError("No default value")};var Et=Je.test.bind(Je);var Pt=Xe.test.bind(Xe);var Ct=function(){var e=function Number(t){var r;if(arguments.length>0){r=ne.primitive(t)?t:It(t,"number")}else{r=0}if(typeof r==="string"){r=le.Call(Ue,r);if(St(r)){r=parseInt(C(r,2),2)}else if(Tt(r)){r=parseInt(C(r,2),8)}else if(Et(r)||Pt(r)){r=NaN}}var n=this;var o=a(function(){Ot.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new Ot(r)}return Ot(r)};return e}();Pe(Ot,Ct,{});b(Ct,{NaN:Ot.NaN,MAX_VALUE:Ot.MAX_VALUE,MIN_VALUE:Ot.MIN_VALUE,NEGATIVE_INFINITY:Ot.NEGATIVE_INFINITY,POSITIVE_INFINITY:Ot.POSITIVE_INFINITY});Number=Ct;m.redefine(S,"Number",Ct)}var Mt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Mt,MIN_SAFE_INTEGER:-Mt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:Z,isInteger:function isInteger(e){return Z(e)&&le.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&L(e)<=Number.MAX_SAFE_INTEGER},isNaN:K});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){oe(Array.prototype,"find",tt.find)}if([,1].findIndex(function(){return true})!==0){oe(Array.prototype,"findIndex",tt.findIndex)}var xt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Nt=function ensureEnumerable(e,t){if(s&&xt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var At=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}var r=L(t);return Y(t)*Q(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=F(D(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=le.ToUint32(t);if(r===0){return 32}return Mr?le.Call(Mr,r):31-k(D(r+.5)*Pr)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(K(t)){return NaN}if(!T(t)){return Infinity}var r=F(L(t)-1);return(r+1/(r*Er*Er))*(Er/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(L(t)>.5){return F(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*z(r)},log2:function log2(e){return D(e)*Pr},log10:function log10(e){return D(e)*Cr},log1p:Q,sign:Y,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=L(t);if(r<1){var n=Math.expm1(r);return Y(t)*n*(1+1/(n+1))/2}var o=F(r-1);return Y(t)*(o-1/(o*Er*Er))*(Er/2)},tanh:function tanh(e){var t=Number(e);if(K(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-k(-t):k(t)},imul:function imul(e,t){var r=le.ToUint32(e);var n=le.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||K(t)){return t}var r=Y(t);var n=L(t);if(nTr||K(i)){return r*Infinity}return r*i}};var Nr=function withinULPDistance(e,t,r){return L(1-e/t)/Number.EPSILON<(r||8)};b(Math,xr);h(Math,"sinh",xr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",xr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",xr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",xr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)); +h(Math,"asinh",xr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",xr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",xr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",xr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",xr.acosh,!Nr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",xr.cbrt,!Nr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",xr.sinh,Math.sinh(-2e-17)!==-2e-17);var Ar=Math.expm1(10);h(Math,"expm1",xr.expm1,Ar>22025.465794806718||Ar<22025.465794806718);h(Math,"hypot",xr.hypot,Math.hypot(Infinity,NaN)!==Infinity);var _r=Math.round;var Rr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var kr=wr+1;var Lr=2*wr-1;var Fr=[kr,Lr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=k(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Rr||!Fr);m.preserveToString(Math.round,_r);var Dr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=xr.imul;m.preserveToString(Math.imul,Dr)}if(Math.imul.length!==2){oe(Math,"imul",function imul(e,t){return le.Call(Dr,Math,arguments)})}var zr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}le.IsPromise=function(e){if(!le.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!le.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(le.IsCallable(t.resolve)&&le.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&le.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=A(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=le.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(le.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=le.IsCallable(e)?e:a;var d=le.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof zr==="function"){b(S,{Promise:zr});var qr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Wr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,G)});var Gr=i(function(){return S.Promise.call(3,G)});var Hr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,G).then(null,G)}catch(n){return true}return t===r}(S.Promise);var Vr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Br=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Br.prototype=Promise.prototype;Br.all=Promise.all;var Ur=a(function(){return!!Br.all([1,2])});if(!qr||!Wr||!Gr||Hr||!Vr||Ur){Promise=zr;oe(S,"Promise",zr)}if(Promise.all.length!==1){var $r=Promise.all;oe(Promise,"all",function all(e){return le.Call($r,this,arguments)})}if(Promise.race.length!==1){var Jr=Promise.race;oe(Promise,"race",function race(e){return le.Call(Jr,this,arguments)})}if(Promise.resolve.length!==1){var Xr=Promise.resolve;oe(Promise,"resolve",function resolve(e){return le.Call(Xr,this,arguments)})}if(Promise.reject.length!==1){var Kr=Promise.reject;oe(Promise,"reject",function reject(e){return le.Call(Kr,this,arguments)})}Nt(Promise,"all");Nt(Promise,"race");Nt(Promise,"resolve");Nt(Promise,"reject");Me(Promise)}var Zr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Yr=Zr(["z","a","bb"]);var Qr=Zr(["z",1,"a","3",2]);if(s){var en=function fastkey(e,t){if(!t&&!Yr){return null}if(ce(e)){return"^"+le.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Qr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var tn=function emptyObject(){return Object.create?Object.create(null):{}};var rn=function addIterableToMap(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){if(!le.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!ce(o)){a=n.set;if(!le.IsCallable(a)){throw new TypeError("bad map")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!le.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){le.IteratorClose(i,true);throw s}}}}};var nn=function addIterableToSet(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!ce(o)){a=n.add;if(!le.IsCallable(a)){throw new TypeError("bad set")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){le.IteratorClose(i,true);throw s}}}}};var on={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!le.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+le.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");h(this,"head",e._head);h(this,"i",this.head);h(this,"kind",t)};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ze()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Ze(n)}}this.i=void 0;return Ze()}};xe(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=_e(this,Map,a,{_es6map:true,_head:null,_map:H?new H:null,_size:0,_storage:tn()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){rn(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=en(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}return}if(this._map){t=B.call(this._map,e);if(t){return t.value}return}var n=this._head;var i=n;while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=en(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return U.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(le.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=en(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}a=this._storage[u]=new r(e,t);i=n.prev}else if(this._map){if(U.call(this._map,e)){B.call(this._map,e).value=t}else{a=new r(e,t);$.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(le.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head;var n=r;var i=en(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!U.call(this._map,t)){return false}n=B.call(this._map,t).prev;V.call(this._map,t)}while((n=n.next)!==r){if(le.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=H?new H:null;this._size=0;this._storage=tn();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});xe(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!le.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+le.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=_e(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:tn()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){nn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new on.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=en(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=en(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=en(e))!==null){var n=q(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=tn()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);xe(i.prototype,i.prototype.values);var f=function SetIterator(e){h(this,"it",e)};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};xe(f.prototype);return i}()};var an=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(an){S.Set=on.Set}if(S.Map||S.Set){var un=a(function(){return new Map([[1,2]]).get(1)===2});if(!un){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(H.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var fn=new Map;var sn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var cn=fn.set(1,2)===fn;if(!sn||!cn){oe(Map.prototype,"set",function set(e,r){t($,this,e===0?0:e,r);return this})}if(!sn){b(Map.prototype,{get:function get(e){return t(B,this,e===0?0:e)},has:function has(e){return t(U,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,B);m.preserveToString(Map.prototype.has,U)}var ln=new Set;var pn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(ln);var vn=ln.add(1)===ln;if(!pn||!vn){var yn=Set.prototype.add;Set.prototype.add=function add(e){t(yn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,yn)}if(!pn){var hn=Set.prototype.has;Set.prototype.has=function has(e){return t(hn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,hn);var bn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(bn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],bn)}var gn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dn=Object.setPrototypeOf&&!gn;var mn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||dn||!mn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=H.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var On=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var wn=Object.setPrototypeOf&&!On;var jn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||wn||!jn){var Sn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new Sn;if(arguments.length>0){nn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=Sn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,Sn)}var Tn=new S.Map;var In=!a(function(){return Tn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||Tn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof Tn.keys().next!=="function"||In||!gn){b(S,{Map:on.Map,Set:on.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}xe(Object.getPrototypeOf((new S.Map).keys()));xe(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var En=S.Set.prototype.has;oe(S.Set.prototype,"has",function has(e){return t(En,this,e)})}}b(S,on);Me(S.Map);Me(S.Set)}var Pn=function throwUnlessTargetIsObject(e){if(!le.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Cn={apply:function apply(){return le.Call(le.Call,null,arguments)},construct:function construct(e,t){if(!le.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!le.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return le.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){Pn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){Pn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Cn,{ownKeys:function ownKeys(e){Pn(e);var t=Object.getOwnPropertyNames(e);if(le.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Mn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(Cn,{isExtensible:function isExtensible(e){Pn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){Pn(e);return Mn(function(){return Object.preventExtensions(e)})}})}if(s){var xn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return xn(o,t,r)}if("value"in n){return n.value}if(n.get){return le.Call(n.get,r)}return void 0};var Nn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Nn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!le.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ue.defineProperty(o,r,{value:n})}return ue.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}if(i.set){t(i.set,o,n);return true}return false};Object.assign(Cn,{defineProperty:function defineProperty(e,t,r){Pn(e);return Mn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){Pn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){Pn(e);var r=arguments.length>2?arguments[2]:e;return xn(e,t,r)},set:function set(e,t,r){Pn(e);var n=arguments.length>3?arguments[3]:e;return Nn(e,t,r,n)}})}if(Object.getPrototypeOf){var An=Object.getPrototypeOf;Cn.getPrototypeOf=function getPrototypeOf(e){Pn(e);return An(e)}}if(Object.setPrototypeOf&&Cn.getPrototypeOf){var _n=function(e,t){var r=t;while(r){if(e===r){return true}r=Cn.getPrototypeOf(r)}return false};Object.assign(Cn,{setPrototypeOf:function setPrototypeOf(e,t){Pn(e);if(t!==null&&!le.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ue.getPrototypeOf(e)){return true}if(ue.isExtensible&&!ue.isExtensible(e)){return false}if(_n(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Rn=function(e,t){if(!le.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){oe(S.Reflect,e,t)}}};Object.keys(Cn).forEach(function(e){Rn(e,Cn[e])});var kn=S.Reflect.getPrototypeOf;if(c&&kn&&kn.name!=="getPrototypeOf"){oe(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(kn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){oe(S.Reflect,"setPrototypeOf",Cn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){oe(S.Reflect,"defineProperty",Cn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){oe(S.Reflect,"construct",Cn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var Ln=Date.prototype.toString;var Fn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return le.Call(Ln,this)};oe(Date.prototype,"toString",Fn)}var Dn={anchor:function anchor(e){return le.CreateHTML(this,"a","name",e)},big:function big(){return le.CreateHTML(this,"big","","")},blink:function blink(){return le.CreateHTML(this,"blink","","")},bold:function bold(){return le.CreateHTML(this,"b","","")},fixed:function fixed(){return le.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return le.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return le.CreateHTML(this,"font","size",e)},italics:function italics(){return le.CreateHTML(this,"i","","")},link:function link(e){return le.CreateHTML(this,"a","href",e)},small:function small(){return le.CreateHTML(this,"small","","")},strike:function strike(){return le.CreateHTML(this,"strike","","")},sub:function sub(){return le.CreateHTML(this,"sub","","")},sup:function sub(){return le.CreateHTML(this,"sup","","")}};l(Object.keys(Dn),function(e){var r=String.prototype[e];var n=false;if(le.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){oe(String.prototype,e,Dn[e])}});var zn=function(){if(!ie){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(J())!=="undefined"){return true}if(e([J()])!=="[null]"){return true}var t={a:J()};t[J()]=true;if(e(t)!=="{}"){return true}return false}();var qn=a(function(){if(!ie){return true}return JSON.stringify(Object(J()))==="{}"&&JSON.stringify([Object(J())])==="[{}]"});if(zn||!qn){var Wn=JSON.stringify;oe(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=le.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(ne.symbol(n)){return _t({})(n)}return n}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return Wn.apply(this,o)})}return S}); +//# sourceMappingURL=es6-shim.map diff --git a/documentation/js/libs/htmlparser.js b/documentation/js/libs/htmlparser.js new file mode 100644 index 0000000000..522b39cae3 --- /dev/null +++ b/documentation/js/libs/htmlparser.js @@ -0,0 +1,23 @@ +/*********************************************** +Copyright 2010 - 2012 Chris Winberry . All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +***********************************************/ +/* v2.0.0 */ + +!function(){function t(t,e){var a=function(){};a.prototype=e.prototype,t.super_=e,t.prototype=new a,t.prototype.constructor=t}function e(t,e){this._options=e||{},this._validateBuilder(t);this._builder=t,this.reset()}function a(t,e){this.reset(),this._options=e||{},void 0===this._options.ignoreWhitespace&&(this._options.ignoreWhitespace=!1),void 0===this._options.includeLocation&&(this._options.includeLocation=!1),void 0===this._options.verbose&&(this._options.verbose=!0),void 0===this._options.enforceEmptyTags&&(this._options.enforceEmptyTags=!0),void 0===this._options.caseSensitiveTags&&(this._options.caseSensitiveTags=!1),void 0===this._options.caseSensitiveAttr&&(this._options.caseSensitiveAttr=!1),"function"==typeof t&&(this._callback=t)}function n(t){n.super_.call(this,t,{ignoreWhitespace:!0,verbose:!1,enforceEmptyTags:!1,caseSensitiveTags:!0})}var i;if("undefined"!=typeof module&&void 0!==module.exports)i=module.exports;else{if(i={},this.Tautologistics||(this.Tautologistics={}),this.Tautologistics.NodeHtmlParser)return;this.Tautologistics.NodeHtmlParser=i}var s={Text:"text",Tag:"tag",Attr:"attr",CData:"cdata",Doctype:"doctype",Comment:"comment"};"undefined"!=typeof module&&void 0!==module.exports&&(t(e,require("stream")),e.prototype.writable=!0,e.prototype.write=function(t){t instanceof Buffer&&(t=t.toString()),this.parseChunk(t)},e.prototype.end=function(t){arguments.length&&this.write(t),this.writable=!1,this.done()},e.prototype.destroy=function(){this.writable=!1}),e.prototype.reset=function(){this._state={mode:s.Text,pos:0,data:null,pendingText:null,pendingWrite:null,lastTag:null,isScript:!1,needData:!1,output:[],done:!1},this._builder.reset()},e.prototype.parseChunk=function(t){for(this._state.needData=!1,this._state.data=null!==this._state.data?this._state.data.substr(this.pos)+t:t;this._state.pos\/]+)(\s*)\??(>?)/g,e.prototype._parseTag=function(){var t=this._state;e.re_parseTag.lastIndex=t.pos;var a=e.re_parseTag.exec(t.data);if(a){if(!a[1]&&"!--"===a[2].substr(0,3))return t.mode=s.Comment,void(t.pos+=3);if(!a[1]&&"![CDATA["===a[2].substr(0,8))return t.mode=s.CData,void(t.pos+=8);if(!a[1]&&"!DOCTYPE"===a[2].substr(0,8))return t.mode=s.Doctype,void(t.pos+=8);if(!t.done&&t.pos+a[0].length===t.data.length)return void(t.needData=!0);var n;">"===a[4]?(t.mode=s.Text,n=a[0].substr(0,a[0].length-1)):(t.mode=s.Attr,n=a[0]),t.pos+=a[0].length;var i={type:s.Tag,name:a[1]+a[2],raw:n};t.mode===s.Attr&&(t.lastTag=i),"script"===i.name.toLowerCase()?t.isScript=!0:"/script"===i.name.toLowerCase()&&(t.isScript=!1),t.mode===s.Attr?this._writePending(i):this._write(i)}else t.needData=!0},e.re_parseAttr_findName=/\s*([^=<>\s'"\/]+)\s*/g,e.prototype._parseAttr_findName=function(){e.re_parseAttr_findName.lastIndex=this._state.pos;var t=e.re_parseAttr_findName.exec(this._state.data);return t?this._state.pos+t[0].length!==e.re_parseAttr_findName.lastIndex?null:{match:t[0],name:t[1]}:null},e.re_parseAttr_findValue=/\s*=\s*(?:'([^']*)'|"([^"]*)"|([^'"\s\/>]+))\s*/g,e.re_parseAttr_findValue_last=/\s*=\s*['"]?(.*)$/g,e.prototype._parseAttr_findValue=function(){var t=this._state;e.re_parseAttr_findValue.lastIndex=t.pos;var a=e.re_parseAttr_findValue.exec(t.data);return a?t.pos+a[0].length!==e.re_parseAttr_findValue.lastIndex?null:{match:a[0],value:a[1]||a[2]||a[3]}:t.done?(e.re_parseAttr_findValue_last.lastIndex=t.pos,a=e.re_parseAttr_findValue_last.exec(t.data),a?{match:a[0],value:""!==a[1]?a[1]:null}:null):null},e.re_parseAttr_splitValue=/\s*=\s*['"]?/g,e.re_parseAttr_selfClose=/(\s*\/\s*)(>?)/g,e.prototype._parseAttr=function(){var t=this._state,a=this._parseAttr_findName(t);if(a&&"?"!==a.name){if(!t.done&&t.pos+a.match.length===t.data.length)return t.needData=!0,null;t.pos+=a.match.length;var n=this._parseAttr_findValue(t);t.data.indexOf(" ",t.pos);if(n){if(!t.done&&t.pos+n.match.length===t.data.length)return t.needData=!0,void(t.pos-=a.match.length);t.pos+=n.match.length}else if(t.data.indexOf(" ",t.pos-1))n={match:"",value:a.name};else{if(e.re_parseAttr_splitValue.lastIndex=t.pos,e.re_parseAttr_splitValue.exec(t.data))return t.needData=!0,void(t.pos-=a.match.length);n={match:"",value:null}}t.lastTag.raw+=a.match+n.match,this._writePending({type:s.Attr,name:a.name,data:n.value})}else{e.re_parseAttr_selfClose.lastIndex=t.pos;var i=e.re_parseAttr_selfClose.exec(t.data);if(i&&i.index===t.pos){if(!t.done&&!i[2]&&t.pos+i[0].length===t.data.length)return void(t.needData=!0);t.lastTag.raw+=i[1],this._write({type:s.Tag,name:"/"+t.lastTag.name,raw:null}),t.pos+=i[1].length}var r=t.data.indexOf(">",t.pos);if(r<0){if(t.done)return t.lastTag.raw+=t.data.substr(t.pos),void(t.pos=t.data.length);t.needData=!0}else t.pos=r+1,t.mode=s.Text}},e.re_parseCData_findEnding=/\]{1,2}$/,e.prototype._parseCData=function(){var t=this._state,a=t.data.indexOf("]]>",t.pos);if(a<0&&t.done&&(a=t.data.length),a<0){if(e.re_parseCData_findEnding.lastIndex=t.pos,e.re_parseCData_findEnding.exec(t.data))return void(t.needData=!0);t.pendingText||(t.pendingText=[]),t.pendingText.push(t.data.substr(t.pos,t.data.length)),t.pos=t.data.length,t.needData=!0}else{var n;t.pendingText?(t.pendingText.push(t.data.substring(t.pos,a)),n=t.pendingText.join(""),t.pendingText=null):n=t.data.substring(t.pos,a),this._write({type:s.CData,data:n}),t.mode=s.Text,t.pos=a+3}},e.prototype._parseDoctype=function(){var t=this._state,a=t.data.indexOf(">",t.pos);if(a<0&&t.done&&(a=t.data.length),a<0)e.re_parseCData_findEnding.lastIndex=t.pos,t.pendingText||(t.pendingText=[]),t.pendingText.push(t.data.substr(t.pos,t.data.length)),t.pos=t.data.length,t.needData=!0;else{var n;t.pendingText?(t.pendingText.push(t.data.substring(t.pos,a)),n=t.pendingText.join(""),t.pendingText=null):n=t.data.substring(t.pos,a),this._write({type:s.Doctype,data:n}),t.mode=s.Text,t.pos=a+1}},e.re_parseComment_findEnding=/\-{1,2}$/,e.prototype._parseComment=function(){var t=this._state,a=t.data.indexOf("--\x3e",t.pos);if(a<0&&t.done&&(a=t.data.length),a<0){if(e.re_parseComment_findEnding.lastIndex=t.pos,e.re_parseComment_findEnding.exec(t.data))return void(t.needData=!0);t.pendingText||(t.pendingText=[]),t.pendingText.push(t.data.substr(t.pos,t.data.length)),t.pos=t.data.length,t.needData=!0}else{var n;t.pendingText?(t.pendingText.push(t.data.substring(t.pos,a)),n=t.pendingText.join(""),t.pendingText=null):n=t.data.substring(t.pos,a),this._write({type:s.Comment,data:n}),t.mode=s.Text,t.pos=a+3}},a._emptyTags={area:1,base:1,basefont:1,br:1,col:1,frame:1,hr:1,img:1,input:1,isindex:1,link:1,meta:1,param:1,embed:1,"?xml":1},a.reWhitespace=/^\s*$/,a.prototype.dom=null,a.prototype.reset=function(){this.dom=[],this._done=!1,this._tagStack=[],this._lastTag=null,this._tagStack.last=function(){return this.length?this[this.length-1]:null},this._line=1,this._col=1},a.prototype.done=function(){this._done=!0,this.handleCallback(null)},a.prototype.error=function(t){this.handleCallback(t)},a.prototype.handleCallback=function(t){if("function"==typeof this._callback)this._callback(t,this.dom);else if(t)throw t},a.prototype.isEmptyTag=function(t){var e=t.name.toLowerCase();return"?"==e.charAt(0)||("/"==e.charAt(0)&&(e=e.substring(1)),this._options.enforceEmptyTags&&!!a._emptyTags[e])},a.prototype._getLocation=function(){return{line:this._line,col:this._col}},a.prototype._updateLocation=function(t){var e=t.type===s.Tag?t.raw:t.data;if(null!==e){var a=e.split("\n");this._line+=a.length-1,a.length>1&&(this._col=1),this._col+=a[a.length-1].length,t.type===s.Tag?this._col+=2:t.type===s.Comment?this._col+=7:t.type===s.CData&&(this._col+=12)}},a.prototype._copyElement=function(t){var e={type:t.type};if(this._options.verbose&&void 0!==t.raw&&(e.raw=t.raw),void 0!==t.name)switch(t.type){case s.Tag:e.name=this._options.caseSensitiveTags?t.name:t.name.toLowerCase();break;case s.Attr:e.name=this._options.caseSensitiveAttr?t.name:t.name.toLowerCase();break;default:e.name=this._options.caseSensitiveTags?t.name:t.name.toLowerCase()}return void 0!==t.data&&(e.data=t.data),t.location&&(e.location={line:t.location.line,col:t.location.col}),e},a.prototype.write=function(t){if(this._done&&this.handleCallback(new Error("Writing to the builder after done() called is not allowed without a reset()")),this._options.includeLocation&&t.type!==s.Attr&&(t.location=this._getLocation(),this._updateLocation(t)),t.type!==s.Text||!this._options.ignoreWhitespace||!a.reWhitespace.test(t.data)){var e,n;if(this._tagStack.last())if(t.type===s.Tag)if("/"==t.name.charAt(0)){var i=this._options.caseSensitiveTags?t.name.substring(1):t.name.substring(1).toLowerCase();if(!this.isEmptyTag(t)){for(var r=this._tagStack.length-1;r>-1&&this._tagStack[r--].name!=i;);if(r>-1||this._tagStack[0].name==i)for(;r=0&&s.length>=n)return s;if(a&&e.children)i=e.children;else{if(!(e instanceof Array))return s;i=e}for(var d=0;d=0&&s.length>=n));d++);return s},getElementById:function(t,e,a){var n=r.getElements({id:t},e,a,1);return n.length?n[0]:null},getElementsByTagName:function(t,e,a,n){return r.getElements({tag_name:t},e,a,n)},getElementsByTagType:function(t,e,a,n){return r.getElements({tag_type:t},e,a,n)}};i.Parser=e,i.HtmlBuilder=a,i.RssBuilder=n,i.ElementType=s,i.DomUtils=r}(); diff --git a/documentation/js/libs/innersvg.js b/documentation/js/libs/innersvg.js new file mode 100644 index 0000000000..b1099deb2a --- /dev/null +++ b/documentation/js/libs/innersvg.js @@ -0,0 +1,9 @@ +/** + * innerHTML property for SVGElement + * Copyright(c) 2010, Jeff Schiller + * + * Licensed under the Apache License, Version 2 + * + * Minor modifications by Chris Price to only polyfill when required. + */ +!function(e){if(e&&!("innerHTML"in e.prototype)){var t=function(e,r){var i=e.nodeType;if(3==i)r.push(e.textContent.replace(/&/,"&").replace(/",">"));else if(1==i){if(r.push("<",e.tagName),e.hasAttributes())for(var n=e.attributes,s=0,o=n.length;s");for(var h=e.childNodes,s=0,o=h.length;s")}else r.push("/>")}else{if(8!=i)throw"Error serializing XML. Unhandled node of type: "+i;r.push("\x3c!--",e.nodeValue,"--\x3e")}};Object.defineProperty(e.prototype,"innerHTML",{get:function(){for(var e=[],r=this.firstChild;r;)t(r,e),r=r.nextSibling;return e.join("")},set:function(e){for(;this.firstChild;)this.removeChild(this.firstChild);try{var t=new DOMParser;t.async=!1,sXML=""+e+"";for(var r=t.parseFromString(sXML,"text/xml").documentElement.firstChild;r;)this.appendChild(this.ownerDocument.importNode(r,!0)),r=r.nextSibling}catch(e){throw new Error("Error parsing XML string")}}})}}((0,eval)("this").SVGElement); \ No newline at end of file diff --git a/documentation/js/libs/lit-html.js b/documentation/js/libs/lit-html.js new file mode 100644 index 0000000000..743deea173 --- /dev/null +++ b/documentation/js/libs/lit-html.js @@ -0,0 +1 @@ +"use strict";function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)==="[object Arguments]")return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var n=e;for(;n!==s;){var _e=n.nextSibling;t.insertBefore(n,i),n=_e}},o=function o(t,e){var s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var i=e;for(;i!==s;){var _e2=i.nextSibling;t.removeChild(i),i=_e2}},r={},a={},l="{{lit-".concat(String(Math.random()).slice(2),"}}"),h="\x3c!--".concat(l,"--\x3e"),d=new RegExp("".concat(l,"|").concat(h)),c="$lit$";var u=function u(t,e){var _this=this;_classCallCheck(this,u);this.parts=[],this.element=e;var s=-1,i=0;var n=[],o=function o(e){var r=e.content,a=document.createTreeWalker(r,133,null,!1);var h=0;for(;a.nextNode();){s++;var _e3=a.currentNode;if(1===_e3.nodeType){if(_e3.hasAttributes()){var _n=_e3.attributes;var _o=0;for(var _t=0;_t<_n.length;_t++){_n[_t].value.indexOf(l)>=0&&_o++}for(;_o-- >0;){var _n2=t.strings[i],_o2=g.exec(_n2)[2],_r=_o2.toLowerCase()+c,_a=_e3.getAttribute(_r).split(d);_this.parts.push({type:"attribute",index:s,name:_o2,strings:_a}),_e3.removeAttribute(_r),i+=_a.length-1}}"TEMPLATE"===_e3.tagName&&o(_e3)}else if(3===_e3.nodeType){var _t2=_e3.data;if(_t2.indexOf(l)>=0){var _o3=_e3.parentNode,_r2=_t2.split(d),_a2=_r2.length-1;for(var _t3=0;_t3<_a2;_t3++){_o3.insertBefore(""===_r2[_t3]?m():document.createTextNode(_r2[_t3]),_e3),_this.parts.push({type:"node",index:++s})}""===_r2[_a2]?(_o3.insertBefore(m(),_e3),n.push(_e3)):_e3.data=_r2[_a2],i+=_a2}}else if(8===_e3.nodeType)if(_e3.data===l){var _t4=_e3.parentNode;null!==_e3.previousSibling&&s!==h||(s++,_t4.insertBefore(m(),_e3)),h=s,_this.parts.push({type:"node",index:s}),null===_e3.nextSibling?_e3.data="":(n.push(_e3),s--),i++}else{var _t5=-1;for(;-1!==(_t5=_e3.data.indexOf(l,_t5+1));){_this.parts.push({type:"node",index:-1})}}}};o(e);for(var _i=0;_i=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;var v=function(){function v(t,e,s){_classCallCheck(this,v);this._parts=[],this.template=t,this.processor=e,this.options=s}_createClass(v,[{key:"update",value:function update(t){var e=0;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this._parts[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var _s=_step.value;void 0!==_s&&_s.setValue(t[e]),e++}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=this._parts[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var _t7=_step2.value;void 0!==_t7&&_t7.commit()}}catch(err){_didIteratorError2=true;_iteratorError2=err}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return!=null){_iterator2.return()}}finally{if(_didIteratorError2){throw _iteratorError2}}}}},{key:"_clone",value:function _clone(){var _this2=this;var t=i?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=this.template.parts;var s=0,n=0;var o=function o(t){var i=document.createTreeWalker(t,133,null,!1);var r=i.nextNode();for(;s".concat(_get(_getPrototypeOf(x.prototype),"getHTML",this).call(this),"")}},{key:"getTemplateElement",value:function getTemplateElement(){var t=_get(_getPrototypeOf(x.prototype),"getTemplateElement",this).call(this),e=t.content,s=e.firstChild;return e.removeChild(s),n(e,s.firstChild),t}}]);return x}(f);var _=function _(t){return null===t||!("object"==_typeof(t)||"function"==typeof t)};var y=function(){function y(t,e,s){_classCallCheck(this,y);this.dirty=!0,this.element=t,this.name=e,this.strings=s,this.parts=[];for(var _t11=0;_t110&&arguments[0]!==undefined?arguments[0]:this.startNode;o(this.startNode.parentNode,t.nextSibling,this.endNode)}}]);return V}();var b=function(){function b(t,e,s){_classCallCheck(this,b);if(this.value=void 0,this._pendingValue=void 0,2!==s.length||""!==s[0]||""!==s[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=s}_createClass(b,[{key:"setValue",value:function setValue(t){this._pendingValue=t}},{key:"commit",value:function commit(){for(;s(this._pendingValue);){var _t15=this._pendingValue;this._pendingValue=r,_t15(this)}if(this._pendingValue===r)return;var t=!!this._pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)),this.value=t,this._pendingValue=r}}]);return b}();var w=function(_y){_inherits(w,_y);function w(t,e,s){var _this3;_classCallCheck(this,w);_this3=_possibleConstructorReturn(this,_getPrototypeOf(w).call(this,t,e,s)),_this3.single=2===s.length&&""===s[0]&&""===s[1];return _this3}_createClass(w,[{key:"_createPart",value:function _createPart(){return new T(this)}},{key:"_getValue",value:function _getValue(){return this.single?this.parts[0].value:_get(_getPrototypeOf(w.prototype),"_getValue",this).call(this)}},{key:"commit",value:function commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}]);return w}(y);var T=function(_N){_inherits(T,_N);function T(){_classCallCheck(this,T);return _possibleConstructorReturn(this,_getPrototypeOf(T).apply(this,arguments))}return T}(N);var E=!1;try{var _t16={get capture(){return E=!0,!1}};window.addEventListener("test",_t16,_t16),window.removeEventListener("test",_t16,_t16)}catch(t){}var A=function(){function A(t,e,s){var _this4=this;_classCallCheck(this,A);this.value=void 0,this._pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=s,this._boundHandleEvent=function(t){return _this4.handleEvent(t)}}_createClass(A,[{key:"setValue",value:function setValue(t){this._pendingValue=t}},{key:"commit",value:function commit(){for(;s(this._pendingValue);){var _t17=this._pendingValue;this._pendingValue=r,_t17(this)}if(this._pendingValue===r)return;var t=this._pendingValue,e=this.value,i=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),n=null!=t&&(null==e||i);i&&this.element.removeEventListener(this.eventName,this._boundHandleEvent,this._options),n&&(this._options=P(t),this.element.addEventListener(this.eventName,this._boundHandleEvent,this._options)),this.value=t,this._pendingValue=r}},{key:"handleEvent",value:function handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}]);return A}();var P=function P(t){return t&&(E?{capture:t.capture,passive:t.passive,once:t.once}:t.capture)};var S=function(){function S(){_classCallCheck(this,S)}_createClass(S,[{key:"handleAttributeExpressions",value:function handleAttributeExpressions(t,e,s,i){var n=e[0];if("."===n){return new w(t,e.slice(1),s).parts}return"@"===n?[new A(t,e.slice(1),i.eventContext)]:"?"===n?[new b(t,e.slice(1),s)]:new y(t,e,s).parts}},{key:"handleTextExpression",value:function handleTextExpression(t){return new V(t)}}]);return S}();var C=new S;function M(t){var e=L.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},L.set(t.type,e));var s=e.stringsArray.get(t.strings);if(void 0!==s)return s;var i=t.strings.join(l);return void 0===(s=e.keyString.get(i))&&(s=new u(t,t.getTemplateElement()),e.keyString.set(i,s)),e.stringsArray.set(t.strings,s),s}var L=new Map,k=new WeakMap;(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.0.0");t.html=function(t){for(var _len=arguments.length,e=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){e[_key-1]=arguments[_key]}return new f(t,e,"html",C)},t.svg=function(t){for(var _len2=arguments.length,e=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){e[_key2-1]=arguments[_key2]}return new x(t,e,"svg",C)},t.DefaultTemplateProcessor=S,t.defaultTemplateProcessor=C,t.directive=function(t){return function(){var i=t.apply(void 0,arguments);return e.set(i,!0),i}},t.isDirective=s,t.removeNodes=o,t.reparentNodes=n,t.noChange=r,t.nothing=a,t.AttributeCommitter=y,t.AttributePart=N,t.BooleanAttributePart=b,t.EventPart=A,t.isPrimitive=_,t.NodePart=V,t.PropertyCommitter=w,t.PropertyPart=T,t.parts=k,t.render=function(t,e,s){var i=k.get(e);void 0===i&&(o(e,e.firstChild),k.set(e,i=new V(Object.assign({templateFactory:M},s))),i.appendInto(e)),i.setValue(t),i.commit()},t.templateCaches=L,t.templateFactory=M,t.TemplateInstance=v,t.SVGTemplateResult=x,t.TemplateResult=f,t.createMarker=m,t.isTemplatePartActive=p,t.Template=u,Object.defineProperty(t,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/documentation/js/libs/prism.js b/documentation/js/libs/prism.js new file mode 100644 index 0000000000..92675911ce --- /dev/null +++ b/documentation/js/libs/prism.js @@ -0,0 +1,46 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html?#themes=prism&languages=markup+css+clike+javascript+apacheconf+aspnet+bash+c+csharp+cpp+coffeescript+dart+docker+elm+git+go+graphql+handlebars+haskell+http+ignore+java+json+kotlin+less+markdown+markup-templating+nginx+php+powershell+ruby+rust+sass+scss+sql+swift+typescript+wasm+yaml&plugins=line-highlight+line-numbers+toolbar+copy-to-clipboard */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; +Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}; +!function(e){function n(e,n){return e.replace(/<<(\d+)>>/g,(function(e,s){return"(?:"+n[+s]+")"}))}function s(e,s,a){return RegExp(n(e,s),a||"")}function a(e,n){for(var s=0;s>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(t+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(t+" "+r+" "+o),g=a("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=a("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=n("<<0>>(?:\\s*<<1>>)?",[h,g]),m=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k]),v=n("\\(<<0>>+(?:,<<0>>+)+\\)",[w]),x=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[v,m,k]),$={keyword:p,punctuation:/[<>()?,.:[\]]/},_="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",B='"(?:\\\\.|[^\\\\"\r\n])*"';e.languages.csharp=e.languages.extend("clike",{string:[{pattern:s("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:s("(^|[^@$\\\\])<<0>>",[B]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,x]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:s("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:$},{pattern:s("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:$},{pattern:s("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:s("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:$},{pattern:s("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[x,u,h]),inside:$}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:s("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:s("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[x,m]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:s("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[x]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:s("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:s("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:$}}},"type-list":{pattern:s("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,x,p.source,b,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:s("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:p,"class-name":{pattern:RegExp(x),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var E=B+"|"+_,R=n("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[E]),z=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),S="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",j=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,z]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:s("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[S,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s("^<<0>>(?=\\s*:)",[S]),alias:"keyword"},"attribute-arguments":{pattern:s("\\(<<0>>*\\)",[z]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=":[^}\r\n]+",F=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),P=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[F,A]),U=a(n("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[E]),2),Z=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[U,A]);function q(n,a){return{interpolation:{pattern:s("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:s("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[a,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[P]),lookbehind:!0,greedy:!0,inside:q(P,F)},{pattern:s('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[Z]),lookbehind:!0,greedy:!0,inside:q(Z,U)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism); +Prism.languages.aspnet=Prism.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:Prism.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/,alias:"tag"},rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,Prism.languages.insertBefore("inside","punctuation",{directive:Prism.languages.aspnet.directive},Prism.languages.aspnet.tag.inside["attr-value"]),Prism.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}}),Prism.languages.insertBefore("aspnet",Prism.languages.javascript?"script":"tag",{"asp-script":{pattern:/(]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,alias:["asp","script"],inside:Prism.languages.csharp||{}}}); +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean; +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); +!function(e){var a=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],n="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[s,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:s.inside}],keyword:a,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":s,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); +!function(e){var n="(?:[ \t]+(?![ \t])(?:)?|)".replace(//g,(function(){return"\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])"})),r="\"(?:[^\"\\\\\r\n]|\\\\(?:\r\n|[^]))*\"|'(?:[^'\\\\\r\n]|\\\\(?:\r\n|[^]))*'",t="--[\\w-]+=(?:|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)".replace(//g,(function(){return r})),o={pattern:RegExp(r),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,r){return e=e.replace(//g,(function(){return t})).replace(//g,(function(){return n})),RegExp(e,r)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:a("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:a("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:a("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:a("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism); +Prism.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|exposing|import)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}; +Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}; +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; +Prism.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:Prism.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},Prism.hooks.add("after-tokenize",(function(n){if("graphql"===n.language)for(var t=n.tokens.filter((function(n){return"string"!=typeof n&&"comment"!==n.type&&"scalar"!==n.type})),e=0;e0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var u=e;u=0&&b(p,"variable-input")}}}}function l(n){return t[e+n]}function c(n,t){t=t||0;for(var e=0;e=o.length);u++){var g=i[u];if("string"==typeof g||g.content&&"string"==typeof g.content){var l=o[r],s=t.tokenStack[l],f="string"==typeof g?g:g.content,p=n(a,l),k=f.indexOf(p);if(k>-1){++r;var m=f.substring(0,k),d=new e.Token(a,e.tokenize(s,t.grammar),"language-"+a,s),h=f.substring(k+p.length),v=[];m&&v.push.apply(v,c([m])),v.push(d),h&&v.push.apply(v,c([h])),"string"==typeof g?i.splice.apply(i,[u,1].concat(v)):g.content=v}}else g.content&&c(g.content)}return i}(t.tokens)}}}})}(Prism); +!function(a){a.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"handlebars")})),a.languages.hbs=a.languages.handlebars,a.languages.mustache=a.languages.handlebars}(Prism); +Prism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},Prism.languages.hs=Prism.languages.haskell; +!function(t){function a(t){return RegExp("(^(?:"+t+"):[ \t]*(?![ \t]))[^]+","i")}t.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:t.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:a("Content-Security-Policy"),lookbehind:!0,alias:["csp","languages-csp"],inside:t.languages.csp},{pattern:a("Public-Key-Pins(?:-Report-Only)?"),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:t.languages.hpkp},{pattern:a("Strict-Transport-Security"),lookbehind:!0,alias:["hsts","languages-hsts"],inside:t.languages.hsts},{pattern:a("[^:]+"),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var e,n=t.languages,s={"application/javascript":n.javascript,"application/json":n.json||n.javascript,"application/xml":n.xml,"text/xml":n.xml,"text/html":n.html,"text/css":n.css,"text/plain":n.plain},i={"application/json":!0,"application/xml":!0};function r(t){var a=t.replace(/^[a-z]+\//,"");return"(?:"+t+"|\\w+/(?:[\\w.-]+\\+)+"+a+"(?![+\\w.-]))"}for(var p in s)if(s[p]){e=e||{};var l=i[p]?r(p):p;e[p.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+l+"(?:(?:\r\n?|\n)[\\w-].*)*(?:\r(?:\n|(?!\n))|\n))[^ \t\\w-][^]*","i"),lookbehind:!0,inside:s[p]}}e&&t.languages.insertBefore("http","header",e)}(Prism); +!function(n){n.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},n.languages.gitignore=n.languages.ignore,n.languages.hgignore=n.languages.ignore,n.languages.npmignore=n.languages.ignore}(Prism); +!function(e){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); +Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json; +!function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var e={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:e},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:e},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(Prism); +Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); +!function(n){function e(n){return n=n.replace(//g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism); +!function(e){var n=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:n}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:n}},punctuation:/[{};]/}}(Prism); +!function(e){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},r=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];e.languages.insertBefore("php","variable",{string:r,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:r,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(a){/<\?/.test(a.code)&&e.languages["markup-templating"].buildPlaceholders(a,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"php")}))}(Prism); +!function(e){var i=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};i.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:i},boolean:i.boolean,variable:i.variable}}(Prism); +!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var t="(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")",i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism); +!function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,(function(){return a}));a=a.replace(//g,(function(){return"[^\\s\\S]"})),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); +!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var r=/\$[-\w]+|#\{\$[-\w]+\}/,t=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:r,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:r,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(Prism); +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp('(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^(])|[^\\\\\r\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp('(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^#])|[^\\\\\r\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp("#(?:(?:elseif|if)\\b(?:[ \t]*(?:![ \t]*)?(?:\\b\\w+\\b(?:[ \t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift})); +!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism); +Prism.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}; +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document&&document.querySelector){var e,t="line-numbers",i="linkable-line-numbers",n=/\n(?!$)/g,r=!0;Prism.plugins.lineHighlight={highlightLines:function(o,u,c){var h=(u="string"==typeof u?u:o.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),d=+o.getAttribute("data-line-offset")||0,f=(function(){if(void 0===e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding="0",t.style.border="0",t.innerHTML=" 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}()?parseInt:parseFloat)(getComputedStyle(o).lineHeight),p=Prism.util.isActive(o,t),g=o.querySelector("code"),m=p?o:g||o,v=[],y=g.textContent.match(n),b=y?y.length+1:1,A=g&&m!=g?function(e,t){var i=getComputedStyle(e),n=getComputedStyle(t);function r(e){return+e.substr(0,e.length-2)}return t.offsetTop+r(n.borderTopWidth)+r(n.paddingTop)-r(i.paddingTop)}(o,g):0;h.forEach((function(e){var t=e.split("-"),i=+t[0],n=+t[1]||i;if(!((n=Math.min(b+d,n))i&&r.setAttribute("data-end",String(n)),r.style.top=(i-d-1)*f+A+"px",r.textContent=new Array(n-i+2).join(" \n")}));v.push((function(){r.style.width=o.scrollWidth+"px"})),v.push((function(){m.appendChild(r)}))}}));var P=o.id;if(p&&Prism.util.isActive(o,i)&&P){l(o,i)||v.push((function(){o.classList.add(i)}));var E=parseInt(o.getAttribute("data-start")||"1");s(".line-numbers-rows > span",o).forEach((function(e,t){var i=t+E;e.onclick=function(){var e=P+"."+i;r=!1,location.hash=e,setTimeout((function(){r=!0}),1)}}))}return function(){v.forEach(a)}}};var o=0;Prism.hooks.add("before-sanity-check",(function(e){var t=e.element.parentElement;if(u(t)){var i=0;s(".line-highlight",t).forEach((function(e){i+=e.textContent.length,e.parentNode.removeChild(e)})),i&&/^(?: \n)+$/.test(e.code.slice(-i))&&(e.code=e.code.slice(0,-i))}})),Prism.hooks.add("complete",(function e(i){var n=i.element.parentElement;if(u(n)){clearTimeout(o);var r=Prism.plugins.lineNumbers,s=i.plugins&&i.plugins.lineNumbers;l(n,t)&&r&&!s?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(n)(),o=setTimeout(c,1))}})),window.addEventListener("hashchange",c),window.addEventListener("resize",(function(){s("pre").filter(u).map((function(e){return Prism.plugins.lineHighlight.highlightLines(e)})).forEach(a)}))}function s(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function l(e,t){return e.classList.contains(t)}function a(e){e()}function u(e){return!!(e&&/pre/i.test(e.nodeName)&&(e.hasAttribute("data-line")||e.id&&Prism.util.isActive(e,i)))}function c(){var e=location.hash.slice(1);s(".temporary.line-highlight").forEach((function(e){e.parentNode.removeChild(e)}));var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var i=e.slice(0,e.lastIndexOf(".")),n=document.getElementById(i);n&&(n.hasAttribute("data-line")||n.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(n,t,"temporary ")(),r&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}(); +!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e="line-numbers",n=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(n,t){if("PRE"===n.tagName&&n.classList.contains(e)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,s=r+(i.children.length-1);ts&&(t=s);var l=t-r;return i.children[l]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var i=t.element,s=i.parentNode;if(s&&/pre/i.test(s.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,e)){i.classList.remove(e),s.classList.add(e);var l,o=t.code.match(n),a=o?o.length+1:1,u=new Array(a+1).join("");(l=document.createElement("span")).setAttribute("aria-hidden","true"),l.className="line-numbers-rows",l.innerHTML=u,s.hasAttribute("data-start")&&(s.style.counterReset="linenumber "+(parseInt(s.getAttribute("data-start"),10)-1)),t.element.appendChild(l),r([s]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(e){if(0!=(e=e.filter((function(e){var n,t=(n=e,n?window.getComputedStyle?getComputedStyle(n):n.currentStyle||null:null)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(t&&i){var r=e.querySelector(".line-numbers-sizer"),s=t.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",t.appendChild(r)),r.innerHTML="0",r.style.display="block";var l=r.getBoundingClientRect().height;return r.innerHTML="",{element:e,lines:s,lineHeights:[],oneLinerHeight:l,sizer:r}}})).filter(Boolean);t.forEach((function(e){var n=e.sizer,t=e.lines,i=e.lineHeights,r=e.oneLinerHeight;i[t.length-1]=void 0,t.forEach((function(e,t){if(e&&e.length>1){var s=n.appendChild(document.createElement("span"));s.style.display="block",s.textContent=e}else i[t]=r}))})),t.forEach((function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r + * Licensed under the New BSD License. + * https://github.com/stackp/promisejs + */ +(function(a){function b(){this._callbacks=[];}b.prototype.then=function(a,c){var d;if(this._isdone)d=a.apply(c,this.result);else{d=new b();this._callbacks.push(function(){var b=a.apply(c,arguments);if(b&&typeof b.then==='function')b.then(d.done,d);});}return d;};b.prototype.done=function(){this.result=arguments;this._isdone=true;for(var a=0;a=300)&&j.status!==304);h.done(a,j.responseText,j);}};j.send(k);return h;}function h(a){return function(b,c,d){return g(a,b,c,d);};}var i={Promise:b,join:c,chain:d,ajax:g,get:h('GET'),post:h('POST'),put:h('PUT'),del:h('DELETE'),ENOXHR:1,ETIMEOUT:2,ajaxTimeout:0};if(typeof define==='function'&&define.amd)define(function(){return i;});else a.promise=i;})(this); \ No newline at end of file diff --git a/documentation/js/libs/svg-pan-zoom.min.js b/documentation/js/libs/svg-pan-zoom.min.js new file mode 100644 index 0000000000..4904d12d3f --- /dev/null +++ b/documentation/js/libs/svg-pan-zoom.min.js @@ -0,0 +1,3 @@ +// svg-pan-zoom v3.6.1 +// https://github.com/ariutta/svg-pan-zoom +!function s(r,a,l){function u(e,t){if(!a[e]){if(!r[e]){var o="function"==typeof require&&require;if(!t&&o)return o(e,!0);if(h)return h(e,!0);var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[e]={exports:{}};r[e][0].call(i.exports,function(t){return u(r[e][1][t]||t)},i,i.exports,s,r,a,l)}return a[e].exports}for(var h="function"==typeof require&&require,t=0;tthis.options.maxZoom*n.zoom&&(t=this.options.maxZoom*n.zoom/this.getZoom());var i=this.viewport.getCTM(),s=e.matrixTransform(i.inverse()),r=this.svg.createSVGMatrix().translate(s.x,s.y).scale(t).translate(-s.x,-s.y),a=i.multiply(r);a.a!==i.a&&this.viewport.setCTM(a)},i.prototype.zoom=function(t,e){this.zoomAtPoint(t,a.getSvgCenterPoint(this.svg,this.width,this.height),e)},i.prototype.publicZoom=function(t,e){e&&(t=this.computeFromRelativeZoom(t)),this.zoom(t,e)},i.prototype.publicZoomAtPoint=function(t,e,o){if(o&&(t=this.computeFromRelativeZoom(t)),"SVGPoint"!==r.getType(e)){if(!("x"in e&&"y"in e))throw new Error("Given point is invalid");e=a.createSVGPoint(this.svg,e.x,e.y)}this.zoomAtPoint(t,e,o)},i.prototype.getZoom=function(){return this.viewport.getZoom()},i.prototype.getRelativeZoom=function(){return this.viewport.getRelativeZoom()},i.prototype.computeFromRelativeZoom=function(t){return t*this.viewport.getOriginalState().zoom},i.prototype.resetZoom=function(){var t=this.viewport.getOriginalState();this.zoom(t.zoom,!0)},i.prototype.resetPan=function(){this.pan(this.viewport.getOriginalState())},i.prototype.reset=function(){this.resetZoom(),this.resetPan()},i.prototype.handleDblClick=function(t){var e;if((this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),this.options.controlIconsEnabled)&&-1<(t.target.getAttribute("class")||"").indexOf("svg-pan-zoom-control"))return!1;e=t.shiftKey?1/(2*(1+this.options.zoomScaleSensitivity)):2*(1+this.options.zoomScaleSensitivity);var o=a.getEventPoint(t,this.svg).matrixTransform(this.svg.getScreenCTM().inverse());this.zoomAtPoint(e,o)},i.prototype.handleMouseDown=function(t,e){this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),r.mouseAndTouchNormalize(t,this.svg),this.options.dblClickZoomEnabled&&r.isDblClick(t,e)?this.handleDblClick(t):(this.state="pan",this.firstEventCTM=this.viewport.getCTM(),this.stateOrigin=a.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()))},i.prototype.handleMouseMove=function(t){if(this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),"pan"===this.state&&this.options.panEnabled){var e=a.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()),o=this.firstEventCTM.translate(e.x-this.stateOrigin.x,e.y-this.stateOrigin.y);this.viewport.setCTM(o)}},i.prototype.handleMouseUp=function(t){this.options.preventMouseEventsDefault&&(t.preventDefault?t.preventDefault():t.returnValue=!1),"pan"===this.state&&(this.state="none")},i.prototype.fit=function(){var t=this.viewport.getViewBox(),e=Math.min(this.width/t.width,this.height/t.height);this.zoom(e,!0)},i.prototype.contain=function(){var t=this.viewport.getViewBox(),e=Math.max(this.width/t.width,this.height/t.height);this.zoom(e,!0)},i.prototype.center=function(){var t=this.viewport.getViewBox(),e=.5*(this.width-(t.width+2*t.x)*this.getZoom()),o=.5*(this.height-(t.height+2*t.y)*this.getZoom());this.getPublicInstance().pan({x:e,y:o})},i.prototype.updateBBox=function(){this.viewport.simpleViewBoxCache()},i.prototype.pan=function(t){var e=this.viewport.getCTM();e.e=t.x,e.f=t.y,this.viewport.setCTM(e)},i.prototype.panBy=function(t){var e=this.viewport.getCTM();e.e+=t.x,e.f+=t.y,this.viewport.setCTM(e)},i.prototype.getPan=function(){var t=this.viewport.getState();return{x:t.x,y:t.y}},i.prototype.resize=function(){var t=a.getBoundingClientRectNormalized(this.svg);this.width=t.width,this.height=t.height;var e=this.viewport;e.options.width=this.width,e.options.height=this.height,e.processCTM(),this.options.controlIconsEnabled&&(this.getPublicInstance().disableControlIcons(),this.getPublicInstance().enableControlIcons())},i.prototype.destroy=function(){var e=this;for(var t in this.beforeZoom=null,this.onZoom=null,this.beforePan=null,this.onPan=null,(this.onUpdatedCTM=null)!=this.options.customEventsHandler&&this.options.customEventsHandler.destroy({svgElement:this.svg,eventsListenerElement:this.options.eventsListenerElement,instance:this.getPublicInstance()}),this.eventListeners)(this.options.eventsListenerElement||this.svg).removeEventListener(t,this.eventListeners[t],!this.options.preventMouseEventsDefault&&h);this.disableMouseWheelZoom(),this.getPublicInstance().disableControlIcons(),this.reset(),c=c.filter(function(t){return t.svg!==e.svg}),delete this.options,delete this.viewport,delete this.publicInstance,delete this.pi,this.getPublicInstance=function(){return null}},i.prototype.getPublicInstance=function(){var o=this;return this.publicInstance||(this.publicInstance=this.pi={enablePan:function(){return o.options.panEnabled=!0,o.pi},disablePan:function(){return o.options.panEnabled=!1,o.pi},isPanEnabled:function(){return!!o.options.panEnabled},pan:function(t){return o.pan(t),o.pi},panBy:function(t){return o.panBy(t),o.pi},getPan:function(){return o.getPan()},setBeforePan:function(t){return o.options.beforePan=null===t?null:r.proxy(t,o.publicInstance),o.pi},setOnPan:function(t){return o.options.onPan=null===t?null:r.proxy(t,o.publicInstance),o.pi},enableZoom:function(){return o.options.zoomEnabled=!0,o.pi},disableZoom:function(){return o.options.zoomEnabled=!1,o.pi},isZoomEnabled:function(){return!!o.options.zoomEnabled},enableControlIcons:function(){return o.options.controlIconsEnabled||(o.options.controlIconsEnabled=!0,s.enable(o)),o.pi},disableControlIcons:function(){return o.options.controlIconsEnabled&&(o.options.controlIconsEnabled=!1,s.disable(o)),o.pi},isControlIconsEnabled:function(){return!!o.options.controlIconsEnabled},enableDblClickZoom:function(){return o.options.dblClickZoomEnabled=!0,o.pi},disableDblClickZoom:function(){return o.options.dblClickZoomEnabled=!1,o.pi},isDblClickZoomEnabled:function(){return!!o.options.dblClickZoomEnabled},enableMouseWheelZoom:function(){return o.enableMouseWheelZoom(),o.pi},disableMouseWheelZoom:function(){return o.disableMouseWheelZoom(),o.pi},isMouseWheelZoomEnabled:function(){return!!o.options.mouseWheelZoomEnabled},setZoomScaleSensitivity:function(t){return o.options.zoomScaleSensitivity=t,o.pi},setMinZoom:function(t){return o.options.minZoom=t,o.pi},setMaxZoom:function(t){return o.options.maxZoom=t,o.pi},setBeforeZoom:function(t){return o.options.beforeZoom=null===t?null:r.proxy(t,o.publicInstance),o.pi},setOnZoom:function(t){return o.options.onZoom=null===t?null:r.proxy(t,o.publicInstance),o.pi},zoom:function(t){return o.publicZoom(t,!0),o.pi},zoomBy:function(t){return o.publicZoom(t,!1),o.pi},zoomAtPoint:function(t,e){return o.publicZoomAtPoint(t,e,!0),o.pi},zoomAtPointBy:function(t,e){return o.publicZoomAtPoint(t,e,!1),o.pi},zoomIn:function(){return this.zoomBy(1+o.options.zoomScaleSensitivity),o.pi},zoomOut:function(){return this.zoomBy(1/(1+o.options.zoomScaleSensitivity)),o.pi},getZoom:function(){return o.getRelativeZoom()},setOnUpdatedCTM:function(t){return o.options.onUpdatedCTM=null===t?null:r.proxy(t,o.publicInstance),o.pi},resetZoom:function(){return o.resetZoom(),o.pi},resetPan:function(){return o.resetPan(),o.pi},reset:function(){return o.reset(),o.pi},fit:function(){return o.fit(),o.pi},contain:function(){return o.contain(),o.pi},center:function(){return o.center(),o.pi},updateBBox:function(){return o.updateBBox(),o.pi},resize:function(){return o.resize(),o.pi},getSizes:function(){return{width:o.width,height:o.height,realZoom:o.getZoom(),viewBox:o.viewport.getViewBox()}},destroy:function(){return o.destroy(),o.pi}}),this.publicInstance};var c=[];e.exports=function(t,e){var o=r.getSvg(t);if(null===o)return null;for(var n=c.length-1;0<=n;n--)if(c[n].svg===o)return c[n].instance.getPublicInstance();return c.push({svg:o,instance:new i(o,e)}),c[c.length-1].instance.getPublicInstance()}},{"./control-icons":1,"./shadow-viewport":2,"./svg-utilities":5,"./uniwheel":6,"./utilities":7}],5:[function(t,e,o){var l=t("./utilities"),s="unknown";document.documentMode&&(s="ie"),e.exports={svgNS:"http://www.w3.org/2000/svg",xmlNS:"http://www.w3.org/XML/1998/namespace",xmlnsNS:"http://www.w3.org/2000/xmlns/",xlinkNS:"http://www.w3.org/1999/xlink",evNS:"http://www.w3.org/2001/xml-events",getBoundingClientRectNormalized:function(t){if(t.clientWidth&&t.clientHeight)return{width:t.clientWidth,height:t.clientHeight};if(t.getBoundingClientRect())return t.getBoundingClientRect();throw new Error("Cannot get BoundingClientRect for SVG.")},getOrCreateViewport:function(t,e){var o=null;if(!(o=l.isElement(e)?e:t.querySelector(e))){var n=Array.prototype.slice.call(t.childNodes||t.children).filter(function(t){return"defs"!==t.nodeName&&"#text"!==t.nodeName});1===n.length&&"g"===n[0].nodeName&&null===n[0].getAttribute("transform")&&(o=n[0])}if(!o){var i="viewport-"+(new Date).toISOString().replace(/\D/g,"");(o=document.createElementNS(this.svgNS,"g")).setAttribute("id",i);var s=t.childNodes||t.children;if(s&&00)if(a.tHead&&a.tHead.rows.length>0){for(e=0;e0&&n.push(m),o++;if(!n)return}for(o=0;o2&&void 0!==arguments[2]&&arguments[2];for(var s in t)void 0!==i[s]&&(null===i[s]||"object"!==(0,c.default)(i[s])?n(t,i,s,o):"object"===(0,c.default)(t[s])&&e.fillIfDefined(t[s],i[s],o))},e.extend=function(t,e){for(var i=1;i3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(o))throw new TypeError("Arrays are not supported by deepExtend");for(var r in o)if(o.hasOwnProperty(r)&&-1===t.indexOf(r))if(o[r]&&o[r].constructor===Object)void 0===i[r]&&(i[r]={}),i[r].constructor===Object?e.deepExtend(i[r],o[r]):n(i,o,r,s);else if(Array.isArray(o[r])){i[r]=[];for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var r in i)if(i.hasOwnProperty(r)||!0===o)if(i[r]&&i[r].constructor===Object)void 0===t[r]&&(t[r]={}),t[r].constructor===Object?e.deepExtend(t[r],i[r],o):n(t,i,r,s);else if(Array.isArray(i[r])){t[r]=[];for(var a=0;a=0&&(e="DOMMouseScroll"),t.addEventListener(e,i,o)):t.attachEvent("on"+e,i)},e.removeEventListener=function(t,e,i,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===e&&navigator.userAgent.indexOf("Firefox")>=0&&(e="DOMMouseScroll"),t.removeEventListener(e,i,o)):t.detachEvent("on"+e,i)},e.preventDefault=function(t){t||(t=window.event),t.preventDefault?t.preventDefault():t.returnValue=!1},e.getTarget=function(t){t||(t=window.event);var e;return t.target?e=t.target:t.srcElement&&(e=t.srcElement),void 0!=e.nodeType&&3==e.nodeType&&(e=e.parentNode),e},e.hasParent=function(t,e){for(var i=t;i;){if(i===e)return!0;i=i.parentNode}return!1},e.option={},e.option.asBoolean=function(t,e){return"function"==typeof t&&(t=t()),null!=t?0!=t:e||null},e.option.asNumber=function(t,e){return"function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},e.option.asString=function(t,e){return"function"==typeof t&&(t=t()),null!=t?String(t):e||null},e.option.asSize=function(t,i){return"function"==typeof t&&(t=t()),e.isString(t)?t:e.isNumber(t)?t+"px":i||null},e.option.asElement=function(t,e){return"function"==typeof t&&(t=t()),t||e||null},e.hexToRGB=function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,i,o){return e+e+i+i+o+o});var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null},e.overrideOpacity=function(t,i){var o;return-1!=t.indexOf("rgba")?t:-1!=t.indexOf("rgb")?(o=t.substr(t.indexOf("(")+1).replace(")","").split(","),"rgba("+o[0]+","+o[1]+","+o[2]+","+i+")"):(o=e.hexToRGB(t),null==o?t:"rgba("+o.r+","+o.g+","+o.b+","+i+")")},e.RGBToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)},e.parseColor=function(t){var i;if(!0===e.isString(t)){if(!0===e.isValidRGB(t)){var o=t.substr(4).substr(0,t.length-5).split(",").map(function(t){return parseInt(t)});t=e.RGBToHex(o[0],o[1],o[2])}if(!0===e.isValidHex(t)){var n=e.hexToHSV(t),s={h:n.h,s:.8*n.s,v:Math.min(1,1.02*n.v)},r={h:n.h,s:Math.min(1,1.25*n.s),v:.8*n.v},a=e.HSVToHex(r.h,r.s,r.v),h=e.HSVToHex(s.h,s.s,s.v);i={background:t,border:a,highlight:{background:h,border:a},hover:{background:h,border:a}}}else i={background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else i={},i.background=t.background||void 0,i.border=t.border||void 0,e.isString(t.highlight)?i.highlight={border:t.highlight,background:t.highlight}:(i.highlight={},i.highlight.background=t.highlight&&t.highlight.background||void 0,i.highlight.border=t.highlight&&t.highlight.border||void 0),e.isString(t.hover)?i.hover={border:t.hover,background:t.hover}:(i.hover={},i.hover.background=t.hover&&t.hover.background||void 0,i.hover.border=t.hover&&t.hover.border||void 0);return i},e.RGBToHSV=function(t,e,i){t/=255,e/=255,i/=255;var o=Math.min(t,Math.min(e,i)),n=Math.max(t,Math.max(e,i));if(o==n)return{h:0,s:0,v:o};var s=t==o?e-i:i==o?t-e:i-t;return{h:60*((t==o?3:i==o?1:5)-s/(n-o))/360,s:(n-o)/n,v:n}};var v={split:function(t){var e={};return t.split(";").forEach(function(t){if(""!=t.trim()){var i=t.split(":"),o=i[0].trim(),n=i[1].trim();e[o]=n}}),e},join:function(t){return(0,l.default)(t).map(function(e){return e+": "+t[e]}).join("; ")}};e.addCssText=function(t,i){var o=v.split(t.style.cssText),n=v.split(i),s=e.extend(o,n);t.style.cssText=v.join(s)},e.removeCssText=function(t,e){var i=v.split(t.style.cssText),o=v.split(e);for(var n in o)o.hasOwnProperty(n)&&delete i[n];t.style.cssText=v.join(i)},e.HSVToRGB=function(t,e,i){var o,n,s,r=Math.floor(6*t),a=6*t-r,h=i*(1-e),d=i*(1-a*e),l=i*(1-(1-a)*e);switch(r%6){case 0:o=i,n=l,s=h;break;case 1:o=d,n=i,s=h;break;case 2:o=h,n=i,s=l;break;case 3:o=h,n=d,s=i;break;case 4:o=l,n=h,s=i;break;case 5:o=i,n=h,s=d}return{r:Math.floor(255*o),g:Math.floor(255*n),b:Math.floor(255*s)}},e.HSVToHex=function(t,i,o){var n=e.HSVToRGB(t,i,o);return e.RGBToHex(n.r,n.g,n.b)},e.hexToHSV=function(t){var i=e.hexToRGB(t);return e.RGBToHSV(i.r,i.g,i.b)},e.isValidHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},e.isValidRGB=function(t){return t=t.replace(" ",""),/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/i.test(t)},e.isValidRGBA=function(t){return t=t.replace(" ",""),/rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(.{1,3})\)/i.test(t)},e.selectiveBridgeObject=function(t,i){if(null!==i&&"object"===(void 0===i?"undefined":(0,c.default)(i))){for(var o=(0,h.default)(i),n=0;n0&&e(o,t[n-1])<0;n--)t[n]=t[n-1];t[n]=o}return t},e.mergeOptions=function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=function(t){return null!==t&&void 0!==t},s=function(t){return null!==t&&"object"===(void 0===t?"undefined":(0,c.default)(t))};if(!s(t))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!n(i))throw new Error("Parameter option must have a value");if(!s(o))throw new Error("Parameter globalOptions must be an object");var r=e[i],a=s(o)&&!function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}(o),d=a?o[i]:void 0,l=d?d.enabled:void 0;if(void 0!==r){if("boolean"==typeof r)return s(t[i])||(t[i]={}),void(t[i].enabled=r);if(null===r&&!s(t[i])){if(!n(d))return;t[i]=(0,h.default)(d)}if(s(r)){var u=!0;void 0!==r.enabled?u=r.enabled:void 0!==l&&(u=d.enabled),function(t,e,i){s(t[i])||(t[i]={});var o=e[i],n=t[i];for(var r in o)o.hasOwnProperty(r)&&(n[r]=o[r])}(t,e,i),t[i].enabled=u}}},e.binarySearchCustom=function(t,e,i,o){for(var n=0,s=0,r=t.length-1;s<=r&&n<1e4;){var a=Math.floor((s+r)/2),h=t[a],d=void 0===o?h[i]:h[i][o],l=e(d);if(0==l)return a;-1==l?s=a+1:r=a-1,n++}return-1},e.binarySearchValue=function(t,e,i,o,n){var s,r,a,h,d=0,l=0,u=t.length-1;for(n=void 0!=n?n:function(t,e){return t==e?0:t0)return"before"==o?Math.max(0,h-1):h;if(n(r,e)<0&&n(a,e)>0)return"before"==o?h:Math.min(t.length-1,h+1);n(r,e)<0?l=h+1:u=h-1,d++}return-1},e.easingFunctions={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}},e.getScrollBarWidth=function(){var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow="scroll";var o=t.offsetWidth;return i==o&&(o=e.clientWidth),document.body.removeChild(e),i-o},e.topMost=function(t,e){var i=void 0;Array.isArray(e)||(e=[e]);var o=!0,n=!1,s=void 0;try{for(var a,h=(0,r.default)(t);!(o=(a=h.next()).done);o=!0){var d=a.value;if(d){i=d[e[0]];for(var l=1;ln?1:or)&&(s=h,r=d)}return s},n.prototype.min=function(t){var e,i,o=this._data,n=(0,l.default)(o),s=null,r=null;for(e=0,i=n.length;e0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElementNS("http://www.w3.org/2000/svg",t),i.appendChild(o)):(o=document.createElementNS("http://www.w3.org/2000/svg",t),e[t]={used:[],redundant:[]},i.appendChild(o)),e[t].used.push(o),o},e.getDOMElement=function(t,e,i,o){var n;return e.hasOwnProperty(t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElement(t),void 0!==o?i.insertBefore(n,o):i.appendChild(n)):(n=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==o?i.insertBefore(n,o):i.appendChild(n)),e[t].used.push(n),n},e.drawPoint=function(t,i,o,n,s,r){var a;if("circle"==o.style?(a=e.getSVGElement("circle",n,s),a.setAttributeNS(null,"cx",t),a.setAttributeNS(null,"cy",i),a.setAttributeNS(null,"r",.5*o.size)):(a=e.getSVGElement("rect",n,s),a.setAttributeNS(null,"x",t-.5*o.size),a.setAttributeNS(null,"y",i-.5*o.size),a.setAttributeNS(null,"width",o.size),a.setAttributeNS(null,"height",o.size)),void 0!==o.styles&&a.setAttributeNS(null,"style",o.styles),a.setAttributeNS(null,"class",o.className+" vis-point"),r){var h=e.getSVGElement("text",n,s);r.xOffset&&(t+=r.xOffset),r.yOffset&&(i+=r.yOffset),r.content&&(h.textContent=r.content),r.className&&h.setAttributeNS(null,"class",r.className+" vis-label"),h.setAttributeNS(null,"x",t),h.setAttributeNS(null,"y",i)}return a},e.drawBar=function(t,i,o,n,s,r,a,h){if(0!=n){n<0&&(n*=-1,i-=n);var d=e.getSVGElement("rect",r,a);d.setAttributeNS(null,"x",t-.5*o),d.setAttributeNS(null,"y",i),d.setAttributeNS(null,"width",o),d.setAttributeNS(null,"height",n),d.setAttributeNS(null,"class",s),h&&d.setAttributeNS(null,"style",h)}}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.printStyle=void 0;var n=i(19),s=o(n),r=i(6),a=o(r),h=i(8),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=!1,v=void 0,g="background: #FFeeee; color: #dd0000",y=function(){function t(){(0,u.default)(this,t)}return(0,p.default)(t,null,[{key:"validate",value:function(e,i,o){m=!1,v=i;var n=i;return void 0!==o&&(n=i[o]),t.parse(e,n,[]),m}},{key:"parse",value:function(e,i,o){for(var n in e)e.hasOwnProperty(n)&&t.check(n,e,i,o)}},{key:"check",value:function(e,i,o,n){if(void 0===o[e]&&void 0===o.__any__)return void t.getSuggestion(e,o,n);var s=e,r=!0;void 0===o[e]&&void 0!==o.__any__&&(s="__any__",r="object"===t.getType(i[e]));var a=o[s];r&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,o,s,a,n)}},{key:"checkFields",value:function(e,i,o,n,s,r){var a=function(i){console.log("%c"+i+t.printLocation(r,e),g)},h=t.getType(i[e]),l=s[h];void 0!==l?"array"===t.getType(l)&&-1===l.indexOf(i[e])?(a('Invalid option detected in "'+e+'". Allowed values are:'+t.print(l)+' not "'+i[e]+'". '),m=!0):"object"===h&&"__any__"!==n&&(r=f.copyAndExtendArray(r,e),t.parse(i[e],o[n],r)):void 0===s.any&&(a('Invalid type received for "'+e+'". Expected: '+t.print((0,d.default)(s))+". Received ["+h+'] "'+i[e]+'"'),m=!0)}},{key:"getType",value:function(t){var e=void 0===t?"undefined":(0,a.default)(t);return"object"===e?null===t?"null":t instanceof Boolean?"boolean":t instanceof Number?"number":t instanceof String?"string":Array.isArray(t)?"array":t instanceof Date?"date":void 0!==t.nodeType?"dom":!0===t._isAMomentObject?"moment":"object":"number"===e?"number":"boolean"===e?"boolean":"string"===e?"string":void 0===e?"undefined":e}},{key:"getSuggestion",value:function(e,i,o){var n=t.findInOptions(e,i,o,!1),s=t.findInOptions(e,v,[],!0),r=void 0 +;r=void 0!==n.indexMatch?" in "+t.printLocation(n.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+n.indexMatch+'"?\n\n':s.distance<=4&&n.distance>s.distance?" in "+t.printLocation(n.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+t.printLocation(s.path,s.closestMatch,""):n.distance<=8?'. Did you mean "'+n.closestMatch+'"?'+t.printLocation(n.path,e):". Did you mean one of these: "+t.print((0,d.default)(i))+t.printLocation(o,e),console.log('%cUnknown option detected: "'+e+'"'+r,g),m=!0}},{key:"findInOptions",value:function(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=1e9,r="",a=[],h=e.toLowerCase(),d=void 0;for(var l in i){var u=void 0;if(void 0!==i[l].__type__&&!0===n){var c=t.findInOptions(e,i[l],f.copyAndExtendArray(o,l));s>c.distance&&(r=c.closestMatch,a=c.path,s=c.distance,d=c.indexMatch)}else-1!==l.toLowerCase().indexOf(h)&&(d=l),u=t.levenshteinDistance(e,l),s>u&&(r=l,a=f.copyArray(o),s=u)}return{closestMatch:r,path:a,distance:s,indexMatch:d}}},{key:"printLocation",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Problem value found at: \n",o="\n\n"+i+"options = {\n",n=0;n0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:"performFill",value:function(t,e){this.enableShadow(t,e),t.fill(),this.disableShadow(t,e),this.performStroke(t,e)}},{key:"_addBoundingBoxMargin",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:"_updateBoundingBox",value:function(t,e,i,o,n){void 0!==i&&this.resize(i,o,n),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n)}},{key:"getDimensionsFromLabel",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var o=this.textSize.width,n=this.textSize.height;return 0===o&&(o=14,n=14),{width:o,height:n}}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){this.labelModule.getTextSize(t,e,i);var n=2*o.size;this.width=n,this.height=n,this.radius=.5*this.width}}},{key:"_drawShape",value:function(t,e,i,o,n,s,r,a){if(this.resize(t,s,r,a),this.left=o-this.width/2,this.top=n-this.height/2,this.initContextForDraw(t,a),t[e](o,n,a.size),this.performFill(t,a),void 0!==this.options.label){this.labelModule.calculateLabelSize(t,s,r,o,n,"hanging");var h=n+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(t,o,h,s,r,"hanging")}this.updateBoundingBox(o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),e}(m.default);e.default=v},function(t,e,i){var o=i(78),n=i(51);t.exports=function(t){return o(n(t))}},function(t,e,i){var o=i(20),n=i(39);t.exports=i(21)?function(t,e,i){return o.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var o=i(32);t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,i){t.exports={default:i(138),__esModule:!0}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(188),s=o(n),r=i(77),a=o(r);e.default=function(){function t(t,e){var i=[],o=!0,n=!1,s=void 0;try{for(var r,h=(0,a.default)(t);!(o=(r=h.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{!o&&h.return&&h.return()}finally{if(n)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if((0,s.default)(Object(e)))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(t,e){t.exports={}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,i){var o=i(84),n=i(58);t.exports=Object.keys||function(t){return o(t,n)}},function(t,e,i){function o(t,e,i){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0,this.z=void 0!==i?i:0}o.subtract=function(t,e){var i=new o;return i.x=t.x-e.x,i.y=t.y-e.y,i.z=t.z-e.z,i},o.add=function(t,e){var i=new o;return i.x=t.x+e.x,i.y=t.y+e.y,i.z=t.z+e.z,i},o.avg=function(t,e){return new o((t.x+e.x)/2,(t.y+e.y)/2,(t.z+e.z)/2)},o.crossProduct=function(t,e){var i=new o;return i.x=t.y*e.z-t.z*e.y,i.y=t.z*e.x-t.x*e.z,i.z=t.x*e.y-t.y*e.x,i},o.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.exports=o},function(t,e,i){var o,n,s;!function(i,r){n=[],o=r,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(0,function(){function t(t){var e,i=t&&t.preventDefault||!1,o=t&&t.container||window,n={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r.delete={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){d(t,"keydown")},h=function(t){d(t,"keyup")},d=function(t,e){if(void 0!==s[e][t.keyCode]){for(var o=s[e][t.keyCode],n=0;n=4*a){var c=0,p=s.clone();switch(o[h].repeat){case"daily":d.day()!=l.day()&&(c=1),d.dayOfYear(n.dayOfYear()),d.year(n.year()),d.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-c,"days"),p.add(1,"weeks");break;case"weekly":var f=l.diff(d,"days"),m=d.day();d.date(n.date()),d.month(n.month()),d.year(n.year()),l=d.clone(),d.day(m),l.day(m),l.add(f,"days"),d.subtract(1,"weeks"),l.subtract(1,"weeks"),p.add(1,"weeks");break;case"monthly":d.month()!=l.month()&&(c=1),d.month(n.month()),d.year(n.year()),d.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(c,"months"),p.add(1,"months");break;case"yearly":d.year()!=l.year()&&(c=1),d.year(n.year()),d.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(c,"years"),p.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",o[h].repeat)}for(;d=e[o].start&&e[n].end<=e[o].end?e[n].remove=!0:e[n].start>=e[o].start&&e[n].start<=e[o].end?(e[o].end=e[n].end,e[n].remove=!0):e[n].end>=e[o].start&&e[n].end<=e[o].end&&(e[o].start=e[n].start,e[n].remove=!0));for(o=0;o=r&&nt.range.end){var h={start:t.range.start,end:i};return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,h,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale}return i=e.correctTimeForHidden(t.options.moment,t.body.hiddenDates,t.range,i),n=t.range.conversion(o,r),(i.valueOf()-n.offset)*n.scale},e.toTime=function(t,i,o){if(0==t.body.hiddenDates.length){var n=t.range.conversion(o);return new Date(i/n.scale+n.offset)}var s=e.getHiddenDurationBetween(t.body.hiddenDates,t.range.start,t.range.end),r=t.range.end-t.range.start-s,a=r*i/o,h=e.getAccumulatedHiddenDuration(t.body.hiddenDates,t.range,a);return new Date(h+a+t.range.start)},e.getHiddenDurationBetween=function(t,e,i){for(var o=0,n=0;n=e&&r=e&&r<=i&&(o+=r-s)}return o},e.correctTimeForHidden=function(t,i,o,n){return n=t(n).toDate().valueOf(),n-=e.getHiddenDurationBefore(t,i,o,n)},e.getHiddenDurationBefore=function(t,e,i,o){var n=0;o=t(o).toDate().valueOf();for(var s=0;s=i.start&&a=a&&(n+=a-r)}return n},e.getAccumulatedHiddenDuration=function(t,e,i){for(var o=0,n=0,s=e.start,r=0;r=e.start&&h=i)break;o+=h-a}}return o},e.snapAwayFromHidden=function(t,i,o,n){var s=e.isHidden(i,t);return 1==s.hidden?o<0?1==n?s.startDate-(s.endDate-i)-1:s.startDate-1:1==n?s.endDate+(i-s.startDate)+1:s.endDate+1:i},e.isHidden=function(t,e){for(var i=0;i=o&&t0){var e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=(0,h.default)(this.data)}for(var i=0;ithis.max&&this.flush(),clearTimeout(this._timeout),this.queue.length>0&&"number"==typeof this.delay){var t=this;this._timeout=setTimeout(function(){t.flush()},this.delay)}},o.prototype.flush=function(){for(;this._queue.length>0;){var t=this._queue.shift();t.fn.apply(t.context||t.fn,t.args||[])}},t.exports=o},function(t,e){function i(t){if(t)return o(t)}function o(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}t.exports=i,i.prototype.on=i.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},i.prototype.once=function(t,e){function i(){o.off(t,i),e.apply(this,arguments)}var o=this;return this._callbacks=this._callbacks||{},i.fn=e,this.on(t,i),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i=this._callbacks[t];if(!i)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var o,n=0;n=.4*v}if(this.options.showMinorLabels&&m){var k=this._repaintMinorText(c,y,t,b);k.style.width=_+"px"}f&&this.options.showMajorLabels?(c>0&&(void 0==w&&(w=c),k=this._repaintMajorText(c,s.getLabelMajor(),t,b)),g=this._repaintMajorLine(c,_,t,b)):m?g=this._repaintMinorLine(c,_,t,b):g&&(g.style.width=parseInt(g.style.width)+_+"px")}if(1e3!==x||u||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),u=!0),this.options.showMajorLabels){var S=this.body.util.toTime(0),D=s.getLabelMajor(S),M=D.length*(this.props.majorCharWidth||10)+10;(void 0==w||Mt.left&&this.shape.topt.top}},{key:"isBoundingBoxOverlappingWith",value:function(t){return this.shape.boundingBox.leftt.left&&this.shape.boundingBox.topt.top}}],[{key:"updateGroupOptions",value:function(t,e,i){if(void 0!==i){var o=t.group;if(void 0!==e&&void 0!==e.group&&o!==e.group)throw new Error("updateGroupOptions: group values in options don't match.");if("number"==typeof o||"string"==typeof o&&""!=o){var n=i.get(o);h.selectiveNotDeepExtend(["font"],t,n),t.color=h.parseColor(t.color)}}}},{key:"parseOptions",value:function(e,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments[4],r=["color","fixed","shadow"];if(h.selectiveNotDeepExtend(r,e,i,o),t.checkMass(i),h.mergeOptions(e,i,"shadow",n),void 0!==i.color&&null!==i.color){var a=h.parseColor(i.color);h.fillIfDefined(e.color,a)}else!0===o&&null===i.color&&(e.color=h.bridgeObject(n.color));void 0!==i.fixed&&null!==i.fixed&&("boolean"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&"boolean"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&"boolean"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===o&&null===i.font&&(e.font=h.bridgeObject(n.font)),t.updateGroupOptions(e,i,s),void 0!==i.scaling&&h.mergeOptions(e.scaling,i.scaling,"label",n.scaling)}},{key:"checkMass",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i="";void 0!==e&&(i=" in node id: "+e),console.log("%cNegative or zero mass disallowed"+i+", setting mass to 1.",C),t.mass=1}}}]),t}();e.default=O},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(2),u=function(){function t(){(0,a.default)(this,t)}return(0,d.default)(t,null,[{key:"choosify",value:function(t,e){var i=["node","edge","label"],o=!0,n=l.topMost(e,"chosen");if("boolean"==typeof n)o=n;else if("object"===(void 0===n?"undefined":(0,s.default)(n))){if(-1===i.indexOf(t))throw new Error("choosify: subOption '"+t+"' should be one of '"+i.join("', '")+"'");var r=l.topMost(e,["chosen",t]);"boolean"!=typeof r&&"function"!=typeof r||(o=r)}return o}},{key:"pointInRect",value:function(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var o={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var n=-i.angle;e={x:Math.cos(n)*o.x-Math.sin(n)*o.y,y:Math.sin(n)*o.x+Math.cos(n)*o.y}}else e=o}var s=t.x+t.width,r=t.y+t.width;return t.lefte.x&&t.tope.y}},{key:"isValidLabel",value:function(t){return"string"==typeof t&&""!==t}}]),t}();e.default=u},function(t,e,i){i(125);for(var o=i(18),n=i(26),s=i(31),r=i(13)("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),h=0;hdocument.F=Object<\/script>"),t.close(),h=t.F;o--;)delete h.prototype[s[o]];return h()};t.exports=Object.create||function(t,e){var i;return null!==t?(a.prototype=o(t),i=new a,a.prototype=null,i[r]=t):i=h(),void 0===e?i:n(i,e)}},function(t,e){var i=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:i)(t)}},function(t,e,i){var o=i(57)("keys"),n=i(40);t.exports=function(t){return o[t]||(o[t]=n(t))}},function(t,e,i){var o=i(18),n=o["__core-js_shared__"]||(o["__core-js_shared__"]={});t.exports=function(t){return n[t]||(n[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var o=i(20).f,n=i(22),s=i(13)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,s)&&o(t,s,{configurable:!0,value:e})}},function(t,e,i){var o=i(135)(!0);i(79)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=o(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){e.f=i(13)},function(t,e,i){var o=i(18),n=i(7),s=i(52),r=i(61),a=i(20).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=s?{}:o.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:r.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(t,e){var i=p().hours(0).minutes(0).seconds(0).milliseconds(0),o=i.clone().add(-3,"days").valueOf(),n=i.clone().add(3,"days").valueOf();this.millisecondsPerPixelCache=void 0,void 0===e?(this.start=o,this.end=n):(this.start=e.start||o,this.end=e.end||n),this.rolling=!1,this.body=t,this.deltaDifference=0,this.scaleOffset=0,this.startToFront=!1,this.endToFront=!0,this.defaultOptions={rtl:!1,start:null,end:null,moment:p,direction:"horizontal",moveable:!0,zoomable:!0,min:null,max:null,zoomMin:10,zoomMax:31536e10,rollingMode:{follow:!1,offset:.5}},this.options=c.extend({},this.defaultOptions),this.props={touch:{}},this.animationTimer=null,this.body.emitter.on("panstart",this._onDragStart.bind(this)),this.body.emitter.on("panmove",this._onDrag.bind(this)),this.body.emitter.on("panend",this._onDragEnd.bind(this)),this.body.emitter.on("mousewheel",this._onMouseWheel.bind(this)),this.body.emitter.on("touch",this._onTouch.bind(this)),this.body.emitter.on("pinch",this._onPinch.bind(this)),this.body.dom.rollingModeBtn.addEventListener("click",this.startRolling.bind(this)),this.setOptions(e)}function s(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError('Unknown direction "'+t+'". Choose "horizontal" or "vertical".')}var r=i(8),a=o(r),h=i(19),d=o(h),l=i(6),u=o(l),c=i(2),p=i(9),f=i(16),m=i(36);n.prototype=new f,n.prototype.setOptions=function(t){if(t){var e=["animation","direction","min","max","zoomMin","zoomMax","moveable","zoomable","moment","activate","hiddenDates","zoomKey","rtl","showCurrentTime","rollingMode","horizontalScroll"];c.selectiveExtend(e,this.options,t),t.rollingMode&&t.rollingMode.follow&&this.startRolling(),("start"in t||"end"in t)&&this.setRange(t.start,t.end)}},n.prototype.startRolling=function(){function t(){e.stopRolling(),e.rolling=!0;var i=e.end-e.start,o=c.convert(new Date,"Date").valueOf(),n=o-i*e.options.rollingMode.offset,s=o+i*(1-e.options.rollingMode.offset),r={animation:!1};e.setRange(n,s,r),i=1/e.conversion(e.body.domProps.center.width).scale/10,i<30&&(i=30),i>1e3&&(i=1e3),e.body.dom.rollingModeBtn.style.visibility="hidden",e.currentTimeTimer=setTimeout(t,i)}var e=this;t()},n.prototype.stopRolling=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")},n.prototype.setRange=function(t,e,i,o,n){i||(i={}),!0!==i.byUser&&(i.byUser=!1);var s=this,r=void 0!=t?c.convert(t,"Date").valueOf():null,h=void 0!=e?c.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){var l=this.start,p=this.end,f="object"===(0,u.default)(i.animation)&&"duration"in i.animation?i.animation.duration:500,v="object"===(0,u.default)(i.animation)&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",g=c.easingFunctions[v];if(!g)throw new Error("Unknown easing function "+(0,d.default)(v)+". Choose from: "+(0,a.default)(c.easingFunctions).join(", "));var y=(new Date).valueOf(),b=!1;return function t(){if(!s.props.touch.dragging){var e=(new Date).valueOf(),a=e-y,d=g(a/f),u=a>f,c=u||null===r?r:l+(r-l)*d,v=u||null===h?h:p+(h-p)*d;_=s._applyRange(c,v),m.updateHiddenDates(s.options.moment,s.body,s.options.hiddenDates),b=b||_;var w={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(n&&n(d,_,u),_&&s.body.emitter.emit("rangechange",w),u){if(b&&(s.body.emitter.emit("rangechanged",w),o))return o()}else s.animationTimer=setTimeout(t,20)}}()}var _=this._applyRange(r,h);if(m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),_){var w={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",w),clearTimeout(s.timeoutID),s.timeoutID=setTimeout(function(){s.body.emitter.emit("rangechanged",w)},200),o)return o()}},n.prototype.getMillisecondsPerPixel=function(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache},n.prototype._cancelAnimation=function(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},n.prototype._applyRange=function(t,e){var i,o=null!=t?c.convert(t,"Date").valueOf():this.start,n=null!=e?c.convert(e,"Date").valueOf():this.end,s=null!=this.options.max?c.convert(this.options.max,"Date").valueOf():null,r=null!=this.options.min?c.convert(this.options.min,"Date").valueOf():null;if(isNaN(o)||null===o)throw new Error('Invalid start "'+t+'"');if(isNaN(n)||null===n)throw new Error('Invalid end "'+e+'"');if(ns&&(n=s)),null!==s&&n>s&&(i=n-s,o-=i,n-=i,null!=r&&o=this.start-.5&&n<=this.end?(o=this.start,n=this.end):(i=a-(n-o),o-=i/2,n+=i/2)}}if(null!==this.options.zoomMax){var h=parseFloat(this.options.zoomMax);h<0&&(h=0),n-o>h&&(this.end-this.start===h&&othis.end?(o=this.start,n=this.end):(i=n-o-h,o+=i/2,n-=i/2))}var d=this.start!=o||this.end!=n;return o>=this.start&&o<=this.end||n>=this.start&&n<=this.end||this.start>=o&&this.start<=n||this.end>=o&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=o,this.end=n,d},n.prototype.getRange=function(){return{start:this.start,end:this.end}},n.prototype.conversion=function(t,e){return n.conversion(this.start,this.end,t,e)},n.conversion=function(t,e,i,o){return void 0===o&&(o=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-o)}:{offset:0,scale:1}},n.prototype._onDragStart=function(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))},n.prototype._onDrag=function(t){if(t&&this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging){var e=this.options.direction;s(e);var i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;var o=this.props.touch.end-this.props.touch.start;o-=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end);var n,r="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;n=this.options.rtl?i/r*o:-i/r*o;var a=this.props.touch.start+n,h=this.props.touch.end+n,d=m.snapAwayFromHidden(this.body.hiddenDates,a,this.previousDelta-i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,this.previousDelta-i,!0);if(d!=a||l!=h)return this.deltaDifference+=i,this.props.touch.start=d,this.props.touch.end=l,void this._onDrag(t);this.previousDelta=i,this._applyRange(a,h);var u=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:u,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}},n.prototype._onDragEnd=function(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:t}))},n.prototype._onMouseWheel=function(t){var e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail&&(e=-t.detail/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){var i;i=e<0?1-e/5:1/(1+e/5);var o;if(this.rolling)o=this.start+(this.end-this.start)*this.options.rollingMode.offset;else{var n=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(n)}this.zoom(i,o,e,t),t.preventDefault()}},n.prototype._onTouch=function(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.scaleOffset=0,this.deltaDifference=0,c.preventDefault(t)},n.prototype._onPinch=function(t){if(this.options.zoomable&&this.options.moveable){c.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center)),this.stopRolling();var e=1/(t.scale+this.scaleOffset),i=this._pointerToDate(this.props.touch.center),o=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),n=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,i),s=o-n,r=i-n+(this.props.touch.start-(i-n))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;var h=m.snapAwayFromHidden(this.body.hiddenDates,r,1-e,!0),d=m.snapAwayFromHidden(this.body.hiddenDates,a,e-1,!0);h==r&&d==a||(this.props.touch.start=h,this.props.touch.end=d,this.scaleOffset=1-t.scale,r=h,a=d);var l={animation:!1,byUser:!0,event:t};this.setRange(r,a,l),this.startToFront=!1,this.endToFront=!0}},n.prototype._isInsideRange=function(t){var e,i=t.center?t.center.x:t.clientX;e=this.options.rtl?i-c.getAbsoluteLeft(this.body.dom.centerContainer):c.getAbsoluteRight(this.body.dom.centerContainer)-i;var o=this.body.util.toTime(e);return o>=this.start&&o<=this.end},n.prototype._pointerToDate=function(t){var e,i=this.options.direction;if(s(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();var o=this.body.domProps.center.height;return e=this.conversion(o),t.y/e.scale+e.offset},n.prototype.getPointer=function(t,e){return this.options.rtl?{x:c.getAbsoluteRight(e)-t.x,y:t.y-c.getAbsoluteTop(e)}:{x:t.x-c.getAbsoluteLeft(e),y:t.y-c.getAbsoluteTop(e)}},n.prototype.zoom=function(t,e,i,o){null==e&&(e=(this.start+this.end)/2);var n=m.getHiddenDurationBetween(this.body.hiddenDates,this.start,this.end),s=m.getHiddenDurationBefore(this.options.moment,this.body.hiddenDates,this,e),r=n-s,a=e-s+(this.start-(e-s))*t,h=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0) +;var d=m.snapAwayFromHidden(this.body.hiddenDates,a,i,!0),l=m.snapAwayFromHidden(this.body.hiddenDates,h,-i,!0);d==a&&l==h||(a=d,h=l);var u={animation:!1,byUser:!0,event:o};this.setRange(a,h,u),this.startToFront=!1,this.endToFront=!0},n.prototype.move=function(t){var e=this.end-this.start,i=this.start+e*t,o=this.end+e*t;this.start=i,this.end=o},n.prototype.moveTo=function(t){var e=(this.start+this.end)/2,i=e-t,o=this.start-i,n=this.end-i,s={animation:!1,byUser:!0,event:null};this.setRange(o,n,s)},t.exports=n},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){}var s=i(19),r=o(s),a=i(6),h=o(a),d=i(44),l=i(10),u=i(37),c=i(2),p=i(45),f=i(97),m=i(36),v=i(46);d(n.prototype),n.prototype._create=function(t){function e(t){this.isActive()&&this.emit("mousewheel",t);var e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),this.options.zoomKey&&!t[this.options.zoomKey])if(t.preventDefault(),this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){var o=this.props.scrollTop,n=o+i;this.isActive()&&(this._setScrollTop(n),this._redraw(),this.emit("scroll",t))}else if(this.options.horizontalScroll){var s=Math.abs(e)>=Math.abs(i)?e:i,r=s/120*(this.range.end-this.range.start)/20,a=this.range.start+r,h=this.range.end+r,d={animation:!1,byUser:!0,event:t};this.range.setRange(a,h,d)}}function i(t){if(s.options.verticalScroll&&(t.preventDefault(),s.isActive())){var e=-t.target.scrollTop;s._setScrollTop(e),s._redraw(),s.emit("scrollSide",t)}}function o(t){if(t.preventDefault&&t.preventDefault(),!(!t.target.className.indexOf("vis")>-1||a))return t.dataTransfer.dropEffect="move",a=!0,!1}function n(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var e=JSON.parse(t.dataTransfer.getData("text"));if(!e||!e.content)return}catch(t){return!1}return a=!1,t.center={x:t.clientX,y:t.clientY},"item"!==e.target?s.itemSet._onAddItem(t):s.itemSet._onDropObjectOnItem(t),s.emit("drop",s.getEventProperties(t)),!1}this.dom={},this.dom.container=t,this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",function(){!0===this.initialDrawDone&&this._redraw()}.bind(this)),this.on("rangechanged",function(){this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)}.bind(this)),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));var s=this;this._origRedraw=this._redraw.bind(this),this._redraw=c.throttle(this._origRedraw),this.on("_change",function(t){s.itemSet&&s.itemSet.initialItemSetDrawn&&t&&1==t.queue?s._redraw():s._origRedraw()}),this.hammer=new l(this.dom.root);var r=this.hammer.get("pinch").set({enable:!0});u.disablePreventDefaultVertically(r),this.hammer.get("pan").set({threshold:5,direction:l.DIRECTION_HORIZONTAL}),this.listeners={},["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(function(t){var e=function(e){s.isActive()&&s.emit(t,e)};s.hammer.on(t,e),s.listeners[t]=e}),u.onTouch(this.hammer,function(t){s.emit("touch",t)}.bind(this)),u.onRelease(this.hammer,function(t){s.emit("release",t)}.bind(this)),this.dom.centerContainer.addEventListener?(this.dom.centerContainer.addEventListener("mousewheel",e.bind(this),!1),this.dom.centerContainer.addEventListener("DOMMouseScroll",e.bind(this),!1)):this.dom.centerContainer.attachEvent("onmousewheel",e.bind(this)),this.dom.left.parentNode.addEventListener("scroll",i.bind(this)),this.dom.right.parentNode.addEventListener("scroll",i.bind(this));var a=!1;if(this.dom.center.addEventListener("dragover",o.bind(this),!1),this.dom.center.addEventListener("drop",n.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root)},n.prototype.setOptions=function(t){if(t){var e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","rtl","zoomKey","horizontalScroll","verticalScroll"];if(c.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!==(0,h.default)(this.options.orientation)&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"===(0,h.default)(t.orientation)&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){var i=this.timeAxis2=new p(this.body);i.setOptions=function(t){var e=t?c.extend({},t):{};e.orientation="top",p.prototype.setOptions.call(i,e)},this.components.push(i)}}else if(this.timeAxis2){var o=this.components.indexOf(this.timeAxis2);-1!==o&&this.components.splice(o,1),this.timeAxis2.destroy(),this.timeAxis2=null}if("function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&m.convertHiddenOptions(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new f(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),"showCustomTime"in t)throw new Error("Option `showCustomTime` is deprecated. Create a custom time bar via timeline.addCustomTime(time [, id])");this._initAutoResize()}if(this.components.forEach(function(e){return e.setOptions(t)}),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);var n=c.deepExtend({},this.options);this.components.forEach(function(t){c.deepExtend(n,t.options)}),this.configurator.setModuleOptions({global:n})}this._redraw()},n.prototype.isActive=function(){return!this.activator||this.activator.active},n.prototype.destroy=function(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(var t in this.listeners)this.listeners.hasOwnProperty(t)&&delete this.listeners[t];this.listeners=null,this.hammer=null,this.components.forEach(function(t){return t.destroy()}),this.body=null},n.prototype.setCustomTime=function(t,e){var i=this.customTimes.filter(function(t){return e===t.options.id});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));i.length>0&&i[0].setCustomTime(t)},n.prototype.getCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));return e[0].getCustomTime()},n.prototype.setCustomTimeTitle=function(t,e){var i=this.customTimes.filter(function(t){return t.options.id===e});if(0===i.length)throw new Error("No custom time bar found with id "+(0,r.default)(e));if(i.length>0)return i[0].setCustomTitle(t)},n.prototype.getEventProperties=function(t){return{event:t}},n.prototype.addCustomTime=function(t,e){var i=void 0!==t?c.convert(t,"Date").valueOf():new Date;if(this.customTimes.some(function(t){return t.options.id===e}))throw new Error("A custom time with id "+(0,r.default)(e)+" already exists");var o=new v(this.body,c.extend({},this.options,{time:i,id:e}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e},n.prototype.removeCustomTime=function(t){var e=this.customTimes.filter(function(e){return e.options.id===t});if(0===e.length)throw new Error("No custom time bar found with id "+(0,r.default)(t));e.forEach(function(t){this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}.bind(this))},n.prototype.getVisibleItems=function(){return this.itemSet&&this.itemSet.getVisibleItems()||[]},n.prototype.fit=function(t,e){var i=this.getDataRange();if(null!==i.min||null!==i.max){var o=i.max-i.min,n=new Date(i.min.valueOf()-.01*o),s=new Date(i.max.valueOf()+.01*o),r=!t||void 0===t.animation||t.animation;this.range.setRange(n,s,{animation:r},e)}},n.prototype.getDataRange=function(){throw new Error("Cannot invoke abstract method getDataRange")},n.prototype.setWindow=function(t,e,i,o){"function"==typeof arguments[2]&&(o=arguments[2],i={});var n,s;1==arguments.length?(s=arguments[0],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],o=arguments[1],n=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:n},o)):(n=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:n},o))},n.prototype.moveTo=function(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.range.end-this.range.start,n=c.convert(t,"Date").valueOf(),s=n-o/2,r=n+o/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)},n.prototype.getWindow=function(){var t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}},n.prototype.zoomIn=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=r/(1+t),h=(r-a)/2,d=n+h,l=s-h;this.setWindow(d,l,e,i)}},n.prototype.zoomOut=function(t,e,i){if(!(!t||t<0||t>1)){"function"==typeof arguments[1]&&(i=arguments[1],e={});var o=this.getWindow(),n=o.start.valueOf(),s=o.end.valueOf(),r=s-n,a=n-r*t/2,h=s+r*t/2;this.setWindow(a,h,e,i)}},n.prototype.redraw=function(){this._redraw()},n.prototype._redraw=function(){this.redrawCount++;var t=!1,e=this.options,i=this.props,o=this.dom;if(o&&o.container&&0!=o.root.offsetWidth){m.updateHiddenDates(this.options.moment,this.body,this.options.hiddenDates),"top"==e.orientation?(c.addClassName(o.root,"vis-top"),c.removeClassName(o.root,"vis-bottom")):(c.removeClassName(o.root,"vis-top"),c.addClassName(o.root,"vis-bottom")),o.root.style.maxHeight=c.option.asSize(e.maxHeight,""),o.root.style.minHeight=c.option.asSize(e.minHeight,""),o.root.style.width=c.option.asSize(e.width,""),i.border.left=(o.centerContainer.offsetWidth-o.centerContainer.clientWidth)/2,i.border.right=i.border.left,i.border.top=(o.centerContainer.offsetHeight-o.centerContainer.clientHeight)/2,i.border.bottom=i.border.top,i.borderRootHeight=o.root.offsetHeight-o.root.clientHeight,i.borderRootWidth=o.root.offsetWidth-o.root.clientWidth,0===o.centerContainer.clientHeight&&(i.border.left=i.border.top,i.border.right=i.border.left),0===o.root.clientHeight&&(i.borderRootWidth=i.borderRootHeight),i.center.height=o.center.offsetHeight,i.left.height=o.left.offsetHeight,i.right.height=o.right.offsetHeight,i.top.height=o.top.clientHeight||-i.border.top,i.bottom.height=o.bottom.clientHeight||-i.border.bottom;var n=Math.max(i.left.height,i.center.height,i.right.height),s=i.top.height+n+i.bottom.height+i.borderRootHeight+i.border.top+i.border.bottom;o.root.style.height=c.option.asSize(e.height,s+"px"),i.root.height=o.root.offsetHeight,i.background.height=i.root.height-i.borderRootHeight;var r=i.root.height-i.top.height-i.bottom.height-i.borderRootHeight;i.centerContainer.height=r,i.leftContainer.height=r,i.rightContainer.height=i.leftContainer.height,i.root.width=o.root.offsetWidth,i.background.width=i.root.width-i.borderRootWidth,this.initialDrawDone||(i.scrollbarWidth=c.getScrollBarWidth()),e.verticalScroll?e.rtl?(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth+i.scrollbarWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth+i.scrollbarWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right):(i.left.width=o.leftContainer.clientWidth||-i.border.left,i.right.width=o.rightContainer.clientWidth||-i.border.right),this._setDOM();var a=this._updateScrollTop();"top"!=e.orientation.item&&(a+=Math.max(i.centerContainer.height-i.center.height-i.border.top-i.border.bottom,0)),o.center.style.top=a+"px";var h=0==i.scrollTop?"hidden":"",d=i.scrollTop==i.scrollTopMin?"hidden":"";o.shadowTop.style.visibility=h,o.shadowBottom.style.visibility=d,o.shadowTopLeft.style.visibility=h,o.shadowBottomLeft.style.visibility=d,o.shadowTopRight.style.visibility=h,o.shadowBottomRight.style.visibility=d,e.verticalScroll&&(o.rightContainer.className="vis-panel vis-right vis-vertical-scroll",o.leftContainer.className="vis-panel vis-left vis-vertical-scroll",o.shadowTopRight.style.visibility="hidden",o.shadowBottomRight.style.visibility="hidden",o.shadowTopLeft.style.visibility="hidden",o.shadowBottomLeft.style.visibility="hidden",o.left.style.top="0px",o.right.style.top="0px"),(!e.verticalScroll||i.center.heighti.centerContainer.height;this.hammer.get("pan").set({direction:u?l.DIRECTION_ALL:l.DIRECTION_HORIZONTAL}),this.components.forEach(function(e){t=e.redraw()||t});if(t){if(this.redrawCount<5)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw?")}else this.redrawCount=0;this.body.emitter.emit("changed")}},n.prototype._setDOM=function(){var t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;var i=t.root.width-t.left.width-t.right.width-t.borderRootWidth;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=t.background.height+"px",e.backgroundVertical.style.height=t.background.height+"px",e.backgroundHorizontal.style.height=t.centerContainer.height+"px",e.centerContainer.style.height=t.centerContainer.height+"px",e.leftContainer.style.height=t.leftContainer.height+"px",e.rightContainer.style.height=t.rightContainer.height+"px",e.background.style.width=t.background.width+"px",e.backgroundVertical.style.width=t.centerContainer.width+"px",e.backgroundHorizontal.style.width=t.background.width+"px",e.centerContainer.style.width=t.center.width+"px",e.top.style.width=t.top.width+"px",e.bottom.style.width=t.bottom.width+"px",e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=t.left.width+t.border.left+"px",e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=t.top.height+"px",e.centerContainer.style.left=t.left.width+"px",e.centerContainer.style.top=t.top.height+"px",e.leftContainer.style.left="0",e.leftContainer.style.top=t.top.height+"px",e.rightContainer.style.left=t.left.width+t.center.width+"px",e.rightContainer.style.top=t.top.height+"px",e.top.style.left=t.left.width+"px",e.top.style.top="0",e.bottom.style.left=t.left.width+"px",e.bottom.style.top=t.top.height+t.centerContainer.height+"px",e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"},n.prototype.repaint=function(){throw new Error("Function repaint is deprecated. Use redraw instead.")},n.prototype.setCurrentTime=function(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)},n.prototype.getCurrentTime=function(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()},n.prototype._toTime=function(t){return m.toTime(this,t,this.props.center.width)},n.prototype._toGlobalTime=function(t){return m.toTime(this,t,this.props.root.width)},n.prototype._toScreen=function(t){return m.toScreen(this,t,this.props.center.width)},n.prototype._toGlobalScreen=function(t){return m.toScreen(this,t,this.props.root.width)},n.prototype._initAutoResize=function(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()},n.prototype._startAutoResize=function(){var t=this;this._stopAutoResize(),this._onResize=function(){if(1!=t.options.autoResize)return void t._stopAutoResize();t.dom.root&&(t.dom.root.offsetWidth==t.props.lastWidth&&t.dom.root.offsetHeight==t.props.lastHeight||(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight,t.props.scrollbarWidth=c.getScrollBarWidth(),t.body.emitter.emit("_change")))},c.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)},n.prototype._stopAutoResize=function(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(c.removeEventListener(window,"resize",this._onResize),this._onResize=null)},n.prototype._onTouch=function(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop},n.prototype._onPinch=function(t){this.touch.allowDragging=!1},n.prototype._onDrag=function(t){if(t&&this.touch.allowDragging){var e=t.deltaY,i=this._getScrollTop(),o=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),o!=i&&this.emit("verticalDrag")}},n.prototype._setScrollTop=function(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop},n.prototype._updateScrollTop=function(){var t=Math.min(this.props.centerContainer.height-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()0?t.step:1,this.autoScale=!1)},o.prototype.setAutoScale=function(t){this.autoScale=t},o.prototype.setMinimumStep=function(t){if(void 0!=t){31104e9>t&&(this.scale="year",this.step=1e3),15552e9>t&&(this.scale="year",this.step=500),31104e8>t&&(this.scale="year",this.step=100),15552e8>t&&(this.scale="year",this.step=50),31104e7>t&&(this.scale="year",this.step=10),15552e7>t&&(this.scale="year",this.step=5),31104e6>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),2592e6>t&&(this.scale="month",this.step=1),432e6>t&&(this.scale="day",this.step=5),1728e5>t&&(this.scale="day",this.step=2),864e5>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),36e5>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),6e4>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),1e3>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}},o.snap=function(t,e,i){var o=n(t);if("year"==e){var s=o.year()+Math.round(o.month()/12);o.year(Math.round(s/i)*i),o.month(0),o.date(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("month"==e)o.date()>15?(o.date(1),o.add(1,"month")):o.date(1),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("week"==e)o.weekday()>2?(o.weekday(0),o.add(1,"week")):o.weekday(0),o.hours(0),o.minutes(0),o.seconds(0),o.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:o.hours(24*Math.round(o.hours()/24));break;default:o.hours(12*Math.round(o.hours()/12))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:o.hours(12*Math.round(o.hours()/12));break;default:o.hours(6*Math.round(o.hours()/6))}o.minutes(0),o.seconds(0),o.milliseconds(0)}else if("hour"==e){switch(i){case 4:o.minutes(60*Math.round(o.minutes()/60));break;default:o.minutes(30*Math.round(o.minutes()/30))}o.seconds(0),o.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:o.minutes(5*Math.round(o.minutes()/5)),o.seconds(0);break;case 5:o.seconds(60*Math.round(o.seconds()/60));break;default:o.seconds(30*Math.round(o.seconds()/30))}o.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:o.seconds(5*Math.round(o.seconds()/5)),o.milliseconds(0);break;case 5:o.milliseconds(1e3*Math.round(o.milliseconds()/1e3));break;default:o.milliseconds(500*Math.round(o.milliseconds()/500))}else if("millisecond"==e){var r=i>5?i/2:1;o.milliseconds(Math.round(o.milliseconds()/r)*r)}return o},o.prototype.isMajor=function(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}var t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":case"week":return 1==t.date();case"month":return 0==t.month();case"year":default:return!1}},o.prototype.getLabelMinor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);var e=this.format.minorLabels[this.scale];switch(this.scale){case"week":if(this.isMajor()&&0!==t.weekday())return"";default:return e&&e.length>0?this.moment(t).format(e):""}},o.prototype.getLabelMajor=function(t){if(void 0==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);var e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""},o.prototype.getClassName=function(){function t(t){return t/a%2==0?" vis-even":" vis-odd"}function e(t){return t.isSame(new Date,"day")?" vis-today":t.isSame(n().add(1,"day"),"day")?" vis-tomorrow":t.isSame(n().add(-1,"day"),"day")?" vis-yesterday":""}function i(t){return t.isSame(new Date,"week")?" vis-current-week":""}function o(t){return t.isSame(new Date,"month")?" vis-current-month":""}var n=this.moment,s=this.moment(this.current),r=s.locale?s.locale("en"):s.lang("en"),a=this.step,h=[];switch(this.scale){case"millisecond":h.push(e(r)),h.push(t(r.milliseconds()));break;case"second":h.push(e(r)),h.push(t(r.seconds()));break;case"minute":h.push(e(r)),h.push(t(r.minutes()));break;case"hour":h.push("vis-h"+r.hours()+(4==this.step?"-h"+(r.hours()+4):"")),h.push(e(r)),h.push(t(r.hours()));break;case"weekday":h.push("vis-"+r.format("dddd").toLowerCase()),h.push(e(r)),h.push(i(r)),h.push(t(r.date()));break;case"day":h.push("vis-day"+r.date()),h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(e(r)),h.push(o(r)),h.push(this.step<=2?e(r):""),h.push(this.step<=2?"vis-"+r.format("dddd").toLowerCase():""), +h.push(t(r.date()-1));break;case"week":h.push("vis-week"+r.format("w")),h.push(i(r)),h.push(t(r.week()));break;case"month":h.push("vis-"+r.format("MMMM").toLowerCase()),h.push(o(r)),h.push(t(r.month()));break;case"year":h.push("vis-year"+r.year()),h.push(function(t){return t.isSame(new Date,"year")?" vis-current-year":""}(r)),h.push(t(r.year()))}return h.filter(String).join(" ")},t.exports=o},function(t,e,i){function o(t,e){this.body=t,this.defaultOptions={rtl:!1,showCurrentTime:!0,moment:r,locales:a,locale:"en"},this.options=n.extend({},this.defaultOptions),this.offset=0,this._create(),this.setOptions(e)}var n=i(2),s=i(16),r=i(9),a=i(98);o.prototype=new s,o.prototype._create=function(){var t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t},o.prototype.destroy=function(){this.options.showCurrentTime=!1,this.redraw(),this.body=null},o.prototype.setOptions=function(t){t&&n.selectiveExtend(["rtl","showCurrentTime","moment","locale","locales"],this.options,t)},o.prototype.redraw=function(){if(this.options.showCurrentTime){var t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());var e=this.options.moment((new Date).valueOf()+this.offset),i=this.body.util.toScreen(e),o=this.options.locales[this.options.locale];o||(this.warned||(console.log("WARNING: options.locales['"+this.options.locale+"'] not found. See http://visjs.org/docs/timeline/#Localization"),this.warned=!0),o=this.options.locales.en);var n=o.current+" "+o.time+": "+e.format("dddd, MMMM Do YYYY, H:mm:ss");n=n.charAt(0).toUpperCase()+n.substring(1),this.options.rtl?this.bar.style.right=i+"px":this.bar.style.left=i+"px",this.bar.title=n}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1},o.prototype.start=function(){function t(){e.stop();var i=e.body.range.conversion(e.body.domProps.center.width).scale,o=1/i/10;o<30&&(o=30),o>1e3&&(o=1e3),e.redraw(),e.body.emitter.emit("currentTimeTick"),e.currentTimeTimer=setTimeout(t,o)}var e=this;t()},o.prototype.stop=function(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)},o.prototype.setCurrentTime=function(t){var e=n.convert(t,"Date").valueOf(),i=(new Date).valueOf();this.offset=e-i,this.redraw()},o.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.offset)},t.exports=o},function(t,e,i){function o(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.doInnerStack=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(var o in e.subgroupStack)this.subgroupStack[o]=e.subgroupStack[o],this.doInnerStack=this.doInnerStack||e.subgroupStack[o];this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;var n=this;this.itemSet.body.emitter.on("checkRangedItems",function(){n.checkRangedItems=!0}),this._create(),this.setData(e)}var n=i(8),s=function(t){return t&&t.__esModule?t:{default:t}}(n),r=i(2),a=i(100);o.prototype._create=function(){var t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;var e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;var i=document.createElement("div");i.className="vis-group",i["timeline-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)},o.prototype.setData=function(t){var e,i;if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(this.dom.inner.appendChild(e);this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=void 0!==e&&null!==e?e:this.groupId||"";if(this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?r.removeClassName(this.dom.inner,"vis-hidden"):r.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups){this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),r.addClassName(this.dom.label,"vis-nesting-group");var o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed";this.showNested?(r.removeClassName(this.dom.label,o),r.addClassName(this.dom.label,"expanded")):(r.removeClassName(this.dom.label,"expanded"),r.addClassName(this.dom.label,o))}else this.nestedGroups&&(this.nestedGroups=null,o=this.itemSet.options.rtl?"collapsed-rtl":"collapsed",r.removeClassName(this.dom.label,o),r.removeClassName(this.dom.label,"expanded"),r.removeClassName(this.dom.label,"vis-nesting-group"));t&&t.nestedInGroup&&(r.addClassName(this.dom.label,"vis-nested-group"),this.itemSet.options&&this.itemSet.options.rtl?this.dom.inner.style.paddingRight="30px":this.dom.inner.style.paddingLeft="30px");var n=t&&t.className||null;n!=this.className&&(this.className&&(r.removeClassName(this.dom.label,this.className),r.removeClassName(this.dom.foreground,this.className),r.removeClassName(this.dom.background,this.className),r.removeClassName(this.dom.axis,this.className)),r.addClassName(this.dom.label,n),r.addClassName(this.dom.foreground,n),r.addClassName(this.dom.background,n),r.addClassName(this.dom.axis,n),this.className=n),this.style&&(r.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(r.addCssText(this.dom.label,t.style),this.style=t.style)},o.prototype.getLabelWidth=function(){return this.props.label.width},o.prototype._didMarkerHeightChange=function(){var t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;var e={},i=0;r.forEach(this.items,function(t,o){if(t.dirty=!0,t.displayed){e[o]=t.redraw(!0),i=e[o].length}});if(i>0)for(var o=0;o0)for(var u=0;u0){var e=this;this.resetSubgroups(),r.forEach(this.visibleItems,function(i){void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=!0)})}},o.prototype._isGroupVisible=function(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop},o.prototype._calculateHeight=function(t){var e,i=this.visibleItems;if(i.length>0){var o=i[0].top,n=i[0].top+i[0].height;if(r.forEach(i,function(t){o=Math.min(o,t.top),n=Math.max(n,t.top+t.height)}),o>t.axis){var s=o-t.axis;n-=s,r.forEach(i,function(t){t.top-=s})}e=n+t.item.vertical/2}else e=0;return e=Math.max(e,this.props.label.height)},o.prototype.show=function(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)},o.prototype.hide=function(){var t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);var e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);var i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);var o=this.dom.axis;o.parentNode&&o.parentNode.removeChild(o)},o.prototype.add=function(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),-1==this.visibleItems.indexOf(t)){var e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}},o.prototype._addToSubgroup=function(t,e){e=e||t.data.subgroup,void 0!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)},o.prototype._updateSubgroupsSizes=function(){var t=this;if(t.subgroups)for(var e in t.subgroups){var i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start,o=t.subgroups[e].items[0].data.start,n=i-1;t.subgroups[e].items.forEach(function(t){new Date(t.data.start)new Date(n)&&(n=e)}),t.subgroups[e].start=o,t.subgroups[e].end=new Date(n-1)}},o.prototype.orderSubgroups=function(){if(void 0!==this.subgroupOrderer){var t,e=[];if("string"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push({subgroup:t,sortField:this.subgroups[t].items[0].data[this.subgroupOrderer]});e.sort(function(t,e){return t.sortField-e.sortField})}else if("function"==typeof this.subgroupOrderer){for(t in this.subgroups)e.push(this.subgroups[t].items[0].data);e.sort(this.subgroupOrderer)}if(e.length>0)for(var i=0;i=0&&(i.items.splice(o,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}},o.prototype.removeFromDataSet=function(t){this.itemSet.removeItem(t.id)},o.prototype.order=function(){for(var t=r.toArray(this.items),e=[],i=[],o=0;o0)for(var l=0;lh}),1==this.checkRangedItems)for(this.checkRangedItems=!1,l=0;lh})}var p={},f=0;for(l=0;l0)for(var v=0;v=0&&(r=e[s],!n(r));s--)void 0===o[r.id]&&(o[r.id]=!0,i.push(r));for(s=t+1;st.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["timeline-item"]=this,this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);var t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1},o.prototype._repaintDomAdditionals=function(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=function(){this.displayed||this.redraw()},o.prototype.hide=function(){if(this.displayed){var t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}},o.prototype.repositionX=function(t){var e,i,o=this.parent.width,n=this.conversion.toScreen(this.data.start),s=this.conversion.toScreen(this.data.end),r=void 0===this.data.align?this.options.align:this.data.align;!1===this.data.limitSize||void 0!==t&&!0!==t||(n<-o&&(n=-o),s>2*o&&(s=2*o));var a=Math.max(s-n+.5,1);switch(this.overflow?(this.options.rtl?this.right=n:this.left=n,this.width=a+this.props.content.width,i=this.props.content.width):(this.options.rtl?this.right=n:this.left=n,this.width=a,i=Math.min(s-n,this.props.content.width)),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=a+"px",r){case"left":this.options.rtl?this.dom.content.style.right="0":this.dom.content.style.left="0";break;case"right":this.options.rtl?this.dom.content.style.right=Math.max(a-i,0)+"px":this.dom.content.style.left=Math.max(a-i,0)+"px";break;case"center":this.options.rtl?this.dom.content.style.right=Math.max((a-i)/2,0)+"px":this.dom.content.style.left=Math.max((a-i)/2,0)+"px";break;default:e=this.overflow?s>0?Math.max(-n,0):-i:n<0?-n:0,this.options.rtl?this.dom.content.style.right=e+"px":(this.dom.content.style.left=e+"px",this.dom.content.style.width="calc(100% - "+e+"px)")}},o.prototype.repositionY=function(){var t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?this.top+"px":this.parent.height-this.top-this.height+"px"},o.prototype._repaintDragLeft=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragLeft){var t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)},o.prototype._repaintDragRight=function(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.options.editable.updateTime&&!this.dom.dragRight){var t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(179).default,f=function(){function t(e,i,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;(0,d.default)(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},c.extend(this.options,this.defaultOptions),this.configureOptions=o,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new p(n),this.wrapper=void 0}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;"string"==typeof t?this.options.filter=t:t instanceof Array?this.options.filter=t.join():"object"===(void 0===t?"undefined":(0,a.default)(t))?(void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)):"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0),!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}},{key:"setModuleOptions",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:"_create",value:function(){var t=this;this._clean(),this.changedOptions=[];var e=this.options.filter,i=0,o=!1;for(var n in this.configureOptions)this.configureOptions.hasOwnProperty(n)&&(this.allowCreation=!1,o=!1,"function"==typeof e?(o=e(n,[]),o=o||this._handleObject(this.configureOptions[n],[n],!0)):!0!==e&&-1===e.indexOf(n)||(o=!0),!1!==o&&(this.allowCreation=!0,i>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),i++);if(!0===this.options.showButton){var s=document.createElement("div");s.className="vis-configuration vis-config-button",s.innerHTML="generate options",s.onclick=function(){t._printOptions()},s.onmouseover=function(){s.className="vis-configuration vis-config-button hover"},s.onmouseout=function(){s.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(s)}this._push()}},{key:"_push",value:function(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(var t=0;t1?i-1:0),n=1;n2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("div");return o.className="vis-configuration vis-config-label vis-config-s"+e.length,o.innerHTML=!0===i?""+t+":":t+":",o}},{key:"_makeDropdown",value:function(t,e,i){var o=document.createElement("select");o.className="vis-configuration vis-config-select";var n=0;void 0!==e&&-1!==t.indexOf(e)&&(n=t.indexOf(e));for(var s=0;ss&&1!==s&&(a.max=Math.ceil(1.2*e),d=a.max,h="range increased"),a.value=e}else a.value=o;var l=document.createElement("input");l.className="vis-configuration vis-config-rangeinput",l.value=a.value;var u=this;a.onchange=function(){l.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){l.value=this.value};var c=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,c,a,l);""!==h&&this.popupHistory[p]!==d&&(this.popupHistory[p]=d,this._setupPopup(h,p))}},{key:"_setupPopup",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!1,n=this.options.filter,s=!1;for(var r in t)if(t.hasOwnProperty(r)){o=!0;var a=t[r],h=c.copyAndExtendArray(e,r);if("function"==typeof n&&!1===(o=n(r,e))&&!(a instanceof Array)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,o=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==o){s=!0;var d=this._getValue(h);if(a instanceof Array)this._handleArray(a,d,h);else if("string"==typeof a)this._makeTextInput(a,d,h);else if("boolean"==typeof a)this._makeCheckbox(a,d,h);else if(a instanceof Object){var l=!0;if(-1!==e.indexOf("physics")&&this.moduleOptions.physics.solver!==r&&(l=!1),!0===l)if(void 0!==a.enabled){var u=c.copyAndExtendArray(h,"enabled"),p=this._getValue(u);if(!0===p){var f=this._makeLabel(r,h,!0);this._makeItem(h,f),s=this._handleObject(a,h)||s}else this._makeCheckbox(a,p,h)}else{var m=this._makeLabel(r,h,!0);this._makeItem(h,m),s=this._handleObject(a,h)||s}}else console.error("dont know how to handle",a,r,h)}}return s}},{key:"_handleArray",value:function(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:"_update",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}},{key:"_constructOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i;t="true"===t||t,t="false"!==t&&t;for(var n=0;nvar options = "+(0,s.default)(t,null,2)+""}},{key:"getOptions",value:function(){for(var t={},e=0;ethis.imageObj.height?i=this.imageObj.width/this.imageObj.height:o=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*o}else t=this.imageObj.width,e=this.imageObj.height;this.width=t,this.height=e,this.radius=.5*this.width}},{key:"_drawRawCircle",value:function(t,e,i,o){this.initContextForDraw(t,o),t.circle(e,i,o.size),this.performFill(t,o)}},{key:"_drawImageAtPosition",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale),this.imageObj.drawImageAtPosition(t,i,this.left,this.top,this.width,this.height),this.disableShadow(t,e)}}},{key:"_drawImageLabel",value:function(t,e,i,o,n){var s,r=0;if(void 0!==this.height){r=.5*this.height;var a=this.labelModule.getTextSize(t,o,n);a.lineCount>=1&&(r+=a.height/2)}s=i+r,this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,s,o,n,"hanging")}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(6),a=o(r),h=i(29),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(117).default,v=i(48).default,g=i(215).default,y=i(217).default,b=i(218).default,_=i(219).default,w=function(){function t(e,i,o,n){if((0,u.default)(this,t),void 0===i)throw new Error("No body provided");this.options=f.bridgeObject(o),this.globalOptions=o,this.defaultOptions=n,this.body=i,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new m(this.body,this.options,!0),this.setOptions(e)}return(0,p.default)(t,[{key:"setOptions",value:function(e){if(e){t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=parseFloat(e.value));var i=[e,this.options,this.defaultOptions];this.chooser=v.choosify("edge",i),this.updateLabelModule(e);var o=this.updateEdgeType();return this._setInteractionWidths(),this.connect(),void 0===e.hidden&&void 0===e.physics||(o=!0),o}}},{key:"getFormattingValues",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,o=this.options.color.inherit,n={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,arrowStrikethrough:this.options.arrowStrikethrough,color:o?void 0:this.options.color.color,inheritsColor:o,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var s=this.options.selectionWidth;"function"==typeof s?n.width=s(n.width):"number"==typeof s&&(n.width+=s),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.highlight,n.shadow=this.options.shadow.enabled}else if(this.hover){var r=this.options.hoverWidth;"function"==typeof r?n.width=r(n.width):"number"==typeof r&&(n.width+=r),n.width=Math.max(n.width,.3/this.body.view.scale),n.color=this.options.color.hover,n.shadow=this.options.shadow.enabled}}else"function"==typeof this.chooser&&(this.chooser(n,this.options.id,this.selected,this.hover),void 0!==n.color&&(n.inheritsColor=!1),!1===n.shadow&&(n.shadowColor===this.options.shadow.color&&n.shadowSize===this.options.shadow.size&&n.shadowX===this.options.shadow.x&&n.shadowY===this.options.shadow.y||(n.shadow=!0)));else n.shadow=this.options.shadow.enabled,n.width=Math.max(n.width,.3/this.body.view.scale);return n}},{key:"updateLabelModule",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:"updateEdgeType",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof y&&!0===t.enabled&&"dynamic"===t.type||this.edgeType instanceof g&&!0===t.enabled&&"cubicBezier"===t.type||this.edgeType instanceof b&&!0===t.enabled&&"dynamic"!==t.type&&"cubicBezier"!==t.type||this.edgeType instanceof _&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?"dynamic"===t.type?(e=!0,this.edgeType=new y(this.options,this.body,this.labelModule)):"cubicBezier"===t.type?this.edgeType=new g(this.options,this.body,this.labelModule):this.edgeType=new b(this.options,this.body,this.labelModule):this.edgeType=new _(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:"connect",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:"disconnect",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:"getTitle",value:function(){return this.title}},{key:"isSelected",value:function(){return this.selected}},{key:"getValue",value:function(){return this.options.value}},{key:"setValueRange",value:function(t,e,i){if(void 0!==this.options.value){var o=this.options.scaling.customScalingFunction(t,e,i,this.options.value),n=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+o*s}this.options.width=this.options.scaling.min+o*n}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:"_setInteractionWidths",value:function(){"function"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,"function"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:"draw",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),o={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(o.from=this.edgeType.getArrowData(t,"from",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=o.from.core)),e.toArrow&&(o.to=this.edgeType.getArrowData(t,"to",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=o.to.core)),e.middleArrow&&(o.middle=this.edgeType.getArrowData(t,"middle",i,this.selected,this.hover,e)),this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawArrows(t,o,e),this.drawLabel(t,i)}}},{key:"drawArrows",value:function(t,e,i){i.fromArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.from),i.middleArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.middle),i.toArrow&&this.edgeType.drawArrowHead(t,i,this.selected,this.hover,e.to)}},{key:"drawLabel",value:function(t,e){if(void 0!==this.options.label){var i=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),i.id!=o.id){this.labelModule.pointToSelf=!1;var n=this.edgeType.getPoint(.5,e);t.save();var s=this._getRotation(t);0!=s.angle&&(t.translate(s.x,s.y),t.rotate(s.angle)),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var r,a,h=this.options.selfReferenceSize;i.shape.width>i.shape.height?(r=i.x+.5*i.shape.width,a=i.y-h):(r=i.x+h,a=i.y-.5*i.shape.height),n=this._pointOnCircle(r,a,h,.125),this.labelModule.draw(t,n.x,n.y,this.selected,this.hover)}}}},{key:"getItemsOnPoint",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();v.pointInRect(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var o={left:t.x,top:t.y};return this.isOverlappingWith(o)&&e.push({edgeId:this.id}),e}},{key:"isOverlappingWith",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,o=this.to.x,n=this.to.y,s=t.left,r=t.top;return this.edgeType.getDistanceToEdge(e,i,o,n,s,r)<10}return!1}},{key:"_getRotation",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var o={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return o;if("horizontal"===this.options.font.align)return o;var n=this.from.y-this.to.y,s=this.from.x-this.to.x,r=Math.atan2(n,s);return(r<-1&&s<0||r>0&&s<0)&&(r+=Math.PI),o.angle=r,o}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"select",value:function(){this.selected=!0}},{key:"unselect",value:function(){this.selected=!1}},{key:"cleanup",value:function(){return this.edgeType.cleanup()}},{key:"remove",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:"endPointsValid",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:"parseOptions",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=["arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","to","title","value","width","font","chosen","widthConstraint"];if(f.selectiveDeepExtend(r,t,e,i),v.isValidLabel(e.label)?t.label=e.label:t.label=void 0,f.mergeOptions(t,e,"smooth",o),f.mergeOptions(t,e,"shadow",o),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=(0,d.default)(o.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),f.mergeOptions(t.scaling,e.scaling,"label",o.scaling)):!0===i&&null===e.scaling&&(t.scaling=(0,d.default)(o.scaling)),void 0!==e.arrows&&null!==e.arrows)if("string"==typeof e.arrows){var h=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=h.indexOf("to"),t.arrows.middle.enabled=-1!=h.indexOf("middle"),t.arrows.from.enabled=-1!=h.indexOf("from")}else{if("object"!==(0,a.default)(e.arrows))throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+(0,s.default)(e.arrows));f.mergeOptions(t.arrows,e.arrows,"to",o.arrows),f.mergeOptions(t.arrows,e.arrows,"middle",o.arrows),f.mergeOptions(t.arrows,e.arrows,"from",o.arrows)}else!0===i&&null===e.arrows&&(t.arrows=(0,d.default)(o.arrows));if(void 0!==e.color&&null!==e.color){var l=e.color,u=t.color;if(n)f.deepExtend(u,o.color,!1,i);else for(var c in u)u.hasOwnProperty(c)&&delete u[c];if(f.isString(u))u.color=u,u.highlight=u,u.hover=u,u.inherit=!1,void 0===l.opacity&&(u.opacity=1);else{var p=!1;void 0!==l.color&&(u.color=l.color,p=!0),void 0!==l.highlight&&(u.highlight=l.highlight,p=!0),void 0!==l.hover&&(u.hover=l.hover,p=!0),void 0!==l.inherit&&(u.inherit=l.inherit),void 0!==l.opacity&&(u.opacity=Math.min(1,Math.max(0,l.opacity))),!0===p?u.inherit=!1:void 0===u.inherit&&(u.inherit="from")}}else!0===i&&null===e.color&&(t.color=f.bridgeObject(o.color));!0===i&&null===e.font&&(t.font=f.bridgeObject(o.font))}}]),t}();e.default=w},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_findBorderPositionBezier",value:function(t,e){var i,o,n,s,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),h=0,d=0,l=1,u=this.to,c=!1;for(t.id===this.from.id&&(u=this.from,c=!0);d<=l&&h<10;){var p=.5*(d+l);if(i=this.getPoint(p,a),o=Math.atan2(u.y-i.y,u.x-i.x),n=u.distanceToBorder(e,o),s=Math.sqrt(Math.pow(i.x-u.x,2)+Math.pow(i.y-u.y,2)),r=n-s,Math.abs(r)<.2)break;r<0?!1===c?d=p:l=p:!1===c?l=p:d=p,h++}return i.t=p,i}},{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r){var a=1e9,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=t,f=e;for(d=1;d<10;d++)l=.1*d,u=Math.pow(1-l,2)*t+2*l*(1-l)*r.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*r.y+Math.pow(l,2)*o,d>0&&(h=this._getDistanceToLine(p,f,u,c,n,s),a=h1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.shape.boundingBox.left&&(s=e.shape.boundingBox.left),re.shape.boundingBox.top&&(o=e.shape.boundingBox.top),n1&&void 0!==arguments[1]?arguments[1]:[],o=1e9,n=-1e9,s=1e9,r=-1e9;if(i.length>0)for(var a=0;ae.x&&(s=e.x),re.y&&(o=e.y),nh;)o(a,i=e[h++])&&(~s(d,i)||d.push(i));return d}},function(t,e,i){var o=i(22),n=i(41),s=i(56)("IE_PROTO"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),o(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,i){var o=i(50),n=i(13)("toStringTag"),s="Arguments"==o(function(){return arguments}()),r=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=r(e=Object(t),n))?i:s?o(e):"Object"==(a=o(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,i){var o=i(17),n=i(7),s=i(28);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],r={};r[t]=e(i),o(o.S+o.F*s(function(){i(1)}),"Object",r)}},function(t,e,i){var o=i(84),n=i(58).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,n)}},function(t,e,i){var o=i(42),n=i(39),s=i(25),r=i(53),a=i(22),h=i(81),d=Object.getOwnPropertyDescriptor;e.f=i(21)?d:function(t,e){if(t=s(t),e=r(e,!0),h)try{return d(t,e)}catch(t){}if(a(t,e))return n(!o.f.call(t,e),t[e])}},function(t,e,i){t.exports={default:i(162),__esModule:!0}},function(t,e,i){function o(t,e){this.x=void 0!==t?t:0,this.y=void 0!==e?e:0}t.exports=o},function(t,e,i){function o(t,e){if(void 0===t)throw new Error("No container element defined");if(this.container=t,this.visible=!e||void 0==e.visible||e.visible,this.visible){this.frame=document.createElement("DIV"),this.frame.style.width="100%",this.frame.style.position="relative",this.container.appendChild(this.frame),this.frame.prev=document.createElement("INPUT"),this.frame.prev.type="BUTTON",this.frame.prev.value="Prev",this.frame.appendChild(this.frame.prev),this.frame.play=document.createElement("INPUT"),this.frame.play.type="BUTTON",this.frame.play.value="Play",this.frame.appendChild(this.frame.play),this.frame.next=document.createElement("INPUT"),this.frame.next.type="BUTTON",this.frame.next.value="Next",this.frame.appendChild(this.frame.next),this.frame.bar=document.createElement("INPUT"),this.frame.bar.type="BUTTON",this.frame.bar.style.position="absolute",this.frame.bar.style.border="1px solid red",this.frame.bar.style.width="100px",this.frame.bar.style.height="6px",this.frame.bar.style.borderRadius="2px",this.frame.bar.style.MozBorderRadius="2px",this.frame.bar.style.border="1px solid #7F7F7F",this.frame.bar.style.backgroundColor="#E5E5E5",this.frame.appendChild(this.frame.bar),this.frame.slide=document.createElement("INPUT"),this.frame.slide.type="BUTTON",this.frame.slide.style.margin="0px",this.frame.slide.value=" ",this.frame.slide.style.position="relative",this.frame.slide.style.left="-100px",this.frame.appendChild(this.frame.slide);var i=this;this.frame.slide.onmousedown=function(t){i._onMouseDown(t)},this.frame.prev.onclick=function(t){i.prev(t)},this.frame.play.onclick=function(t){i.togglePlay(t)},this.frame.next.onclick=function(t){i.next(t)}}this.onChangeCallback=void 0,this.values=[],this.index=void 0,this.playTimeout=void 0,this.playInterval=1e3,this.playLoop=!0}var n=i(2);o.prototype.prev=function(){var t=this.getIndex();t>0&&(t--,this.setIndex(t))},o.prototype.next=function(){var t=this.getIndex();t0?this.setIndex(0):this.index=void 0},o.prototype.setIndex=function(t){if(!(tthis.values.length-1&&(o=this.values.length-1),o},o.prototype.indexToLeft=function(t){var e=parseFloat(this.frame.bar.style.width)-this.frame.slide.clientWidth-10;return t/(this.values.length-1)*e+3},o.prototype._onMouseMove=function(t){var e=t.clientX-this.startClientX,i=this.startSlideX+e,o=this.leftToIndex(i);this.setIndex(o),n.preventDefault()},o.prototype._onMouseUp=function(t){this.frame.style.cursor="auto",n.removeEventListener(document,"mousemove",this.onmousemove),n.removeEventListener(document,"mouseup",this.onmouseup),n.preventDefault()},t.exports=o},function(t,e,i){function o(t,e,i,o){this._start=0,this._end=0,this._step=1,this.prettyStep=!0,this.precision=5,this._current=0,this.setRange(t,e,i,o)}o.prototype.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.prototype.setRange=function(t,e,i,o){if(!this.isNumeric(t))throw new Error("Parameter 'start' is not numeric; value: "+t);if(!this.isNumeric(e))throw new Error("Parameter 'end' is not numeric; value: "+t);if(!this.isNumeric(i))throw new Error("Parameter 'step' is not numeric; value: "+t);this._start=t||0,this._end=e||0,this.setStep(i,o)},o.prototype.setStep=function(t,e){void 0===t||t<=0||(void 0!==e&&(this.prettyStep=e),!0===this.prettyStep?this._step=o.calculatePrettyStep(t):this._step=t)},o.calculatePrettyStep=function(t){var e=function(t){return Math.log(t)/Math.LN10},i=Math.pow(10,Math.round(e(t))),o=2*Math.pow(10,Math.round(e(t/2))),n=5*Math.pow(10,Math.round(e(t/5))),s=i;return Math.abs(o-t)<=Math.abs(s-t)&&(s=o),Math.abs(n-t)<=Math.abs(s-t)&&(s=n),s<=0&&(s=1),s},o.prototype.getCurrent=function(){return parseFloat(this._current.toPrecision(this.precision))},o.prototype.getStep=function(){return this._step},o.prototype.start=function(t){void 0===t&&(t=!1),this._current=this._start-this._start%this._step,t&&this.getCurrent()this._end},t.exports=o},function(t,e,i){function o(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function n(t){return void 0===t||""===t||"string"!=typeof t?t:t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){return void 0===t||""===t?e:t+n(e)}function r(t,e,i,o){for(var n,r,a=0;ar&&(t=o(t)*r),i(e)>r&&(e=o(e)*r),this.cameraOffset.x=t,this.cameraOffset.y=e,this.calculateCameraOrientation()},o.prototype.getOffset=function(){return this.cameraOffset},o.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},o.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),void 0===t&&void 0===e||this.calculateCameraOrientation()},o.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},o.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.setOffset(this.cameraOffset.x,this.cameraOffset.y),this.calculateCameraOrientation())}, +o.prototype.getArmLength=function(){return this.armLength},o.prototype.getCameraLocation=function(){return this.cameraLocation},o.prototype.getCameraRotation=function(){return this.cameraRotation},o.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal;var t=this.cameraRotation.x,e=this.cameraRotation.z,i=this.cameraOffset.x,o=this.cameraOffset.y,n=Math.sin,s=Math.cos;this.cameraLocation.x=this.cameraLocation.x+i*s(e)+o*-n(e)*s(t),this.cameraLocation.y=this.cameraLocation.y+i*n(e)+o*s(e)*s(t),this.cameraLocation.z=this.cameraLocation.z+o*n(t)},t.exports=o},function(t,e,i){function o(t,e,i){this.dataGroup=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=t.getDistinctValues(this.column),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var n=i(12);o.prototype.isLoaded=function(){return this.loaded},o.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},o.prototype.getLabel=function(){return this.graph.filterLabel},o.prototype.getColumn=function(){return this.column},o.prototype.getSelectedValue=function(){if(void 0!==this.index)return this.values[this.index]},o.prototype.getValues=function(){return this.values},o.prototype.getValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");return this.values[t]},o.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var o=new n(this.dataGroup.getDataSet(),{filter:function(t){return t[i.column]==i.value}}).get();e=this.dataGroup._getDataPoints(o),this.dataPoints[t]=e}return e},o.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},o.prototype.selectValue=function(t){if(t>=this.values.length)throw new Error("Index out of range");this.index=t,this.value=this.values[t]},o.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(t0){var n=i.groupsData.getDataSet();n.get().forEach(function(t){if(t.nestedGroups){0!=t.showNested&&(t.showNested=!0);var e=[];t.nestedGroups.forEach(function(i){var o=n.get(i);o&&(o.nestedInGroup=t.id,0==t.showNested&&(o.visible=!1),e=e.concat(o))}),n.update(e,o)}})}},update:function(t,e,o){i._onUpdateGroups(e.items)},remove:function(t,e,o){i._onRemoveGroups(e.items)}},this.items={},this.groups={},this.groupIds=[],this.selection=[],this.popup=null,this.touchParams={},this.groupTouchParams={},this._create(),this.setOptions(e)}var s=i(29),r=o(s),a=i(6),h=o(a),d=i(10),l=i(2),u=i(11),c=i(12),p=i(66),f=i(16),m=i(68),v=i(69),g=i(101),y=i(102),b=i(70),_=i(103),w=i(104).default,x="__ungrouped__",k="__background__";n.prototype=new f,n.types={background:_,box:g,range:b,point:y},n.prototype._create=function(){var t=document.createElement("div");t.className="vis-itemset",t["timeline-itemset"]=this,this.dom.frame=t;var e=document.createElement("div");e.className="vis-background",t.appendChild(e),this.dom.background=e;var i=document.createElement("div");i.className="vis-foreground",t.appendChild(i),this.dom.foreground=i;var o=document.createElement("div");o.className="vis-axis",this.dom.axis=o;var n=document.createElement("div");n.className="vis-labelset",this.dom.labelSet=n,this._updateUngrouped();var s=new v(k,null,this);s.show(),this.groups[k]=s,this.hammer=new d(this.body.dom.centerContainer),this.hammer.on("hammer.input",function(t){t.isFirst&&this._onTouch(t)}.bind(this)),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:d.DIRECTION_HORIZONTAL}),this.hammer.on("tap",this._onSelectItem.bind(this)),this.hammer.on("press",this._onMultiSelectItem.bind(this)),this.hammer.on("doubletap",this._onAddItem.bind(this)),this.options.rtl?this.groupHammer=new d(this.body.dom.rightContainer):this.groupHammer=new d(this.body.dom.leftContainer),this.groupHammer.on("tap",this._onGroupClick.bind(this)),this.groupHammer.on("panstart",this._onGroupDragStart.bind(this)),this.groupHammer.on("panmove",this._onGroupDrag.bind(this)),this.groupHammer.on("panend",this._onGroupDragEnd.bind(this)),this.groupHammer.get("pan").set({threshold:5,direction:d.DIRECTION_VERTICAL}),this.body.dom.centerContainer.addEventListener("mouseover",this._onMouseOver.bind(this)),this.body.dom.centerContainer.addEventListener("mouseout",this._onMouseOut.bind(this)),this.body.dom.centerContainer.addEventListener("mousemove",this._onMouseMove.bind(this)),this.body.dom.centerContainer.addEventListener("contextmenu",this._onDragEnd.bind(this)),this.body.dom.centerContainer.addEventListener("mousewheel",this._onMouseWheel.bind(this)),this.show()},n.prototype.setOptions=function(t){if(t){var e=["type","rtl","align","order","stack","stackSubgroups","selectable","multiselect","multiselectPerGroup","groupOrder","dataAttributes","template","groupTemplate","visibleFrameTemplate","hide","snap","groupOrderSwap","showTooltips","tooltip","tooltipOnItemUpdateTime"];l.selectiveExtend(e,this.options,t),"itemsAlwaysDraggable"in t&&("boolean"==typeof t.itemsAlwaysDraggable?(this.options.itemsAlwaysDraggable.item=t.itemsAlwaysDraggable,this.options.itemsAlwaysDraggable.range=!1):"object"===(0,h.default)(t.itemsAlwaysDraggable)&&(l.selectiveExtend(["item","range"],this.options.itemsAlwaysDraggable,t.itemsAlwaysDraggable),this.options.itemsAlwaysDraggable.item||(this.options.itemsAlwaysDraggable.range=!1))),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.item="top"===t.orientation?"top":"bottom":"object"===(0,h.default)(t.orientation)&&"item"in t.orientation&&(this.options.orientation.item=t.orientation.item)),"margin"in t&&("number"==typeof t.margin?(this.options.margin.axis=t.margin,this.options.margin.item.horizontal=t.margin,this.options.margin.item.vertical=t.margin):"object"===(0,h.default)(t.margin)&&(l.selectiveExtend(["axis"],this.options.margin,t.margin),"item"in t.margin&&("number"==typeof t.margin.item?(this.options.margin.item.horizontal=t.margin.item,this.options.margin.item.vertical=t.margin.item):"object"===(0,h.default)(t.margin.item)&&l.selectiveExtend(["horizontal","vertical"],this.options.margin.item,t.margin.item)))),"editable"in t&&("boolean"==typeof t.editable?(this.options.editable.updateTime=t.editable,this.options.editable.updateGroup=t.editable,this.options.editable.add=t.editable,this.options.editable.remove=t.editable,this.options.editable.overrideItems=!1):"object"===(0,h.default)(t.editable)&&l.selectiveExtend(["updateTime","updateGroup","add","remove","overrideItems"],this.options.editable,t.editable)),"groupEditable"in t&&("boolean"==typeof t.groupEditable?(this.options.groupEditable.order=t.groupEditable,this.options.groupEditable.add=t.groupEditable,this.options.groupEditable.remove=t.groupEditable):"object"===(0,h.default)(t.groupEditable)&&l.selectiveExtend(["order","add","remove"],this.options.groupEditable,t.groupEditable));["onDropObjectOnItem","onAdd","onUpdate","onRemove","onMove","onMoving","onAddGroup","onMoveGroup","onRemoveGroup"].forEach(function(e){var i=t[e];if(i){if(!(i instanceof Function))throw new Error("option "+e+" must be a function "+e+"(item, callback)");this.options[e]=i}}.bind(this)),this.markDirty()}},n.prototype.markDirty=function(t){this.groupIds=[],t&&t.refreshItems&&l.forEach(this.items,function(t){t.dirty=!0,t.displayed&&t.redraw()})},n.prototype.destroy=function(){this.hide(),this.setItems(null),this.setGroups(null),this.hammer=null,this.body=null,this.conversion=null},n.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom.axis.parentNode&&this.dom.axis.parentNode.removeChild(this.dom.axis),this.dom.labelSet.parentNode&&this.dom.labelSet.parentNode.removeChild(this.dom.labelSet)},n.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame),this.dom.axis.parentNode||this.body.dom.backgroundVertical.appendChild(this.dom.axis),this.dom.labelSet.parentNode||(this.options.rtl?this.body.dom.right.appendChild(this.dom.labelSet):this.body.dom.left.appendChild(this.dom.labelSet))},n.prototype.setSelection=function(t){var e,i,o,n;for(void 0==t&&(t=[]),Array.isArray(t)||(t=[t]),e=0,i=this.selection.length;et&&o.push(h.id):h.lefte&&o.push(h.id)}return o},n.prototype._deselect=function(t){for(var e=this.selection,i=0,o=e.length;i0){for(var w={},x=0;x<_;x++)l.forEach(b,function(t,e){w[e]=t[x]()});l.forEach(this.groups,function(t,e){if(e!==k){var i=w[e];s=i||s,g+=t.height}}),g=Math.max(g,y)}return g=Math.max(g,y),r.style.height=i(g),this.props.width=r.offsetWidth,this.props.height=g,this.dom.axis.style.top=i("top"==n?this.body.domProps.top.height+this.body.domProps.border.top:this.body.domProps.top.height+this.body.domProps.centerContainer.height),this.options.rtl?this.dom.axis.style.right="0":this.dom.axis.style.left="0",this.initialItemSetDrawn=!0,s=this._isResized()||s},n.prototype._firstGroup=function(){var t="top"==this.options.orientation.item?0:this.groupIds.length-1,e=this.groupIds[t];return this.groups[e]||this.groups[x]||null},n.prototype._updateUngrouped=function(){var t,e,i=this.groups[x];if(this.groupsData){if(i){i.hide(),delete this.groups[x];for(e in this.items)if(this.items.hasOwnProperty(e)){t=this.items[e],t.parent&&t.parent.remove(t);var o=this._getGroupId(t.data),n=this.groups[o];n&&n.add(t)||t.hide()}}}else if(!i){i=new m(null,null,this),this.groups[x]=i;for(e in this.items)this.items.hasOwnProperty(e)&&(t=this.items[e],i.add(t));i.show()}},n.prototype.getLabelSet=function(){return this.dom.labelSet},n.prototype.setItems=function(t){var e,i=this,o=this.itemsData;if(t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(o&&(l.forEach(this.itemListeners,function(t,e){o.off(e,t)}),e=o.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;l.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e),this._updateUngrouped()}this.body.emitter.emit("_change",{queue:!0})},n.prototype.getItems=function(){return this.itemsData},n.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(l.forEach(this.groupListeners,function(t,e){i.groupsData.off(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof u||t instanceof c))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var o=this.groupsData;this.groupsData instanceof c&&(o=this.groupsData.getDataSet()),o.get().forEach(function(t){t.nestedGroups&&t.nestedGroups.forEach(function(e){var i=o.get(e);i.nestedInGroup=t.id,0==t.showNested&&(i.visible=!1),o.update(i)})});var n=this.id;l.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,n)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._updateUngrouped(),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype.getGroups=function(){return this.groupsData},n.prototype.removeItem=function(t){var e=this.itemsData.get(t),i=this.itemsData.getDataSet();e&&this.options.onRemove(e,function(e){e&&i.remove(t)})},n.prototype._getType=function(t){return t.type||this.options.type||(t.end?"range":"box")},n.prototype._getGroupId=function(t){return"background"==this._getType(t)&&void 0==t.group?k:this.groupsData?t.group:x},n.prototype._onUpdate=function(t){var e=this;t.forEach(function(t){var i,o=e.itemsData.get(t,e.itemOptions),s=e.items[t],r=o?e._getType(o):null,a=n.types[r];if(s&&(a&&s instanceof a?e._updateItem(s,o):(i=s.selected,e._removeItem(s),s=null)),!s&&o){if(!a)throw"rangeoverflow"==r?new TypeError('Item type "rangeoverflow" is deprecated. Use css styling instead: .vis-item.vis-range .vis-item-content {overflow: visible;}'):new TypeError('Unknown item type "'+r+'"');s=new a(o,e.conversion,e.options),s.id=t,e._addItem(s),i&&(this.selection.push(t),s.select())}}.bind(this)),this._order(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onAdd=n.prototype._onUpdate,n.prototype._onRemove=function(t){var e=0,i=this;t.forEach(function(t){var o=i.items[t];o&&(e++,i._removeItem(o))}),e&&(this._order(),this.body.emitter.emit("_change",{queue:!0}))},n.prototype._order=function(){l.forEach(this.groups,function(t){t.order()})},n.prototype._onUpdateGroups=function(t){this._onAddGroups(t)},n.prototype._onAddGroups=function(t){var e=this;t.forEach(function(t){var i=e.groupsData.get(t),o=e.groups[t];if(o)o.setData(i);else{if(t==x||t==k)throw new Error("Illegal group id. "+t+" is a reserved id.");var n=(0,r.default)(e.options);l.extend(n,{height:null}),o=new m(t,i,e),e.groups[t]=o;for(var s in e.items)if(e.items.hasOwnProperty(s)){var a=e.items[s];a.data.group==t&&o.add(a)}o.order(),o.show()}}),this.body.emitter.emit("_change",{queue:!0})},n.prototype._onRemoveGroups=function(t){var e=this.groups;t.forEach(function(t){var i=e[t];i&&(i.hide(),delete e[t])}),this.markDirty(),this.body.emitter.emit("_change",{queue:!0})},n.prototype._orderGroups=function(){if(this.groupsData){var t=this.groupsData.getIds({order:this.options.groupOrder});t=this._orderNestedGroups(t);var e=!l.equalArray(t,this.groupIds);if(e){var i=this.groups;t.forEach(function(t){i[t].hide()}),t.forEach(function(t){i[t].show()}),this.groupIds=t}return e}return!1},n.prototype._orderNestedGroups=function(t){var e=[];return t.forEach(function(t){var i=this.groupsData.get(t);if(i.nestedInGroup||e.push(t),i.nestedGroups){var o=this.groupsData.get({filter:function(e){return e.nestedInGroup==t},order:this.options.groupOrder}),n=o.map(function(t){return t.id});e=e.concat(n)}},this),e},n.prototype._addItem=function(t){this.items[t.id]=t;var e=this._getGroupId(t.data),i=this.groups[e];i?i&&i.data&&i.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1,i&&i.add(t)},n.prototype._updateItem=function(t,e){t.setData(e);var i=this._getGroupId(t.data),o=this.groups[i];o?o&&o.data&&o.data.showNested&&(t.groupShowing=!0):t.groupShowing=!1},n.prototype._removeItem=function(t){t.hide(),delete this.items[t.id];var e=this.selection.indexOf(t.id);-1!=e&&this.selection.splice(e,1),t.parent&&t.parent.remove(t)},n.prototype._constructByEndArray=function(t){for(var e=[],i=0;in)return}}if(i&&i!=this.groupTouchParams.group){var a=e.get(i.groupId),h=e.get(this.groupTouchParams.group.groupId);h&&a&&(this.options.groupOrderSwap(h,a,e),e.update(h),e.update(a));var d=e.getIds({order:this.options.groupOrder});if(!l.equalArray(d,this.groupTouchParams.originalOrder))for(var u=this.groupTouchParams.originalOrder,p=this.groupTouchParams.group.groupId,f=Math.min(u.length,d.length),m=0,v=0,g=0;m=f)break;if(d[m+v]==p)v=1;else if(u[m+g]==p)g=1;else{var y=d.indexOf(u[m+g]),b=e.get(d[m+v]),_=e.get(u[m+g]);this.options.groupOrderSwap(b,_,e),e.update(b),e.update(_);var w=d[m+v];d[m+v]=u[m+g],d[y]=w,m++}}}}},n.prototype._onGroupDragEnd=function(t){if(this.options.groupEditable.order&&this.groupTouchParams.group){t.stopPropagation();var e=this,i=e.groupTouchParams.group.groupId,o=e.groupsData.getDataSet(),n=l.extend({},o.get(i));e.options.onMoveGroup(n,function(t){if(t)t[o._fieldId]=i,o.update(t);else{var n=o.getIds({order:e.options.groupOrder});if(!l.equalArray(n,e.groupTouchParams.originalOrder))for(var s=e.groupTouchParams.originalOrder,r=Math.min(s.length,n.length),a=0;a=r)break;var h=n.indexOf(s[a]),d=o.get(n[a]),u=o.get(s[a]);e.options.groupOrderSwap(d,u,o),o.update(d),o.update(u);var c=n[a];n[a]=s[a],n[h]=c,a++}}}),e.body.emitter.emit("groupDragged",{groupId:i})}},n.prototype._onSelectItem=function(t){if(this.options.selectable){var e=t.srcEvent&&(t.srcEvent.ctrlKey||t.srcEvent.metaKey),i=t.srcEvent&&t.srcEvent.shiftKey;if(e||i)return void this._onMultiSelectItem(t);var o=this.getSelection(),n=this.itemFromTarget(t),s=n?[n.id]:[];this.setSelection(s);var r=this.getSelection();(r.length>0||o.length>0)&&this.body.emitter.emit("select",{items:r,event:t})}},n.prototype._onMouseOver=function(t){var e=this.itemFromTarget(t);if(e){if(e!==this.itemFromRelatedTarget(t)){var i=e.getTitle();if(this.options.showTooltips&&i){null==this.popup&&(this.popup=new w(this.body.dom.root,this.options.tooltip.overflowMethod||"flip")),this.popup.setText(i);var o=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(o)+o.offsetLeft,t.clientY-l.getAbsoluteTop(o)+o.offsetTop),this.popup.show()}else null!=this.popup&&this.popup.hide();this.body.emitter.emit("itemover",{item:e.id,event:t})}}},n.prototype._onMouseOut=function(t){var e=this.itemFromTarget(t);if(e){e!==this.itemFromRelatedTarget(t)&&(null!=this.popup&&this.popup.hide(),this.body.emitter.emit("itemout",{item:e.id,event:t}))}},n.prototype._onMouseMove=function(t){if(this.itemFromTarget(t)&&this.options.showTooltips&&this.options.tooltip.followMouse&&this.popup&&!this.popup.hidden){var e=this.body.dom.centerContainer;this.popup.setPosition(t.clientX-l.getAbsoluteLeft(e)+e.offsetLeft,t.clientY-l.getAbsoluteTop(e)+e.offsetTop),this.popup.show()}},n.prototype._onMouseWheel=function(t){this.touchParams.itemIsDragging&&this._onDragEnd(t)},n.prototype._onUpdateItem=function(t){if(this.options.selectable&&this.options.editable.add){var e=this;if(t){var i=e.itemsData.get(t.id);this.options.onUpdate(i,function(t){t&&e.itemsData.getDataSet().update(t)})}}},n.prototype._onDropObjectOnItem=function(t){var e=this.itemFromTarget(t),i=JSON.parse(t.dataTransfer.getData("text"));this.options.onDropObjectOnItem(i,e)},n.prototype._onAddItem=function(t){if(this.options.selectable&&this.options.editable.add){var e,i,o=this,n=this.options.snap||null;this.options.rtl?(e=l.getAbsoluteRight(this.dom.frame),i=e-t.center.x):(e=l.getAbsoluteLeft(this.dom.frame),i=t.center.x-e);var s,r,a=this.body.util.toTime(i),h=this.body.util.getScale(),d=this.body.util.getStep();"drop"==t.type?(r=JSON.parse(t.dataTransfer.getData("text")),r.content=r.content?r.content:"new item",r.start=r.start?r.start:n?n(a,h,d):a,r.type=r.type||"box",r[this.itemsData._fieldId]=r.id||l.randomUUID(),"range"!=r.type||r.end||(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s)):(r={start:n?n(a,h,d):a,content:"new item"},r[this.itemsData._fieldId]=l.randomUUID(),"range"===this.options.type&&(s=this.body.util.toTime(i+this.props.width/5),r.end=n?n(s,h,d):s));var u=this.groupFromTarget(t);u&&(r.group=u.groupId),r=this._cloneItemData(r),this.options.onAdd(r,function(e){e&&(o.itemsData.getDataSet().add(e),"drop"==t.type&&o.setSelection([e.id]))})}},n.prototype._onMultiSelectItem=function(t){if(this.options.selectable){var e=this.itemFromTarget(t);if(e){ +var i=this.options.multiselect?this.getSelection():[];if((t.srcEvent&&t.srcEvent.shiftKey||!1)&&this.options.multiselect){var o=this.itemsData.get(e.id).group,s=void 0;this.options.multiselectPerGroup&&i.length>0&&(s=this.itemsData.get(i[0]).group),this.options.multiselectPerGroup&&void 0!=s&&s!=o||i.push(e.id);var r=n._getItemRange(this.itemsData.get(i,this.itemOptions));if(!this.options.multiselectPerGroup||s==o){i=[];for(var a in this.items)if(this.items.hasOwnProperty(a)){var h=this.items[a],d=h.data.start,l=void 0!==h.data.end?h.data.end:d;!(d>=r.min&&l<=r.max)||this.options.multiselectPerGroup&&s!=this.itemsData.get(h.id).group||h instanceof _||i.push(h.id)}}}else{var u=i.indexOf(e.id);-1==u?i.push(e.id):i.splice(u,1)}this.setSelection(i),this.body.emitter.emit("select",{items:this.getSelection(),event:t})}}},n._getItemRange=function(t){var e=null,i=null;return t.forEach(function(t){(null==i||t.starte)&&(e=t.end):(null==e||t.start>e)&&(e=t.start)}),{min:i,max:e}},n.prototype.itemFromElement=function(t){for(var e=t;e;){if(e.hasOwnProperty("timeline-item"))return e["timeline-item"];e=e.parentNode}return null},n.prototype.itemFromTarget=function(t){return this.itemFromElement(t.target)},n.prototype.itemFromRelatedTarget=function(t){return this.itemFromElement(t.relatedTarget)},n.prototype.groupFromTarget=function(t){var e=t.center?t.center.y:t.clientY,i=this.groupIds;i.length<=0&&this.groupsData&&(i=this.groupsData.getIds({order:this.options.groupOrder}));for(var o=0;oa&&ea)return s}else if(0===o&&es&&(s=r.top+r.height)}while(a)}}o.height=s-o.top+.5*i.item.vertical},e.nostack=function(t,i,o,n){for(var s=0;so[r].index&&e.collisionByTimes(o[n],o[r])){s=o[r];break}null!=s&&(o[n].top=s.top+s.height)}while(s)}for(var a=0;ao[h].index&&(o[r].top+=o[h].height);for(var d=t[r],l=0;le.right&&t.top-i.vertical+.001e.top:t.left-i.horizontal+.001e.left&&t.top-i.vertical+.001e.top},e.collisionByTimes=function(t,e){return t.start<=e.start&&t.end>=e.start&&t.tope.top||e.start<=t.start&&e.end>=t.start&&e.topt.top}},function(t,e,i){function o(t,e,i){if(this.props={dot:{width:0,height:0},line:{width:0,height:0}},this.options=i,t&&void 0==t.start)throw new Error('Property "start" missing in item '+t);n.call(this,t,e,i)}var n=i(38);o.prototype=new n(null,null,null),o.prototype.isVisible=function(t){var e=this.options.align,i=this.width*t.getMillisecondsPerPixel();return"right"==e?this.data.start.getTime()>t.start&&this.data.start.getTime()-it.start&&this.data.start.getTime()t.start&&this.data.start.getTime()-i/2t.start&&this.data.startt.start},o.prototype._createDomElement=function(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)},o.prototype._appendDomElement=function(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){var t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0},o.prototype._updateDirtyDomComponents=function(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);var t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}},o.prototype._getDomComponentsSizes=function(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}},o.prototype._updateDomComponentsSizes=function(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1},o.prototype._repaintDomAdditionals=function(){},o.prototype.redraw=function(t){var e,i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes.bind(this)())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];if(t)return i;var o;return i.forEach(function(t){o=t()}),o},o.prototype.show=r.prototype.show,o.prototype.hide=r.prototype.hide,o.prototype.repositionX=r.prototype.repositionX,o.prototype.repositionY=function(t){var e,i=this.options.orientation.item;if(void 0!==this.data.subgroup){var o=this.data.subgroup;this.dom.box.style.height=this.parent.subgroups[o].height+"px",this.dom.box.style.top="top"==i?this.parent.top+this.parent.subgroups[o].top+"px":this.parent.top+this.parent.height-this.parent.subgroups[o].top-this.parent.subgroups[o].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof s?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=this.parent.top+"px",this.dom.box.style.bottom="");this.dom.box.style.height=e+"px"},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i){(0,s.default)(this,t),this.container=e,this.overflowMethod=i||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}return(0,a.default)(t,[{key:"setPosition",value:function(t,e){this.x=parseInt(t),this.y=parseInt(e)}},{key:"setText",value:function(t){t instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(t)):this.frame.innerHTML=t}},{key:"show",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,o=this.frame.parentNode.clientHeight,n=this.frame.parentNode.clientWidth,s=0,r=0;if("flip"==this.overflowMethod){var a=!1,h=!0;this.y-en-this.padding&&(a=!0),s=a?this.x-i:this.x,r=h?this.y-e:this.y}else r=this.y-e,r+e+this.padding>o&&(r=o-e-this.padding),rn&&(s=n-i-this.padding),s0){var r={};for(this._getRelevantData(s,r,o,n),this._applySampling(s,r),e=0;e0)switch(t.options.style){case"line":d.hasOwnProperty(s[e])||(d[s[e]]=m.calcPath(r[s[e]],t)),m.draw(d[s[e]],t,this.framework);case"point":case"points":"point"!=t.options.style&&"points"!=t.options.style&&1!=t.options.drawPoints.enabled||v.draw(r[s[e]],t,this.framework)}}}return a.cleanupElements(this.svgElements),!1},o.prototype._stack=function(t,e){var i,o,n,s,r;i=0;for(var a=0;at[a].x){r=e[h],s=0==h?r:e[h-1],i=h;break}}void 0===r&&(s=e[e.length-1],r=e[e.length-1]),o=r.x-s.x,n=r.y-s.y,t[a].y=0==o?t[a].orginalY+r.y:t[a].orginalY+n/o*(t[a].x-s.x)+s.y}},o.prototype._getRelevantData=function(t,e,i,o){var n,s,a,h;if(t.length>0)for(s=0;s0)for(var o=0;o0){var s=1,r=n.length,a=this.body.util.toGlobalScreen(n[n.length-1].x)-this.body.util.toGlobalScreen(n[0].x),h=r/a;s=Math.min(Math.ceil(.2*r),Math.max(1,Math.round(h)));for(var d=new Array(r),l=0;l0){for(s=0;s0&&(n=this.groups[t[s]],!0===r.stack&&"bar"===r.style?"left"===r.yAxisOrientation?a=a.concat(o):h=h.concat(o):i[t[s]]=n.getYRange(o,t[s]));f.getStackedYRange(a,i,t,"__barStackLeft","left"),f.getStackedYRange(h,i,t,"__barStackRight","right")}},o.prototype._updateYAxis=function(t,e){var i,o,n=!1,s=!1,r=!1,a=1e9,h=1e9,d=-1e9,l=-1e9;if(t.length>0){for(var u=0;ui?i:a,d=di?i:h,l=l=0&&t._redrawLabel(o-2,e.val,i,"vis-y-axis vis-major",t.props.majorCharHeight),!0===t.master&&(n?t._redrawLine(o,i,"vis-grid vis-horizontal vis-major",t.options.majorLinesOffset,t.props.majorLineWidth):t._redrawLine(o,i,"vis-grid vis-horizontal vis-minor",t.options.minorLinesOffset,t.props.minorLineWidth))});var r=0;void 0!==this.options[i].title&&void 0!==this.options[i].title.text&&(r=this.props.titleCharHeight);var h=!0===this.options.icons?Math.max(this.options.iconWidth,r)+this.options.labelOffsetX+15:r+this.options.labelOffsetX+15;return this.maxLabelSize>this.width-h&&!0===this.options.visible?(this.width=this.maxLabelSize+h,this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):this.maxLabelSizethis.minWidth?(this.width=Math.max(this.minWidth,this.maxLabelSize+h),this.options.width=this.width+"px",a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),this.redraw(),e=!0):(a.cleanupElements(this.DOMelements.lines),a.cleanupElements(this.DOMelements.labels),e=!1),e},o.prototype.convertValue=function(t){return this.scale.convertValue(t)},o.prototype.screenToValue=function(t){return this.scale.screenToValue(t)},o.prototype._redrawLabel=function(t,e,i,o,n){var s=a.getDOMElement("div",this.DOMelements.labels,this.dom.frame);s.className=o,s.innerHTML=e,"left"===i?(s.style.left="-"+this.options.labelOffsetX+"px",s.style.textAlign="right"):(s.style.right="-"+this.options.labelOffsetX+"px",s.style.textAlign="left"),s.style.top=t-.5*n+this.options.labelOffsetY+"px",e+="";var r=Math.max(this.props.majorCharWidth,this.props.minorCharWidth);this.maxLabelSize6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(this.majorSteps=[1,2,5,10],this.minorSteps=[.25,.5,1,2],this.customLines=null,this.containerHeight=n,this.majorCharHeight=s,this._start=t,this._end=e,this.scale=1,this.minorStepIdx=-1,this.magnitudefactor=1,this.determineScale(),this.zeroAlign=r,this.autoScaleStart=i,this.autoScaleEnd=o,this.formattingFunction=a,i||o){var h=this,d=function(t){var e=t-t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx]);return t%(h.magnitudefactor*h.minorSteps[h.minorStepIdx])>h.magnitudefactor*h.minorSteps[h.minorStepIdx]*.5?e+h.magnitudefactor*h.minorSteps[h.minorStepIdx]:e};i&&(this._start-=2*this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._start=d(this._start)),o&&(this._end+=this.magnitudefactor*this.minorSteps[this.minorStepIdx],this._end=d(this._end)),this.determineScale()}}o.prototype.setCharHeight=function(t){this.majorCharHeight=t},o.prototype.setHeight=function(t){this.containerHeight=t},o.prototype.determineScale=function(){var t=this._end-this._start;this.scale=this.containerHeight/t;var e=this.majorCharHeight/this.scale,i=t>0?Math.round(Math.log(t)/Math.LN10):0;this.minorStepIdx=-1,this.magnitudefactor=Math.pow(10,i);var o=0;i<0&&(o=i);for(var n=!1,s=o;Math.abs(s)<=Math.abs(i);s++){this.magnitudefactor=Math.pow(10,s);for(var r=0;r=e){n=!0,this.minorStepIdx=r;break}}if(!0===n)break}},o.prototype.is_major=function(t){return t%(this.magnitudefactor*this.majorSteps[this.minorStepIdx])==0},o.prototype.getStep=function(){return this.magnitudefactor*this.minorSteps[this.minorStepIdx]},o.prototype.getFirstMajor=function(){var t=this.magnitudefactor*this.majorSteps[this.minorStepIdx];return this.convertValue(this._start+(t-this._start%t)%t)},o.prototype.formatValue=function(t){var e=t.toPrecision(5);return"function"==typeof this.formattingFunction&&(e=this.formattingFunction(t)),"number"==typeof e?""+e:"string"==typeof e?e:t.toPrecision(5)},o.prototype.getLines=function(){for(var t=[],e=this.getStep(),i=(e-this._start%e)%e,o=this._start+i;this._end-o>1e-5;o+=e)o!=this._start&&t.push({major:this.is_major(o),y:this.convertValue(o),val:this.formatValue(o)});return t},o.prototype.followScale=function(t){var e=this.minorStepIdx,i=this._start,o=this._end,n=this,s=function(){n.magnitudefactor*=2},r=function(){n.magnitudefactor/=2};t.minorStepIdx<=1&&this.minorStepIdx<=1||t.minorStepIdx>1&&this.minorStepIdx>1||(t.minorStepIdxo+1e-5)r(),d=!1;else{if(!this.autoScaleStart&&this._start=0)){r(),d=!1;continue}console.warn("Can't adhere to given 'min' range, due to zeroalign")}this.autoScaleStart&&this.autoScaleEnd&&ue.x?1:-1})):this.itemsData=[]},o.prototype.getItems=function(){return this.itemsData},o.prototype.setZeroPosition=function(t){this.zeroPosition=t},o.prototype.setOptions=function(t){if(void 0!==t){var e=["sampling","style","sort","yAxisOrientation","barChart","zIndex","excludeFromStacking","excludeFromLegend"];r.selectiveDeepExtend(e,this.options,t),"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),r.mergeOptions(this.options,t,"interpolation"),r.mergeOptions(this.options,t,"drawPoints"),r.mergeOptions(this.options,t,"shaded"),t.interpolation&&"object"==(0,s.default)(t.interpolation)&&t.interpolation.parametrization&&("uniform"==t.interpolation.parametrization?this.options.interpolation.alpha=0:"chordal"==t.interpolation.parametrization?this.options.interpolation.alpha=1:(this.options.interpolation.parametrization="centripetal",this.options.interpolation.alpha=.5))}},o.prototype.update=function(t){this.group=t,this.content=t.content||"graph",this.className=t.className||this.className||"vis-graph-group"+this.groupsUsingDefaultStyles[0]%10,this.visible=void 0===t.visible||t.visible,this.style=t.style,this.setOptions(t.options)},o.prototype.getLegend=function(t,e,i,o,n){if(void 0==i||null==i){i={svg:document.createElementNS("http://www.w3.org/2000/svg","svg"),svgElements:{},options:this.options,groups:[this]}}switch(void 0!=o&&null!=o||(o=0),void 0!=n&&null!=n||(n=.5*e),this.options.style){case"line":h.drawIcon(this,o,n,t,e,i);break;case"points":case"point":d.drawIcon(this,o,n,t,e,i);break;case"bar":a.drawIcon(this,o,n,t,e,i)}return{icon:i.svg,label:this.content,orientation:this.options.yAxisOrientation}},o.prototype.getYRange=function(t){for(var e=t[0].y,i=t[0].y,o=0;ot[o].y?t[o].y:e,i=i0&&(i=Math.min(i,Math.abs(e[o-1].screen_x-e[o].screen_x))),0===i&&(void 0===t[e[o].screen_x]&&(t[e[o].screen_x]={amount:0,resolved:0,accumulatedPositive:0,accumulatedNegative:0}),t[e[o].screen_x].amount+=1)},o._getSafeDrawData=function(t,e,i){var o,n;return t0?(o=t0){t.sort(function(t,e){return t.screen_x===e.screen_x?t.groupIde[s].screen_y?e[s].screen_y:o,n=nt[r].accumulatedNegative?t[r].accumulatedNegative:o,o=o>t[r].accumulatedPositive?t[r].accumulatedPositive:o,n=n0){return 1==e.options.interpolation.enabled?o._catmullRom(t,e):o._linear(t)}},o.drawIcon=function(t,e,i,o,s,r){var a,h,d=.5*s,l=n.getSVGElement("rect",r.svgElements,r.svg);if(l.setAttributeNS(null,"x",e),l.setAttributeNS(null,"y",i-d),l.setAttributeNS(null,"width",o),l.setAttributeNS(null,"height",2*d),l.setAttributeNS(null,"class","vis-outline"),a=n.getSVGElement("path",r.svgElements,r.svg),a.setAttributeNS(null,"class",t.className),void 0!==t.style&&a.setAttributeNS(null,"style",t.style),a.setAttributeNS(null,"d","M"+e+","+i+" L"+(e+o)+","+i),1==t.options.shaded.enabled&&(h=n.getSVGElement("path",r.svgElements,r.svg),"top"==t.options.shaded.orientation?h.setAttributeNS(null,"d","M"+e+", "+(i-d)+"L"+e+","+i+" L"+(e+o)+","+i+" L"+(e+o)+","+(i-d)):h.setAttributeNS(null,"d","M"+e+","+i+" L"+e+","+(i+d)+" L"+(e+o)+","+(i+d)+"L"+(e+o)+","+i),h.setAttributeNS(null,"class",t.className+" vis-icon-fill"),void 0!==t.options.shaded.style&&""!==t.options.shaded.style&&h.setAttributeNS(null,"style",t.options.shaded.style)),1==t.options.drawPoints.enabled){var u={style:t.options.drawPoints.style,styles:t.options.drawPoints.styles,size:t.options.drawPoints.size,className:t.className};n.drawPoint(e+.5*o,i,u,r.svgElements,r.svg)}},o.drawShading=function(t,e,i,o){if(1==e.options.shaded.enabled){var s=Number(o.svg.style.height.replace("px","")),r=n.getSVGElement("path",o.svgElements,o.svg),a="L";1==e.options.interpolation.enabled&&(a="C");var h,d=0;d="top"==e.options.shaded.orientation?0:"bottom"==e.options.shaded.orientation?s:Math.min(Math.max(0,e.zeroPosition),s),h="group"==e.options.shaded.orientation&&null!=i&&void 0!=i?"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" L"+i[i.length-1][0]+","+i[i.length-1][1]+" "+this.serializePath(i,a,!0)+i[0][0]+","+i[0][1]+" Z":"M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,a,!1)+" V"+d+" H"+t[0][0]+" Z",r.setAttributeNS(null,"class",e.className+" vis-fill"),void 0!==e.options.shaded.style&&r.setAttributeNS(null,"style",e.options.shaded.style),r.setAttributeNS(null,"d",h)}},o.draw=function(t,e,i){if(null!=t&&void 0!=t){var o=n.getSVGElement("path",i.svgElements,i.svg);o.setAttributeNS(null,"class",e.className),void 0!==e.style&&o.setAttributeNS(null,"style",e.style);var s="L";1==e.options.interpolation.enabled&&(s="C"),o.setAttributeNS(null,"d","M"+t[0][0]+","+t[0][1]+" "+this.serializePath(t,s,!1))}},o.serializePath=function(t,e,i){if(t.length<2)return"";var o,n=e;if(i)for(o=t.length-2;o>0;o--)n+=t[o][0]+","+t[o][1]+" ";else for(o=1;o0&&(f=1/f),m=3*v*(v+g),m>0&&(m=1/m),a={screen_x:(-b*o.screen_x+c*n.screen_x+_*s.screen_x)*f,screen_y:(-b*o.screen_y+c*n.screen_y+_*s.screen_y)*f},h={screen_x:(y*n.screen_x+p*s.screen_x-b*r.screen_x)*m,screen_y:(y*n.screen_y+p*s.screen_y-b*r.screen_y)*m},0==a.screen_x&&0==a.screen_y&&(a=n),0==h.screen_x&&0==h.screen_y&&(h=s),x.push([a.screen_x,a.screen_y]),x.push([h.screen_x,h.screen_y]),x.push([s.screen_x,s.screen_y]);return x},o._linear=function(t){for(var e=[],i=0;i");this.dom.textArea.innerHTML=r,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},o.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){var t=(0,s.default)(this.groups);t.sort(function(t,e){return t=0;i--){var a=s[i];a.nodes||(a.nodes=[]),-1===a.nodes.indexOf(n)&&a.nodes.push(n)}e.attr&&(n.attr=h(n.attr,e.attr))}function u(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=h({},t.edge);e.attr=h(i,e.attr)}}function c(t,e,i,o,n){var s={from:e,to:i,type:o};return t.edge&&(s.attr=h({},t.edge)),s.attr=h(s.attr||{},n),s}function p(){for(F=I.NULL,L="";" "===z||"\t"===z||"\n"===z||"\r"===z;)s();do{var t=!1;if("#"===z){for(var e=A-1;" "===R.charAt(e)||"\t"===R.charAt(e);)e--;if("\n"===R.charAt(e)||""===R.charAt(e)){for(;""!=z&&"\n"!=z;)s();t=!0}}if("/"===z&&"/"===r()){for(;""!=z&&"\n"!=z;)s();t=!0}if("/"===z&&"*"===r()){for(;""!=z;){if("*"===z&&"/"===r()){s(),s();break}s()}t=!0}for(;" "===z||"\t"===z||"\n"===z||"\r"===z;)s()}while(t);if(""===z)return void(F=I.DELIMITER);var i=z+r();if(N[i])return F=I.DELIMITER,L=i,s(),void s();if(N[z])return F=I.DELIMITER,L=z,void s();if(a(z)||"-"===z){for(L+=z,s();a(z);)L+=z,s();return"false"===L?L=!1:"true"===L?L=!0:isNaN(Number(L))||(L=Number(L)),void(F=I.IDENTIFIER)}if('"'===z){for(s();""!=z&&('"'!=z||'"'===z&&'"'===r());)'"'===z?(L+=z,s()):"\\"===z&&"n"===r()?(L+="\n",s()):L+=z,s();if('"'!=z)throw x('End of string " expected');return s(),void(F=I.IDENTIFIER)}for(F=I.UNKNOWN;""!=z;)L+=z,s();throw new SyntaxError('Syntax error in part "'+k(L,30)+'"')}function f(){var t={};if(n(),p(),"strict"===L&&(t.strict=!0,p()),"graph"!==L&&"digraph"!==L||(t.type=L,p()),F===I.IDENTIFIER&&(t.id=L,p()),"{"!=L)throw x("Angle bracket { expected");if(p(),m(t),"}"!=L)throw x("Angle bracket } expected");if(p(),""!==L)throw x("End of file expected");return p(),delete t.node,delete t.edge,delete t.graph,t}function m(t){for(;""!==L&&"}"!=L;)v(t),";"===L&&p()}function v(t){var e=g(t);if(e)return void _(t,e);if(!y(t)){if(F!=I.IDENTIFIER)throw x("Identifier expected");var i=L;if(p(),"="===L){if(p(),F!=I.IDENTIFIER)throw x("Identifier expected");t[i]=L,p()}else b(t,i)}}function g(t){var e=null;if("subgraph"===L&&(e={},e.type="subgraph",p(),F===I.IDENTIFIER&&(e.id=L,p())),"{"===L){if(p(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,m(e),"}"!=L)throw x("Angle bracket } expected");p(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function y(t){return"node"===L?(p(),t.node=w(),"node"):"edge"===L?(p(),t.edge=w(),"edge"):"graph"===L?(p(),t.graph=w(),"graph"):null}function b(t,e){var i={id:e},o=w();o&&(i.attr=o),l(t,i),_(t,e)}function _(t,e){for(;"->"===L||"--"===L;){var i,o=L;p();var n=g(t);if(n)i=n;else{if(F!=I.IDENTIFIER)throw x("Identifier or subgraph expected");i=L,l(t,{id:i}),p()}u(t,c(t,e,i,o,w())),e=i}}function w(){for(var t=null,e={dashed:!0,solid:!1,dotted:[1,5]};"["===L;){for(p(),t={};""!==L&&"]"!=L;){if(F!=I.IDENTIFIER)throw x("Attribute name expected");var i=L;if(p(),"="!=L)throw x("Equal sign = expected");if(p(),F!=I.IDENTIFIER)throw x("Attribute value expected");var o=L;"style"===i&&(o=e[o]),d(t,i,o),p(),","==L&&p()}if("]"!=L)throw x("Bracket ] expected");p()}return t}function x(t){return new SyntaxError(t+', got "'+k(L,30)+'" (char '+A+")")}function k(t,e){return t.length<=e?t:t.substr(0,27)+"..."}function S(t,e,i){Array.isArray(t)?t.forEach(function(t){Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}):Array.isArray(e)?e.forEach(function(e){i(t,e)}):i(t,e)}function D(t,e,i){for(var o=e.split("."),n=o.pop(),s=t,r=0;r":!0,"--":!0},R="",A=0,z="",L="",F=I.NULL,B=/[a-zA-Z_0-9.:#]/;e.parseDOT=o,e.DOTToGraph=C},function(t,e,i){function o(t,e){var i=[],o=[],n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};void 0!==e&&(void 0!==e.fixed&&(n.nodes.fixed=e.fixed),void 0!==e.parseColor&&(n.nodes.parseColor=e.parseColor),void 0!==e.inheritColor&&(n.edges.inheritColor=e.inheritColor));for(var s=t.edges,r=t.nodes,a=0;a2&&void 0!==arguments[2]&&arguments[2];(0,d.default)(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=o}return(0,u.default)(t,[{key:"setOptions",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),p.isValidLabel(t.label)?this.labelDirty=!0:t.label="",void 0!==t.font&&null!==t.font)if("string"==typeof t.font)this.baseSize=this.fontOptions.size;else if("object"===(0,a.default)(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:"initFontOptions",value:function(e){var i=this;if(c.forEach(m,function(t){i.fontOptions[t]={}}),t.parseFontString(this.fontOptions,e))return void(this.fontOptions.vadjust=0);c.forEach(e,function(t,e){void 0!==t&&null!==t&&"object"!==(void 0===t?"undefined":(0,a.default)(t))&&(i.fontOptions[e]=t)})}},{key:"constrain",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},i=c.topMost(t,"widthConstraint");if("number"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if("object"===(void 0===i?"undefined":(0,a.default)(i))){var o=c.topMost(t,["widthConstraint","maximum"]);"number"==typeof o&&(e.maxWdt=Number(o));var n=c.topMost(t,["widthConstraint","minimum"]);"number"==typeof n&&(e.minWdt=Number(n))}var s=c.topMost(t,"heightConstraint");if("number"==typeof s)e.minHgt=Number(s);else if("object"===(void 0===s?"undefined":(0,a.default)(s))){var r=c.topMost(t,["heightConstraint","minimum"]);"number"==typeof r&&(e.minHgt=Number(r));var h=c.topMost(t,["heightConstraint","valign"]);"string"==typeof h&&("top"!==h&&"bottom"!==h||(e.valign=h))}return e}},{key:"update",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),c.deepExtend(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=p.choosify("label",e)}},{key:"adjustSizes",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:"addFontOptionsToPile",value:function(t,e){for(var i=0;i5&&void 0!==arguments[5]?arguments[5]:"middle";if(void 0!==this.elementOptions.label){var r=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&r=this.elementOptions.scaling.label.maxVisible&&(r=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,o,n,e,i,s),this._drawBackground(t),this._drawText(t,e,this.size.yLine,s,r))}}},{key:"_drawBackground",value:function(t){if(void 0!==this.fontOptions.background&&"none"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:"_drawText",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle",n=arguments[4],r=this._setAlignment(t,e,i,o),a=(0,s.default)(r,2);e=a[0],i=a[1],t.textAlign="left",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&("top"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),"bottom"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var h=0;h0&&(t.lineWidth=c.strokeWidth,t.strokeStyle=v,t.lineJoin="round"),t.fillStyle=m,c.strokeWidth>0&&t.strokeText(c.text,e+l,i+c.vadjust),t.fillText(c.text,e+l,i+c.vadjust),l+=c.width}i+=d.height}}}},{key:"_setAlignment",value:function(t,e,i,o){if(this.isEdgeLabel&&"horizontal"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;"top"===this.fontOptions.align?(t.textBaseline="alphabetic",i-=4):"bottom"===this.fontOptions.align?(t.textBaseline="hanging",i+=4):t.textBaseline="middle"}else t.textBaseline=o;return[e,i]}},{key:"_getColor",value:function(t,e,i){var o=t||"#000000",n=i||"#ffffff";if(e<=this.elementOptions.scaling.label.drawThreshold){var s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));o=c.overrideOpacity(o,s),n=c.overrideOpacity(n,s)}return[o,n]}},{key:"getTextSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:"getSize",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case"middle":t=i,e=.5*-this.size.height;break;case"top":t=i,e=-(this.size.height+2);break;case"bottom":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:"calculateLabelSize",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"middle";this._processLabel(t,e,i),this.size.left=o-.5*this.size.width,this.size.top=n-.5*this.size.height,this.size.yLine=n+.5*(1-this.lineCount)*this.fontOptions.size,"hanging"===s&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:"getFormattingValues",value:function(t,e,i,o){var n=function(t,e,i){return"normal"===e?"mod"===i?"":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},s={color:n(this.fontOptions,o,"color"),size:n(this.fontOptions,o,"size"),face:n(this.fontOptions,o,"face"),mod:n(this.fontOptions,o,"mod"),vadjust:n(this.fontOptions,o,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&("normal"===o&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?s.mod="bold":"function"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(s,this.elementOptions.id,e,i));var r="";return void 0!==s.mod&&""!==s.mod&&(r+=s.mod+" "),r+=s.size+"px "+s.face,t.font=r.replace(/"/g,""),s.font=t.font,s.height=s.size,s}},{key:"differentState",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:"_processLabelText",value:function(t,e,i,o){return new f(t,this,e,i).process(o)}},{key:"_processLabel",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var o=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&o.width0&&o.heighto.shape.height?(e=o.x+.5*o.shape.width,i=o.y-n):(e=o.x+n,i=o.y-.5*o.shape.height),[e,i,n]}},{key:"_pointOnCircle",value:function(t,e,i,o){var n=2*o*Math.PI;return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:"_findBorderPositionCircle",value:function(t,e,i){for(var o=i.x,n=i.y,s=i.low,r=i.high,a=i.direction,h=0,d=this.options.selfReferenceSize,l=void 0,u=void 0,c=void 0,p=void 0,f=void 0,m=.5*(s+r);s<=r&&h<10&&(m=.5*(s+r),l=this._pointOnCircle(o,n,d,m),u=Math.atan2(t.y-l.y,t.x-l.x),c=t.distanceToBorder(e,u),p=Math.sqrt(Math.pow(l.x-t.x,2)+Math.pow(l.y-t.y,2)),f=c-p,!(Math.abs(f)<.05));)f>0?a>0?s=m:r=m:a>0?r=m:s=m,h++;return l.t=m,l}},{key:"getLineWidth",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this.body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this.body.view.scale):Math.max(this.options.width,.3/this.body.view.scale)}},{key:"getColor",value:function(t,e,i,o){if(!1!==e.inheritsColor){if("both"===e.inheritsColor&&this.from.id!==this.to.id){var n=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),s=void 0,r=void 0;return s=this.from.options.color.highlight.border,r=this.to.options.color.highlight.border,!1===this.from.selected&&!1===this.to.selected?(s=l.overrideOpacity(this.from.options.color.border,e.opacity),r=l.overrideOpacity(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?r=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(s=this.from.options.color.border),n.addColorStop(0,s),n.addColorStop(1,r),n}return"to"===e.inheritsColor?l.overrideOpacity(this.to.options.color.border,e.opacity):l.overrideOpacity(this.from.options.color.border,e.opacity)}return l.overrideOpacity(e.color,e.opacity)}},{key:"_circle", +value:function(t,e,i,o,n){this.enableShadow(t,e),t.beginPath(),t.arc(i,o,n,0,2*Math.PI,!1),t.stroke(),this.disableShadow(t,e)}},{key:"getDistanceToEdge",value:function(t,e,i,o,n,r,a,h){var d=0;if(this.from!=this.to)d=this._getDistanceToEdge(t,e,i,o,n,r,a);else{var l=this._getCircleData(void 0),u=(0,s.default)(l,3),c=u[0],p=u[1],f=u[2],m=c-n,v=p-r;d=Math.abs(Math.sqrt(m*m+v*v)-f)}return d}},{key:"_getDistanceToLine",value:function(t,e,i,o,n,s){var r=i-t,a=o-e,h=r*r+a*a,d=((n-t)*r+(s-e)*a)/h;d>1?d=1:d<0&&(d=0);var l=t+d*r,u=e+d*a,c=l-n,p=u-s;return Math.sqrt(c*c+p*p)}},{key:"getArrowData",value:function(t,e,i,o,n,r){var a=void 0,h=void 0,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=r.width;if("from"===e?(d=this.from,l=this.to,u=.1,c=r.fromArrowScale,p=r.fromArrowType):"to"===e?(d=this.to,l=this.from,u=-.1,c=r.toArrowScale,p=r.toArrowType):(d=this.to,l=this.from,c=r.middleArrowScale,p=r.middleArrowType),d!=l)if("middle"!==e)if(!0===this.options.smooth.enabled){h=this.findBorderPosition(d,t,{via:i});var m=this.getPoint(Math.max(0,Math.min(1,h.t+u)),i);a=Math.atan2(h.y-m.y,h.x-m.x)}else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.findBorderPosition(d,t);else a=Math.atan2(d.y-l.y,d.x-l.x),h=this.getPoint(.5,i);else{var v=this._getCircleData(t),g=(0,s.default)(v,3),y=g[0],b=g[1],_=g[2];"from"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.25,high:.6,direction:-1}),a=-2*h.t*Math.PI+1.5*Math.PI+.1*Math.PI):"to"===e?(h=this.findBorderPosition(this.from,t,{x:y,y:b,low:.6,high:1,direction:1}),a=-2*h.t*Math.PI+1.5*Math.PI-1.1*Math.PI):(h=this._pointOnCircle(y,b,_,.175),a=3.9269908169872414)}"middle"===e&&c<0&&(f*=-1);var w=15*c+3*f;return{point:h,core:{x:h.x-.9*w*Math.cos(a),y:h.y-.9*w*Math.sin(a)},angle:a,length:w,type:p}}},{key:"drawArrowHead",value:function(t,e,i,o,n){t.strokeStyle=this.getColor(t,e,i,o),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,u.draw(t,n),this.enableShadow(t,e),t.fill(),this.disableShadow(t,e)}},{key:"enableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:"disableShadow",value:function(t,e){!0===e.shadow&&(t.shadowColor="rgba(0,0,0,0)",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(4),a=o(r),h=i(5),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=function(){function t(){(0,u.default)(this,t)}return(0,p.default)(t,null,[{key:"transform",value:function(t,e){t instanceof Array||(t=[t]);for(var i=e.point.x,o=e.point.y,n=e.angle,s=e.length,r=0;r0){var t=void 0,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,o=i.length,n=this._formBarnesHutTree(e,i);this.barnesHutTree=n;for(var s=0;s0&&this._getForceContributions(n.root,t)}}},{key:"_getForceContributions",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:"_getForceContribution",value:function(t,e){if(t.childrenCount>0){var i=void 0,o=void 0,n=void 0;i=t.centerOfMass.x-e.x,o=t.centerOfMass.y-e.y,n=Math.sqrt(i*i+o*o),n*t.calcSize>this.thetaInversed?this._calculateForces(n,i,o,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(n,i,o,e,t)}}},{key:"_calculateForces",value:function(t,e,i,o,n){0===t&&(t=.1,e=t),this.overlapAvoidanceFactor<1&&o.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*o.shape.radius,t-o.shape.radius));var s=this.options.gravitationalConstant*n.mass*o.options.mass/Math.pow(t,3),r=e*s,a=i*s;this.physicsBody.forces[o.id].x+=r,this.physicsBody.forces[o.id].y+=a}},{key:"_formBarnesHutTree",value:function(t,e){for(var i=void 0,o=e.length,n=t[e[0]].x,s=t[e[0]].y,r=t[e[0]].x,a=t[e[0]].y,h=1;h0&&(lr&&(r=l),ua&&(a=u))}var c=Math.abs(r-n)-Math.abs(a-s);c>0?(s-=.5*c,a+=.5*c):(n+=.5*c,r-=.5*c);var p=Math.max(1e-5,Math.abs(r-n)),f=.5*p,m=.5*(n+r),v=.5*(s+a),g={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:m-f,maxX:m+f,minY:v-f,maxY:v+f},size:p,calcSize:1/p,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(g.root);for(var y=0;y0&&this._placeInTree(g.root,i);return g}},{key:"_updateBranchMass",value:function(t,e){var i=t.centerOfMass,o=t.mass+e.options.mass,n=1/o;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=n,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=n,t.mass=o;var s=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidthe.x?o.maxY>e.y?"NW":"SW":o.maxY>e.y?"NE":"SE",this._placeInRegion(t,e,n)}},{key:"_placeInRegion",value:function(t,e,i){var o=t.children[i];switch(o.childrenCount){case 0:o.children.data=e,o.childrenCount=1,this._updateBranchMass(o,e);break;case 1:o.children.data.x===e.x&&o.children.data.y===e.y?(e.x+=this.seededRandom(),e.y+=this.seededRandom()):(this._splitBranch(o),this._placeInTree(o,e));break;case 4:this._placeInTree(o,e)}}},{key:"_splitBranch",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,"NW"),this._insertRegion(t,"NE"),this._insertRegion(t,"SW"),this._insertRegion(t,"SE"),null!=e&&this._placeInTree(t,e)}},{key:"_insertRegion",value:function(t,e){var i=void 0,o=void 0,n=void 0,s=void 0,r=.5*t.size;switch(e){case"NW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY,s=t.range.minY+r;break;case"NE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY,s=t.range.minY+r;break;case"SW":i=t.range.minX,o=t.range.minX+r,n=t.range.minY+r,s=t.range.maxY;break;case"SE":i=t.range.minX+r,o=t.range.maxX,n=t.range.minY+r,s=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:o,minY:n,maxY:s},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:"_debug",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:"_drawBranch",value:function(t,e,i){void 0===i&&(i="#FF0000"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}();e.default=h},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.physicsBody=i,this.setOptions(o)}return(0,a.default)(t,[{key:"setOptions",value:function(t){this.options=t}},{key:"solve",value:function(){for(var t=void 0,e=void 0,i=void 0,o=void 0,n=this.body.nodes,s=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,a=0;a=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),s.Arguments=s.Array,o("keys"),o("values"),o("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){var o=i(54),n=i(39),s=i(59),r={};i(26)(r,i(13)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=o(r,{next:n(1,i)}),s(t,e+" Iterator")}},function(t,e,i){var o=i(20),n=i(27),s=i(33);t.exports=i(21)?Object.defineProperties:function(t,e){n(t);for(var i,r=s(e),a=r.length,h=0;a>h;)o.f(t,i=r[h++],e[i]);return t}},function(t,e,i){var o=i(25),n=i(132),s=i(133);t.exports=function(t){return function(e,i,r){var a,h=o(e),d=n(h.length),l=s(r,d);if(t&&i!=i){for(;d>l;)if((a=h[l++])!=a)return!0}else for(;d>l;l++)if((t||l in h)&&h[l]===i)return t||l||0;return!t&&-1}}},function(t,e,i){var o=i(55),n=Math.min;t.exports=function(t){return t>0?n(o(t),9007199254740991):0}},function(t,e,i){var o=i(55),n=Math.max,s=Math.min;t.exports=function(t,e){return t=o(t),t<0?n(t+e,0):s(t,e)}},function(t,e,i){var o=i(18).document;t.exports=o&&o.documentElement},function(t,e,i){var o=i(55),n=i(51);t.exports=function(t){return function(e,i){var s,r,a=String(n(e)),h=o(i),d=a.length;return h<0||h>=d?t?"":void 0:(s=a.charCodeAt(h),s<55296||s>56319||h+1===d||(r=a.charCodeAt(h+1))<56320||r>57343?t?a.charAt(h):s:t?a.slice(h,h+2):r-56320+(s-55296<<10)+65536)}}},function(t,e,i){var o=i(27),n=i(137);t.exports=i(7).getIterator=function(t){var e=n(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return o(e.call(t))}},function(t,e,i){var o=i(86),n=i(13)("iterator"),s=i(31);t.exports=i(7).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||s[o(t)]}},function(t,e,i){i(139);var o=i(7).Object;t.exports=function(t,e){return o.create(t,e)}},function(t,e,i){var o=i(17);o(o.S,"Object",{create:i(54)})},function(t,e,i){i(141),t.exports=i(7).Object.keys},function(t,e,i){var o=i(41),n=i(33);i(87)("keys",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(143),__esModule:!0}},function(t,e,i){i(60),i(49),t.exports=i(61).f("iterator")},function(t,e,i){t.exports={default:i(145),__esModule:!0}},function(t,e,i){i(146),i(151),i(152),i(153),t.exports=i(7).Symbol},function(t,e,i){var o=i(18),n=i(22),s=i(21),r=i(17),a=i(83),h=i(147).KEY,d=i(28),l=i(57),u=i(59),c=i(40),p=i(13),f=i(61),m=i(62),v=i(148),g=i(149),y=i(27),b=i(25),_=i(53),w=i(39),x=i(54),k=i(150),S=i(89),D=i(20),M=i(33),C=S.f,O=D.f,E=k.f,T=o.Symbol,P=o.JSON,I=P&&P.stringify,N=p("_hidden"),R=p("toPrimitive"),A={}.propertyIsEnumerable,z=l("symbol-registry"),L=l("symbols"),F=l("op-symbols"),B=Object.prototype,j="function"==typeof T,H=o.QObject,W=!H||!H.prototype||!H.prototype.findChild,Y=s&&d(function(){return 7!=x(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a})?function(t,e,i){var o=C(B,e);o&&delete B[e],O(t,e,i),o&&t!==B&&O(B,e,o)}:O,G=function(t){var e=L[t]=x(T.prototype);return e._k=t,e},V=j&&"symbol"==typeof T.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof T},U=function(t,e,i){return t===B&&U(F,e,i),y(t),e=_(e,!0),y(i),n(L,e)?(i.enumerable?(n(t,N)&&t[N][e]&&(t[N][e]=!1),i=x(i,{enumerable:w(0,!1)})):(n(t,N)||O(t,N,w(1,{})),t[N][e]=!0),Y(t,e,i)):O(t,e,i)},q=function(t,e){y(t);for(var i,o=v(e=b(e)),n=0,s=o.length;s>n;)U(t,i=o[n++],e[i]);return t},X=function(t,e){return void 0===e?x(t):q(x(t),e)},Z=function(t){var e=A.call(this,t=_(t,!0));return!(this===B&&n(L,t)&&!n(F,t))&&(!(e||!n(this,t)||!n(L,t)||n(this,N)&&this[N][t])||e)},K=function(t,e){if(t=b(t),e=_(e,!0),t!==B||!n(L,e)||n(F,e)){var i=C(t,e);return!i||!n(L,e)||n(t,N)&&t[N][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=E(b(t)),o=[],s=0;i.length>s;)n(L,e=i[s++])||e==N||e==h||o.push(e);return o},$=function(t){for(var e,i=t===B,o=E(i?F:b(t)),s=[],r=0;o.length>r;)!n(L,e=o[r++])||i&&!n(B,e)||s.push(L[e]);return s};j||(T=function(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var t=c(arguments.length>0?arguments[0]:void 0),e=function(i){this===B&&e.call(F,i),n(this,N)&&n(this[N],t)&&(this[N][t]=!1),Y(this,t,w(1,i))};return s&&W&&Y(B,t,{configurable:!0,set:e}),G(t)},a(T.prototype,"toString",function(){return this._k}),S.f=K,D.f=U,i(88).f=k.f=J,i(42).f=Z,i(63).f=$,s&&!i(52)&&a(B,"propertyIsEnumerable",Z,!0),f.f=function(t){return G(p(t))}),r(r.G+r.W+r.F*!j,{Symbol:T});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=M(p.store),it=0;et.length>it;)m(et[it++]);r(r.S+r.F*!j,"Symbol",{for:function(t){return n(z,t+="")?z[t]:z[t]=T(t)},keyFor:function(t){if(!V(t))throw TypeError(t+" is not a symbol!");for(var e in z)if(z[e]===t)return e},useSetter:function(){W=!0},useSimple:function(){W=!1}}),r(r.S+r.F*!j,"Object",{create:X,defineProperty:U,defineProperties:q,getOwnPropertyDescriptor:K,getOwnPropertyNames:J,getOwnPropertySymbols:$}),P&&r(r.S+r.F*(!j||d(function(){var t=T();return"[null]"!=I([t])||"{}"!=I({a:t})||"{}"!=I(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!V(t)){for(var e,i,o=[t],n=1;arguments.length>n;)o.push(arguments[n++]);return e=o[1],"function"==typeof e&&(i=e),!i&&g(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!V(e))return e}),o[1]=e,I.apply(P,o)}}}),T.prototype[R]||i(26)(T.prototype,R,T.prototype.valueOf),u(T,"Symbol"),u(Math,"Math",!0),u(o.JSON,"JSON",!0)},function(t,e,i){var o=i(40)("meta"),n=i(32),s=i(22),r=i(20).f,a=0,h=Object.isExtensible||function(){return!0},d=!i(28)(function(){return h(Object.preventExtensions({}))}),l=function(t){r(t,o,{value:{i:"O"+ ++a,w:{}}})},u=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!s(t,o)){if(!h(t))return"F";if(!e)return"E";l(t)}return t[o].i},c=function(t,e){if(!s(t,o)){if(!h(t))return!0;if(!e)return!1;l(t)}return t[o].w},p=function(t){return d&&f.NEED&&h(t)&&!s(t,o)&&l(t),t},f=t.exports={KEY:o,NEED:!1,fastKey:u,getWeak:c,onFreeze:p}},function(t,e,i){var o=i(33),n=i(63),s=i(42);t.exports=function(t){var e=o(t),i=n.f;if(i)for(var r,a=i(t),h=s.f,d=0;a.length>d;)h.call(t,r=a[d++])&&e.push(r);return e}},function(t,e,i){var o=i(50);t.exports=Array.isArray||function(t){return"Array"==o(t)}},function(t,e,i){var o=i(25),n=i(88).f,s={}.toString,r="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return n(t)}catch(t){return r.slice()}};t.exports.f=function(t){return r&&"[object Window]"==s.call(t)?a(t):n(o(t))}},function(t,e){},function(t,e,i){i(62)("asyncIterator")},function(t,e,i){i(62)("observable")},function(t,e,i){(function(t){!function(e,i){t.exports=i()}(0,function(){function e(){return Co.apply(null,arguments)}function i(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}function s(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function a(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function h(t,e){var i,o=[];for(i=0;i0)for(i=0;i0?"future":"past"];return D(i)?i(e):i.replace(/%s/i,e)}function A(t,e){var i=t.toLowerCase();Lo[i]=Lo[i+"s"]=Lo[e]=t}function z(t){return"string"==typeof t?Lo[t]||Lo[t.toLowerCase()]:void 0}function L(t){var e,i,o={};for(i in t)d(t,i)&&(e=z(i))&&(o[e]=t[i]);return o}function F(t,e){Fo[t]=e}function B(t){var e=[];for(var i in t)e.push({unit:i,priority:Fo[i]});return e.sort(function(t,e){return t.priority-e.priority}),e}function j(t,e,i){var o=""+Math.abs(t),n=e-o.length;return(t>=0?i?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+o}function H(t,e,i,o){var n=o;"string"==typeof o&&(n=function(){return this[o]()}),t&&(Wo[t]=n),e&&(Wo[e[0]]=function(){return j(n.apply(this,arguments),e[1],e[2])}),i&&(Wo[i]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function W(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Y(t){var e,i,o=t.match(Bo);for(e=0,i=o.length;e=0&&jo.test(t);)t=t.replace(jo,i),jo.lastIndex=0,o-=1;return t}function U(t,e,i){an[t]=D(e)?e:function(t,o){return t&&i?i:e}}function q(t,e){return d(an,t)?an[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,i,o,n){return e||i||o||n}))}function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function K(t,e){var i,o=e;for("string"==typeof t&&(t=[t]),r(e)&&(o=function(t,i){i[e]=_(t)}),i=0;i=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function _t(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function wt(t,e,i){var o=7+e-i;return-(7+_t(t,0,o).getUTCDay()-e)%7+o-1}function xt(t,e,i,o,n){var s,r,a=(7+i-o)%7,h=wt(t,o,n),d=1+7*(e-1)+a+h;return d<=0?(s=t-1,r=Q(s)+d):d>Q(t)?(s=t+1,r=d-Q(t)):(s=t,r=d),{year:s,dayOfYear:r}}function kt(t,e,i){var o,n,s=wt(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?(n=t.year()-1,o=r+St(n,e,i)):r>St(t.year(),e,i)?(o=r-St(t.year(),e,i),n=t.year()+1):(n=t.year(),o=r),{week:o,year:n}}function St(t,e,i){var o=wt(t,e,i),n=wt(t+1,e,i);return(Q(t)-o+n)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function Mt(){return this._week.dow}function Ct(){return this._week.doy}function Ot(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Et(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Tt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function Pt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function It(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function Nt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Rt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function At(t,e,i){var o,n,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],o=0;o<7;++o)s=u([2e3,1]).day(o),this._minWeekdaysParse[o]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[o]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[o]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?(n=yn.call(this._weekdaysParse,r),-1!==n?n:null):"ddd"===e?(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null):(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"dddd"===e?-1!==(n=yn.call(this._weekdaysParse,r))?n:-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):"ddd"===e?-1!==(n=yn.call(this._shortWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._minWeekdaysParse,r),-1!==n?n:null):-1!==(n=yn.call(this._minWeekdaysParse,r))?n:-1!==(n=yn.call(this._weekdaysParse,r))?n:(n=yn.call(this._shortWeekdaysParse,r),-1!==n?n:null)}function zt(t,e,i){var o,n,s;if(this._weekdaysParseExact)return At.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),o=0;o<7;o++){if(n=u([2e3,1]).day(o),i&&!this._fullWeekdaysParse[o]&&(this._fullWeekdaysParse[o]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[o]=new RegExp("^"+this.weekdaysShort(n,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[o]=new RegExp("^"+this.weekdaysMin(n,"").replace(".",".?")+"$","i")),this._weekdaysParse[o]||(s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[o]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[o].test(t))return o;if(i&&"ddd"===e&&this._shortWeekdaysParse[o].test(t))return o;if(i&&"dd"===e&&this._minWeekdaysParse[o].test(t))return o;if(!i&&this._weekdaysParse[o].test(t))return o}}function Lt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Tt(t,this.localeData()),this.add(t-e,"d")):e}function Ft(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Pt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function jt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=En),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ht(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Tn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Yt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Pn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Yt(){function t(t,e){return e.length-t.length}var e,i,o,n,s,r=[],a=[],h=[],d=[];for(e=0;e<7;e++)i=u([2e3,1]).day(e),o=this.weekdaysMin(i,""),n=this.weekdaysShort(i,""),s=this.weekdays(i,""),r.push(o),a.push(n),h.push(s),d.push(o),d.push(n),d.push(s);for(r.sort(t),a.sort(t),h.sort(t),d.sort(t),e=0;e<7;e++)a[e]=Z(a[e]),h[e]=Z(h[e]),d[e]=Z(d[e]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Gt(){return this.hours()%12||12}function Vt(){return this.hours()||24}function Ut(t,e){H(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function qt(t,e){return e._meridiemParse}function Xt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Zt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}function Kt(t){return t?t.toLowerCase().replace("_","-"):t}function Jt(t){for(var e,i,o,n,s=0;s0;){if(o=$t(n.slice(0,e).join("-")))return o;if(i&&i.length>=e&&w(n,i,!0)>=e-1)break;e--}s++}return null}function $t(e){var i=null;if(!zn[e]&&void 0!==t&&t&&t.exports)try{i=In._abbr;!function(){var t=new Error('Cannot find module "./locale"');throw t.code="MODULE_NOT_FOUND",t}(),Qt(i)}catch(t){}return zn[e]}function Qt(t,e){var i;return t&&(i=s(e)?ie(t):te(t,e))&&(In=i),In._abbr}function te(t,e){if(null!==e){var i=An;if(e.abbr=t,null!=zn[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=zn[t]._config;else if(null!=e.parentLocale){if(null==zn[e.parentLocale])return Ln[e.parentLocale]||(Ln[e.parentLocale]=[]),Ln[e.parentLocale].push({name:t,config:e}),null;i=zn[e.parentLocale]._config}return zn[t]=new O(C(i,e)),Ln[t]&&Ln[t].forEach(function(t){te(t.name,t.config)}),Qt(t),zn[t]}return delete zn[t],null}function ee(t,e){if(null!=e){var i,o=An;null!=zn[t]&&(o=zn[t]._config),e=C(o,e),i=new O(e),i.parentLocale=zn[t],zn[t]=i,Qt(t)}else null!=zn[t]&&(null!=zn[t].parentLocale?zn[t]=zn[t].parentLocale:null!=zn[t]&&delete zn[t]);return zn[t]}function ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return In;if(!i(t)){if(e=$t(t))return e;t=[t]}return Jt(t)}function oe(){return Io(zn)}function ne(t){var e,i=t._a;return i&&-2===p(t).overflow&&(e=i[ln]<0||i[ln]>11?ln:i[un]<1||i[un]>ht(i[dn],i[ln])?un:i[cn]<0||i[cn]>24||24===i[cn]&&(0!==i[pn]||0!==i[fn]||0!==i[mn])?cn:i[pn]<0||i[pn]>59?pn:i[fn]<0||i[fn]>59?fn:i[mn]<0||i[mn]>999?mn:-1,p(t)._overflowDayOfYear&&(eun)&&(e=un),p(t)._overflowWeeks&&-1===e&&(e=vn),p(t)._overflowWeekday&&-1===e&&(e=gn),p(t).overflow=e),t}function se(t,e,i){return null!=t?t:null!=e?e:i}function re(t){var i=new Date(e.now());return t._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()]}function ae(t){var e,i,o,n,s=[];if(!t._d){for(o=re(t),t._w&&null==t._a[un]&&null==t._a[ln]&&he(t),null!=t._dayOfYear&&(n=se(t._a[dn],o[dn]),(t._dayOfYear>Q(n)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),i=_t(n,0,t._dayOfYear),t._a[ln]=i.getUTCMonth(),t._a[un]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=o[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[cn]&&0===t._a[pn]&&0===t._a[fn]&&0===t._a[mn]&&(t._nextDay=!0,t._a[cn]=0),t._d=(t._useUTC?_t:bt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[cn]=24),t._w&&void 0!==t._w.d&&t._w.d!==t._d.getDay()&&(p(t).weekdayMismatch=!0)}}function he(t){var e,i,o,n,s,r,a,h;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)s=1,r=4,i=se(e.GG,t._a[dn],kt(De(),1,4).year),o=se(e.W,1),((n=se(e.E,1))<1||n>7)&&(h=!0);else{s=t._locale._week.dow,r=t._locale._week.doy;var d=kt(De(),s,r);i=se(e.gg,t._a[dn],d.year),o=se(e.w,d.week),null!=e.d?((n=e.d)<0||n>6)&&(h=!0):null!=e.e?(n=e.e+s,(e.e<0||e.e>6)&&(h=!0)):n=s}o<1||o>St(i,s,r)?p(t)._overflowWeeks=!0:null!=h?p(t)._overflowWeekday=!0:(a=xt(i,o,n,s,r),t._a[dn]=a.year,t._dayOfYear=a.dayOfYear)}function de(t){var e,i,o,n,s,r,a=t._i,h=Fn.exec(a)||Bn.exec(a);if(h){for(p(t).iso=!0,e=0,i=Hn.length;e0&&p(t).unusedInput.push(r),a=a.slice(a.indexOf(o)+o.length),d+=o.length),Wo[s]?(o?p(t).empty=!1:p(t).unusedTokens.push(s),$(s,o,t)):t._strict&&!o&&p(t).unusedTokens.push(s);p(t).charsLeftOver=h-d,a.length>0&&p(t).unusedInput.push(a),t._a[cn]<=12&&!0===p(t).bigHour&&t._a[cn]>0&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[cn]=ye(t._locale,t._a[cn],t._meridiem),ae(t),ne(t)}function ye(t,e,i){var o;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?(o=t.isPM(i),o&&e<12&&(e+=12),o||12!==e||(e=0),e):e}function be(t){var e,i,o,n,s;if(0===t._f.length)return p(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ue(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),t=xe(t),t._a){var e=t._isUTC?u(t._a):De(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function qe(){return!!this.isValid()&&!this._isUTC}function Xe(){return!!this.isValid()&&this._isUTC}function Ze(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ke(t,e){var i,o,n,s=t,a=null;return Ne(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(s={},e?s[e]=t:s.milliseconds=t):(a=Jn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:_(a[un])*i,h:_(a[cn])*i,m:_(a[pn])*i,s:_(a[fn])*i,ms:_(Re(1e3*a[mn]))*i}):(a=$n.exec(t))?(i="-"===a[1]?-1:(a[1],1),s={y:Je(a[2],i),M:Je(a[3],i),w:Je(a[4],i),d:Je(a[5],i),h:Je(a[6],i),m:Je(a[7],i),s:Je(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(n=Qe(De(s.from),De(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),o=new Ie(s),Ne(t)&&d(t,"_locale")&&(o._locale=t._locale),o}function Je(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function $e(t,e){var i={milliseconds:0,months:0};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Qe(t,e){var i;return t.isValid()&&e.isValid()?(e=Le(e,t),t.isBefore(e)?i=$e(t,e):(i=$e(e,t),i.milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function ti(t,e){return function(i,o){var n,s;return null===o||isNaN(+o)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=i,i=o,o=s),i="string"==typeof i?+i:i,n=Ke(i,o),ei(this,n,t),this}}function ei(t,i,o,n){var s=i._milliseconds,r=Re(i._days),a=Re(i._months);t.isValid()&&(n=null==n||n,a&&pt(t,ot(t,"Month")+a*o),r&&nt(t,"Date",ot(t,"Date")+r*o),s&&t._d.setTime(t._d.valueOf()+s*o),n&&e.updateOffset(t,r||a))}function ii(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"}function oi(t,i){var o=t||De(),n=Le(o,this).startOf("day"),s=e.calendarFormat(this,n)||"sameElse",r=i&&(D(i[s])?i[s].call(this,o):i[s]);return this.format(r||this.localeData().calendar(s,this,De(o)))}function ni(){return new g(this)}function si(t,e){var i=y(t)?t:De(t);return!(!this.isValid()||!i.isValid())&&(e=z(s(e)?"millisecond":e),"millisecond"===e?this.valueOf()>i.valueOf():i.valueOf()9999?G(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):D(Date.prototype.toISOString)?this.toDate().toISOString():G(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function mi(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+t+'("]',o=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(i+o+"-MM-DD[T]HH:mm:ss.SSS"+n)}function vi(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var i=G(this,t);return this.localeData().postformat(i)}function gi(t,e){return this.isValid()&&(y(t)&&t.isValid()||De(t).isValid())?Ke({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function yi(t){return this.from(De(),t)}function bi(t,e){return this.isValid()&&(y(t)&&t.isValid()||De(t).isValid())?Ke({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _i(t){return this.to(De(),t)}function wi(t){var e;return void 0===t?this._locale._abbr:(e=ie(t),null!=e&&(this._locale=e),this)}function xi(){return this._locale}function ki(t){switch(t=z(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function Si(t){return void 0===(t=z(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function Di(){return this._d.valueOf()-6e4*(this._offset||0)}function Mi(){return Math.floor(this.valueOf()/1e3)}function Ci(){return new Date(this.valueOf())}function Oi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Ei(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Ti(){return this.isValid()?this.toISOString():null}function Pi(){return f(this)}function Ii(){return l({},p(this))}function Ni(){return p(this).overflow}function Ri(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ai(t,e){H(0,[t,t.length],0,e)}function zi(t){return ji.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Li(t){return ji.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function Fi(){return St(this.year(),1,4)}function Bi(){var t=this.localeData()._week;return St(this.year(),t.dow,t.doy)}function ji(t,e,i,o,n){var s;return null==t?kt(this,o,n).year:(s=St(t,o,n),e>s&&(e=s),Hi.call(this,t,e,i,o,n))}function Hi(t,e,i,o,n){var s=xt(t,e,i,o,n),r=_t(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Wi(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Yi(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function Gi(t,e){e[mn]=_(1e3*("0."+t))}function Vi(){return this._isUTC?"UTC":""}function Ui(){return this._isUTC?"Coordinated Universal Time":""}function qi(t){return De(1e3*t)}function Xi(){return De.apply(null,arguments).parseZone()}function Zi(t){return t}function Ki(t,e,i,o){var n=ie(),s=u().set(o,e);return n[i](s,t)}function Ji(t,e,i){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return Ki(t,e,i,"month");var o,n=[];for(o=0;o<12;o++)n[o]=Ki(t,o,i,"month");return n}function $i(t,e,i,o){"boolean"==typeof t?(r(e)&&(i=e,e=void 0),e=e||""):(e=t,i=e,t=!1,r(e)&&(i=e,e=void 0),e=e||"");var n=ie(),s=t?n._week.dow:0;if(null!=i)return Ki(e,(i+s)%7,o,"day");var a,h=[];for(a=0;a<7;a++)h[a]=Ki(e,(a+s)%7,o,"day");return h}function Qi(t,e){return Ji(t,e,"months")}function to(t,e){return Ji(t,e,"monthsShort")}function eo(t,e,i){return $i(t,e,i,"weekdays")}function io(t,e,i){return $i(t,e,i,"weekdaysShort")}function oo(t,e,i){return $i(t,e,i,"weekdaysMin")}function no(){var t=this._data;return this._milliseconds=ds(this._milliseconds),this._days=ds(this._days),this._months=ds(this._months),t.milliseconds=ds(t.milliseconds),t.seconds=ds(t.seconds),t.minutes=ds(t.minutes),t.hours=ds(t.hours),t.months=ds(t.months),t.years=ds(t.years),this}function so(t,e,i,o){var n=Ke(e,i);return t._milliseconds+=o*n._milliseconds,t._days+=o*n._days,t._months+=o*n._months,t._bubble()}function ro(t,e){return so(this,t,e,1)}function ao(t,e){return so(this,t,e,-1)}function ho(t){return t<0?Math.floor(t):Math.ceil(t)}function lo(){var t,e,i,o,n,s=this._milliseconds,r=this._days,a=this._months,h=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*ho(co(a)+r),r=0,a=0),h.milliseconds=s%1e3,t=b(s/1e3),h.seconds=t%60,e=b(t/60),h.minutes=e%60,i=b(e/60),h.hours=i%24,r+=b(i/24),n=b(uo(r)),a+=n, +r-=ho(co(n)),o=b(a/12),a%=12,h.days=r,h.months=a,h.years=o,this}function uo(t){return 4800*t/146097}function co(t){return 146097*t/4800}function po(t){if(!this.isValid())return NaN;var e,i,o=this._milliseconds;if("month"===(t=z(t))||"year"===t)return e=this._days+o/864e5,i=this._months+uo(e),"month"===t?i:i/12;switch(e=this._days+Math.round(co(this._months)),t){case"week":return e/7+o/6048e5;case"day":return e+o/864e5;case"hour":return 24*e+o/36e5;case"minute":return 1440*e+o/6e4;case"second":return 86400*e+o/1e3;case"millisecond":return Math.floor(864e5*e)+o;default:throw new Error("Unknown unit "+t)}}function fo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function mo(t){return function(){return this.as(t)}}function vo(){return Ke(this)}function go(t){return t=z(t),this.isValid()?this[t+"s"]():NaN}function yo(t){return function(){return this.isValid()?this._data[t]:NaN}}function bo(){return b(this.days()/7)}function _o(t,e,i,o,n){return n.relativeTime(e||1,!!i,t,o)}function wo(t,e,i){var o=Ke(t).abs(),n=Ds(o.as("s")),s=Ds(o.as("m")),r=Ds(o.as("h")),a=Ds(o.as("d")),h=Ds(o.as("M")),d=Ds(o.as("y")),l=n<=Ms.ss&&["s",n]||n0,l[4]=i,_o.apply(null,l)}function xo(t){return void 0===t?Ds:"function"==typeof t&&(Ds=t,!0)}function ko(t,e){return void 0!==Ms[t]&&(void 0===e?Ms[t]:(Ms[t]=e,"s"===t&&(Ms.ss=e-1),!0))}function So(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),i=wo(this,!t,e);return t&&(i=e.pastFuture(+this,i)),e.postformat(i)}function Do(t){return(t>0)-(t<0)||+t}function Mo(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,o=Cs(this._milliseconds)/1e3,n=Cs(this._days),s=Cs(this._months);t=b(o/60),e=b(t/60),o%=60,t%=60,i=b(s/12),s%=12;var r=i,a=s,h=n,d=e,l=t,u=o?o.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var p=c<0?"-":"",f=Do(this._months)!==Do(c)?"-":"",m=Do(this._days)!==Do(c)?"-":"",v=Do(this._milliseconds)!==Do(c)?"-":"";return p+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(h?m+h+"D":"")+(d||l||u?"T":"")+(d?v+d+"H":"")+(l?v+l+"M":"")+(u?v+u+"S":"")}var Co,Oo;Oo=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),i=e.length>>>0,o=0;o68?1900:2e3)};var yn,bn=it("FullYear",!0);yn=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;ethis?this:t:m()}),Xn=function(){return Date.now?Date.now():+new Date},Zn=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ae("Z",":"),Ae("ZZ",""),U("Z",nn),U("ZZ",nn),K(["Z","ZZ"],function(t,e,i){i._useUTC=!0,i._tzm=ze(nn,t)});var Kn=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Jn=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$n=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Ke.fn=Ie.prototype,Ke.invalid=Pe;var Qn=ti(1,"add"),ts=ti(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var es=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ai("gggg","weekYear"),Ai("ggggg","weekYear"),Ai("GGGG","isoWeekYear"),Ai("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),U("G",en),U("g",en),U("GG",Xo,Go),U("gg",Xo,Go),U("GGGG",$o,Uo),U("gggg",$o,Uo),U("GGGGG",Qo,qo),U("ggggg",Qo,qo),J(["gggg","ggggg","GGGG","GGGGG"],function(t,e,i,o){e[o.substr(0,2)]=_(t)}),J(["gg","GG"],function(t,i,o,n){i[n]=e.parseTwoDigitYear(t)}),H("Q",0,"Qo","quarter"),A("quarter","Q"),F("quarter",7),U("Q",Yo),K("Q",function(t,e){e[ln]=3*(_(t)-1)}),H("D",["DD",2],"Do","date"),A("date","D"),F("date",9),U("D",Xo),U("DD",Xo,Go),U("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),K(["D","DD"],un),K("Do",function(t,e){e[un]=_(t.match(Xo)[0],10)});var is=it("Date",!0);H("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),F("dayOfYear",4),U("DDD",Jo),U("DDDD",Vo),K(["DDD","DDDD"],function(t,e,i){i._dayOfYear=_(t)}),H("m",["mm",2],0,"minute"),A("minute","m"),F("minute",14),U("m",Xo),U("mm",Xo,Go),K(["m","mm"],pn);var os=it("Minutes",!1);H("s",["ss",2],0,"second"),A("second","s"),F("second",15),U("s",Xo),U("ss",Xo,Go),K(["s","ss"],fn);var ns=it("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),F("millisecond",16),U("S",Jo,Yo),U("SS",Jo,Go),U("SSS",Jo,Vo);var ss;for(ss="SSSS";ss.length<=9;ss+="S")U(ss,tn);for(ss="S";ss.length<=9;ss+="S")K(ss,Gi);var rs=it("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var as=g.prototype;as.add=Qn,as.calendar=oi,as.clone=ni,as.diff=ui,as.endOf=Si,as.format=vi,as.from=gi,as.fromNow=yi,as.to=bi,as.toNow=_i,as.get=st,as.invalidAt=Ni,as.isAfter=si,as.isBefore=ri,as.isBetween=ai,as.isSame=hi,as.isSameOrAfter=di,as.isSameOrBefore=li,as.isValid=Pi,as.lang=es,as.locale=wi,as.localeData=xi,as.max=qn,as.min=Un,as.parsingFlags=Ii,as.set=rt,as.startOf=ki,as.subtract=ts,as.toArray=Oi,as.toObject=Ei,as.toDate=Ci,as.toISOString=fi,as.inspect=mi,as.toJSON=Ti,as.toString=pi,as.unix=Mi,as.valueOf=Di,as.creationData=Ri,as.year=bn,as.isLeapYear=et,as.weekYear=zi,as.isoWeekYear=Li,as.quarter=as.quarters=Wi,as.month=ft,as.daysInMonth=mt,as.week=as.weeks=Ot,as.isoWeek=as.isoWeeks=Et,as.weeksInYear=Bi,as.isoWeeksInYear=Fi,as.date=is,as.day=as.days=Lt,as.weekday=Ft,as.isoWeekday=Bt,as.dayOfYear=Yi,as.hour=as.hours=Rn,as.minute=as.minutes=os,as.second=as.seconds=ns,as.millisecond=as.milliseconds=rs,as.utcOffset=Be,as.utc=He,as.local=We,as.parseZone=Ye,as.hasAlignedHourOffset=Ge,as.isDST=Ve,as.isLocal=qe,as.isUtcOffset=Xe,as.isUtc=Ze,as.isUTC=Ze,as.zoneAbbr=Vi,as.zoneName=Ui,as.dates=k("dates accessor is deprecated. Use date instead.",is),as.months=k("months accessor is deprecated. Use month instead",ft),as.years=k("years accessor is deprecated. Use year instead",bn),as.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",je),as.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ue);var hs=O.prototype;hs.calendar=E,hs.longDateFormat=T,hs.invalidDate=P,hs.ordinal=I,hs.preparse=Zi,hs.postformat=Zi,hs.relativeTime=N,hs.pastFuture=R,hs.set=M,hs.months=dt,hs.monthsShort=lt,hs.monthsParse=ct,hs.monthsRegex=gt,hs.monthsShortRegex=vt,hs.week=Dt,hs.firstDayOfYear=Ct,hs.firstDayOfWeek=Mt,hs.weekdays=It,hs.weekdaysMin=Rt,hs.weekdaysShort=Nt,hs.weekdaysParse=zt,hs.weekdaysRegex=jt,hs.weekdaysShortRegex=Ht,hs.weekdaysMinRegex=Wt,hs.isPM=Xt,hs.meridiem=Zt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=k("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=k("moment.langData is deprecated. Use moment.localeData instead.",ie);var ds=Math.abs,ls=mo("ms"),us=mo("s"),cs=mo("m"),ps=mo("h"),fs=mo("d"),ms=mo("w"),vs=mo("M"),gs=mo("y"),ys=yo("milliseconds"),bs=yo("seconds"),_s=yo("minutes"),ws=yo("hours"),xs=yo("days"),ks=yo("months"),Ss=yo("years"),Ds=Math.round,Ms={ss:44,s:45,m:45,h:22,d:26,M:11},Cs=Math.abs,Os=Ie.prototype;return Os.isValid=Te,Os.abs=no,Os.add=ro,Os.subtract=ao,Os.as=po,Os.asMilliseconds=ls,Os.asSeconds=us,Os.asMinutes=cs,Os.asHours=ps,Os.asDays=fs,Os.asWeeks=ms,Os.asMonths=vs,Os.asYears=gs,Os.valueOf=fo,Os._bubble=lo,Os.clone=vo,Os.get=go,Os.milliseconds=ys,Os.seconds=bs,Os.minutes=_s,Os.hours=ws,Os.days=xs,Os.weeks=bo,Os.months=ks,Os.years=Ss,Os.humanize=So,Os.toISOString=Mo,Os.toString=Mo,Os.toJSON=Mo,Os.locale=wi,Os.localeData=xi,Os.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Mo),Os.lang=es,H("X",0,0,"unix"),H("x",0,0,"valueOf"),U("x",en),U("X",sn),K("X",function(t,e,i){i._d=new Date(1e3*parseFloat(t,10))}),K("x",function(t,e,i){i._d=new Date(_(t))}),e.version="2.19.1",function(t){Co=t}(De),e.fn=as,e.min=Ce,e.max=Oe,e.now=Xn,e.utc=u,e.unix=qi,e.months=Qi,e.isDate=a,e.locale=Qt,e.invalid=m,e.duration=Ke,e.isMoment=y,e.weekdays=eo,e.parseZone=Xi,e.localeData=ie,e.isDuration=Ne,e.monthsShort=to,e.weekdaysMin=oo,e.defineLocale=te,e.updateLocale=ee,e.locales=oe,e.weekdaysShort=io,e.normalizeUnits=z,e.relativeTimeRounding=xo,e.relativeTimeThreshold=ko,e.calendarFormat=ii,e.prototype=as,e})}).call(e,i(155)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e){function i(t){throw new Error("Cannot find module '"+t+"'.")}i.keys=function(){return[]},i.resolve=i,t.exports=i,i.id=156},function(t,e,i){(function(e){function i(t,e,i){var o=e&&i||0,n=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,function(t){n<16&&(e[o+n++]=u[t])});n<16;)e[o+n++]=0;return e}function o(t,e){var i=e||0,o=l;return o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+"-"+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]+o[t[i++]]}function n(t,e,i){var n=e&&i||0,s=e||[];t=t||{};var r=void 0!==t.clockseq?t.clockseq:m,a=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:g+1,d=a-v+(h-g)/1e4;if(d<0&&void 0===t.clockseq&&(r=r+1&16383),(d<0||a>v)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=a,g=h,m=r,a+=122192928e5;var l=(1e4*(268435455&a)+h)%4294967296;s[n++]=l>>>24&255,s[n++]=l>>>16&255,s[n++]=l>>>8&255,s[n++]=255&l;var u=a/4294967296*1e4&268435455;s[n++]=u>>>8&255,s[n++]=255&u,s[n++]=u>>>24&15|16,s[n++]=u>>>16&255,s[n++]=r>>>8|128,s[n++]=255&r;for(var c=t.node||f,p=0;p<6;p++)s[n+p]=c[p];return e||o(s)}function s(t,e,i){var n=e&&i||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null),t=t||{};var s=t.random||(t.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e)for(var a=0;a<16;a++)e[n+a]=s[a];return e||o(s)}var r,a="undefined"!=typeof window?window:void 0!==e?e:null;if(a&&a.crypto&&crypto.getRandomValues){var h=new Uint8Array(16);r=function(){return crypto.getRandomValues(h),h}}if(!r){var d=new Array(16);r=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),d[e]=t>>>((3&e)<<3)&255;return d}}for(var l=[],u={},c=0;c<256;c++)l[c]=(c+256).toString(16).substr(1),u[l[c]]=c;var p=r(),f=[1|p[0],p[1],p[2],p[3],p[4],p[5]],m=16383&(p[6]<<8|p[7]),v=0,g=0,y=s;y.v1=n,y.v4=s,y.parse=i,y.unparse=o,t.exports=y}).call(e,i(158))},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(43),e.Graph3d=i(161),e.graph3d={Camera:i(95),Filter:i(96),Point2d:i(91),Point3d:i(34),Slider:i(92),StepNumber:i(93)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){var o=i(7),n=o.JSON||(o.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){function o(t,e,i){if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.containerElement=t,this.dataGroup=new _,this.dataPoints=null,this.create(),f.setDefaults(o.DEFAULTS,this),this.colX=void 0,this.colY=void 0,this.colZ=void 0,this.colValue=void 0,this.setOptions(i),this.setData(e)}function n(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0}function s(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0}var r=i(90),a=function(t){return t&&t.__esModule?t:{default:t}}(r),h=i(44),d=i(2),l=i(34),u=i(91),c=i(92),p=i(93),f=i(94),m=i(15).default,v=i(15),g=v.printStyle,y=i(172),b=y.allOptions,_=i(173);o.STYLE=f.STYLE;o.DEFAULTS={width:"400px",height:"400px",filterLabel:"time",legendLabel:"value",xLabel:"x",yLabel:"y",zLabel:"z",xValueLabel:function(t){return t},yValueLabel:function(t){return t},zValueLabel:function(t){return t},showXAxis:!0,showYAxis:!0,showZAxis:!0,showGrid:!0,showPerspective:!0,showShadow:!1,keepAspectRatio:!0,verticalRatio:.5,dotSizeRatio:.02,dotSizeMinFraction:.5,dotSizeMaxFraction:2.5,showAnimationControls:void 0,animationInterval:1e3,animationPreload:!1,animationAutoStart:void 0,axisColor:"#4D4D4D",gridColor:"#D3D3D3",xCenter:"55%",yCenter:"50%",style:o.STYLE.DOT,tooltip:!1,tooltipStyle:{content:{padding:"10px",border:"1px solid #4d4d4d",color:"#1a1a1a",background:"rgba(255,255,255,0.7)",borderRadius:"2px",boxShadow:"5px 5px 10px rgba(128,128,128,0.5)"},line:{height:"40px",width:"0",borderLeft:"1px solid #4d4d4d"},dot:{height:"0",width:"0",border:"5px solid #4d4d4d",borderRadius:"5px"}},dataColor:{fill:"#7DC1FF",stroke:"#3267D2",strokeWidth:1},cameraPosition:{horizontal:1,vertical:.5,distance:1.7},showLegend:void 0,backgroundColor:void 0,xBarWidth:void 0,yBarWidth:void 0,valueMin:void 0,valueMax:void 0,xMin:void 0,xMax:void 0,xStep:void 0,yMin:void 0,yMax:void 0,yStep:void 0,zMin:void 0,zMax:void 0,zStep:void 0},h(o.prototype),o.prototype._setScale=function(){this.scale=new l(1/this.xRange.range(),1/this.yRange.range(),1/this.zRange.range()),this.keepAspectRatio&&(this.scale.x0&&(r[n-1].pointNext=r[n]);return r},o.prototype.create=function(){for(;this.containerElement.hasChildNodes();)this.containerElement.removeChild(this.containerElement.firstChild);this.frame=document.createElement("div"),this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas);var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t),this.frame.filter=document.createElement("div"),this.frame.filter.style.position="absolute",this.frame.filter.style.bottom="0px",this.frame.filter.style.left="0px",this.frame.filter.style.width="100%",this.frame.appendChild(this.frame.filter);var e=this,i=function(t){e._onMouseDown(t)},o=function(t){e._onTouchStart(t)},n=function(t){e._onWheel(t)},s=function(t){e._onTooltip(t)},r=function(t){e._onClick(t)};d.addEventListener(this.frame.canvas,"mousedown",i),d.addEventListener(this.frame.canvas,"touchstart",o),d.addEventListener(this.frame.canvas,"mousewheel",n),d.addEventListener(this.frame.canvas,"mousemove",s),d.addEventListener(this.frame.canvas,"click",r),this.containerElement.appendChild(this.frame)},o.prototype._setSize=function(t,e){this.frame.style.width=t,this.frame.style.height=e,this._resizeCanvas()},o.prototype._resizeCanvas=function(){this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=this.frame.canvas.clientWidth,this.frame.canvas.height=this.frame.canvas.clientHeight,this.frame.filter.style.width=this.frame.canvas.clientWidth-20+"px"},o.prototype.animationStart=function(){if(this.animationAutoStart&&this.dataGroup.dataFilter){if(!this.frame.filter||!this.frame.filter.slider)throw new Error("No animation available");this.frame.filter.slider.play()}},o.prototype.animationStop=function(){this.frame.filter&&this.frame.filter.slider&&this.frame.filter.slider.stop()},o.prototype._resizeCenter=function(){"%"===this.xCenter.charAt(this.xCenter.length-1)?this.currentXCenter=parseFloat(this.xCenter)/100*this.frame.canvas.clientWidth:this.currentXCenter=parseFloat(this.xCenter),"%"===this.yCenter.charAt(this.yCenter.length-1)?this.currentYCenter=parseFloat(this.yCenter)/100*(this.frame.canvas.clientHeight-this.frame.filter.clientHeight):this.currentYCenter=parseFloat(this.yCenter)},o.prototype.getCameraPosition=function(){var t=this.camera.getArmRotation();return t.distance=this.camera.getArmLength(),t},o.prototype._readData=function(t){this.dataPoints=this.dataGroup.initializeData(this,t,this.style),this._initializeRanges(),this._redrawFilter()},o.prototype.setData=function(t){void 0!==t&&null!==t&&(this._readData(t),this.redraw(),this.animationStart())},o.prototype.setOptions=function(t){if(void 0!==t){!0===m.validate(t,b)&&console.log("%cErrors have been found in the supplied options object.",g),this.animationStop(),f.setOptions(t,this),this.setPointDrawingMethod(),this._setSize(this.width,this.height),this.setData(this.dataGroup.getDataTable()),this.animationStart()}},o.prototype.setPointDrawingMethod=function(){var t=void 0;switch(this.style){case o.STYLE.BAR:t=o.prototype._redrawBarGraphPoint;break;case o.STYLE.BARCOLOR:t=o.prototype._redrawBarColorGraphPoint;break;case o.STYLE.BARSIZE:t=o.prototype._redrawBarSizeGraphPoint;break;case o.STYLE.DOT:t=o.prototype._redrawDotGraphPoint;break;case o.STYLE.DOTLINE:t=o.prototype._redrawDotLineGraphPoint;break;case o.STYLE.DOTCOLOR:t=o.prototype._redrawDotColorGraphPoint;break;case o.STYLE.DOTSIZE:t=o.prototype._redrawDotSizeGraphPoint;break;case o.STYLE.SURFACE:t=o.prototype._redrawSurfaceGraphPoint;break;case o.STYLE.GRID:t=o.prototype._redrawGridGraphPoint;break;case o.STYLE.LINE:t=o.prototype._redrawLineGraphPoint;break;default:throw new Error("Can not determine point drawing method for graph style '"+this.style+"'")}this._pointDrawingMethod=t},o.prototype.redraw=function(){if(void 0===this.dataPoints)throw new Error("Graph data not initialized");this._resizeCanvas(),this._resizeCenter(),this._redrawSlider(),this._redrawClear(),this._redrawAxis(),this._redrawDataGraph(),this._redrawInfo(),this._redrawLegend()},o.prototype._getContext=function(){var t=this.frame.canvas,e=t.getContext("2d");return e.lineJoin="round",e.lineCap="round",e},o.prototype._redrawClear=function(){var t=this.frame.canvas;t.getContext("2d").clearRect(0,0,t.width,t.height)},o.prototype._dotSize=function(){return this.frame.clientWidth*this.dotSizeRatio},o.prototype._getLegendWidth=function(){var t;if(this.style===o.STYLE.DOTSIZE){t=this._dotSize()*this.dotSizeMaxFraction}else t=this.style===o.STYLE.BARSIZE?this.xBarWidth:20;return t},o.prototype._redrawLegend=function(){if(!0===this.showLegend&&this.style!==o.STYLE.LINE&&this.style!==o.STYLE.BARSIZE){var t=this.style===o.STYLE.BARSIZE||this.style===o.STYLE.DOTSIZE,e=this.style===o.STYLE.DOTSIZE||this.style===o.STYLE.DOTCOLOR||this.style===o.STYLE.BARCOLOR,i=Math.max(.25*this.frame.clientHeight,100),n=this.margin,s=this._getLegendWidth(),r=this.frame.clientWidth-this.margin,a=r-s,h=n+i,d=this._getContext();if(d.lineWidth=1,d.font="14px arial",!1===t){var l,c=i;for(l=0;l0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)<0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelY=function(t,e,i,o,n){void 0===n&&(n=0);var s=this._convert3Dto2D(e);Math.cos(2*o)<0?(t.textAlign="center",t.textBaseline="top",s.y+=n):Math.sin(2*o)>0?(t.textAlign="right",t.textBaseline="middle"):(t.textAlign="left",t.textBaseline="middle"),t.fillStyle=this.axisColor,t.fillText(i,s.x,s.y)},o.prototype.drawAxisLabelZ=function(t,e,i,o){void 0===o&&(o=0);var n=this._convert3Dto2D(e);t.textAlign="right",t.textBaseline="middle",t.fillStyle=this.axisColor,t.fillText(i,n.x-o,n.y)},o.prototype._line3d=function(t,e,i,o){var n=this._convert3Dto2D(e),s=this._convert3Dto2D(i);this._line(t,n,s,o)},o.prototype._redrawAxis=function(){var t,e,i,o,n,s,r,a,h,d,c,f=this._getContext();f.font=24/this.camera.getArmLength()+"px arial";var m,v=.025/this.scale.x,g=.025/this.scale.y,y=5/this.camera.getArmLength(),b=this.camera.getArmRotation().horizontal,_=new u(Math.cos(b),Math.sin(b)),w=this.xRange,x=this.yRange,k=this.zRange;for(f.lineWidth=1,o=void 0===this.defaultXStep,i=new p(w.min,w.max,this.xStep,o),i.start(!0);!i.end();){var S=i.getCurrent();if(this.showGrid?(t=new l(S,x.min,k.min),e=new l(S,x.max,k.min),this._line3d(f,t,e,this.gridColor)):this.showXAxis&&(t=new l(S,x.min,k.min),e=new l(S,x.min+v,k.min),this._line3d(f,t,e,this.axisColor),t=new l(S,x.max,k.min),e=new l(S,x.max-v,k.min),this._line3d(f,t,e,this.axisColor)),this.showXAxis){r=_.x>0?x.min:x.max,m=new l(S,r,k.min);var D=" "+this.xValueLabel(S)+" ";this.drawAxisLabelX(f,m,D,b,y)}i.next()}for(f.lineWidth=1,o=void 0===this.defaultYStep,i=new p(x.min,x.max,this.yStep,o),i.start(!0);!i.end();){var M=i.getCurrent();if(this.showGrid?(t=new l(w.min,M,k.min),e=new l(w.max,M,k.min),this._line3d(f,t,e,this.gridColor)):this.showYAxis&&(t=new l(w.min,M,k.min),e=new l(w.min+g,M,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,M,k.min),e=new l(w.max-g,M,k.min),this._line3d(f,t,e,this.axisColor)),this.showYAxis){s=_.y>0?w.min:w.max,m=new l(s,M,k.min);var C=" "+this.yValueLabel(M)+" ";this.drawAxisLabelY(f,m,C,b,y)}i.next()}if(this.showZAxis){for(f.lineWidth=1,o=void 0===this.defaultZStep,i=new p(k.min,k.max,this.zStep,o),i.start(!0),s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max;!i.end();){var O=i.getCurrent(),E=new l(s,r,O),T=this._convert3Dto2D(E);e=new u(T.x-y,T.y),this._line(f,T,e,this.axisColor);var P=this.zValueLabel(O)+" ";this.drawAxisLabelZ(f,E,P,5),i.next()}f.lineWidth=1,t=new l(s,r,k.min),e=new l(s,r,k.max),this._line3d(f,t,e,this.axisColor)}if(this.showXAxis){var I,N;f.lineWidth=1,I=new l(w.min,x.min,k.min),N=new l(w.max,x.min,k.min),this._line3d(f,I,N,this.axisColor),I=new l(w.min,x.max,k.min),N=new l(w.max,x.max,k.min),this._line3d(f,I,N,this.axisColor)}this.showYAxis&&(f.lineWidth=1,t=new l(w.min,x.min,k.min),e=new l(w.min,x.max,k.min),this._line3d(f,t,e,this.axisColor),t=new l(w.max,x.min,k.min),e=new l(w.max,x.max,k.min),this._line3d(f,t,e,this.axisColor));var R=this.xLabel;R.length>0&&this.showXAxis&&(c=.1/this.scale.y,s=(w.max+3*w.min)/4,r=_.x>0?x.min-c:x.max+c,n=new l(s,r,k.min),this.drawAxisLabelX(f,n,R,b));var A=this.yLabel;A.length>0&&this.showYAxis&&(d=.1/this.scale.x,s=_.y>0?w.min-d:w.max+d,r=(x.max+3*x.min)/4,n=new l(s,r,k.min),this.drawAxisLabelY(f,n,A,b));var z=this.zLabel;z.length>0&&this.showZAxis&&(h=30,s=_.x>0?w.min:w.max,r=_.y<0?x.min:x.max,a=(k.max+3*k.min)/4,n=new l(s,r,a),this.drawAxisLabelZ(f,n,z,h))},o.prototype._hsv2rgb=function(t,e,i){var o,n,s,r,a,h;switch(r=i*e,a=Math.floor(t/60),h=r*(1-Math.abs(t/60%2-1)),a){case 0:o=r,n=h,s=0;break;case 1:o=h,n=r,s=0;break;case 2:o=0,n=r,s=h;break;case 3:o=0,n=h,s=r;break;case 4:o=h,n=0,s=r;break;case 5:o=r,n=0,s=h;break;default:o=0,n=0,s=0}return"RGB("+parseInt(255*o)+","+parseInt(255*n)+","+parseInt(255*s)+")"},o.prototype._getStrokeWidth=function(t){return void 0!==t?this.showPerspective?1/-t.trans.z*this.dataColor.strokeWidth:-this.eye.z/this.camera.getArmLength()*this.dataColor.strokeWidth:this.dataColor.strokeWidth},o.prototype._redrawBar=function(t,e,i,o,n,s){var r,a=this,h=e.point,d=this.zRange.min,u=[{point:new l(h.x-i,h.y-o,h.z)},{point:new l(h.x+i,h.y-o,h.z)},{point:new l(h.x+i,h.y+o,h.z)},{point:new l(h.x-i,h.y+o,h.z)}],c=[{point:new l(h.x-i,h.y-o,d)},{point:new l(h.x+i,h.y-o,d)},{point:new l(h.x+i,h.y+o,d)},{point:new l(h.x-i,h.y+o,d)}];u.forEach(function(t){t.screen=a._convert3Dto2D(t.point)}),c.forEach(function(t){t.screen=a._convert3Dto2D(t.point)});var p=[{corners:u,center:l.avg(c[0].point,c[2].point)},{corners:[u[0],u[1],c[1],c[0]],center:l.avg(c[1].point,c[0].point)},{corners:[u[1],u[2],c[2],c[1]],center:l.avg(c[2].point,c[1].point)},{corners:[u[2],u[3],c[3],c[2]],center:l.avg(c[3].point,c[2].point)},{corners:[u[3],u[0],c[0],c[3]],center:l.avg(c[0].point,c[3].point)}];e.surfaces=p;for(var f=0;f0}if(a){var p,f=(e.point.z+i.point.z+o.point.z+n.point.z)/4,m=240*(1-(f-this.zRange.min)*this.scale.z/this.verticalRatio);this.showShadow?(p=Math.min(1+u.x/c/2,1),s=this._hsv2rgb(m,1,p),r=s):(p=1,s=this._hsv2rgb(m,1,p),r=this.axisColor)}else s="gray",r=this.axisColor;t.lineWidth=this._getStrokeWidth(e);var v=[e,i,n,o];this._polygon(t,v,s,r)}},o.prototype._drawGridLine=function(t,e,i){if(void 0!==e&&void 0!==i){var o=(e.point.z+i.point.z)/2,n=240*(1-(o-this.zRange.min)*this.scale.z/this.verticalRatio);t.lineWidth=2*this._getStrokeWidth(e),t.strokeStyle=this._hsv2rgb(n,1,1),this._line(t,e.screen,i.screen)}},o.prototype._redrawGridGraphPoint=function(t,e){this._drawGridLine(t,e,e.pointRight),this._drawGridLine(t,e,e.pointTop)},o.prototype._redrawLineGraphPoint=function(t,e){void 0!==e.pointNext&&(t.lineWidth=this._getStrokeWidth(e),t.strokeStyle=this.dataColor.stroke,this._line(t,e.screen,e.pointNext.screen))},o.prototype._redrawDataGraph=function(){var t,e=this._getContext();if(!(void 0===this.dataPoints||this.dataPoints.length<=0))for(this._calcTranslations(this.dataPoints),t=0;t0?1:t<0?-1:0}var o=e[0],n=e[1],s=e[2],r=i((n.x-o.x)*(t.y-o.y)-(n.y-o.y)*(t.x-o.x)),a=i((s.x-n.x)*(t.y-n.y)-(s.y-n.y)*(t.x-n.x)),h=i((o.x-s.x)*(t.y-s.y)-(o.y-s.y)*(t.x-s.x));return!(0!=r&&0!=a&&r!=a||0!=a&&0!=h&&a!=h||0!=r&&0!=h&&r!=h)},o.prototype._dataPointFromXY=function(t,e){var i,n=null,s=null,r=null,a=new u(t,e);if(this.style===o.STYLE.BAR||this.style===o.STYLE.BARCOLOR||this.style===o.STYLE.BARSIZE)for(i=this.dataPoints.length-1;i>=0;i--){n=this.dataPoints[i];var h=n.surfaces;if(h)for(var d=h.length-1;d>=0;d--){var l=h[d],c=l.corners,p=[c[0].screen,c[1].screen,c[2].screen],f=[c[2].screen,c[3].screen,c[0].screen];if(this._insideTriangle(a,p)||this._insideTriangle(a,f))return n}}else for(i=0;i"+this.xLabel+":"+t.point.x+""+this.yLabel+":"+t.point.y+""+this.zLabel+":"+t.point.z+"",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(o);var n=e.offsetWidth,s=e.offsetHeight,r=i.offsetHeight,h=o.offsetWidth,d=o.offsetHeight,l=t.screen.x-n/2;l=Math.min(Math.max(l,10),this.frame.clientWidth-10-n),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=l+"px",e.style.top=t.screen.y-r-s+"px",o.style.left=t.screen.x-h/2+"px",o.style.top=t.screen.y-d/2+"px"},o.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},o.prototype.setCameraPosition=function(t){f.setCameraPosition(t,this),this.redraw()},o.prototype.setSize=function(t,e){this._setSize(t,e),this.redraw()},t.exports=o},function(t,e,i){i(163),t.exports=i(7).Object.assign},function(t,e,i){var o=i(17);o(o.S+o.F,"Object",{assign:i(164)})},function(t,e,i){var o=i(33),n=i(63),s=i(42),r=i(41),a=i(78),h=Object.assign;t.exports=!h||i(28)(function(){var t={},e={},i=Symbol(),o="abcdefghijklmnopqrst";return t[i]=7,o.split("").forEach(function(t){e[t]=t}),7!=h({},t)[i]||Object.keys(h({},e)).join("")!=o})?function(t,e){for(var i=r(t),h=arguments.length,d=1,l=n.f,u=s.f;h>d;)for(var c,p=a(arguments[d++]),f=l?o(p).concat(l(p)):o(p),m=f.length,v=0;m>v;)u.call(p,c=f[v++])&&(i[c]=p[c]);return i}:h},function(t,e,i){t.exports={default:i(166),__esModule:!0}},function(t,e,i){i(167),t.exports=i(7).Math.sign},function(t,e,i){var o=i(17);o(o.S,"Math",{sign:i(168)})},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,i){t.exports={default:i(170),__esModule:!0}},function(t,e,i){i(171);var o=i(7).Object;t.exports=function(t,e,i){return o.defineProperty(t,e,i)}},function(t,e,i){var o=i(17);o(o.S+o.F*!i(21),"Object",{defineProperty:i(20).f})},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var o="string",n="boolean",s="number",r={fill:{string:o},stroke:{string:o},strokeWidth:{number:s},__type__:{string:o,object:"object",undefined:"undefined"}},a={animationAutoStart:{boolean:n,undefined:"undefined"},animationInterval:{number:s},animationPreload:{boolean:n},axisColor:{string:o},backgroundColor:r,xBarWidth:{number:s,undefined:"undefined"},yBarWidth:{number:s,undefined:"undefined"},cameraPosition:{distance:{number:s},horizontal:{number:s},vertical:{number:s},__type__:{object:"object"}},xCenter:{string:o},yCenter:{string:o},dataColor:r,dotSizeMinFraction:{number:s},dotSizeMaxFraction:{number:s},dotSizeRatio:{number:s},filterLabel:{string:o},gridColor:{string:o},onclick:{function:"function"},keepAspectRatio:{boolean:n},xLabel:{string:o},yLabel:{string:o},zLabel:{string:o},legendLabel:{string:o},xMin:{number:s,undefined:"undefined"},yMin:{number:s,undefined:"undefined"},zMin:{number:s,undefined:"undefined"},xMax:{number:s,undefined:"undefined"},yMax:{number:s,undefined:"undefined"},zMax:{number:s,undefined:"undefined"},showAnimationControls:{boolean:n,undefined:"undefined"},showGrid:{boolean:n},showLegend:{boolean:n,undefined:"undefined"},showPerspective:{boolean:n},showShadow:{boolean:n},showXAxis:{boolean:n},showYAxis:{boolean:n},showZAxis:{boolean:n},xStep:{number:s,undefined:"undefined"},yStep:{number:s,undefined:"undefined"},zStep:{number:s,undefined:"undefined"},style:{number:s,string:["bar","bar-color","bar-size","dot","dot-line","dot-color","dot-size","line","grid","surface"]},tooltip:{boolean:n,function:"function"},tooltipStyle:{content:{color:{string:o},background:{string:o},border:{string:o},borderRadius:{string:o},boxShadow:{string:o},padding:{string:o},__type__:{object:"object"}},line:{borderLeft:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},dot:{border:{string:o},borderRadius:{string:o},height:{string:o},width:{string:o},__type__:{object:"object"}},__type__:{object:"object"}},xValueLabel:{function:"function"},yValueLabel:{function:"function"},zValueLabel:{function:"function"},valueMax:{number:s,undefined:"undefined"},valueMin:{number:s,undefined:"undefined"},verticalRatio:{number:s},height:{string:o},width:{string:o},__type__:{object:"object"}};e.allOptions=a},function(t,e,i){function o(){this.dataTable=null}var n=i(11),s=i(12),r=i(174),a=i(96),h=i(94),d=i(34);o.prototype.initializeData=function(t,e,i){if(void 0!==e){Array.isArray(e)&&(e=new n(e));var o;if(!(e instanceof n||e instanceof s))throw new Error("Array, DataSet, or DataView expected");if(o=e.get(),0!=o.length){this.style=i,this.dataSet&&this.dataSet.off("*",this._onChange),this.dataSet=e,this.dataTable=o;var r=this;this._onChange=function(){t.setData(r.dataSet)},this.dataSet.on("*",this._onChange),this.colX="x",this.colY="y",this.colZ="z";var h=t.hasBars(i);if(h&&(void 0!==t.defaultXBarWidth?this.xBarWidth=t.defaultXBarWidth:this.xBarWidth=this.getSmallestDifference(o,this.colX)||1,void 0!==t.defaultYBarWidth?this.yBarWidth=t.defaultYBarWidth:this.yBarWidth=this.getSmallestDifference(o,this.colY)||1),this._initializeRange(o,this.colX,t,h),this._initializeRange(o,this.colY,t,h),this._initializeRange(o,this.colZ,t,!1),o[0].hasOwnProperty("style")){this.colValue="style";var d=this.getColumnRange(o,this.colValue);this._setRangeDefaults(d,t.defaultValueMin,t.defaultValueMax),this.valueRange=d}this.getDataTable()[0].hasOwnProperty("filter")&&void 0===this.dataFilter&&(this.dataFilter=new a(this,"filter",t),this.dataFilter.setOnLoadCallback(function(){t.redraw()}));return this.dataFilter?this.dataFilter._getDataPoints():this._getDataPoints(this.getDataTable())}}},o.prototype._collectRangeSettings=function(t,e){if(-1==["x","y","z"].indexOf(t))throw new Error("Column '"+t+"' invalid");var i=t.toUpperCase();return{barWidth:this[t+"BarWidth"],min:e["default"+i+"Min"],max:e["default"+i+"Max"],step:e["default"+i+"Step"],range_label:t+"Range",step_label:t+"Step"}},o.prototype._initializeRange=function(t,e,i,o){var n=this._collectRangeSettings(e,i),s=this.getColumnRange(t,e);o&&"z"!=e&&s.expand(n.barWidth/2),this._setRangeDefaults(s,n.min,n.max),this[n.range_label]=s,this[n.step_label]=void 0!==n.step?n.step:s.range()/5},o.prototype.getDistinctValues=function(t,e){void 0===e&&(e=this.dataTable);for(var i=[],o=0;os)&&(o=s)}return o},o.prototype.getColumnRange=function(t,e){for(var i=new r,o=0;o0&&(e[i-1].pointNext=e[i]);return e},o.prototype._checkValueField=function(t){if(this.style===h.STYLE.BARCOLOR||this.style===h.STYLE.BARSIZE||this.style===h.STYLE.DOTCOLOR||this.style===h.STYLE.DOTSIZE){if(void 0===this.colValue)throw new Error("Expected data to have field 'style' for graph style '"+this.style+"'");if(void 0===t[0][this.colValue])throw new Error("Expected data to have field '"+this.colValue+"' for graph style '"+this.style+"'")}},t.exports=o},function(t,e,i){function o(){this.min=void 0,this.max=void 0}o.prototype.adjust=function(t){void 0!==t&&((void 0===this.min||this.min>t)&&(this.min=t),(void 0===this.max||this.maxi)throw new Error("Passed expansion value makes range invalid");this.min=e,this.max=i}},o.prototype.range=function(){return this.max-this.min},o.prototype.center=function(){return(this.min+this.max)/2},t.exports=o},function(t,e,i){var o,n,s;!function(i){n=[],o=i,void 0!==(s="function"==typeof o?o.apply(e,n):o)&&(t.exports=s)}(function(){var t=null;return function e(i,o){function n(t){return t.match(/[^ ]+/g)}function s(e){if("hammer.input"!==e.type){if(e.srcEvent._handled||(e.srcEvent._handled={}),e.srcEvent._handled[e.type])return;e.srcEvent._handled[e.type]=!0}var i=!1;e.stopPropagation=function(){i=!0};var o=e.srcEvent.stopPropagation.bind(e.srcEvent);"function"==typeof o&&(e.srcEvent.stopPropagation=function(){o(),e.stopPropagation()}),e.firstTarget=t;for(var n=t;n&&!i;){var s=n.hammer;if(s)for(var r,a=0;a0?d._handlers[t]=o:(i.off(t,s),delete d._handlers[t]))}),d},d.emit=function(e,o){t=o.target,i.emit(e,o)},d.destroy=function(){var t=i.element.hammer,e=t.indexOf(d);-1!==e&&t.splice(e,1),t.length||delete i.element.hammer,d._handlers={},i.destroy()},d}})},function(t,e,i){var o;!function(n,s,r,a){function h(t,e,i){return setTimeout(p(t,i),e)}function d(t,e,i){return!!Array.isArray(t)&&(l(t,i[e],i),!0)}function l(t,e,i){var o;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==a)for(o=0;o\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=n.console&&(n.console.warn||n.console.log);return s&&s.call(n.console,o,i),t.apply(this,arguments)}}function c(t,e,i){var o,n=e.prototype;o=t.prototype=Object.create(n),o.constructor=t,o._super=n,i&&ft(o,i)}function p(t,e){return function(){return t.apply(e,arguments)}}function f(t,e){return typeof t==gt?t.apply(e?e[0]||a:a,e):t}function m(t,e){return t===a?e:t}function v(t,e,i){l(_(e),function(e){t.addEventListener(e,i,!1)})}function g(t,e,i){l(_(e),function(e){t.removeEventListener(e,i,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function b(t,e){return t.indexOf(e)>-1}function _(t){return t.trim().split(/\s+/g)}function w(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]}):o.sort()),o}function S(t,e){for(var i,o,n=e[0].toUpperCase()+e.slice(1),s=0;s1&&!i.firstMultiple?i.firstMultiple=N(e):1===n&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,h=e.center=R(o);e.timeStamp=_t(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=F(a,h),e.distance=L(a,h),P(i,e),e.offsetDirection=z(e.deltaX,e.deltaY);var d=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=bt(d.x)>bt(d.y)?d.x:d.y,e.scale=r?j(r.pointers,o):1,e.rotation=r?B(r.pointers,o):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,I(i,e);var l=t.element;y(e.srcEvent.target,l)&&(l=e.srcEvent.target),e.target=l}function P(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},s=t.prevInput||{};e.eventType!==Et&&s.eventType!==Pt||(n=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}function I(t,e){var i,o,n,s,r=t.lastInterval||e,h=e.timeStamp-r.timeStamp;if(e.eventType!=It&&(h>Ot||r.velocity===a)){var d=e.deltaX-r.deltaX,l=e.deltaY-r.deltaY,u=A(h,d,l);o=u.x,n=u.y,i=bt(u.x)>bt(u.y)?u.x:u.y,s=z(d,l),t.lastInterval=e}else i=r.velocity,o=r.velocityX,n=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=o,e.velocityY=n,e.direction=s}function N(t){for(var e=[],i=0;i=bt(e)?t<0?Rt:At:e<0?zt:Lt}function L(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function F(t,e,i){i||(i=Ht);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}function B(t,e){return F(e[1],e[0],Wt)+F(t[1],t[0],Wt)}function j(t,e){return L(e[0],e[1],Wt)/L(t[0],t[1],Wt)}function H(){this.evEl=Gt,this.evWin=Vt,this.pressed=!1,C.apply(this,arguments)}function W(){this.evEl=Xt,this.evWin=Zt,C.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function Y(){this.evTarget=Jt,this.evWin=$t,this.started=!1,C.apply(this,arguments)}function G(t,e){var i=x(t.touches),o=x(t.changedTouches);return e&(Pt|It)&&(i=k(i.concat(o),"identifier",!0)),[i,o]}function V(){this.evTarget=te,this.targetIds={},C.apply(this,arguments)}function U(t,e){var i=x(t.touches),o=this.targetIds;if(e&(Et|Tt)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,s,r=x(t.changedTouches),a=[],h=this.target;if(s=i.filter(function(t){return y(t.target,h)}),e===Et)for(n=0;n-1&&o.splice(t,1)};setTimeout(n,ee)}}function K(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){i.manager.emit(e,t)}var i=this,o=this.state;o=fe&&e(i.options.event+tt(o))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return ot.prototype.attrTest.call(this,t)&&(this.state&ce||!(this.state&ce)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=et(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(st,ot,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ce)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),c(rt,Q,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[se]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(Pt|It)&&!n)this.reset();else if(t.eventType&Et)this.reset(),this._timer=h(function(){this.state=me,this.tryEmit()},e.time,this);else if(t.eventType&Pt)return me;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===me&&(t&&t.eventType&Pt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=_t(),this.manager.emit(this.options.event,this._input)))}}),c(at,ot,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ae]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ce)}}),c(ht,ot,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Ft|Bt,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Ft|Bt)?e=t.overallVelocity:i&Ft?e=t.overallVelocityX:i&Bt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&bt(e)>this.options.velocity&&t.eventType&Pt},emit:function(t){var e=et(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(dt,Q,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[re]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distanced+i?s+=h()+u-i+t.itemSet.options.margin.item.vertical:r=!1,s=Math.min(s,o-i),{shouldScroll:r,scrollOffset:s,itemTop:l}}var a=i(9),h=i(2),d=i(11),l=i(12),u=i(64),c=i(65),p=i(45),f=i(67),m=i(46),v=i(99),g=i(15).printStyle,y=i(105).allOptions,b=i(105).configureOptions,_=i(71).default,w=i(15).default;o.prototype=new c,o.prototype._createConfigurator=function(){return new _(this,this.dom.container,b)},o.prototype.redraw=function(){this.itemSet&&this.itemSet.markDirty({refreshItems:!0}),this._redraw()},o.prototype.setOptions=function(t){if(!0===w.validate(t,y)&&console.log("%cErrors have been found in the supplied options object.",g),c.prototype.setOptions.call(this,t),"type"in t&&t.type!==this.options.type){this.options.type=t.type;var e=this.itemsData;if(e){var i=this.getSelection();this.setItems(null),this.setItems(e),this.setSelection(i)}}},o.prototype.setItems=function(t){var e;e=t?t instanceof d||t instanceof l?t:new d(t,{type:{start:"Date",end:"Date"}}):null,this.itemsData=e,this.itemSet&&this.itemSet.setItems(e)},o.prototype.setGroups=function(t){var e;if(t){var i=function(t){return!1!==t.visible};e=t instanceof d||t instanceof l?new l(t,{filter:i}):new d(t.filter(i))}else e=null;this.groupsData=e,this.itemSet.setGroups(e)},o.prototype.setData=function(t){t&&t.groups&&this.setGroups(t.groups),t&&t.items&&this.setItems(t.items)},o.prototype.setSelection=function(t,e){this.itemSet&&this.itemSet.setSelection(t),e&&e.focus&&this.focus(t,e)},o.prototype.getSelection=function(){return this.itemSet&&this.itemSet.getSelection()||[]},o.prototype.focus=function(t,e){if(this.itemsData&&void 0!=t){var i=Array.isArray(t)?t:[t],o=this.itemsData.getDataSet().get(i,{type:{start:"Date",end:"Date"}}),n=null,s=null;if(o.forEach(function(t){var e=t.start.valueOf(),i="end"in t?t.end.valueOf():t.start.valueOf();(null===n||es)&&(s=i)}),null!==n&&null!==s){var a=this,h=this.itemSet.items[i[0]],d=-1*this._getScrollTop(),l=null,u=function(t,e,i){var o=r(a,h);if(l||(l=o),l.itemTop!=o.itemTop||l.shouldScroll){l.itemTop!=o.itemTop&&o.shouldScroll&&(l=o,d=-1*a._getScrollTop());var n=d,s=l.scrollOffset,u=i?s:n+(s-n)*t;a._setScrollTop(-u),e||a._redraw()}},c=function(){var t=r(a,h);t.shouldScroll&&t.itemTop!=l.itemTop&&(a._setScrollTop(-t.scrollOffset),a._redraw())},p=function(){c(),setTimeout(c,100)},f=(n+s)/2,m=Math.max(this.range.end-this.range.start,1.1*(s-n)),v=!e||void 0===e.animation||e.animation;v||(l={shouldScroll:!1,scrollOffset:-1,itemTop:-1}),this.range.setRange(f-m/2,f+m/2,{animation:v},p,u)}}},o.prototype.fit=function(t,e){var i,o=!t||void 0===t.animation||t.animation,n=this.itemsData&&this.itemsData.getDataSet();1===n.length&&void 0===n.get()[0].end?(i=this.getDataRange(),this.moveTo(i.min.valueOf(),{animation:o},e)):(i=this.getItemRange(),this.range.setRange(i.min,i.max,{animation:o},e))},o.prototype.getItemRange=function(){var t=this.getDataRange(),e=null!==t.min?t.min.valueOf():null,i=null!==t.max?t.max.valueOf():null,o=null,r=null;if(null!=e&&null!=i){var a=i-e;a<=0&&(a=10);var d=a/this.props.center.width,l={},u=0;h.forEach(this.itemSet.items,function(t,e){if(t.groupShowing){l[e]=t.redraw(!0),u=l[e].length}});if(u>0)for(var c=0;ci&&(i=h,r=t)}.bind(this)),o&&r){var p=o.getWidthLeft()+10,f=r.getWidthRight()+10,m=this.props.center.width-p-f;m>0&&(this.options.rtl?(e=n(o)-f*a/m,i=s(r)+p*a/m):(e=n(o)-p*a/m,i=s(r)+f*a/m))}}return{min:null!=e?new Date(e):null,max:null!=i?new Date(i):null}},o.prototype.getDataRange=function(){var t=null,e=null,i=this.itemsData&&this.itemsData.getDataSet();return i&&i.forEach(function(i){var o=h.convert(i.start,"Date").valueOf(),n=h.convert(void 0!=i.end?i.end:i.start,"Date").valueOf();(null===t||oe)&&(e=n)}),{min:null!=t?new Date(t):null,max:null!=e?new Date(e):null}},o.prototype.getEventProperties=function(t){var e,i=t.center?t.center.x:t.clientX,o=t.center?t.center.y:t.clientY;e=this.options.rtl?h.getAbsoluteRight(this.dom.centerContainer)-i:i-h.getAbsoluteLeft(this.dom.centerContainer);var n=o-h.getAbsoluteTop(this.dom.centerContainer),s=this.itemSet.itemFromTarget(t),r=this.itemSet.groupFromTarget(t),a=m.customTimeFromTarget(t),d=this.itemSet.options.snap||null,l=this.body.util.getScale(),u=this.body.util.getStep(),c=this._toTime(e),p=d?d(c,l,u):c,f=h.getTarget(t),v=null;return null!=s?v="item":null!=a?v="custom-time":h.hasParent(f,this.timeAxis.dom.foreground)?v="axis":this.timeAxis2&&h.hasParent(f,this.timeAxis2.dom.foreground)?v="axis":h.hasParent(f,this.itemSet.dom.labelSet)?v="group-label":h.hasParent(f,this.currentTime.bar)?v="current-time":h.hasParent(f,this.dom.center)&&(v="background"),{event:t,item:s?s.id:null,group:r?r.groupId:null,what:v,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:e,y:n,time:c,snappedTime:p}},o.prototype.toggleRollingMode=function(){this.range.rolling?this.range.stopRolling():(void 0==this.options.rollingMode&&this.setOptions(this.options),this.range.startRolling())},t.exports=o},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(19),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(10),u=i(37),c=i(2),p=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;(0,a.default)(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return(0,d.default)(t,[{key:"insertTo",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:"setUpdateCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}},{key:"setCloseCallback",value:function(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}},{key:"_isColorString",value:function(t){var e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};if("string"==typeof t)return e[t]}},{key:"setColor",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("none"!==t){var i=void 0,o=this._isColorString(t);if(void 0!==o&&(t=o),!0===c.isString(t)){if(!0===c.isValidRGB(t)){var n=t.substr(4).substr(0,t.length-5).split(",");i={r:n[0],g:n[1],b:n[2],a:1}}else if(!0===c.isValidRGBA(t)){var r=t.substr(5).substr(0,t.length-6).split(",");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===c.isValidHex(t)){var a=c.hexToRGB(t);i={r:a.r,g:a.g,b:a.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var h=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:h}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+(0,s.default)(t));this._setColor(i,e)}}},{key:"show",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}},{key:"_hide",value:function(){var t=this;!0===(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(this.previousColor=c.extend({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)},0)}},{key:"_save",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:"_apply",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:"_loadLast",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}},{key:"_setColor",value:function(t){!0===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(this.initialColor=c.extend({},t)),this.color=t;var e=c.RGBToHSV(t.r,t.g,t.b),i=2*Math.PI,o=this.r*e.s,n=this.centerCoordinates.x+o*Math.sin(i*e.h),s=this.centerCoordinates.y+o*Math.cos(i*e.h);this.colorPickerSelector.style.left=n-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}},{key:"_setOpacity",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:"_setBrightness",value:function(t){var e=c.RGBToHSV(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=c.HSVToRGB(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:"_updatePicker",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=c.RGBToHSV(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var o=this.colorPickerCanvas.clientWidth,n=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,o,n),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}},{key:"_setSize",value:function(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:"_create",value:function(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var t=this.colorPickerCanvas.getContext("2d") +;this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerHTML="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(e)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var i=this;this.opacityRange.onchange=function(){i._setOpacity(this.value)},this.opacityRange.oninput=function(){i._setOpacity(this.value)},this.brightnessRange.onchange=function(){i._setBrightness(this.value)},this.brightnessRange.oninput=function(){i._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerHTML="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerHTML="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerHTML="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerHTML="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerHTML="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerHTML="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerHTML="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerHTML="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:"_bindHammer",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new l(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),u.onTouch(this.hammer,function(e){t._moveSelector(e)}),this.hammer.on("tap",function(e){t._moveSelector(e)}),this.hammer.on("panstart",function(e){t._moveSelector(e)}),this.hammer.on("panmove",function(e){t._moveSelector(e)}),this.hammer.on("panend",function(e){t._moveSelector(e)})}},{key:"_generateHueCircle",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,e,i);var o=void 0,n=void 0,s=void 0,r=void 0;this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;var a=2*Math.PI/360,h=1/this.r,d=void 0;for(s=0;s<360;s++)for(r=0;rr?r:t,e=null==e?r:e0&&l.push(u.screenToValue(n)),!p.hidden&&this.itemsData.length>0&&l.push(p.screenToValue(n)),{event:t,what:d,pageX:t.srcEvent?t.srcEvent.pageX:t.pageX,pageY:t.srcEvent?t.srcEvent.pageY:t.pageY,x:o,y:n,time:r,value:l}},o.prototype._createConfigurator=function(){return new g(this,this.dom.container,v)},t.exports=o},function(t,e,i){e.util=i(2),e.DOMutil=i(14),e.DataSet=i(11),e.DataView=i(12),e.Queue=i(43),e.Network=i(182),e.network={Images:i(116),dotparser:i(114),gephiParser:i(115),allOptions:i(122)},e.network.convertDot=function(t){return e.network.dotparser.DOTToGraph(t)},e.network.convertGephi=function(t,i){return e.network.gephiParser.parseGephi(t,i)},e.moment=i(9),e.Hammer=i(10),e.keycharm=i(35)},function(t,e,i){function o(t,e,i){var n=this;if(!(this instanceof o))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:d,clickToUse:!1},s.extend(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:this.on.bind(this),off:this.off.bind(this),emit:this.emit.bind(this),once:this.once.bind(this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}}},this.bindEventListeners(),this.images=new l(function(){return n.body.emitter.emit("_requestRedraw")}),this.groups=new u,this.canvas=new g(this.body),this.selectionHandler=new _(this.body,this.canvas),this.interactionHandler=new b(this.body,this.canvas,this.selectionHandler),this.view=new y(this.body,this.canvas),this.renderer=new v(this.body,this.canvas),this.physics=new f(this.body),this.layoutEngine=new w(this.body),this.clustering=new m(this.body),this.manipulation=new x(this.body,this.canvas,this.selectionHandler),this.nodesHandler=new c(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new p(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new T(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}i(183);var n=i(44),s=i(2),r=i(114),a=i(115),h=i(97),d=i(184),l=i(116).default,u=i(186).default,c=i(187).default,p=i(214).default,f=i(220).default,m=i(227).default,v=i(229).default,g=i(230).default,y=i(231).default,b=i(232).default,_=i(234).default,w=i(235).default,x=i(237).default,k=i(71).default,S=i(15).default,D=i(15),M=D.printStyle,C=i(122),O=C.allOptions,E=C.configureOptions,T=i(238).default;n(o.prototype),o.prototype.setOptions=function(t){var e=this;if(void 0!==t){!0===S.validate(t,O)&&console.log("%cErrors have been found in the supplied options object.",M);var i=["locale","locales","clickToUse"];if(s.selectiveDeepExtend(i,this.options,t),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit("refreshNodes"),"configure"in t&&(this.configurator||(this.configurator=new k(this,this.body.container,E,this.canvas.pixelRatio)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var o={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};s.deepExtend(o.nodes,this.nodesHandler.options),s.deepExtend(o.edges,this.edgesHandler.options),s.deepExtend(o.layout,this.layoutEngine.options),s.deepExtend(o.interaction,this.selectionHandler.options),s.deepExtend(o.interaction,this.renderer.options),s.deepExtend(o.interaction,this.interactionHandler.options),s.deepExtend(o.manipulation,this.manipulation.options),s.deepExtend(o.physics,this.physics.options),s.deepExtend(o.global,this.canvas.options),s.deepExtend(o.global,this.options),this.configurator.setModuleOptions(o)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new h(this.canvas.frame),this.activator.on("change",function(){e.body.emitter.emit("activate")})):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}},o.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(var i in t)t.hasOwnProperty(i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],s=t[n.fromId],r=t[n.toId],a=void 0!==s&&void 0!==r,h=!this.clustering._isClusteredEdge(o)&&!1===n.options.hidden&&a&&!1===s.options.hidden&&!1===r.options.hidden;h&&this.body.edgeIndices.push(n.id)}},o.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on("_dataChanged",function(){t.edgesHandler._updateState(),t.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit("startSimulation"),t.body.emitter.emit("_requestRedraw")})},o.prototype.setData=function(t){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.log("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");var e=r.DOTToGraph(t.dot);return void this.setData(e)}if(t&&t.gephi){console.log("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");var i=a.parseGephi(t.gephi);return void this.setData(i)}this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")},o.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(var t in this.body.nodes)this.body.nodes.hasOwnProperty(t)&&delete this.body.nodes[t];for(var e in this.body.edges)this.body.edges.hasOwnProperty(e)&&delete this.body.edges[e];s.recursiveDOMDelete(this.body.container)},o.prototype._updateValueRange=function(t){var e,i=void 0,o=void 0,n=0;for(e in t)if(t.hasOwnProperty(e)){var s=t[e].getValue();void 0!==s&&(i=void 0===i?s:Math.min(s,i),o=void 0===o?s:Math.max(s,o),n+=s)}if(void 0!==i&&void 0!==o)for(e in t)t.hasOwnProperty(e)&&t[e].setValueRange(i,o,n)},o.prototype.isActive=function(){return!this.activator||this.activator.active},o.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},o.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},o.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},o.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},o.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},o.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},o.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},o.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},o.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},o.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},o.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},o.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},o.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},o.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},o.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},o.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.editNodeMode=function(){return console.log("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)},o.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},o.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},o.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},o.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},o.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},o.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},o.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},o.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},o.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},o.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},o.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},o.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},o.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},o.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},o.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodes.apply(this.selectionHandler,arguments)},o.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdges.apply(this.selectionHandler,arguments)},o.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},o.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},o.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},o.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.redraw()},o.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},o.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},o.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},o.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},o.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},o.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},o.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},o.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t},t.exports=o},function(t,e,i){"undefined"!=typeof CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.circle=function(t,e,i){this.beginPath(),this.arc(t,e,i,0,2*Math.PI,!1),this.closePath()},CanvasRenderingContext2D.prototype.square=function(t,e,i){this.beginPath(),this.rect(t-i,e-i,2*i,2*i),this.closePath()},CanvasRenderingContext2D.prototype.triangle=function(t,e,i){this.beginPath(),i*=1.15,e+=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e-(r-s)),this.lineTo(t+n,e+s),this.lineTo(t-n,e+s),this.lineTo(t,e-(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.triangleDown=function(t,e,i){this.beginPath(),i*=1.15,e-=.275*i;var o=2*i,n=o/2,s=Math.sqrt(3)/6*o,r=Math.sqrt(o*o-n*n);this.moveTo(t,e+(r-s)),this.lineTo(t+n,e-s),this.lineTo(t-n,e-s),this.lineTo(t,e+(r-s)),this.closePath()},CanvasRenderingContext2D.prototype.star=function(t,e,i){this.beginPath(),i*=.82,e+=.1*i;for(var o=0;o<10;o++){var n=o%2==0?1.3*i:.5*i;this.lineTo(t+n*Math.sin(2*o*Math.PI/10),e-n*Math.cos(2*o*Math.PI/10))}this.closePath()},CanvasRenderingContext2D.prototype.diamond=function(t,e,i){this.beginPath(),this.lineTo(t,e+i),this.lineTo(t+i,e),this.lineTo(t,e-i),this.lineTo(t-i,e),this.closePath()},CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,o,n){var s=Math.PI/180;i-2*n<0&&(n=i/2),o-2*n<0&&(n=o/2),this.beginPath(),this.moveTo(t+n,e),this.lineTo(t+i-n,e),this.arc(t+i-n,e+n,n,270*s,360*s,!1),this.lineTo(t+i,e+o-n),this.arc(t+i-n,e+o-n,n,0,90*s,!1),this.lineTo(t+n,e+o),this.arc(t+n,e+o-n,n,90*s,180*s,!1),this.lineTo(t,e+n),this.arc(t+n,e+n,n,180*s,270*s,!1),this.closePath()},CanvasRenderingContext2D.prototype.ellipse_vis=function(t,e,i,o){var n=i/2*.5522848,s=o/2*.5522848,r=t+i,a=e+o,h=t+i/2,d=e+o/2;this.beginPath(),this.moveTo(t,d),this.bezierCurveTo(t,d-s,h-n,e,h,e),this.bezierCurveTo(h+n,e,r,d-s,r,d),this.bezierCurveTo(r,d+s,h+n,a,h,a),this.bezierCurveTo(h-n,a,t,d+s,t,d),this.closePath()},CanvasRenderingContext2D.prototype.database=function(t,e,i,o){var n=i,s=o*(1/3),r=n/2*.5522848,a=s/2*.5522848,h=t+n,d=e+s,l=t+n/2,u=e+s/2,c=e+(o-s/2),p=e+o;this.beginPath(),this.moveTo(h,u),this.bezierCurveTo(h,u+a,l+r,d,l,d),this.bezierCurveTo(l-r,d,t,u+a,t,u),this.bezierCurveTo(t,u-a,l-r,e,l,e),this.bezierCurveTo(l+r,e,h,u-a,h,u),this.lineTo(h,c),this.bezierCurveTo(h,c+a,l+r,p,l,p),this.bezierCurveTo(l-r,p,t,c+a,t,c),this.lineTo(t,u)},CanvasRenderingContext2D.prototype.dashedLine=function(t,e,i,o,n){this.beginPath(),this.moveTo(t,e);for(var s=n.length,r=i-t,a=o-e,h=a/r,d=Math.sqrt(r*r+a*a),l=0,u=!0,c=0,p=n[0];d>=.1;)p=n[l++%s],p>d&&(p=d),c=Math.sqrt(p*p/(1+h*h)),c=r<0?-c:c,t+=c,e+=h*c,!0===u?this.lineTo(t,e):this.moveTo(t,e),d-=p,u=!u},CanvasRenderingContext2D.prototype.hexagon=function(t,e,i){this.beginPath();var o=2*Math.PI/6;this.moveTo(t+i,e);for(var n=1;n<6;n++)this.lineTo(t+i*Math.cos(o*n),e+i*Math.sin(o*n));this.closePath()})},function(t,e,i){e.en={edit:"Edit",del:"Delete selected",back:"Back",addNode:"Add Node",addEdge:"Add Edge",editNode:"Edit Node",editEdge:"Edit Edge",addDescription:"Click in an empty space to place a new node.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",createEdgeError:"Cannot link edges to a cluster.",deleteClusterError:"Clusters cannot be deleted.",editClusterError:"Clusters cannot be edited."},e.en_EN=e.en,e.en_US=e.en,e.de={edit:"Editieren",del:"Lösche Auswahl",back:"Zurück",addNode:"Knoten hinzufügen",addEdge:"Kante hinzufügen",editNode:"Knoten editieren",editEdge:"Kante editieren",addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",deleteClusterError:"Cluster können nicht gelöscht werden.",editClusterError:"Cluster können nicht editiert werden."},e.de_DE=e.de,e.es={edit:"Editar",del:"Eliminar selección",back:"Átras",addNode:"Añadir nodo",addEdge:"Añadir arista",editNode:"Editar nodo",editEdge:"Editar arista",addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",createEdgeError:"No se puede conectar una arista a un grupo.",deleteClusterError:"No es posible eliminar grupos.",editClusterError:"No es posible editar grupos."},e.es_ES=e.es,e.it={edit:"Modifica",del:"Cancella la selezione",back:"Indietro",addNode:"Aggiungi un nodo",addEdge:"Aggiungi un vertice",editNode:"Modifica il nodo",editEdge:"Modifica il vertice",addDescription:"Clicca per aggiungere un nuovo nodo",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",createEdgeError:"Non si possono collegare vertici ad un cluster",deleteClusterError:"I cluster non possono essere cancellati",editClusterError:"I clusters non possono essere modificati."},e.it_IT=e.it,e.nl={edit:"Wijzigen",del:"Selectie verwijderen",back:"Terug",addNode:"Node toevoegen",addEdge:"Link toevoegen",editNode:"Node wijzigen",editEdge:"Link wijzigen",addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",createEdgeError:"Kan geen link maken naar een cluster.",deleteClusterError:"Clusters kunnen niet worden verwijderd.",editClusterError:"Clusters kunnen niet worden aangepast."},e.nl_NL=e.nl,e.nl_BE=e.nl,e["pt-br"]={edit:"Editar",del:"Remover selecionado",back:"Voltar",addNode:"Adicionar nó",addEdge:"Adicionar aresta",editNode:"Editar nó",editEdge:"Editar aresta",addDescription:"Clique em um espaço em branco para adicionar um novo nó",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",createEdgeError:"Não foi possível linkar arestas a um cluster.",deleteClusterError:"Clusters não puderam ser removidos.",editClusterError:"Clusters não puderam ser editados."},e["pt-BR"]=e["pt-br"],e.pt_BR=e["pt-br"],e.pt_br=e["pt-br"],e.ru={edit:"Редактировать",del:"Удалить выбранное",back:"Назад",addNode:"Добавить узел",addEdge:"Добавить ребро",editNode:"Редактировать узел",editEdge:"Редактировать ребро",addDescription:"Кликните в свободное место, чтобы добавить новый узел.",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",createEdgeError:"Невозможно соединить ребра в кластер.",deleteClusterError:"Кластеры не могут быть удалены",editClusterError:"Кластеры недоступны для редактирования."},e.ru_RU=e.ru,e.cn={edit:"编辑",del:"删除选定",back:"返回",addNode:"添加节点",addEdge:"添加连接线",editNode:"编辑节点",editEdge:"编辑连接线",addDescription:"单击空白处放置新节点。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",createEdgeError:"无法将连接线连接到群集。",deleteClusterError:"无法删除群集。",editClusterError:"无法编辑群集。"},e.zh_CN=e.cn},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=function(){function t(){(0,s.default)(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}return(0,a.default)(t,[{key:"init",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),o=Math.floor(e/4),n=Math.floor(e/8),s=Math.floor(e/16),r=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),d=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,r,i],[r,0,a,o],[r,o,h,n],[5*h,o,d,s]],this._fillMipMap()}}},{key:"initialized",value:function(){return void 0!==this.coordinates}},{key:"_fillMipMap",value:function(){var t=this.canvas.getContext("2d"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i2){e*=.5;for(var r=0;e>2&&r=this.NUM_ITERATIONS&&(r=this.NUM_ITERATIONS-1);var a=this.coordinates[r];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,o,n,s)}else t.drawImage(this.image,i,o,n,s)}}]),t}();e.default=h},function(t,e,i){ +function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=function(){function t(){(0,s.default)(this,t),this.clear(),this.defaultIndex=0,this.groupsArray=[],this.groupIndex=0,this.defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},h.extend(this.options,this.defaultOptions)}return(0,a.default)(t,[{key:"setOptions",value:function(t){var e=["useDefaultGroups"];if(void 0!==t)for(var i in t)if(t.hasOwnProperty(i)&&-1===e.indexOf(i)){var o=t[i];this.add(i,o)}}},{key:"clear",value:function(){this.groups={},this.groupsArray=[]}},{key:"get",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.groups[t];if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this.groupsArray.length>0){var o=this.groupIndex%this.groupsArray.length;this.groupIndex++,i={},i.color=this.groups[this.groupsArray[o]],this.groups[t]=i}else{var n=this.defaultIndex%this.defaultGroups.length;this.defaultIndex++,i={},i.color=this.defaultGroups[n],this.groups[t]=i}return i}},{key:"add",value:function(t,e){return this.groups[t]=e,this.groupsArray.push(t),e}}]),t}();e.default=d},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(47).default,c=function(){function t(e,i,o,n){var r=this;if((0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.layoutEngine=n,this.body.functions.createNode=this.create.bind(this),this.nodesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items,e.data,e.oldData)},remove:function(t,e){r.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:2,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=h.bridgeObject(this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("refreshNodes",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.nodesListeners,function(e,i){t.body.data.nodes&&t.body.data.nodes.off(i,e)}),delete t.body.functions.createNode,delete t.nodesListeners.add,delete t.nodesListeners.update,delete t.nodesListeners.remove,delete t.nodesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){if(u.parseOptions(this.options,t),void 0!==t.shape)for(var e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&this.body.nodes[e].updateShape();if(void 0!==t.font)for(var i in this.body.nodes)this.body.nodes.hasOwnProperty(i)&&(this.body.nodes[i].updateLabelModule(),this.body.nodes[i].needsRefresh());if(void 0!==t.size)for(var o in this.body.nodes)this.body.nodes.hasOwnProperty(o)&&this.body.nodes[o].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(t instanceof d||t instanceof l)this.body.data.nodes=t;else if(Array.isArray(t))this.body.data.nodes=new d,this.body.data.nodes.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.nodes=new d}if(i&&h.forEach(this.nodesListeners,function(t,e){i.off(e,t)}),this.body.nodes={},this.body.data.nodes){var o=this;h.forEach(this.nodesListeners,function(t,e){o.body.data.nodes.on(e,t)});var n=this.body.data.nodes.getIds();this.add(n,!0)}!1===e&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:u)(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:"refresh",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];h.forEach(this.body.nodes,function(i,o){var n=t.body.data.nodes.get(o);void 0!==n&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(n))})}},{key:"getPositions",value:function(t){var e={};if(void 0!==t){if(!0===Array.isArray(t)){for(var i=0;i0)for(var r=0;r0)for(var p=0;p0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.position/.test(t.substr(i.position,3))?i.mono||i.ital||!//.test(t.substr(i.position,3))?!i.mono&&//.test(t.substr(i.position,6))?(i.emitBlock(),i.mono=!0,i.modStack.unshift("mono"),i.position+=5):!i.mono&&"bold"===i.mod()&&/<\/b>/.test(t.substr(i.position,4))?(i.emitBlock(),i.bold=!1,i.modStack.shift(),i.position+=3):!i.mono&&"ital"===i.mod()&&/<\/i>/.test(t.substr(i.position,4))?(i.emitBlock(),i.ital=!1,i.modStack.shift(),i.position+=3):"mono"===i.mod()&&/<\/code>/.test(t.substr(i.position,7))?(i.emitBlock(),i.mono=!1,i.modStack.shift(),i.position+=6):i.add(o):(i.emitBlock(),i.ital=!0,i.modStack.unshift("ital"),i.position+=2):(i.emitBlock(),i.bold=!0,i.modStack.unshift("bold"),i.position+=2):/&/.test(o)?/</.test(t.substr(i.position,4))?(i.add("<"),i.position+=3):/&/.test(t.substr(i.position,5))?(i.add("&"),i.position+=4):i.add("&"):i.add(o),i.position++}return i.emitBlock(),e}},{key:"splitMarkdownBlocks",value:function(t){var e=[],i={bold:!1,ital:!1,mono:!1,beginable:!0,spacing:!1,position:0,buffer:"",modStack:[]};for(i.mod=function(){return 0===this.modStack.length?"normal":this.modStack[0]},i.modName=function(){return 0===this.modStack.length?"normal":"mono"===this.modStack[0]?"mono":i.bold&&i.ital?"boldital":i.bold?"bold":i.ital?"ital":void 0},i.emitBlock=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(e.push({text:this.buffer,mod:this.modName()}),this.buffer="")},i.add=function(t){" "===t&&(i.spacing=!0),i.spacing&&(this.buffer+=" ",this.spacing=!1)," "!=t&&(this.buffer+=t)};i.positionthis.parent.fontOptions.maxWdt}},{key:"getLongestFit",value:function(t){for(var e="",i=0;i1&&void 0!==arguments[1]?arguments[1]:"normal",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t.replace(/^( +)/g,"$1\r"),t=t.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");for(var o=t.split("\r");o.length>0;){var n=this.getLongestFit(o);if(0===n){var s=o[0],r=this.getLongestFitWord(s);this.lines.newLine(s.slice(0,r),e),o[0]=s.slice(r)}else{var a=n;" "===o[n-1]?n--:" "===o[a]&&a++;var h=o.slice(0,n).join("");n==o.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),o=o.slice(a)}}}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(90),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=function(){function t(e){(0,a.default)(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return(0,d.default)(t,[{key:"_add",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"normal";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var o=e;void 0!==e&&""!==e||(o=" ");var n=this.measureText(o,i),r=(0,s.default)({},n.values);r.text=e,r.width=n.width,r.mod=i,void 0!==e&&""!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:"curWidth",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:"append",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e)}},{key:"newLine",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"normal";this._add(this.current,t,e),this.current++}},{key:"determineLineHeights",value:function(){for(var t=0;tt&&(t=o.width),e+=o.height}this.width=t,this.height=e}},{key:"removeEmptyBlocks",value:function(){for(var t=[],e=0;e1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.width=o.width+this.margin.right+this.margin.left,this.height=o.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.roundRect(this.left,this.top,this.width,this.height,s.borderRadius),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"updateBoundingBox",value:function(t,e,i,o,n){this._updateBoundingBox(t,e,i,o,n);var s=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(s)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),e}(m.default);e.default=v},function(t,e,i){i(195),t.exports=i(7).Object.getPrototypeOf},function(t,e,i){var o=i(41),n=i(85);i(87)("getPrototypeOf",function(){return function(t){return n(o(t))}})},function(t,e,i){t.exports={default:i(197),__esModule:!0}},function(t,e,i){i(198),t.exports=i(7).Object.setPrototypeOf},function(t,e,i){var o=i(17);o(o.S,"Object",{setPrototypeOf:i(199).set})},function(t,e,i){var o=i(32),n=i(27),s=function(t,e){if(n(t),!o(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,o){try{o=i(80)(Function.call,i(89).f(Object.prototype,"__proto__").set,2),o(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return s(t,i),e?t.__proto__=i:o(t,i),t}}({},!1):void 0),check:s}},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=Math.max(o.width+this.margin.right+this.margin.left,o.height+this.margin.top+this.margin.bottom);this.options.size=n/2,this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,o,n)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,this.height=o,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,s),t.save(),t.clip(),this._drawImageAtPosition(t,s),t.restore(),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),.5*this.width}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i),n=o.width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,s),t.database(e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"diamond",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"circle",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this.resize(t),this.options.size}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var o=this.getDimensionsFromLabel(t,e,i);this.height=2*o.height,this.width=o.width+o.height,this.radius=.5*this.width}}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,s),t.ellipse_vis(this.left,this.top,this.width,this.height),this.performFill(t,s),this.updateBoundingBox(e,i,t,o,n),this.labelModule.draw(t,e,i,o,n)}},{key:"distanceToBorder",value:function(t,e){this.resize(t);var i=.5*this.width,o=.5*this.height,n=Math.sin(e)*i,s=Math.cos(e)*o;return i*o/Math.sqrt(n*n+s*s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){if(this.resize(t,o,n),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,o,n,s),void 0!==this.options.label){this.labelModule.draw(t,this.left+this.iconSize.width/2+this.margin.left,i+this.height/2+5,o)}this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:"_icon",value:function(t,e,i,o,n,s){var r=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=(o?"bold ":"")+r+"px "+this.options.icon.face,t.fillStyle=this.options.icon.color||"black",t.textAlign="center",t.textBaseline="middle",this.enableShadow(t,s),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(73),m=o(f),v=function(t){function e(t,i,o,n,r){(0,a.default)(this,e);var h=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return h.setImages(n,r),h}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height){var o=2*this.options.size;return this.width=o,void(this.height=o)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:"draw",value:function(t,e,i,o,n,s){if(this.switchImages(o),this.resize(),this.left=e-this.width/2,this.top=i-this.height/2,!0===this.options.shapeProperties.useBorderWithImage){var r=this.options.borderWidth,a=this.options.borderWidthSelected||2*this.options.borderWidth,h=(o?a:r)/this.body.view.scale;t.lineWidth=Math.min(this.width,h),t.beginPath(),t.strokeStyle=o?this.options.color.highlight.border:n?this.options.color.hover.border:this.options.color.border,t.fillStyle=o?this.options.color.highlight.background:n?this.options.color.hover.background:this.options.color.background,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),t.fill(),this.performStroke(t,s),t.closePath()}this._drawImageAtPosition(t,s),this._drawImageLabel(t,e,i,o,n),this.updateBoundingBox(e,i)}},{key:"updateBoundingBox",value:function(t,e){this.resize(),this._updateBoundingBox(t,e),void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)} +}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"square",2,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"hexagon",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"star",4,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(23),m=o(f),v=function(t){function e(t,i,o){(0,a.default)(this,e);var n=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o));return n._setMargins(o),n}return(0,p.default)(e,t),(0,d.default)(e,[{key:"resize",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:"draw",value:function(t,e,i,o,n,s){this.resize(t,o,n),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,s),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,o,n),this.disableShadow(t,s),this.updateBoundingBox(e,i,t,o,n)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangle",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(24),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"draw",value:function(t,e,i,o,n,s){this._drawShape(t,"triangleDown",3,e,i,o,n,s)}},{key:"distanceToBorder",value:function(t,e){return this._distanceToBorder(t,e)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(11),l=i(12),u=i(74).default,c=function(){function t(e,i,o){var n=this;(0,s.default)(this,t),this.body=e,this.images=i,this.groups=o,this.body.functions.createEdge=this.create.bind(this),this.edgesListeners={add:function(t,e){n.add(e.items)},update:function(t,e){n.update(e.items)},remove:function(t,e){n.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,o){if(e===t)return.5;var n=1/(e-t);return Math.max(0,(o-t)*n)}},selectionWidth:1.5,selfReferenceSize:20,shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},h.deepExtend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("_forceDisableDynamicCurves",function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"dynamic"===e&&(e="continuous");var o=!1;for(var n in t.body.edges)if(t.body.edges.hasOwnProperty(n)){var s=t.body.edges[n],r=t.body.data.edges._data[n];if(void 0!==r){var a=r.smooth;void 0!==a&&!0===a.enabled&&"dynamic"===a.type&&(void 0===e?s.setOptions({smooth:!1}):s.setOptions({smooth:{type:e}}),o=!0)}}!0===i&&!0===o&&t.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",function(){t.reconnectEdges()}),this.body.emitter.on("refreshEdges",this.refresh.bind(this)),this.body.emitter.on("refresh",this.refresh.bind(this)),this.body.emitter.on("destroy",function(){h.forEach(t.edgesListeners,function(e,i){t.body.data.edges&&t.body.data.edges.off(i,e)}),delete t.body.functions.createEdge,delete t.edgesListeners.add,delete t.edgesListeners.update,delete t.edgesListeners.remove,delete t.edgesListeners})}},{key:"setOptions",value:function(t){if(void 0!==t){u.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)this.body.edges.hasOwnProperty(i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var o in this.body.edges)this.body.edges.hasOwnProperty(o)&&this.body.edges[o].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit("_dataChanged")}}},{key:"setData",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.data.edges;if(t instanceof d||t instanceof l)this.body.data.edges=t;else if(Array.isArray(t))this.body.data.edges=new d,this.body.data.edges.add(t);else{if(t)throw new TypeError("Array or DataSet expected");this.body.data.edges=new d}if(o&&h.forEach(this.edgesListeners,function(t,e){o.off(e,t)}),this.body.edges={},this.body.data.edges){h.forEach(this.edgesListeners,function(t,i){e.body.data.edges.on(i,t)});var n=this.body.data.edges.getIds();this.add(n,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),!1===i&&this.body.emitter.emit("_dataChanged")}},{key:"add",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,o=this.body.data.edges,n=0;n1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;h.forEach(t,function(t){var e=i[t];void 0!==e&&e.remove()}),e&&this.body.emitter.emit("_dataChanged")}}},{key:"refresh",value:function(){var t=this;h.forEach(this.body.edges,function(e,i){var o=t.body.data.edges._data[i];void 0!==o&&e.setOptions(o)})}},{key:"create",value:function(t){return new u(t,this.body,this.options,this.defaultOptions)}},{key:"reconnectEdges",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)e.hasOwnProperty(t)&&(e[t].edges=[]);for(t in i)if(i.hasOwnProperty(t)){var o=i[t];o.from=null,o.to=null,o.connect()}}},{key:"getConnectedNodes",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:"_updateState",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:"_removeInvalidEdges",value:function(){var t=this,e=[];h.forEach(this.body.edges,function(i,o){var n=t.body.nodes[i.toId],s=t.body.nodes[i.fromId];void 0!==n&&!0===n.isCluster||void 0!==s&&!0===s.isCluster||void 0!==n&&void 0!==s||e.push(o)}),this.remove(e,!1)}},{key:"_addMissingEdges",value:function(){var t=this.body.edges,e=this.body.data.edges,i=[];e.forEach(function(e,o){void 0===t[o]&&i.push(o)}),this.add(i,!0)}}]),t}();e.default=c},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),s=o(n),r=i(3),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(4),p=o(c),f=i(5),m=o(f),v=i(216),g=o(v),y=function(t){function e(t,i,o){return(0,d.default)(this,e),(0,p.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,i,o))}return(0,m.default)(e,t),(0,u.default)(e,[{key:"_line",value:function(t,e,i){var o=i[0],n=i[1];this._bezierCurve(t,e,o,n)}},{key:"_getViaCoordinates",value:function(){var t=this.from.x-this.to.x,e=this.from.y-this.to.y,i=void 0,o=void 0,n=void 0,s=void 0,r=this.options.smooth.roundness;return(Math.abs(t)>Math.abs(e)||!0===this.options.smooth.forceDirection||"horizontal"===this.options.smooth.forceDirection)&&"vertical"!==this.options.smooth.forceDirection?(o=this.from.y,s=this.to.y,i=this.from.x-r*t,n=this.to.x+r*t):(o=this.from.y-r*e,s=this.to.y+r*e,i=this.from.x,n=this.to.x),[{x:i,y:o},{x:n,y:s}]}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,r){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),h=(0,s.default)(a,2),d=h[0],l=h[1];return this._getDistanceToBezierEdge(t,e,i,o,n,r,d,l)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=(0,s.default)(e,2),o=i[0],n=i[1],r=t,a=[];return a[0]=Math.pow(1-r,3),a[1]=3*r*Math.pow(1-r,2),a[2]=3*Math.pow(r,2)*(1-r),a[3]=Math.pow(r,3),{x:a[0]*this.fromPoint.x+a[1]*o.x+a[2]*n.x+a[3]*this.toPoint.x,y:a[0]*this.fromPoint.y+a[1]*o.y+a[2]*n.y+a[3]*this.toPoint.y}}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_getDistanceToBezierEdge",value:function(t,e,i,o,n,s,r,a){var h=1e9,d=void 0,l=void 0,u=void 0,c=void 0,p=void 0,f=t,m=e,v=[0,0,0,0];for(l=1;l<10;l++)u=.1*l,v[0]=Math.pow(1-u,3),v[1]=3*u*Math.pow(1-u,2),v[2]=3*Math.pow(u,2)*(1-u),v[3]=Math.pow(u,3),c=v[0]*t+v[1]*r.x+v[2]*a.x+v[3]*i,p=v[0]*e+v[1]*r.y+v[2]*a.y+v[3]*o,l>0&&(d=this._getDistanceToLine(f,m,c,p,n,s),h=d1&&void 0!==arguments[1]?arguments[1]:this.via,i=t,o=void 0,n=void 0;if(this.from===this.to){var r=this._getCircleData(this.from),a=(0,s.default)(r,3),h=a[0],d=a[1],l=a[2],u=2*Math.PI*(1-i);o=h+l*Math.sin(u),n=d+l-l*(1-Math.cos(u))}else o=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,n=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:o,y:n}}},{key:"_findBorderPosition",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToBezierEdge(t,e,i,o,n,s,this.via)}}]),e}(g.default);e.default=y},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(75),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:"getViaNode",value:function(){return this._getViaCoordinates()}},{key:"_getViaCoordinates",value:function(){var t=void 0,e=void 0,i=this.options.smooth.roundness,o=this.options.smooth.type,n=Math.abs(this.from.x-this.to.x),s=Math.abs(this.from.y-this.to.y);if("discrete"===o||"diagonalCross"===o){var r=void 0,a=void 0;r=a=n<=s?i*s:i*n,this.from.x>this.to.x&&(r=-r),this.from.y>=this.to.y&&(a=-a),t=this.from.x+r,e=this.from.y+a,"discrete"===o&&(n<=s?t=nthis.to.x&&(_=-_),this.from.y>=this.to.y&&(w=-w),t=this.from.x+_,e=this.from.y+w,n<=s?t=this.from.x<=this.to.x?this.to.xt?this.to.x:t:e=this.from.y>=this.to.y?this.to.y>e?this.to.y:e:this.to.y2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){var r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,o,n,s,r)}},{key:"getPoint",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t;return{x:Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,y:Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(118),m=o(f),v=function(t){function e(t,i,o){return(0,a.default)(this,e),(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o))}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_line",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:"getViaNode",value:function(){}},{key:"getPoint",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:"_findBorderPosition",value:function(t,e){var i=this.to,o=this.from;t.id===this.from.id&&(i=this.from,o=this.to);var n=Math.atan2(i.y-o.y,i.x-o.x),s=i.x-o.x,r=i.y-o.y,a=Math.sqrt(s*s+r*r),h=t.distanceToBorder(e,n),d=(a-h)/a,l={};return l.x=(1-d)*o.x+d*i.x,l.y=(1-d)*o.y+d*i.y,l}},{key:"_getDistanceToEdge",value:function(t,e,i,o,n,s){return this._getDistanceToLine(t,e,i,o,n,s)}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(120).default,u=i(221).default,c=i(222).default,p=i(223).default,f=i(224).default,m=i(121).default,v=i(225).default,g=i(226).default,y=i(2),b=i(119).default,_=function(){function t(e){(0,a.default)(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0},y.extend(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return(0,d.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("initPhysics",function(){t.initPhysics()}),this.body.emitter.on("_layoutFailed",function(){t.layoutFailed=!0}),this.body.emitter.on("resetPhysics",function(){t.stopSimulation(),t.ready=!1}),this.body.emitter.on("disablePhysics",function(){t.physicsEnabled=!1,t.stopSimulation()}),this.body.emitter.on("restorePhysics",function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()}),this.body.emitter.on("startSimulation",function(){!0===t.ready&&t.startSimulation()}),this.body.emitter.on("stopSimulation",function(){t.stopSimulation()}),this.body.emitter.on("destroy",function(){t.stopSimulation(!1),t.body.emitter.off()}),this.body.emitter.on("_dataChanged",function(){t.updatePhysicsData()})}},{key:"setOptions",value:function(t){void 0!==t&&(!1===t?(this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation()):!0===t?(this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation()):(this.physicsEnabled=!0,y.selectiveNotDeepExtend(["stabilization"],this.options,t),y.mergeOptions(this.options,t,"stabilization"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation()),this.timestep=this.options.timestep)),this.init()}},{key:"init",value:function(){var t;"forceAtlas2Based"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new v(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new g(this.body,this.physicsBody,t)):"repulsion"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new u(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):"hierarchicalRepulsion"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new c(this.body,this.physicsBody,t),this.edgesSolver=new f(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new l(this.body,this.physicsBody,t),this.edgesSolver=new p(this.body,this.physicsBody,t),this.gravitySolver=new m(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:"initPhysics",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}},{key:"startSimulation",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),void 0===this.viewFunction&&(this.viewFunction=this.simulationStep.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))):this.body.emitter.emit("_redraw")}},{key:"stopSimulation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit("_stopRendering"))}},{key:"simulationStep",value:function(){var t=Date.now();this.physicsTick(),(Date.now()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:"_emitStabilized",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&setTimeout(function(){t.body.emitter.emit("stabilized",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0},0)}},{key:"physicsStep",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:"adjustTimeStep",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2.3))return!1;return!0}},{key:"moveNodes",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,o=0;oo&&(t=t>0?o:-o),t}},{key:"_performStep",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t],o=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:o.x,vy:o.y},!1===e.options.fixed.x?(o.x=this.calculateComponentVelocity(o.x,i.x,e.options.mass),e.x+=o.x*this.timestep):(i.x=0,o.x=0),!1===e.options.fixed.y?(o.y=this.calculateComponentVelocity(o.y,i.y,e.options.mass),e.y+=o.y*this.timestep):(i.y=0,o.y=0),Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2))}},{key:"_freezeNodes",value:function(){var t=this.body.nodes;for(var e in t)if(t.hasOwnProperty(e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:"_restoreFrozenNodes",value:function(){var t=this.body.nodes;for(var e in t)t.hasOwnProperty(e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:"stabilize",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;if("number"!=typeof e&&(e=this.options.stabilization.iterations,console.log("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),0===this.physicsBody.physicsNodeIndices.length)return void(this.ready=!0);this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,setTimeout(function(){return t._stabilizationBatch()},0)}},{key:"_startStabilizing",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}},{key:"_stabilizationBatch",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations0){var s=n.edges.length+1,r=this.options.centralGravity*s*n.options.mass;o[n.id].x=e*r,o[n.id].y=i*r}}}]),e}(m.default);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(6),a=o(r),h=i(0),d=o(h),l=i(1),u=o(l),c=i(2),p=i(76).default,f=i(228).default,m=i(74).default,v=i(47).default,g=function(){function t(e){var i=this;(0,d.default)(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},c.extend(this.options,this.defaultOptions),this.body.emitter.on("_resetData",function(){i.clusteredNodes={},i.clusteredEdges={}})}return(0,u.default)(t,[{key:"clusterByHubsize",value:function(t,e){void 0===t?t=this._getHubSize():"object"===(void 0===t?"undefined":(0,a.default)(t))&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],o=0;o=t&&i.push(n.id)}for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);var o={},n={};c.forEach(this.body.nodes,function(i,s){var r=p.cloneOptions(i);!0===e.joinCondition(r)&&(o[s]=i,c.forEach(i.edges,function(e){void 0===t.clusteredEdges[e.id]&&(n[e.id]=e)}))}),this._cluster(o,n,e,i)}},{key:"clusterByEdgeCount",value:function(t,e){var i=this,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var n=[],r={},a=void 0,h=void 0,d=void 0,l=0;l0&&(0,s.default)(m).length>0&&!0===b)if(c=function(){for(var t=0;t1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:"clusterBridges",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:"clusterByConnection",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No nodeId supplied to clusterByConnection!");if(void 0===this.body.nodes[t])throw new Error("The nodeId given to clusterByConnection does not exist!");var o=this.body.nodes[t];e=this._checkOptions(e,o),void 0===e.clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var n={},r={},a=o.id,h=p.cloneOptions(o);n[a]=o;for(var d=0;d-1&&(r[g.id]=g)}this._cluster(n,r,e,i)}},{key:"_createClusterEdges",value:function(t,e,i,o){for(var n=void 0,r=void 0,a=void 0,h=void 0,d=void 0,l=void 0,u=(0,s.default)(t),c=[],p=0;p0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:"_cluster",value:function(t,e,i){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=[];for(var r in t)t.hasOwnProperty(r)&&void 0!==this.clusteredNodes[r]&&n.push(r);for(var a=0;ao?a.x:o,n=a.yr?a.y:r;return{x:.5*(i+o),y:.5*(n+r)}}},{key:"openCluster",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error("No clusterNodeId supplied to openCluster.");var o=this.body.nodes[t];if(void 0===o)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(!0!==o.isCluster||void 0===o.containedNodes||void 0===o.containedEdges)throw new Error("The node:"+t+" is not a valid cluster.");var n=this.findNode(t),s=n.indexOf(t)-1;if(s>=0){var r=n[s];return this.body.nodes[r]._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit("_dataChanged"))}var a=o.containedNodes,h=o.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&"function"==typeof e.releaseFunction){var d={},l={x:o.x,y:o.y};for(var u in a)if(a.hasOwnProperty(u)){var p=this.body.nodes[u];d[u]={x:p.x,y:p.y}}var f=e.releaseFunction(l,d);for(var m in a)if(a.hasOwnProperty(m)){var v=this.body.nodes[m];void 0!==f[m]&&(v.x=void 0===f[m].x?o.x:f[m].x,v.y=void 0===f[m].y?o.y:f[m].y)}}else c.forEach(a,function(t){!1===t.options.fixed.x&&(t.x=o.x),!1===t.options.fixed.y&&(t.y=o.y)});for(var g in a)if(a.hasOwnProperty(g)){var y=this.body.nodes[g];y.vx=o.vx,y.vy=o.vy,y.setOptions({physics:!0}),delete this.clusteredNodes[g]}for(var b=[],_=0;_0&&n<100;){var s=e.pop();if(void 0!==s){var r=this.body.edges[s];if(void 0!==r){n++;var a=r.clusteringEdgeReplacingIds;if(void 0===a)o.push(s);else for(var h=0;ho&&(o=s.edges.length),t+=s.edges.length,e+=Math.pow(s.edges.length,2),i+=1}t/=i,e/=i;var r=e-Math.pow(t,2),a=Math.sqrt(r),h=Math.floor(t+2*a);return h>o&&(h=o),h}},{key:"_createClusteredEdge",value:function(t,e,i,o,n){var s=p.cloneOptions(i,"edge");c.deepExtend(s,o),s.from=t,s.to=e,s.id="clusterEdge:"+c.randomUUID(),void 0!==n&&c.deepExtend(s,n);var r=this.body.functions.createEdge(s);return r.clusteringEdgeReplacingIds=[i.id],r.connect(),this.body.edges[r.id]=r,r}},{key:"_clusterEdges",value:function(t,e,i,o){if(e instanceof m){var n=e,s={};s[n.id]=n,e=s}if(t instanceof v){var r=t,a={};a[r.id]=r,t=a}if(void 0===i||null===i)throw new Error("_clusterEdges: parameter clusterNode required");void 0===o&&(o=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,o);for(var h in e)if(e.hasOwnProperty(h)&&void 0!==this.body.edges[h]){var d=this.body.edges[h];this._backupEdgeOptions(d),d.setOptions({physics:!1})}for(var l in t)t.hasOwnProperty(l)&&(this.clusteredNodes[l]={clusterId:i.id,node:this.body.nodes[l]},this.body.nodes[l].setOptions({physics:!1}))}},{key:"_getClusterNodeForNode",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:"_filter",value:function(t,e){var i=[];return c.forEach(t,function(t){e(t)&&i.push(t)}),i}},{key:"_updateState",value:function(){var t=this,e=void 0,i=[],o=[],n=function(e){c.forEach(t.body.nodes,function(t){!0===t.isCluster&&e(t)})};for(e in this.clusteredNodes)if(this.clusteredNodes.hasOwnProperty(e)){var r=this.body.nodes[e];void 0===r&&i.push(e)}n(function(t){for(var e=0;e0}e.endPointsValid()&&n||o.push(i)}),n(function(e){c.forEach(o,function(i){delete e.containedEdges[i],c.forEach(e.edges,function(n,s){if(n.id===i)return void(e.edges[s]=null);n.clusteringEdgeReplacingIds=t._filter(n.clusteringEdgeReplacingIds,function(t){return-1===o.indexOf(t)})}),e.edges=t._filter(e.edges,function(t){return null!==t})})}),c.forEach(o,function(e){delete t.clusteredEdges[e]}),c.forEach(o,function(e){delete t.body.edges[e]});var h=(0,s.default)(this.body.edges);c.forEach(h,function(e){var i=t.body.edges[e],o=t._isClusteredNode(i.fromId)||t._isClusteredNode(i.toId);if(o!==t._isClusteredEdge(i.id)){if(!o)throw new Error("remove edge from clustering not implemented!");var n=t._getClusterNodeForNode(i.fromId);void 0!==n&&t._clusterEdges(t.body.nodes[i.fromId],i,n);var s=t._getClusterNodeForNode(i.toId);void 0!==s&&t._clusterEdges(t.body.nodes[i.toId],i,s)}});for(var d=!1,l=!0;l;)!function(){var e=[];n(function(t){var i=(0,s.default)(t.containedNodes).length,o=!0===t.options.allowSingleNodeCluster;(o&&i<1||!o&&i<2)&&e.push(t.id)});for(var i=0;i0,d=d||l}();d&&this._updateState()}},{key:"_isClusteredNode",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:"_isClusteredEdge",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(4),u=o(l),c=i(5),p=o(c),f=i(2),m=i(47).default,v=function(t){function e(t,i,o,n,r,h){(0,a.default)(this,e);var d=(0,u.default)(this,(e.__proto__||(0,s.default)(e)).call(this,t,i,o,n,r,h));return d.isCluster=!0,d.containedNodes={},d.containedEdges={},d}return(0,p.default)(e,t),(0,d.default)(e,[{key:"_openChildCluster",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error("node with id: "+t+" not in current cluster");if(!i.isCluster)throw new Error("node with id: "+t+" is not a cluster");delete this.containedNodes[t],f.forEach(i.edges,function(t){delete e.containedEdges[t.id]}),f.forEach(i.containedNodes,function(t,i){e.containedNodes[i]=t}),i.containedNodes={},f.forEach(i.containedEdges,function(t,i){e.containedEdges[i]=t}),i.containedEdges={},f.forEach(i.edges,function(t){f.forEach(e.edges,function(i){var o=i.clusteringEdgeReplacingIds.indexOf(t.id);-1!==o&&(f.forEach(t.clusteringEdgeReplacingIds,function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id}),i.clusteringEdgeReplacingIds.splice(o,1))})}),i.edges=[]}}]),e}(m);e.default=v},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}function n(){var t;void 0!==window&&(t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===t?function(t){t()}:t}Object.defineProperty(e,"__esModule",{value:!0});var s=i(0),r=o(s),a=i(1),h=o(a),d=i(2),l=function(){function t(e,i){(0,r.default)(this,t),n(),this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideNodesOnDrag:!1},d.extend(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return(0,h.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("dragStart",function(){t.dragging=!0}),this.body.emitter.on("dragEnd",function(){t.dragging=!1}),this.body.emitter.on("_resizeNodes",function(){t._resizeNodes()}),this.body.emitter.on("_redraw",function(){!1===t.renderingActive&&t._redraw()}),this.body.emitter.on("_blockRedraw",function(){t.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",function(){t.allowRedraw=!0,t.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",this._requestRedraw.bind(this)),this.body.emitter.on("_startRendering",function(){t.renderRequests+=1,t.renderingActive=!0,t._startRendering()}),this.body.emitter.on("_stopRendering",function(){t.renderRequests-=1,t.renderingActive=t.renderRequests>0,t.renderTimer=void 0}),this.body.emitter.on("destroy",function(){t.renderRequests=0,t.allowRedraw=!1,t.renderingActive=!1,!0===t.requiresTimeout?clearTimeout(t.renderTimer):window.cancelAnimationFrame(t.renderTimer),t.body.emitter.off()})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag"];d.selectiveDeepExtend(e,this.options,t)}}},{key:"_requestNextFrame",value:function(t,e){if("undefined"!=typeof window){var i=void 0,o=window;return!0===this.requiresTimeout?i=o.setTimeout(t,e):o.requestAnimationFrame&&(i=o.requestAnimationFrame(t)),i}}},{key:"_startRendering",value:function(){!0===this.renderingActive&&void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(this._renderStep.bind(this),this.simulationInterval))}},{key:"_renderStep",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:"redraw",value:function(){this.body.emitter.emit("setSize"),this._redraw()}},{key:"_requestRedraw",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame(function(){t._redraw(!1)},0))}},{key:"_redraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1,0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var e=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(e.clearRect(0,0,i,o),0===this.canvas.frame.clientWidth)return;e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale),e.beginPath(),this.body.emitter.emit("beforeDrawing",e),e.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&this._drawEdges(e),(!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag)&&this._drawNodes(e,t),e.beginPath(),this.body.emitter.emit("afterDrawing",e),e.closePath(),e.restore(),!0===t&&e.clearRect(0,0,i,o)}}},{key:"_resizeNodes",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e=this.body.nodes,i=void 0;for(var o in e)e.hasOwnProperty(o)&&(i=e[o],i.resize(t),i.updateBoundingBox(t,i.selected));t.restore()}},{key:"_drawNodes",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.nodes,o=this.body.nodeIndices,n=void 0,s=[],r=this.canvas.DOMtoCanvas({x:-20,y:-20}),a=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+20,y:this.canvas.frame.canvas.clientHeight+20}),h={top:r.y,left:r.x,bottom:a.y,right:a.x},d=0;d0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:"_setCameraState",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var o=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),n={x:o.x-this.cameraState.position.x,y:o.y-this.cameraState.position.y};this.body.view.translation.x+=n.x*this.body.view.scale,this.body.view.translation.y+=n.y*this.body.view.scale}}},{key:"_prepareValue",value:function(t){if("number"==typeof t)return t+"px";if("string"==typeof t){if(-1!==t.indexOf("%")||-1!==t.indexOf("px"))return t;if(-1===t.indexOf("%"))return t+"px"}throw new Error("Could not use the value supplied for width or height:"+t)}},{key:"_create",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=900,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerHTML="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:"_bindHammer",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new h(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:h.DIRECTION_ALL}),d.onTouch(this.hammer,function(e){t.body.eventListeners.onTouch(e)}),this.hammer.on("tap",function(e){t.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",function(e){t.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",function(e){t.body.eventListeners.onHold(e)}),this.hammer.on("panstart",function(e){t.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",function(e){t.body.eventListeners.onDrag(e)}),this.hammer.on("panend",function(e){t.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",function(e){t.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("mousewheel",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("DOMMouseScroll",function(e){t.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",function(e){t.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",function(e){t.body.eventListeners.onContext(e)}),this.hammerFrame=new h(this.frame),d.onRelease(this.hammerFrame,function(e){t.body.eventListeners.onRelease(e)})}},{key:"setSize",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,o=this.frame.canvas.width,n=this.frame.canvas.height,s=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(s),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var r=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio) +;this.frame.canvas.width===r&&this.frame.canvas.height===a||this._getCameraState(s),this.frame.canvas.width!==r&&(this.frame.canvas.width=r,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(o/this.pixelRatio),oldHeight:Math.round(n/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:"getContext",value:function(){return this.frame.canvas.getContext("2d")}},{key:"_determinePixelRatio",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");var e=1;return"undefined"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:"_setPixelRatio",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:"setTransform",value:function(){var t=this.getContext();if(void 0===t)throw new Error("Could not get canvax context");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:"_XconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:"_XconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:"_YconvertDOMtoCanvas",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:"_YconvertCanvasToDOM",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:"canvasToDOM",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:"DOMtoCanvas",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(76).default,l=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",this.fit.bind(this)),this.body.emitter.on("animationFinished",function(){o.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",this.releaseNode.bind(this))}return(0,a.default)(t,[{key:"setOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:"fit",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{nodes:[]},e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=void 0,o=void 0;if(void 0!==t.nodes&&0!==t.nodes.length||(t.nodes=this.body.nodeIndices),!0===e){var n=0;for(var s in this.body.nodes)if(this.body.nodes.hasOwnProperty(s)){var r=this.body.nodes[s];!0===r.predefinedPosition&&(n+=1)}if(n>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=d.getRange(this.body.nodes,t.nodes);o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;o*=Math.min(this.canvas.frame.canvas.clientWidth/600,this.canvas.frame.canvas.clientHeight/600)}else{this.body.emitter.emit("_resizeNodes"),i=d.getRange(this.body.nodes,t.nodes);var a=1.1*Math.abs(i.maxX-i.minX),h=1.1*Math.abs(i.maxY-i.minY),l=this.canvas.frame.canvas.clientWidth/a,u=this.canvas.frame.canvas.clientHeight/h;o=l<=u?l:u}o>1?o=1:0===o&&(o=1);var c=d.findCenter(i),p={position:c,scale:o,animation:t.animation};this.moveTo(p)}},{key:"focus",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.log("Node: "+t+" cannot be found.")}},{key:"moveTo",value:function(t){if(void 0===t)return void(t={});void 0===t.offset&&(t.offset={x:0,y:0}),void 0===t.offset.x&&(t.offset.x=0),void 0===t.offset.y&&(t.offset.y=0),void 0===t.scale&&(t.scale=this.body.view.scale),void 0===t.position&&(t.position=this.getViewPosition()),void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction="easeInOutQuad"),this.animateView(t)}},{key:"animateView",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.position.x,y:e.y-t.position.y};this.targetTranslation={x:this.sourceTranslation.x+i.x*this.targetScale+t.offset.x,y:this.sourceTranslation.y+i.y*this.targetScale+t.offset.y},0===t.animation.duration?void 0!=this.lockedOnNodeId?(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)):(this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw")):(this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=this._transitionRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering"))}}},{key:"_lockedRedraw",value:function(){var t={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},e=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),i={x:e.x-t.x,y:e.y-t.y},o=this.body.view.translation,n={x:o.x+i.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:o.y+i.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=n}},{key:"releaseNode",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:"_transitionRedraw",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=h.easingFunctions[this.animationEasingFunction](this.easingTime);this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1&&(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,void 0!=this.lockedOnNodeId&&(this.viewFunction=this._lockedRedraw.bind(this),this.body.emitter.on("initRedraw",this.viewFunction)),this.body.emitter.emit("animationFinished"))}},{key:"getScale",value:function(){return this.body.view.scale}},{key:"getViewPosition",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();e.default=l},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(2),d=i(233).default,l=i(104).default,u=function(){function t(e,i,o){(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.navigationHandler=new d(e,i),this.body.eventListeners.onTap=this.onTap.bind(this),this.body.eventListeners.onTouch=this.onTouch.bind(this),this.body.eventListeners.onDoubleTap=this.onDoubleTap.bind(this),this.body.eventListeners.onHold=this.onHold.bind(this),this.body.eventListeners.onDragStart=this.onDragStart.bind(this),this.body.eventListeners.onDrag=this.onDrag.bind(this),this.body.eventListeners.onDragEnd=this.onDragEnd.bind(this),this.body.eventListeners.onMouseWheel=this.onMouseWheel.bind(this),this.body.eventListeners.onPinch=this.onPinch.bind(this),this.body.eventListeners.onMouseMove=this.onMouseMove.bind(this),this.body.eventListeners.onRelease=this.onRelease.bind(this),this.body.eventListeners.onContext=this.onContext.bind(this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=this.getPointer.bind(this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0},h.extend(this.options,this.defaultOptions),this.bindEventListeners()}return(0,a.default)(t,[{key:"bindEventListeners",value:function(){var t=this;this.body.emitter.on("destroy",function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer})}},{key:"setOptions",value:function(t){if(void 0!==t){var e=["hideEdgesOnDrag","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"];h.selectiveNotDeepExtend(e,this.options,t),h.mergeOptions(this.options,t,"keyboard"),t.tooltip&&(h.extend(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=h.parseColor(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:"getPointer",value:function(t){return{x:t.x-h.getAbsoluteLeft(this.canvas.frame.canvas),y:t.y-h.getAbsoluteTop(this.canvas.frame.canvas)}}},{key:"onTouch",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:"onTap",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e)}},{key:"onDoubleTap",value:function(t){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("doubleClick",t,e)}},{key:"onHold",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,t,i),this.selectionHandler._generateClickEvent("click",t,e),this.selectionHandler._generateClickEvent("hold",t,e)}},{key:"onRelease",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler._generateClickEvent("release",t,e),this.touchTime=(new Date).valueOf()}}},{key:"onContext",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler._generateClickEvent("oncontext",t,e)}},{key:"checkSelectionChanges",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.selectionHandler.getSelection(),n=!1;n=!0===i?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t);var s=this.selectionHandler.getSelection(),r=this._determineDifference(o,s),a=this._determineDifference(s,o);r.edges.length>0&&(this.selectionHandler._generateClickEvent("deselectEdge",e,t,o),n=!0),r.nodes.length>0&&(this.selectionHandler._generateClickEvent("deselectNode",e,t,o),n=!0),a.nodes.length>0&&(this.selectionHandler._generateClickEvent("selectNode",e,t),n=!0),a.edges.length>0&&(this.selectionHandler._generateClickEvent("selectEdge",e,t),n=!0),!0===n&&this.selectionHandler._generateClickEvent("select",e,t)}},{key:"_determineDifference",value:function(t,e){var i=function(t,e){for(var i=[],o=0;o10&&(t=10);var o=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(o=this.canvas.DOMtoCanvas(this.drag.pointer));var n=this.body.view.translation,s=t/i,r=(1-s)*e.x+n.x*s,a=(1-s)*e.y+n.y*s;if(this.body.view.scale=t,this.body.view.translation={x:r,y:a},void 0!=o){var h=this.canvas.canvasToDOM(o);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit("_requestRedraw"),i0&&(this.popupObj=h[u[u.length-1]],s=!0)}if(void 0===this.popupObj&&!1===s){for(var p=this.body.edgeIndices,f=this.body.edges,m=void 0,v=[],g=0;g0&&(this.popupObj=f[v[v.length-1]],r="edge")}void 0!==this.popupObj?this.popupObj.id!==n&&(void 0===this.popup&&(this.popup=new l(this.canvas.frame)),this.popup.popupTargetType=r,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}},{key:"_checkHidePopup",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if("node"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var o=this.selectionHandler.getNodeAt(t);i=void 0!==o&&o.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(10),d=i(37),l=i(35),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",function(){o.activated=!0,o.configureKeyboardBindings()}),this.body.emitter.on("deactivate",function(){o.activated=!1,o.configureKeyboardBindings()}),this.body.emitter.on("destroy",function(){void 0!==o.keycharm&&o.keycharm.destroy()}),this.options={}}return(0,a.default)(t,[{key:"setOptions",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:"create",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:"cleanNavigation",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:"_stopMovement",value:function(){for(var t in this.boundFunctions)this.boundFunctions.hasOwnProperty(t)&&(this.body.emitter.off("initRedraw",this.boundFunctions[t]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}},{key:"_moveUp",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:"_moveDown",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:"_moveLeft",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:"_moveRight",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:"_zoomIn",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}},{key:"_zoomOut",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,o=e/t,n=(1-o)*this.canvas.canvasViewCenter.x+i.x*o,s=(1-o)*this.canvas.canvasViewCenter.y+i.y*o;this.body.view.scale=e,this.body.view.translation={x:n,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}},{key:"configureKeyboardBindings",value:function(){var t=this;void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled&&(!0===this.options.keyboard.bindToWindow?this.keycharm=l({container:window,preventDefault:!0}):this.keycharm=l({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(this.keycharm.bind("up",function(){t.bindToRedraw("_moveUp")},"keydown"),this.keycharm.bind("down",function(){t.bindToRedraw("_moveDown")},"keydown"),this.keycharm.bind("left",function(){t.bindToRedraw("_moveLeft")},"keydown"),this.keycharm.bind("right",function(){t.bindToRedraw("_moveRight")},"keydown"),this.keycharm.bind("=",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num+",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("num-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("-",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("[",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("]",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pageup",function(){t.bindToRedraw("_zoomIn")},"keydown"),this.keycharm.bind("pagedown",function(){t.bindToRedraw("_zoomOut")},"keydown"),this.keycharm.bind("up",function(){t.unbindFromRedraw("_moveUp")},"keyup"),this.keycharm.bind("down",function(){t.unbindFromRedraw("_moveDown")},"keyup"),this.keycharm.bind("left",function(){t.unbindFromRedraw("_moveLeft")},"keyup"),this.keycharm.bind("right",function(){t.unbindFromRedraw("_moveRight")},"keyup"),this.keycharm.bind("=",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num+",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("num-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("-",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("[",function(){t.unbindFromRedraw("_zoomOut")},"keyup"),this.keycharm.bind("]",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pageup",function(){t.unbindFromRedraw("_zoomIn")},"keyup"),this.keycharm.bind("pagedown",function(){t.unbindFromRedraw("_zoomOut")},"keyup")))}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=o(n),r=i(1),a=o(r),h=i(47).default,d=i(74).default,l=i(2),u=function(){function t(e,i){var o=this;(0,s.default)(this,t),this.body=e,this.canvas=i,this.selectionObj={nodes:[],edges:[]},this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},l.extend(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",function(){o.updateSelection()})}return(0,a.default)(t,[{key:"setOptions",value:function(t){if(void 0!==t){var e=["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"];l.selectiveDeepExtend(e,this.options,t)}}},{key:"selectOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit("_requestRedraw")}return e}},{key:"selectAdditionalOnPoint",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit("_requestRedraw"))}return e}},{key:"_initBaseEvent",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:"_generateClickEvent",value:function(t,e,i,o){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=this._initBaseEvent(e,i);if(!0===n)s.nodes=[],s.edges=[];else{var r=this.getSelection();s.nodes=r.nodes,s.edges=r.edges}void 0!==o&&(s.previousSelection=o),"click"==t&&(s.items=this.getClickedItems(i)),this.body.emitter.emit(t,s)}},{key:"selectObject",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;return void 0!==t&&(t instanceof h&&!0===e&&this._selectConnectedEdges(t),t.select(),this._addToSelection(t),!0)}},{key:"deselectObject",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:"_getAllNodesOverlappingWith",value:function(t){for(var e=[],i=this.body.nodes,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),o=this._getAllNodesOverlappingWith(i);return o.length>0?!0===e?this.body.nodes[o[o.length-1]]:o[o.length-1]:void 0}},{key:"_getEdgesOverlappingWith",value:function(t,e){for(var i=this.body.edges,o=0;o1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),o=10,n=null,s=this.body.edges,r=0;r1)return!0;return!1}},{key:"_selectConnectedEdges",value:function(t){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{},i=void 0,o=void 0 +;if(!t||!t.nodes&&!t.edges)throw"Selection must be an object with nodes and/or edges properties";if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes)for(i=0;i1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({nodes:t},{highlightEdges:e})}},{key:"selectEdges",value:function(t){if(!t||void 0===t.length)throw"Selection must be an array with ids";this.setSelection({edges:t})}},{key:"updateSelection",value:function(){for(var t in this.selectionObj.nodes)this.selectionObj.nodes.hasOwnProperty(t)&&(this.body.nodes.hasOwnProperty(t)||delete this.selectionObj.nodes[t]);for(var e in this.selectionObj.edges)this.selectionObj.edges.hasOwnProperty(e)&&(this.body.edges.hasOwnProperty(e)||delete this.selectionObj.edges[e])}},{key:"getClickedItems",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],o=this.body.nodeIndices,n=this.body.nodes,s=o.length-1;s>=0;s--){var r=n[o[s]],a=r.getItemsOnPoint(e);i.push.apply(i,a)}for(var h=this.body.edgeIndices,d=this.body.edges,l=h.length-1;l>=0;l--){var u=d[h[l]],c=u.getItemsOnPoint(e);i.push.apply(i,c)}return i}}]),t}();e.default=u},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),s=o(n),r=i(6),a=o(r),h=i(8),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(76).default,v=i(236),g=v.HorizontalStrategy,y=v.VerticalStrategy,b=function(){function t(){(0,u.default)(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return(0,p.default)(t,[{key:"addRelation",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:"checkIfTree",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:"numTrees",value:function(){return this.treeIndex+1}},{key:"setTreeIndex",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:"ensureLevel",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:"getMaxLevel",value:function(t){var e=this,i={};return function t(o){if(void 0!==i[o])return i[o];var n=e.levels[o];if(e.childrenReference[o]){var s=e.childrenReference[o];if(s.length>0)for(var r=0;r0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===o)return this.body.emitter.emit("refresh"),f.deepExtend(e,this.optionsBackup)}return e}},{key:"adaptAllOptionsForHierarchicalLayout",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:"hierarchicalRepulsion"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||"barnesHut"):"object"===(0,a.default)(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||"barnesHut",t.physics.solver="hierarchicalRepulsion"):!1!==t.physics&&(e.solver="barnesHut",t.physics={solver:"hierarchicalRepulsion"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},t.edges.smooth=!1;else if("boolean"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var o=t.edges.smooth;void 0!==o.type&&"dynamic"!==o.type&&(i=o.type),this.optionsBackup.edges={smooth:void 0===o.enabled||o.enabled,type:void 0===o.type?"dynamic":o.type,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection},t.edges.smooth={enabled:void 0===o.enabled||o.enabled,type:i,roundness:void 0===o.roundness?.5:o.roundness,forceDirection:void 0!==o.forceDirection&&o.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",i)}return t}},{key:"seededRandom",value:function(){var t=1e4*Math.sin(this.randomSeed++);return t-Math.floor(t)}},{key:"positionInitially",value:function(t){if(!0!==this.options.hierarchical.enabled){this.randomSeed=this.initialRandomSeed;for(var e=t.length+50,i=0;i150){for(var s=t.length;t.length>150&&o<=10;){o+=1;var r=t.length;o%3==0?this.body.modules.clustering.clusterBridges(n):this.body.modules.clustering.clusterOutliers(n);if(r==t.length&&o%3!=0)return this._declusterAll(),this.body.emitter.emit("_layoutFailed"),void console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}o>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var a=0;a0){var t=void 0,e=void 0,i=!1,o=!1;this.lastNodeOnLevel={},this.hierarchical=new b;for(e in this.body.nodes)this.body.nodes.hasOwnProperty(e)&&(t=this.body.nodes[e],void 0!==t.options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):o=!0);if(!0===o&&!0===i)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");if(!0===o){var n=this.options.hierarchical.sortMethod;"hubsize"===n?this._determineLevelsByHubsize():"directed"===n?this._determineLevelsDirected():"custom"===n&&this._determineLevelsCustomCallback()}for(var s in this.body.nodes)this.body.nodes.hasOwnProperty(s)&&this.hierarchical.ensureLevel(s);var r=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(r),this._condenseHierarchy(),this._shiftToCenter()}}},{key:"_condenseHierarchy",value:function(){var t=this,e=!1,i={},o=function(e,i){var o=t.hierarchical.trees;for(var n in o)o.hasOwnProperty(n)&&o[n]===e&&t.direction.shift(n,i)},n=function(){for(var e=[],i=0;i0)for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:1e9,o=1e9,n=1e9,r=1e9,a=-1e9;for(var h in e)if(e.hasOwnProperty(h)){var d=t.body.nodes[h],l=t.hierarchical.levels[d.id],u=t.direction.getPosition(d),c=t._getSpaceAroundNode(d,e),p=(0,s.default)(c,2),f=p[0],m=p[1];o=Math.min(f,o),n=Math.min(m,n),l<=i&&(r=Math.min(u,r),a=Math.max(u,a))}return[r,a,o,n]},h=function(e,i){var o=t.hierarchical.getMaxLevel(e.id),n=t.hierarchical.getMaxLevel(i.id);return Math.min(o,n)},d=function(e,i,o){for(var n=t.hierarchical,s=0;s1)for(var h=0;h2&&void 0!==arguments[2]&&arguments[2],s=t.direction.getPosition(i),d=t.direction.getPosition(o),l=Math.abs(d-s),u=t.options.hierarchical.nodeSpacing;if(l>u){var c={},p={};r(i,c),r(o,p);var f=h(i,o),m=a(c,f),v=a(p,f),g=m[1],y=v[0],b=v[2];if(Math.abs(g-y)>u){var _=g-y+u;_<-b+u&&(_=-b+u),_<0&&(t._shiftBlock(o.id,_),e=!0,!0===n&&t._centerParent(o))}}},u=function(o,n){for(var h=n.id,d=n.edges,l=t.hierarchical.levels[n.id],u=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},p=[],f=0;f0?p=Math.min(c,u-t.options.hierarchical.nodeSpacing):c<0&&(p=-Math.min(-c,l-t.options.hierarchical.nodeSpacing)),0!=p&&(t._shiftBlock(n.id,p),e=!0)}(_),_=b(o,d),function(i){var o=t.direction.getPosition(n),r=t._getSpaceAroundNode(n),a=(0,s.default)(r,2),h=a[0],d=a[1],l=i-o,u=o;l>0?u=Math.min(o+(d-t.options.hierarchical.nodeSpacing),i):l<0&&(u=Math.max(o-(h-t.options.hierarchical.nodeSpacing),i)),u!==o&&(t.direction.setPosition(n,u),e=!0)}(_)};!0===this.options.hierarchical.blockShifting&&(function(i){var o=t.hierarchical.getLevels();o=o.reverse();for(var n=0;n0&&Math.abs(p)0&&(a=this.direction.getPosition(i[n-1])+r),this.direction.setPosition(s,a,e),this._validatePositionAndContinue(s,e,a),o++}}}}},{key:"_placeBranchNodes",value:function(t,e){var i=this.hierarchical.childrenReference[t];if(void 0!==i){for(var o=[],n=0;ne&&void 0===this.positionedNodes[r.id]))return;var h=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+h,this.direction.setPosition(r,d,a),this._validatePositionAndContinue(r,a,d)}var l=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],l,e)}}},{key:"_validatePositionAndContinue",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var o=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-ot.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}},{key:"_crawlNetwork",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments[1],o={},n=function i(n,s){if(void 0===o[n.id]){t.hierarchical.setTreeIndex(n,s),o[n.id]=!0;for(var r=void 0,a=t._getActiveEdges(n),h=0;h2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:"getTreeSize",value:function(t){return this.fake_use(t),this.abstract()}},{key:"sort",value:function(t){this.fake_use(t),this.abstract()}},{key:"fix",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:"shift",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),m=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"horizontal"}},{key:"getPosition",value:function(t){return t.x}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.x||void 0===e.x?0:t.x-e.x})}},{key:"fix",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),e}(f),v=function(t){function e(t){(0,u.default)(this,e);var i=(0,a.default)(this,(e.__proto__||(0,s.default)(e)).call(this));return i.layout=t,i}return(0,d.default)(e,t),(0,p.default)(e,[{key:"curveType",value:function(){return"vertical"}},{key:"getPosition",value:function(t){return t.y}},{key:"setPosition",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:"getTreeSize",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:"sort",value:function(t){t.sort(function(t,e){return void 0===t.y||void 0===e.y?0:t.y-e.y})}},{key:"fix",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:"shift",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),e}(f);e.HorizontalStrategy=v,e.VerticalStrategy=m},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),s=o(n),r=i(19),a=o(r),h=i(6),d=o(h),l=i(0),u=o(l),c=i(1),p=o(c),f=i(2),m=i(10),v=i(37),g=function(){function t(e,i,o){var n=this;(0,u.default)(this,t),this.body=e,this.canvas=i,this.selectionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this.manipulationHammers=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},f.extend(this.options,this.defaultOptions),this.body.emitter.on("destroy",function(){n._clean()}),this.body.emitter.on("_dataChanged",this._restore.bind(this)),this.body.emitter.on("_resetData",this._restore.bind(this))}return(0,p.default)(t,[{key:"_restore",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:"setOptions",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&("boolean"==typeof t?this.options.enabled=t:(this.options.enabled=!0,f.deepExtend(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:"toggleEditMode",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:"enableEditMode",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}},{key:"disableEditMode",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}},{key:"showManipulatorToolbar",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";var t=this.selectionHandler._getSelectedNodeCount(),e=this.selectionHandler._getSelectedEdgeCount(),i=t+e,o=this.options.locales[this.options.locale],n=!1;!1!==this.options.addNode&&(this._createAddNodeButton(o),n=!0),!1!==this.options.addEdge&&(!0===n?this._createSeperator(1):n=!0,this._createAddEdgeButton(o)),1===t&&"function"==typeof this.options.editNode?(!0===n?this._createSeperator(2):n=!0,this._createEditNodeButton(o)):1===e&&0===t&&!1!==this.options.editEdge&&(!0===n?this._createSeperator(3):n=!0,this._createEditEdgeButton(o)),0!==i&&(t>0&&!1!==this.options.deleteNode?(!0===n&&this._createSeperator(4),this._createDeleteButton(o)):0===t&&!1!==this.options.deleteEdge&&(!0===n&&this._createSeperator(4),this._createDeleteButton(o))),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this)),this._temporaryBindEvent("select",this.showManipulatorToolbar.bind(this))}this.body.emitter.emit("_redraw")}},{key:"addNodeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addNode",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.addDescription||this.options.locales.en.addDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindEvent("click",this._performAddNode.bind(this))}},{key:"editNode",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler._getSelectedNode();if(void 0!==e){if(this.inMode="editNode","function"!=typeof this.options.editNode)throw new Error("No function has been configured to handle the editing of nodes.");if(!0!==e.isCluster){var i=f.deepExtend({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error("The function for edit does not support two arguments (data, callback)");this.options.editNode(i,function(e){null!==e&&void 0!==e&&"editNode"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()})}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:"addEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="addEdge",!0===this.guiEnabled){var t=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(t),this._createSeperator(),this._createDescription(t.edgeDescription||this.options.locales.en.edgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}this._temporaryBindUI("onTouch",this._handleConnect.bind(this)),this._temporaryBindUI("onDragEnd",this._finishConnect.bind(this)),this._temporaryBindUI("onDrag",this._dragControlNode.bind(this)),this._temporaryBindUI("onRelease",this._finishConnect.bind(this)),this._temporaryBindUI("onDragStart",this._dragStartEdge.bind(this)),this._temporaryBindUI("onHold",function(){})}},{key:"editEdgeMode",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="editEdge","object"===(0,d.default)(this.options.editEdge)&&"function"==typeof this.options.editEdge.editWithoutDrag&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId)){var t=this.body.edges[this.edgeBeingEditedId];return void this._performEditEdge(t.from,t.to)}if(!0===this.guiEnabled){var e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindHammerToDiv(this.closeDiv,this.toggleEditMode.bind(this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdges()[0],void 0!==this.edgeBeingEditedId){var i=this.body.edges[this.edgeBeingEditedId],o=this._getNewTargetNode(i.from.x,i.from.y),n=this._getNewTargetNode(i.to.x,i.to.y);this.temporaryIds.nodes.push(o.id),this.temporaryIds.nodes.push(n.id),this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id),this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id),this._temporaryBindUI("onTouch",this._controlNodeTouch.bind(this)),this._temporaryBindUI("onTap",function(){}),this._temporaryBindUI("onHold",function(){}),this._temporaryBindUI("onDragStart",this._controlNodeDragStart.bind(this)),this._temporaryBindUI("onDrag",this._controlNodeDrag.bind(this)),this._temporaryBindUI("onDragEnd",this._controlNodeDragEnd.bind(this)),this._temporaryBindUI("onMouseMove",function(){}),this._temporaryBindEvent("beforeDrawing",function(t){var e=i.edgeType.findBorderPositions(t);!1===o.selected&&(o.x=e.from.x,o.y=e.from.y),!1===n.selected&&(n.x=e.to.x,n.y=e.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}},{key:"deleteSelected",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode="delete";var e=this.selectionHandler.getSelectedNodes(),i=this.selectionHandler.getSelectedEdges(),o=void 0;if(e.length>0){for(var n=0;n0&&"function"==typeof this.options.deleteEdge&&(o=this.options.deleteEdge);if("function"==typeof o){var s={nodes:e,edges:i};if(2!==o.length)throw new Error("The function for delete does not support two arguments (data, callback)");o(s,function(e){null!==e&&void 0!==e&&"delete"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar()):(t.body.emitter.emit("startSimulation"),t.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}},{key:"_setup",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:"_createWrappers",value:function(){void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",!0===this.editMode?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",!0===this.editMode?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv&&(this.closeDiv=document.createElement("div"),this.closeDiv.className="vis-close",this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:"_getNewTargetNode",value:function(t,e){var i=f.deepExtend({},this.options.controlNodeStyle);i.id="targetNode"+f.randomUUID(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var o=this.body.functions.createNode(i);return o.shape.boundingBox={left:t,right:t,top:e,bottom:e},o}},{key:"_createEditButton",value:function(){this._clean(),this.manipulationDOM={},f.recursiveDOMDelete(this.editModeDiv);var t=this.options.locales[this.options.locale],e=this._createButton("editMode","vis-button vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(e),this._bindHammerToDiv(e,this.toggleEditMode.bind(this))}},{key:"_clean",value:function(){this.inMode=!1,!0===this.guiEnabled&&(f.recursiveDOMDelete(this.editModeDiv),f.recursiveDOMDelete(this.manipulationDiv),this._cleanManipulatorHammers()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}},{key:"_cleanManipulatorHammers",value:function(){if(0!=this.manipulationHammers.length){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+t]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+t].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+t])}},{key:"_createAddNodeButton",value:function(t){var e=this._createButton("addNode","vis-button vis-add",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addNodeMode.bind(this))}},{key:"_createAddEdgeButton",value:function(t){var e=this._createButton("addEdge","vis-button vis-connect",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.addEdgeMode.bind(this))}},{key:"_createEditNodeButton",value:function(t){var e=this._createButton("editNode","vis-button vis-edit",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editNode.bind(this))}},{key:"_createEditEdgeButton",value:function(t){var e=this._createButton("editEdge","vis-button vis-edit",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.editEdgeMode.bind(this))}},{key:"_createDeleteButton",value:function(t){var e;e=this.options.rtl?"vis-button vis-delete-rtl":"vis-button vis-delete";var i=this._createButton("delete",e,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindHammerToDiv(i,this.deleteSelected.bind(this))}},{key:"_createBackButton",value:function(t){var e=this._createButton("back","vis-button vis-back",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(e),this._bindHammerToDiv(e,this.showManipulatorToolbar.bind(this))}},{key:"_createButton",value:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"vis-label";return this.manipulationDOM[t+"Div"]=document.createElement("div"),this.manipulationDOM[t+"Div"].className=e,this.manipulationDOM[t+"Label"]=document.createElement("div"),this.manipulationDOM[t+"Label"].className=o,this.manipulationDOM[t+"Label"].innerHTML=i,this.manipulationDOM[t+"Div"].appendChild(this.manipulationDOM[t+"Label"]),this.manipulationDOM[t+"Div"]}},{key:"_createDescription",value:function(t){this.manipulationDiv.appendChild(this._createButton("description","vis-button vis-none",t))}},{key:"_temporaryBindEvent",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:"_temporaryBindUI",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error("This UI function does not exist. Typo? You tried: "+t+" possible are: "+(0,a.default)((0,s.default)(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:"_unbindTemporaryUIs",value:function(){for(var t in this.temporaryUIFunctions)this.temporaryUIFunctions.hasOwnProperty(t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:"_unbindTemporaryEvents",value:function(){for(var t=0;t=0;r--)if(n[r]!==this.selectedControlNode.id){s=this.body.nodes[n[r]];break}if(void 0!==s&&void 0!==this.selectedControlNode)if(!0===s.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,o.to.id):this._performEditEdge(o.from.id,s.id)}else o.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}}},{key:"_handleConnect",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=f.extend({},this.body.view.translation);var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var o=this._getNewTargetNode(i.x,i.y);this.body.nodes[o.id]=o,this.body.nodeIndices.push(o.id);var n=this.body.functions.createEdge({id:"connectionEdge"+f.randomUUID(),from:i.id,to:o.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[n.id]=n,this.body.edgeIndices.push(n.id),this.temporaryIds.nodes.push(o.id),this.temporaryIds.edges.push(n.id)}this.touchTime=(new Date).valueOf()}}},{key:"_dragControlNode",value:function(t){var e=this.body.functions.getPointer(t.center);if(void 0!==this.temporaryIds.nodes[0]){var i=this.body.nodes[this.temporaryIds.nodes[0]];i.x=this.canvas._XconvertDOMtoCanvas(e.x),i.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit("_redraw")}else{var o=e.x-this.lastTouch.x,n=e.y-this.lastTouch.y;this.body.view.translation={x:this.lastTouch.translation.x+o,y:this.lastTouch.translation.y+n}}}},{key:"_finishConnect",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),o=void 0;void 0!==this.temporaryIds.edges[0]&&(o=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var n=this.selectionHandler._getAllNodesOverlappingWith(i),s=void 0,r=n.length-1;r>=0;r--)if(-1===this.temporaryIds.nodes.indexOf(n[r])){s=this.body.nodes[n[r]];break}this._cleanupTemporaryNodesAndEdges(),void 0!==s&&(!0===s.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[o]&&void 0!==this.body.nodes[s.id]&&this._performAddEdge(o,s.id)),this.body.emitter.emit("_redraw")}},{key:"_dragStartEdge",value:function(t){var e=this.lastTouch;this.selectionHandler._generateClickEvent("dragStart",t,e,void 0,!0)}},{key:"_performAddNode",value:function(t){var e=this,i={id:f.randomUUID(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:"new"};if("function"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");this.options.addNode(i,function(t){null!==t&&void 0!==t&&"addNode"===e.inMode&&(e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar())})}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:"_performAddEdge",value:function(t,e){var i=this,o={from:t,to:e};if("function"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error("The function for connect does not support two arguments (data,callback)");this.options.addEdge(o,function(t){null!==t&&void 0!==t&&"addEdge"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().add(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:"_performEditEdge",value:function(t,e){var i=this,o={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges._data[this.edgeBeingEditedId].label},n=this.options.editEdge;if("object"===(void 0===n?"undefined":(0,d.default)(n))&&(n=n.editWithoutDrag),"function"==typeof n){if(2!==n.length)throw new Error("The function for edit does not support two arguments (data, callback)");n(o,function(t){null===t||void 0===t||"editEdge"!==i.inMode?(i.body.edges[o.id].updateEdgeType(),i.body.emitter.emit("_redraw"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())})}else this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}();e.default=g},function(t,e,i){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),s=o(n),r=i(0),a=o(r),h=i(1),d=o(h),l=i(239),u=o(l),c=function(){function t(e,i,o){(0,a.default)(this,t),this.body=e,this.springLength=i,this.springConstant=o,this.distanceSolver=new u.default}return(0,d.default)(t,[{key:"setOptions",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:"solve",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(o),this._createK_matrix(o),this._createE_matrix();for(var n=0,r=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),a=1e9,h=0,d=0,l=0,u=0,c=0;a>.01&&n1&&c<5;){c+=1,this._moveNode(h,d,l);var m=this._getEnergy(h),v=(0,s.default)(m,3);u=v[0],d=v[1],l=v[2]}}}},{key:"_getHighestEnergyNode",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,o=0,n=e[0],r=0,a=0,h=0;h0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return o.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); \ No newline at end of file diff --git a/documentation/js/menu-wc.js b/documentation/js/menu-wc.js new file mode 100644 index 0000000000..ed14db8bfa --- /dev/null +++ b/documentation/js/menu-wc.js @@ -0,0 +1,2023 @@ +'use strict'; + +customElements.define('compodoc-menu', class extends HTMLElement { + constructor() { + super(); + this.isNormalMode = this.getAttribute('mode') === 'normal'; + } + + connectedCallback() { + this.render(this.isNormalMode); + } + + render(isNormalMode) { + let tp = lithtml.html(` + + `); + this.innerHTML = tp.strings; + } +}); \ No newline at end of file diff --git a/documentation/js/menu-wc_es5.js b/documentation/js/menu-wc_es5.js new file mode 100644 index 0000000000..fb1961ae7e --- /dev/null +++ b/documentation/js/menu-wc_es5.js @@ -0,0 +1,40 @@ +'use strict'; + +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); } +function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); } +function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } } +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); } +customElements.define('compodoc-menu', /*#__PURE__*/function (_HTMLElement) { + function _class() { + var _this; + _classCallCheck(this, _class); + _this = _callSuper(this, _class); + _this.isNormalMode = _this.getAttribute('mode') === 'normal'; + return _this; + } + _inherits(_class, _HTMLElement); + return _createClass(_class, [{ + key: "connectedCallback", + value: function connectedCallback() { + this.render(this.isNormalMode); + } + }, { + key: "render", + value: function render(isNormalMode) { + var tp = lithtml.html("\n \n ")); + this.innerHTML = tp.strings; + } + }]); +}( /*#__PURE__*/_wrapNativeSuper(HTMLElement))); \ No newline at end of file diff --git a/documentation/js/menu.js b/documentation/js/menu.js new file mode 100644 index 0000000000..984c65d0c3 --- /dev/null +++ b/documentation/js/menu.js @@ -0,0 +1,270 @@ +document.addEventListener('DOMContentLoaded', function () { + var menuCollapsed = false, + mobileMenu = document.getElementById('mobile-menu'); + + var localContextInUrl = ''; + + if (COMPODOC_CURRENT_PAGE_CONTEXT !== '') { + switch (COMPODOC_CURRENT_PAGE_CONTEXT) { + case 'additional-page': + localContextInUrl = 'additional-documentation'; + break; + case 'class': + localContextInUrl = 'classes'; + break; + case 'miscellaneous-functions': + case 'miscellaneous-variables': + case 'miscellaneous-typealiases': + case 'miscellaneous-enumerations': + localContextInUrl = 'miscellaneous'; + default: + break; + } + } + + function hasClass(el, cls) { + return el.className && new RegExp('(\\s|^)' + cls + '(\\s|$)').test(el.className); + } + + var processLink = function (link, url) { + if (url.charAt(0) !== '.') { + var prefix = ''; + switch (COMPODOC_CURRENT_PAGE_DEPTH) { + case 5: + prefix = '../../../../../'; + break; + case 4: + prefix = '../../../../'; + break; + case 3: + prefix = '../../../'; + break; + case 2: + prefix = '../../'; + break; + case 1: + prefix = '../'; + break; + case 0: + prefix = './'; + break; + } + link.setAttribute('href', prefix + url); + } + }; + + var processMenuLinks = function (links, dontAddClass) { + for (var i = 0; i < links.length; i++) { + var link = links[i]; + var linkHref = link.getAttribute('href'); + if (linkHref) { + var linkHrefFile = linkHref.substr(linkHref.lastIndexOf('/') + 1, linkHref.length); + if ( + linkHrefFile.toLowerCase() === COMPODOC_CURRENT_PAGE_URL.toLowerCase() && + link.innerHTML.indexOf('Getting started') == -1 && + !dontAddClass && + linkHref.toLowerCase().indexOf(localContextInUrl.toLowerCase()) !== -1 + ) { + link.classList.add('active'); + } + processLink(link, linkHref); + } + } + }; + var chapterLinks = document.querySelectorAll('[data-type="chapter-link"]'); + processMenuLinks(chapterLinks); + var entityLinks = document.querySelectorAll('[data-type="entity-link"]'); + processMenuLinks(entityLinks); + var indexLinks = document.querySelectorAll('[data-type="index-link"]'); + processMenuLinks(indexLinks, true); + var compodocLogos = document.querySelectorAll('[data-type="compodoc-logo"]'); + var customLogo = document.querySelectorAll('[data-type="custom-logo"]'); + var processLogos = function (entityLogos) { + for (var i = 0; i < entityLogos.length; i++) { + var entityLogo = entityLogos[i]; + if (entityLogo) { + var url = entityLogo.getAttribute('data-src'); + // Dark mode + logo + let isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches; + if (isDarkMode && url.indexOf('compodoc') !== -1) { + url = 'images/compodoc-vectorise-inverted.png'; + } + if (url.charAt(0) !== '.') { + var prefix = ''; + switch (COMPODOC_CURRENT_PAGE_DEPTH) { + case 5: + prefix = '../../../../../'; + break; + case 4: + prefix = '../../../../'; + break; + case 3: + prefix = '../../../'; + break; + case 2: + prefix = '../../'; + break; + case 1: + prefix = '../'; + break; + case 0: + prefix = './'; + break; + } + entityLogo.src = prefix + url; + } + } + } + }; + processLogos(compodocLogos); + processLogos(customLogo); + + setTimeout(function () { + document.getElementById('btn-menu').addEventListener('click', function () { + if (menuCollapsed) { + mobileMenu.style.display = 'none'; + } else { + mobileMenu.style.display = 'block'; + document.getElementsByTagName('body')[0].style['overflow-y'] = 'hidden'; + } + menuCollapsed = !menuCollapsed; + }); + + /** + * Native bootstrap doesn't wait DOMContentLoaded event to start his job, re do it here + */ + var Collapses = document.querySelectorAll('[data-bs-toggle="collapse"]'); + for (var o = 0, cll = Collapses.length; o < cll; o++) { + var collapse = Collapses[o], + options = {}; + options.duration = collapse.getAttribute('data-duration'); + const targetId = collapse.getAttribute('data-bs-target'); + if (targetId !== '') { + options.parent = collapse; + const c = new BSN.Collapse(targetId, options); + } + } + + // collapse menu + var classnameMenuToggler = document.getElementsByClassName('menu-toggler'), + faAngleUpClass = 'ion-ios-arrow-up', + faAngleDownClass = 'ion-ios-arrow-down', + toggleItemMenu = function (e) { + var element = $(e.target), + parent = element[0].parentNode, + parentLink, + elementIconChild; + if (parent) { + if (!$(parent).hasClass('linked')) { + e.preventDefault(); + } else { + parentLink = parent.parentNode; + if (parentLink && element.hasClass('link-name')) { + $(parentLink).trigger('click'); + } + } + elementIconChild = parent.getElementsByClassName(faAngleUpClass)[0]; + if (!elementIconChild) { + elementIconChild = parent.getElementsByClassName(faAngleDownClass)[0]; + } + if (elementIconChild) { + elementIconChild = $(elementIconChild); + if (elementIconChild.hasClass(faAngleUpClass)) { + elementIconChild.addClass(faAngleDownClass); + elementIconChild.removeClass(faAngleUpClass); + } else { + elementIconChild.addClass(faAngleUpClass); + elementIconChild.removeClass(faAngleDownClass); + } + } + } + }; + + for (var i = 0; i < classnameMenuToggler.length; i++) { + classnameMenuToggler[i].addEventListener('click', toggleItemMenu, false); + } + + // Scroll to active link + var menus = document.querySelectorAll('.menu'), + i = 0, + len = menus.length, + activeMenu, + activeMenuClass, + activeLink; + + for (i; i < len; i++) { + if (getComputedStyle(menus[i]).display != 'none') { + activeMenu = menus[i]; + activeMenuClass = activeMenu.getAttribute('class').split(' ')[0]; + } + } + + if (activeMenu) { + activeLink = document.querySelector('.' + activeMenuClass + ' .active'); + if (activeLink) { + var linkType = activeLink.getAttribute('data-type'); + var linkContext = activeLink.getAttribute('data-context'); + if (linkType === 'entity-link') { + var parentLi = activeLink.parentNode, + parentUl, + parentChapterMenu; + if (parentLi) { + parentUl = parentLi.parentNode; + if (parentUl) { + parentChapterMenu = parentUl.parentNode; + if (parentChapterMenu) { + var toggler = parentChapterMenu.querySelector('.menu-toggler'), + elementIconChild = + toggler.getElementsByClassName(faAngleUpClass)[0]; + if (toggler && !elementIconChild) { + toggler.click(); + } + } + } + } + if (linkContext && linkContext === 'sub-entity') { + // Toggle also the master parent menu + var linkContextId = activeLink.getAttribute('data-context-id'); + var toggler = activeMenu.querySelector( + '.chapter.' + linkContextId + ' a .menu-toggler' + ); + if (toggler) { + toggler.click(); + } + if (linkContextId === 'additional') { + var mainToggler = activeMenu.querySelector( + '.chapter.' + linkContextId + ' div.menu-toggler' + ); + if (mainToggler) { + mainToggler.click(); + } + } + } + } else if (linkType === 'chapter-link') { + var linkContextId = activeLink.getAttribute('data-context-id'); + var toggler = activeLink.querySelector('.menu-toggler'); + if (toggler) { + toggler.click(); + } + if (linkContextId === 'additional') { + var mainToggler = activeMenu.querySelector( + '.chapter.' + linkContextId + ' div.menu-toggler' + ); + if (mainToggler) { + mainToggler.click(); + } + } + } + setTimeout(function () { + activeMenu.scrollTop = activeLink.offsetTop; + if ( + activeLink.innerHTML.toLowerCase().indexOf('readme') != -1 || + activeLink.innerHTML.toLowerCase().indexOf('overview') != -1 + ) { + activeMenu.scrollTop = 0; + } + }, 300); + } + } + }, 0); +}); diff --git a/documentation/js/routes.js b/documentation/js/routes.js new file mode 100644 index 0000000000..4169199941 --- /dev/null +++ b/documentation/js/routes.js @@ -0,0 +1,301 @@ +document.addEventListener('DOMContentLoaded', function () { + function htmlEntities(str) { + return String(str) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + } + + function foundLazyModuleWithPath(path) { + //path is like app/customers/customers.module#CustomersModule + var split = path.split('#'), + lazyModulePath = split[0], + lazyModuleName = split[1]; + return lazyModuleName; + } + + function getBB(selection) { + selection.each(function (d) { + d.bbox = this.getBBox(); + }); + } + + var test_cases, test_case, test_case_num, engine; + + var tree = ROUTES_INDEX; + + function cleanStringChildren(obj) { + for (var property in obj) { + if (obj.hasOwnProperty(property)) { + if (property === 'children' && typeof obj[property] === 'object') { + for (var i = obj[property].length - 1; i >= 0; i--) { + if (typeof obj[property][i] === 'string') { + obj[property].splice(i, 1); + } + } + } + if (typeof obj[property] === 'object') { + cleanStringChildren(obj[property]); + } + } + } + } + cleanStringChildren(tree); + + engine = d3.layout.tree().setNodeSizes(true); + + engine.spacing(function (a, b) { + return a.parent == b.parent ? 0 : engine.rootXSize(); + }); + + engine.nodeSize(function (d) { + return [ + document.getElementById(d.id).getBBox()['height'] + 70, + document.getElementById(d.id).getBBox()['width'] + 30 + ]; + }); + + var nodes = d3.layout.hierarchy()(tree), + svg = d3.select('#body-routes').append('svg'), + svg_g = svg.append('g'), + svg_p = svg.append('g'), + last_id = 0, + node = svg_g + .selectAll('.node') + .data(nodes, function (d) { + return d.id || (d.id = ++last_id); + }) + .enter() + .append('g') + .attr('class', 'node'); + + svg.attr('id', 'main'); + + svg_g.attr('transform', 'translate(20,0)').attr('id', 'main-group'); + + svg_p.attr('transform', 'translate(20,0)').attr('id', 'paths'); + + var infos_group = node.append('g').attr({ + id: function (d) { + return d.id; + }, + dx: 0, + dy: 0 + }); + + //Node icon + infos_group + .append('text') + .attr('font-family', 'Ionicons') + .attr('y', 5) + .attr('x', 0) + .attr('class', function (d) { + return d.children || d._children ? 'icon has-children' : 'icon'; + }) + .attr('font-size', function (d) { + return '15px'; + }) + .text(function (d) { + return '\uf183'; + }); + + //node infos + infos_group + .append('svg:text') + .attr('x', function (d) { + return 0; + }) + .attr('y', function (d) { + return 10; + }) + .attr('dy', '.35em') + .attr('class', 'text') + .attr('text-anchor', function (d) { + return 'start'; + }) + .html(function (d) { + // if kind === module name + module + // if kind === component component + path + var _name = ''; + if (d.kind === 'module') { + if (d.module) { + _name += + '' + + d.module + + ''; + if (d.name) { + _name += '' + d.name + ''; + } + } else { + _name += '' + htmlEntities(d.name) + ''; + } + } else if (d.kind === 'component') { + _name += '' + d.path + ''; + _name += + '' + + d.component + + ''; + if (d.outlet) { + _name += '<outlet> : ' + d.outlet + ''; + } + } else { + _name += '/' + d.path + ''; + if (d.component) { + _name += + '' + + d.component + + ''; + } + if (d.loadChildren) { + var moduleName = foundLazyModuleWithPath(d.loadChildren); + _name += + '' + + moduleName + + ''; + } + if (d.canActivate) { + _name += '✓ canActivate'; + } + if (d.canDeactivate) { + _name += '×  canDeactivate'; + } + if (d.canActivateChild) { + _name += '✓ canActivateChild'; + } + if (d.canLoad) { + _name += '→ canLoad'; + } + if (d.redirectTo) { + _name += '→ ' + d.redirectTo + ''; + } + if (d.pathMatch) { + _name += '> ' + d.pathMatch + ''; + } + if (d.outlet) { + _name += '<outlet> : ' + d.outlet + ''; + } + } + return _name; + }) + .call(getBB); + + // + // Node lazy loaded ? + // + infos_group + .append('svg:text') + .attr('y', function (d) { + return 45; + }) + .attr('x', function (d) { + return -18; + }) + .attr('font-family', 'Ionicons') + .attr('class', function (d) { + return 'icon'; + }) + .attr('font-size', function (d) { + return '15px'; + }) + .text(function (d) { + var _text = ''; + if (d.loadChildren || d.loadComponent) { + _text = '\uf4c1'; + } + if (d.guarded) { + _text = '\uf1b0'; + } + return _text; + }); + + //Node text background + infos_group + .insert('rect', 'text') + .attr('width', function (d) { + return d.bbox.width; + }) + .attr('height', function (d) { + return d.bbox.height; + }) + .attr('y', function (d) { + return 15; + }) + .style('fill', 'white') + .style('fill-opacity', 0.75); + + nodes = engine.nodes(tree); + + function node_extents(n) { + return [n.x - n.x_size / 2, n.y, n.x + n.x_size / 2, n.y + n.y_size]; + } + var root_extents = node_extents(nodes[0]); + var xmin = root_extents[0], + ymin = root_extents[1], + xmax = root_extents[2], + ymax = root_extents[3], + area_sum = (xmax - xmin) * (ymax - ymin), + x_size_min = nodes[0].x_size, + y_size_min = nodes[0].y_size; + + nodes.slice(1).forEach(function (n) { + var ne = node_extents(n); + xmin = Math.min(xmin, ne[0]); + ymin = Math.min(ymin, ne[1]); + xmax = Math.max(xmax, ne[2]); + ymax = Math.max(ymax, ne[3]); + area_sum += (ne[2] - ne[0]) * (ne[3] - ne[1]); + x_size_min = Math.min(x_size_min, n.x_size); + y_size_min = Math.min(y_size_min, n.y_size); + }); + + var area_ave = area_sum / nodes.length; + var scale = 80 / Math.sqrt(area_ave); + + function svg_x(node_y) { + return node_y - ymin; + } + + function svg_y(node_x) { + return (node_x - xmin) * scale; + } + + var nodebox_right_margin = Math.min(x_size_min * scale, 10); + var nodebox_vertical_margin = Math.min(y_size_min * scale, 3); + + node.attr('transform', function (d) { + return 'translate(' + svg_x(d.y) + ',' + svg_y(d.x) + ')'; + }); + + var diagonal = d3.svg.diagonal().projection(function (d) { + return [svg_x(d.y), svg_y(d.x)]; + }); + + var links = engine.links(nodes); + var links = svg_p + .selectAll('.link') + .data(links) + .enter() + .append('path') + .attr('class', 'link') + .attr('d', diagonal); + + var _svg = document.getElementById('main'), + main_g = _svg.childNodes[0]; + + _svg.removeChild(main_g); + _svg.appendChild(main_g); + + svg.attr({ + width: document.getElementById('main-group').getBBox()['width'] + 30, + height: document.getElementById('main-group').getBBox()['height'] + 50 + }); +}); diff --git a/documentation/js/search/lunr.min.js b/documentation/js/search/lunr.min.js new file mode 100644 index 0000000000..cdc94cd390 --- /dev/null +++ b/documentation/js/search/lunr.min.js @@ -0,0 +1,6 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.9",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/documentation/js/search/search-lunr.js b/documentation/js/search/search-lunr.js new file mode 100644 index 0000000000..35e7dde1d5 --- /dev/null +++ b/documentation/js/search/search-lunr.js @@ -0,0 +1,67 @@ +(function(compodoc) { + + function LunrSearchEngine() { + this.index = undefined; + this.store = {}; + this.name = 'LunrSearchEngine'; + } + + LunrSearchEngine.prototype.init = function() { + var that = this, + d = new promise.Promise(); + + that.index = lunr.Index.load(COMPODOC_SEARCH_INDEX.index); + that.store = COMPODOC_SEARCH_INDEX.store; + d.done(); + + return d; + }; + + LunrSearchEngine.prototype.search = function(q, offset, length) { + var that = this, + results = [], + d = new promise.Promise(); + + if (this.index) { + results = $.map(this.index.search('*' + q + '*'), function(result) { + var doc = that.store[result.ref]; + + return { + title: doc.title, + url: doc.url, + body: doc.summary || doc.body + }; + }); + } + + d.done({ + query: q, + results: length === 0 ? results : results.slice(0, length), + count: results.length + }); + + return d; + }; + + compodoc.addEventListener(compodoc.EVENTS.READY, function(event) { + var engine = new LunrSearchEngine(), + initialized = false; + + function query(q, offset, length) { + if (!initialized) throw new Error('Search has not been initialized'); + return engine.search(q, offset, length); + } + + compodoc.search = { + query: query + }; + + engine.init() + .then(function() { + initialized = true; + compodoc.dispatchEvent({ + type: compodoc.EVENTS.SEARCH_READY + }); + }); + }); +})(compodoc); diff --git a/documentation/js/search/search.js b/documentation/js/search/search.js new file mode 100644 index 0000000000..be2271cff7 --- /dev/null +++ b/documentation/js/search/search.js @@ -0,0 +1,283 @@ +(function (compodoc) { + var usePushState = typeof history.pushState !== 'undefined', + // DOM Elements + $body = $('body'), + $searchResults, + $searchInput, + $searchList, + $searchTitle, + $searchResultsCount, + $searchQuery, + $mainContainer, + $xsMenu; + + // Throttle search + function throttle(fn, wait) { + var timeout; + + return function () { + var ctx = this, + args = arguments; + if (!timeout) { + timeout = setTimeout(function () { + timeout = undefined; + fn.apply(ctx, args); + }, wait); + } + }; + } + + function displayResults(res) { + var noResults = res.count == 0; + var groups = {}; + $searchResults.toggleClass('no-results', noResults); + + // Clear old results + $searchList.empty(); + + // Display title for research + $searchResultsCount.text(res.count); + $searchQuery.text(res.query); + + // Group result by context + res.results.forEach(function (res) { + var context = res.title.split(' - ')[0]; + if (typeof groups[context] === 'undefined') { + groups[context] = { + results: [res] + }; + } else { + groups[context].results.push(res); + } + }); + + var sortedGroups = Object.keys(groups).sort(); + + for (var i = 0; i < sortedGroups.length; i++) { + var property = sortedGroups[i]; + + var $li = $('
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • ', { + class: 'search-results-group' + }); + var finalPropertyLabel = ''; + var propertyLabels = property.split('-'); + + if ( + propertyLabels.length === 2 && + propertyLabels[0] !== 'miscellaneous' && + propertyLabels[0] !== 'additional' + ) { + finalPropertyLabel = + propertyLabels[0].charAt(0).toUpperCase() + + propertyLabels[0].substring(1) + + ' - ' + + propertyLabels[1].charAt(0).toUpperCase() + + propertyLabels[1].substring(1) + + ' (' + + groups[property].results.length + + ')'; + } else if (propertyLabels[0] === 'additional') { + finalPropertyLabel = + 'Additional pages' + ' (' + groups[property].results.length + ')'; + } else { + finalPropertyLabel = + propertyLabels[0].charAt(0).toUpperCase() + + propertyLabels[0].substring(1) + + ' (' + + groups[property].results.length + + ')'; + } + var $groupTitle = $('

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ', { + text: finalPropertyLabel + }); + $groupTitle.appendTo($li); + + var $ulResults = $('